BGPのパス属性一覧

BGP(Border Gateway Protocol)のパス属性一覧です。

パス属性一覧

以下で表の題をクリックすることでソート可能です。また、表の右上のSearchボックスで検索も可能です。

属性名をクリックすることで、各パス属性を説明したページを参照できます。

【BGPのパス属性一覧】
タイプ パス属性 カテゴリ 説明
1 ORIGIN 必須 経路の生成元を示す
2 AS_PATH 必須 経由したAS番号の羅列
3 NEXT_HOP 必須 経路に対するネクストホップを示す
4 MULTI_EXIT_DISC オプション非転送 EBGP接続した他ASへ優先度を通知するメトリック
5 LOCAL_PREF 任意 IBGP接続で経路の優先度を示す
6 ATOMIC_AGGREGATE 任意 経路を集約した場合のフラグ
7 AGGREGATOR オプション転送 経路を集約したAS番号とBGP識別子
8 COMMUNITY オプション転送 ルーティングポリシー決定で利用
9 ORIGINATOR_ID オプション非転送 ルートリフレクションでBGPピアの識別子を付与
10 CLUSTER_LIST オプション非転送 ルートリフレクションでクラスターIDの羅列
14 MP_REACH_NLRI オプション非転送 マルチプロトコルで到達可能な経路
15 MP_UNREACH_NLRI オプション非転送 マルチプロトコルで削除対象の経路
17 AS4_PATH オプション転送 4バイトAS番号羅列(2バイトとの互換)
18 AS4_AGGREGATOR オプション転送 AGGREGATORの4バイトAS番号用(2バイトとの互換)
32 LARGE_COMMUNITY オプション転送 ビット幅を増やしたCOMMUNITIES

カテゴリ

カテゴリの意味は、以下のとおりです。

必須(Well-known mandatory)
すべてのBGPスピーカーでサポートが必須です。必ず、BGPパケットのパス属性として含む必要があります。
任意(Well-known discretionary)
すべてのBGPスピーカーでサポートが必須です。必要な場合だけ、BGPパケットのパス属性に含めます。
オプション転送(Optional transitive)
BGPスピーカーでサポートは必須ではないため、解釈できない可能性があります。解釈できない場合は、そのままBGPピアに転送する必要があります。
オプション非転送(Optional non-transitive)
BGPスピーカーでサポートは必須ではないため、解釈できない可能性があります。解釈できない場合は、属性を削除してBGPピアに送信する必要があります。

パス属性のフォーマット

パス属性は、UPDATEメッセージに含まれて送信されます。そのフォーマットは、以下のとおりです。

パス属性のフォーマット

上記で1つのパス属性になり、必須の3つのパス属性(ORIGIN、AS_PATH、NEXT_HOP)は必ず使われ(つまり、上記が3セットはある)、必要に応じてそれ以外のパス属性が使われます。

属性フラグの意味は、以下のとおりです。

【フラグの意味】
ビット 名称 説明
1ビット目 Optional サポート必須かを示す 0:Well-known、1:Optional
2ビット目 Transitive 転送が必要かを示す 0:non-transitive、1:transitive
3ビット目 Partial 転送された時の処理 0:complete、1:partial
4ビット目 Extended Length 拡張の長さ 0:1バイト、1:2バイト
5-8ビット 未使用 未使用 0000固定

OptionalもTransitiveも、カテゴリで示したすべてのBGPスピーカーでサポートが必要か、転送が必要かを示します。Transitiveがあるため、BGPスピーカーはサポートしていないパス属性であっても、転送が必要かどうかを判断できます。

Partialは、completeであればその属性はすべてのBGPスピーカーで処理され、partialであれば処理されなかった場合があることを示します。つまり、カテゴリがOptional transitiveのパス属性を解釈できなかったBGPスピーカーは、ここをpartialにして転送します。

属性フラグ以外の説明は、以下のとおりです。

【パス属性のTLV説明】
名称 説明
属性タイプコード BGPのパス属性一覧表で示したタイプの値
パス属性値の長さ 属性フラグのExtended Lengthが0では1バイト、1では2バイトでパス属性値の長さを示す
パス属性値 パス属性の値。パス属性値の長さで示した長さとなり可変

これは、タイプ(Type)、長さ(Length)、値(Value)のTLV形式になっています。

補足

属性タイプコードは、これ以外にもありあます。また、タイプコード11:DPA、12:ADVERTISER、13:RCID_PATH / CLUSTER_IDなど非推奨のものもあります。

属性タイプコードは、IANAのBorder Gateway Protocol (BGP) Parametersで管理されています。