BGP

BGP パスアトリビュート ベストパスの選択アルゴリズム

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パスアトリビュート属性
1ORIGINWell known Mandatory
2AS_PATHWell known Mandatory
3NEXT_HOPWell known Mandatory
4MULTI_EXIT_DISCOptional Non Transitive
5LOCAL_PREFERENCEWell known Discretionary
6ATOMIC_AGGREGATEWell known Discretionary
7AGGREGATOROptional Transitive
8COMMUNITYOptional Transitive
9ORIGINATOR_IDOptional non-transitive
10CLUSTER_LISTOptional non-transitive
Cisco独自WEIGHT 

ベストバスの選択アルゴリズムについて

BGPでは、宛先に複数のパスがある場合はBGPテーブルに格納して、その中から1つだけを選択してルーティングテーブルに格納します。選択したパスの事をベストパスと呼ばれます。
下記はベストパスを選択するアルゴリズムについて紹介します。(下記はCiscoのベストパスアルゴリズムになります。)

  1. (前提)NEXT_HOPのIPアドレスに到達できること
  2. WEIGHTが最大のルートを優先
    Cisco独自の実装です。
  3. LOCAL_PREFERENCEが最大のルートを優先
  4. ローカルルータが発生元であるルート(networkコマンドで選択しています)を優先
  5. AS_PATHが最も短いルータを優先
    AS_PATHが最も短いルータを優先します。すなわち、AS_PATHのアトリビュートにAS番号の数が少ないルートを優先します。bgp bestpath as-path ignoreを設定することでAS_PATHをベストパスの決定に利用しない設定に変更することが可能です。
  6. ORIGINが最小のルータを優先( IGP < EGP < Incomplete )
  7. MULTI_EXIT_DISCが最小のルートを優先
  8. IBGPで学習したルータ情報よりEBGPで学習したルートを優先
  9. NEXT_HOPへ最短で到達できるルートを優先
    NEXT_HOPのIPアドレスにルーティングテーブルのIGP(OSPFなど)のメトリックを比較して最小のルータを優先させます。
  10. EBGPピアから受信したルートのうち、最も受信した時間が経過している(先に受信したルート)ルートを優先
  11. ルータIDが最小のBGPピアから受信したルートを優先
  12. BGPピアのIPアドレスが最小のルータを優先
  13. CLUSTER_LISTの短い経路を優先
  14. ピアアドレスの小さなBGPルータからの経路を優先

スポンサーリンク

参考

下記はUpdateメッセージ 10.0.0.0/16 に下記のアトリビュートが付与されている状態のパケットキャプチャーになります。

上記の10.0.0.0/16には下記のパスアトリビュートが格納されていることがわかります。

Type Codeパスアトリビュート属性
1ORIGINIGP(0)
2AS_PATH10 10 10
3NEXT_HOP10.20.0.1
4MULTI_EXIT_DISC (MED)1000
5LOCAL_PREF200

BGP記事一覧

BGP RFC/関連サイト

BGP参考図書

私が所持しているBGP関連の本を紹介します。ただし絶版になっている本も紹介していますのでご容赦ください。

著:サム・ハラビ, 著:ダニー・マクファーソン, 翻訳:鈴木 弥生

その他ネットワーク

-BGP
-