MP-BGPとは
BGP では伝達できるルート情報は IPv4 unicast のみでしたが、MP-BGP (MultiProtocol-BGP)では、 IPv4 unicast 以外の色々なプロトコルのアドレスが伝達できるように拡張されました。
BGP4+ とも呼ばれています。
MP-BGP は、BGP と異なるプロトコルを作るのではなく、BGP の Path Attribute を増やすことで実現しました。
そのため下位互換性があります。
RFC2283 では新たなPath Attribute Type 14 とType 15が定義されました。
Multiprotocol Reachable NLRI (Type14)
Multiprotocol Unreachable NLRI (Type 15)
Address Familyとは、RFC2453 と RFC2858 により IANA で規定された、プロトコルと AFI の対応付けのことです。
Address Family Information は [AFI, SAFI(Sub-AFI)] で構成さます。
AFIとは、Address Family Identifier の略で、伝達するプロトコルのアドレスを識別する情報のことです。
AFI = 2 ⇒ IPv6
SAFI (Sub-AFI)とは、AFI で識別されたプロトコルの詳細識別のことです。
Sub-AFI = 2 (SAFI=2) ⇒ Multicast
Sub-AFI = 4 (SAFI=4) ⇒ NLRI with MPLS Labels
Sub-AFI = 128 (SAFI=128) ⇒ MPLS-labeled VPN address
また、RFC4360 ではさらにPath Attribute Type 16が定義されました。
Extended Communities (type 16)
Route-Targetの場合、Type high=Ox00, Type low=Ox02となります。
その他の Extended Communities の使われ方として、OSPF を MP-BGP へ再配布する際にドメイン ID等の情報を送ることができます。
ドメイン ID が対向ルータの OSPF プロセスと一致した場合、スーパーバックボーンを組むことができます。スーパーバックボーンの設定例については以下をご参照下さい。
MPLS-VPN の概要で示した構成で MP-BGP の流れを説明すると、下記のようになります。
PE1 と PE2 は通常、同じ AS で BGP ピアを組みますが、例外的に NextHop が自身の送信元 IP になります。
Next Hop が 0:0:1.1.1.1 と 0:0 という RD が付いていますがこれは MP-BGP の仕様で、『NextHop の形式は AFI で示したものと揃えなければならない』という制約のためです。
上記の詳細は RFC3107, RFC4364 を参照下さい。
また、参考として MP-BGP のパケットキャプチャを以下に示します。前述の属性 Type 14 MP_REACH_NLRI と Type 16 EXTENDED_COMMUNITIES があることが確認できます。
パケットキャプチャのファイル自体も以下からダウンロードできます。
コメント