BGPの特徴

ASの種類

スタブAS

マルチホーム非トランジットAS

トランジットAS

BGP関連データベース

BGPルータは以下の関連データベースを保持する

テーブル名説明確認コマンド
ネイバーテーブルBGPネイバー情報を保持show ip bgp summary(サマリー),show ip bgp neighbor(詳細)
BGPテーブルBGPで送受信する全ての経路情報を保持show ip bgp
ルーティングテーブルルーティングテーブルを保持show ip route (bgp)

BGPメッセージ

OPEN

TCPコネクション確立後最初にやりとりされるメッセージ。version、AS番号、BGPルータIDなどの情報が含まれる。OPENメッセージの確認応答にはKEEPALIVEメッセージが使用される。

UPDATE

BGPネイバー同士で交換する経路情報が含まれる。ネットワークアドレス、サブネットマスク、パスアトリビュートが含まれる。何らかの変更があった場合のみ配送される。

KEEPALIVE

BGPネイバーが正常であるかの確認に使用される。デフォルトで60秒ごとに送信。ホールドダウンのデフォルトは180秒

NOTIFICATION

BGPネイバー間でエラーが発生した場合に相手に通知する場合に使用。NOTIFICATIONを受け取ったルータはBGPネイバーがダウンする。

BGPネイバー確立の状態遷移

Idle初期状態
Connectネイバーとの TCP 接続が完了するのを待っている状態
Activeネイバーとの TCP 接続のプロセスの開始を試みている状態
Open SentOPENメッセージをネイバーに送信し、ネイバーからのOPENメッセージを待っている状態。
Open ConfirmKEEPALIVE メッセージもしくはNOTIFICATION メッセージを待っている状態です。KEEPALIVE メッセージを受け取れば、Established 状態に移行します。NOTIFICATION メッセージを受け取れば Idle 状態に移行します。
EstablishedBGP ネイバーが完全に確立している状態。UPDATEメッセージの送受信が可能。

パスアトリビュート

パスアトリビュートとは

パスアトリビュートの分類

分類名意味パスアトリビュート例
Well known MandatoryすべてのBGPルータが解釈でき、ルート情報に必ず付加されるORIGIN、AS_PATH、NEXT_HOP
Well known DiscretionaryすべてのBGPルータが解釈できるが、ルート情報に付加するかどうかは任意LOCAL_PREFERENCE
Optional Transitive一部の実装では解釈できない可能性があるが、その場合でも他のBGPネイバーに伝搬するCOMMUNITY
Optional Non Transitive一部の実装では解釈できない可能性があり、その場合、他のBGPネイバーへは伝搬しないMulti Exit Discriminator(MED)

ORIGIN

AS_PATH

NEXT_HOP

Multi_Exit_Discriminator(MED)

LOCAL_PREFERENCE

Weight

Originator

Cluster_list

BGPの経路選択アルゴリズム

step内容
0NEXT_HOPの到達性を確認する。到達性が無い場合はその経路は無効
1Weight値(Cisco独自)を比較して最大の経路を優先
2Local Preference値を比較して最大の経路を優先
3ローカルルータから生成された経路を優先
4AS-PATHが最短のルートを優先
5Originのコードが小さい値を優先
6MED値が小さいパスを優先
7IBGPよりもEBGPを優先
8BGPネイバールータへ、ネクストホップに最小のIGPメトリックのパスを優先
9EBGPネイバールータから、先に受信したパス ( 最も古く存在するパス )を優先
10ネイバールータの BGPルータIDが最小のルートを優先

iBGPとeBGPについて

トランジットASの設定パターン

No.IBGP同期トランジット対象である経路情報の学習方法
1ONIGP
2OFFiBGP(フルメッシュ)
3OFFMPLSによるラベルスイッチング

BGPスプリットホライズンについて

ルートリフレクタ

コンフェデレーション

BGP同期

Router(config)#router bgp <AS>
Router(config-router)#synchronization

参考資料