BGPのAS4_PATH属性
BGPのAS4_PATH属性について説明しています。
AS4_PATH属性の定義
AS4_PATH属性の定義は、以下のとおりです。
項目 | 説明 |
---|---|
タイプコード | 17 |
カテゴリ | オプション転送(Optional transitive) |
概略 | 4バイトAS番号羅列(2バイトとの互換) |
パス属性値 | 以下フォーマットを参照 |
カテゴリがOptional transitiveの場合、BGPスピーカーでサポートは必須ではないため、解釈できない可能性があります。解釈できない場合は、そのままBGPピアに転送する必要があります。
AS4_PATHのパス属性値は、以下フォーマットになっています。

それぞれの説明は、以下のとおりです。
項目 | 説明 |
---|---|
パスセグメントタイプ | 1:AS_SET 経由した順番は意味なし 2:AS_SEQUENCE 経由した順番にAS番号が羅列 |
パスセグメント長 | パスセグメント値の羅列したASの数 |
パスセグメント値 | 経由したAS番号の羅列 |
使い方
AS4_PATH属性は、4バイトのAS番号に対応していないBGPスピーカーがいる時に、4バイトのAS番号を透過させるために追加された属性です。
4バイトのAS番号に対応したBGPスピーカーはNEW BGP speakerと言い、対応していないBGPスピーカーはOLD BGP speakerと呼ばれます。
NEW BGP speakerは、OPENメッセージを送信する時に、オプションのCapabilityコード65を使って、4バイトAS番号に対応していることと自身のAS番号を通知します。

もし、BGPピアがNEW BGP speakerだった場合、同様のOPENメッセージを通知するため、4バイトAS番号に対応していることがわかります。その場合、UPDATEメッセージでは4バイトのAS番号をAS_PATH属性に追加します。

NEW BGP speakerからNEW BGP speakerへの送信で、AS4_PATH属性は使いません。
もし、BGPピアがOLD BGP speakerだった場合、Capabilityコード65は使わないため4バイトに対応していないことがわかります。その場合、UPDATEメッセージでは2バイトのAS_TRANS(番号:23456)をAS_PATH属性に追加し、4バイトのAS番号はAS4_PATH属性に追加します。

次に、OLD BGP speakerからNEW BGP speakerにUPDATEメッセージが送られてきた場合、NEW BGP speakerはAS_PATH属性とAS4_PATH属性から4バイトのAS番号を使ったAS_PATH属性を作り、NEW BGP speakerに送信することができます。

OLD BGP speakerでは、AS_PATHに複数のAS番号23456がある経路を受信することになります。ただし、自身のAS番号は2バイトのため、AS_PATH属性に自身のAS番号があればループしていると判断して、破棄できます。
マッピング可能なAS番号
NEW BGP speaker間では、必ずAS番号を4バイトで扱います。このため、2バイトのAS番号が割り当てられている場合、上位2バイトが0で埋められます。
このようなAS番号は、2バイトのAS番号にマッピング可能と呼ばれます。
マッピング可能なAS番号だけが使われている場合、NEW BGP speakerからOLD BGP speakerへUPDATEメッセージを送信する時、AS4_PATH属性は使わずに2バイトのAS番号をAS_PAH属性に追加します。
「BGPのパス属性一覧」に戻る