BGPのAS4_PATH属性

BGPのAS4_PATH属性について説明しています。

AS4_PATH属性の定義

AS4_PATH属性の定義は、以下のとおりです。

【AS_PATH属性の定義】
項目 説明
タイプコード 17
カテゴリ オプション転送(Optional transitive)
概略 4バイトAS番号羅列(2バイトとの互換)
パス属性値 以下フォーマットを参照

カテゴリがOptional transitiveの場合、BGPスピーカーでサポートは必須ではないため、解釈できない可能性があります。解釈できない場合は、そのままBGPピアに転送する必要があります。

AS4_PATHのパス属性値は、以下フォーマットになっています。

AS4パスセグメントのフォーマット

それぞれの説明は、以下のとおりです。

【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番号を通知します。

OPENメッセージのAS番号は23456とし、Capabilityコードを65、機能値に65536などの4バイトAS番号を入れる。

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

NEW BGP speaker間では、AS_PATH属性に65536などの4バイトAS番号を追加する。

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へ送信する時は、AS_PATH属性の4バイトAS番号は23456に書き換え、AS4_PATHで65536などの4バイトAS番号を示す。

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

NEW BGP speakerからNEW BGP speakerへは、AS_PATH属性の23456の代わりにAS4_PATHの4バイトAS番号で書き換える。

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のパス属性一覧」に戻る