BGP パスアトリビュート( Path attribute )
BGPでは経路を交換するのに、BGPメッセージのUpdateメッセージで行います。(BGPMessageの詳細はこちら)
経路には、パスアトリビュート( Path attribute )が付与されます。BGPの経路選択には、このパスアトリビュート情報を元に決定されます。
BGP パスアトリビュートの種類
BGPにパスアトリビュートがありますが、下記のように部類することができます。
カテゴリー | 意味 |
---|---|
Well known Mandatory | 全てのBGPルータが識別でき、必ずUpdateメッセージに含まれてる。 |
Well known Discretionary | 全てのBGPルータが識別でき、Updateに含まれるかは任意 |
Optional Transitive | 実装によっては識別できない可能性がある。その場合でも、他BGPネイバーには通知する。 |
Optional Non Transitive | 実装によっては識別できない可能性がある。その場合には、他BGPネイバーには通知しない。 |
BGP パスアトリビュートの一覧
BGP パスアトリビュートには以下のようながあります。各アトリビュートについては各ページに詳細を紹介しています。
Type Code | パスアトリビュート | 属性 |
---|---|---|
1 | ORIGIN | Well known Mandatory |
2 | AS_PATH | Well known Mandatory |
3 | NEXT_HOP | Well known Mandatory |
4 | MULTI_EXIT_DISC | Optional Non Transitive |
5 | LOCAL_PREFERENCE | Well known Discretionary |
6 | ATOMIC_AGGREGATE | Well known Discretionary |
7 | AGGREGATOR | Optional Transitive |
8 | COMMUNITY | Optional Transitive |
9 | ORIGINATOR_ID | Optional non-transitive |
10 | CLUSTER_LIST | Optional non-transitive |
Cisco独自 | WEIGHT |
ベストバスの選択アルゴリズムについて
BGPでは、宛先に複数のパスがある場合はBGPテーブルに格納して、その中から1つだけを選択してルーティングテーブルに格納します。選択したパスの事をベストパスと呼ばれます。
下記はベストパスを選択するアルゴリズムについて紹介します。(下記はCiscoのベストパスアルゴリズムになります。)
- (前提)NEXT_HOPのIPアドレスに到達できること
- WEIGHTが最大のルートを優先
Cisco独自の実装です。 - LOCAL_PREFERENCEが最大のルートを優先
- ローカルルータが発生元であるルート(networkコマンドで選択しています)を優先
- AS_PATHが最も短いルータを優先
AS_PATHが最も短いルータを優先します。すなわち、AS_PATHのアトリビュートにAS番号の数が少ないルートを優先します。bgp bestpath as-path ignoreを設定することでAS_PATHをベストパスの決定に利用しない設定に変更することが可能です。 - ORIGINが最小のルータを優先( IGP < EGP < Incomplete )
- MULTI_EXIT_DISCが最小のルートを優先
- IBGPで学習したルータ情報よりEBGPで学習したルートを優先
- NEXT_HOPへ最短で到達できるルートを優先
NEXT_HOPのIPアドレスにルーティングテーブルのIGP(OSPFなど)のメトリックを比較して最小のルータを優先させます。 - EBGPピアから受信したルートのうち、最も受信した時間が経過している(先に受信したルート)ルートを優先
- ルータIDが最小のBGPピアから受信したルートを優先
- BGPピアのIPアドレスが最小のルータを優先
- CLUSTER_LISTの短い経路を優先
- ピアアドレスの小さなBGPルータからの経路を優先
スポンサーリンク
参考
下記はUpdateメッセージ 10.0.0.0/16 に下記のアトリビュートが付与されている状態のパケットキャプチャーになります。
上記の10.0.0.0/16には下記のパスアトリビュートが格納されていることがわかります。
Type Code | パスアトリビュート | 属性 |
---|---|---|
1 | ORIGIN | IGP(0) |
2 | AS_PATH | 10 10 10 |
3 | NEXT_HOP | 10.20.0.1 |
4 | MULTI_EXIT_DISC (MED) | 1000 |
5 | LOCAL_PREF | 200 |
BGP記事一覧
- BGPとは
- BGP Message (メッセージ)
- BGP neighbor 状態
- BGP i-BGP/e-BGP の違い
- BGP next-hop-self
- BGP ルートリフレクタ ( Route-Reflector )
- BGP パスアトリビュート
BGP RFC/関連サイト
- RFC4271 A Border Gateway Protocol 4 (BGP-4)
- RFC6793 BGP Support for Four-Octet Autonomous System (AS) Number Space
- IANA Border Gateway Protocol (BGP) Parameters
BGP参考図書
私が所持しているBGP関連の本を紹介します。ただし絶版になっている本も紹介していますのでご容赦ください。