メインコンテンツまでスキップ

3. VPN-IPv6 ルート配布

3.1. PE 間の BGP によるルート配布​

[BGP/MPLS-VPN] に記述されているように, ある VPN の 2 つのサイトが同じ自律システム内の PE に接続されている場合, これらの PE は, それらの間の (IPv4) 内部 Border Gateway Protocol (iBGP) 接続を介して VPN ルートを相互に配布できる. あるいは, 各 PE はルートリフレクタとの iBGP 接続を確立してもよい. 同様に, IPv6 VPN ルート配布の場合, PE はそれらの間の iBGP 接続, またはルートリフレクタへの iBGP 接続を使用できる. IPv6 VPN の場合, iBGP 接続は IPv4 または IPv6 をベースとしてよい.

PE ルータは, MP-BGP [BGP-MP] を介して, IPv6 VPN 内の IPv6 プレフィックスの到達可能性情報を交換し, それに応じて自らを BGP ネクストホップ (BGP Next Hop) としてアドバタイズする.

到達可能性情報の符号化および BGP ネクストホップアドレスの規則は, 以下の各節で規定する.

3.2. VPN IPv6 NLRI の符号化​

IPv6 VPN ルートを配布する際, アドバタイズ側の PE ルータは, これらのルートに対して MPLS ラベルを割り当て, 配布しなければならない (MUST). 本質的に, PE ルータが配布するのは通常の IPv6 VPN ルートではなく, ラベル付きの IPv6 VPN ルートである [MPLS-BGP]. アドバタイズ側の PE がそのアドバタイズされたラベルを伴うパケットを受信したとき, PE はそのラベルを MPLS スタックからポップし, それに応じてパケットを処理する (すなわち, ラベルに基づいて直接転送するか, 対応する IPv6-VPN コンテキストでルックアップを実行する).

BGP マルチプロトコル拡張 [BGP-MP] は, MP_REACH ネットワーク層到達可能性情報 (NLRI) 内で IPv6 VPN ルートをアドバタイズするために使用される. アドレスファミリ識別子 (AFI) および後続アドレスファミリ識別子 (SAFI) フィールドは、次のように設定されなければならない (MUST).

  • AFI: 2; IPv6 用

  • SAFI: 128; MPLS ラベル付き VPN-IPv6 用

NLRI フィールド自身の符号化は, [MPLS-BGP] に規定されるとおりである. 本拡張のコンテキストでは, プレフィックスは VPN-IPv6 アドレスファミリに属するため, 8 バイトのルート識別子の後に, 第 2 節で前述した IPv6 プレフィックスが続く.

3.2.1. BGP ネクストホップの符号化​

BGP ネクストホップの符号化は, BGP スピーカのポリシー, すなわちその BGP ネクストホップへ IPv6 VPN トラフィックを IPv6 トンネル ("IPv6 トランスポートを要求する BGP スピーカ") で転送することを要求するか, IPv4 トンネル ("IPv4 トランスポートを要求する BGP スピーカ") で転送することを要求するか, に依存する.

このポリシー (IPv4 トンネル経由か IPv6 トンネル経由かの要求) の定義はネットワークオペレータの責任であり, 本ドキュメントの範囲外である. なお, このポリシーは IPv4 (対応して, IPv6) トンネル経由の転送を要求する一方で, BGP スピーカは IPv6 (対応して, IPv4) 経由で IPv6 VPN 到達可能性情報を交換する可能性がある. しかし, この場合, 考慮すべき運用上の影響がいくつか存在する. 特に, IPv4 (対応して, IPv6) トンネルデータパスに影響し, IPv6 (対応して, IPv4) データパスには影響しない, 検出されなかった障害は, BGP によって認識されず, 結果としてトラフィックのブラックホールを引き起こす可能性がある.

このポリシーの制御は本ドキュメントの範囲外であり, ユーザ設定に基づいて実現できる.

3.2.1.1. IPv6 トランスポートを要求する BGP スピーカ​

IPv6 VPN トラフィックが, IPv6 トンネル (たとえば IPv6 MPLS LSP, IPsec で保護された IPv6 トンネル) を通じて BGP スピーカに転送される場合, その BGP スピーカは, VPN-IPv6 アドレスを含むネクストホップネットワークアドレスフィールドをアドバタイズしなければならない (SHALL).

  • その 8 バイトの RD はゼロに設定され, かつ

  • その 16 バイトの IPv6 アドレスは, アドバタイズ側 BGP スピーカのグローバル IPv6 アドレスに設定される.

その後に, 別の VPN-IPv6 アドレスが続く場合がある.

  • その 8 バイトの RD はゼロに設定され, かつ

  • その 16 バイトの IPv6 アドレスは, アドバタイズ側 BGP スピーカのリンクローカル IPv6 アドレスに設定される.

MP_REACH_NLRI 属性において, ネクストホップネットワークアドレスフィールドの長さの値は, (グローバルアドレスのみが存在する場合) 24, または (リンクローカルアドレスもネクストホップフィールドに含まれる場合) 48 に設定されるべきである (SHOULD).

BGP スピーカがリンクローカル IPv6 アドレスのみを使用する場合 (たとえば, IPv6 CE が IPv6 PE とピアリングし, CE に IPv6 グローバルアドレスがなく, eBGP ピアリングがリンクローカルアドレスを介して実現される場合), アドバタイズ側 BGP スピーカは, ネクストホップネットワークアドレスフィールドにおけるグローバル IPv6 アドレスの欠如を表すために, "未指定アドレス" ([V6ADDR]) を使用する.

アドバタイズ側 BGP スピーカとアドバタイズされたルートのピアが共通のサブネットを共有している場合にのみ [BGP-IPv6], ネクストホップフィールドにリンクローカルアドレスが含まれる.

その他すべての場合, BGP スピーカは, 自らのネクストホップネットワークアドレスフィールドを通じてピアに対してアドバタイズするのは, ネクストホップのグローバル IPv6 アドレスのみである.

したがって, 内部ピアに対してルートをアドバタイズする BGP スピーカは, ネクストホップのリンクローカル IPv6 アドレスを削除することで, ネクストホップのネットワークアドレスフィールドを変更してよい.

グローバル IPv6 アドレスとリンクローカル IPv6 アドレスの両方を BGP ネクストホップアドレスフィールドに含める必要がある例示的なシナリオは, マルチ自律システム (AS) バックボーン上に IPv6 VPN サービスが構築され, (共通の IPv6 サブネットを共有する) 異なる AS の自律システム境界ルータ (ASBR) 間でラベル付き VPN-IPv6 ルートが再配布される場合である. この場合, ASBR はグローバル IPv6 アドレスとリンクローカル IPv6 アドレスの両方をアドバタイズすべきである (SHALL).

3.2.1.2. IPv4 トランスポートを要求する BGP スピーカ​

IPv6 VPN トラフィックが, IPv4 トンネル (たとえば IPv4 MPLS LSP, IPsec で保護された IPv4 トンネル) を通じて BGP スピーカに転送される場合, その BGP スピーカは, VPN-IPv6 アドレスを含むネクストホップネットワークアドレスフィールドを自らのピアに対してアドバタイズしなければならない (SHALL).

  • その 8 バイトの RD はゼロに設定され, かつ

  • その 16 バイトの IPv6 アドレスは, アドバタイズ側 BGP スピーカの IPv4 アドレスを含む IPv4 マップド IPv6 アドレス [V6ADDR] として符号化される. この IPv4 アドレスは, 他の BGP スピーカからルーティング可能でなければならない.

3.3. ルートターゲット​

ルートターゲットの使用は [BGP/MPLS-VPN] に規定されており, IPv6 VPN に適用される. 拡張コミュニティ属性の符号化は [BGP-EXTCOM] で定義されている.

3.4. BGP ケイパビリティネゴシエーション​

2 つの PE がラベル付き IPv6 VPN NLRI を交換できるようにするためには, それらは BGP ケイパビリティネゴシエーションを使用して, 両者がそのような NLRI を正しく処理できることを確実にしなければならない (MUST). その手法は, [BGP-MP] および [BGP-CAP] に規定されるとおり, ケイパビリティコード 1 (マルチプロトコル BGP) を, 第 3.2 節で規定した AFI および SAFI の値とともに使用することである.