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

4. VPN Route Distribution (VPN ルート配布)

4. VPN Route Distribution (VPN ルート配布)

このセクションでは、VPN ルートを PE ルータに配布し、PE ルータによって VPN ルートを配布するために使用される手順について説明します。

4.1. The VPN-IPv4 Address Family (VPN-IPv4 アドレスファミリ)

上記で指摘したように、2 つの VPN が重複するアドレス空間を持っていても、それらからのルートは異なります。BGP によって配布される場合、これらのルートは互いに異なるものにする必要があります。

したがって、BGP を使用して特定の VPN ルートを配布する場合、BGP は IPv4 アドレスを配布しません。代わりに、別の種類のアドレスを配布します。これを「VPN-IPv4 アドレス」と呼びます。VPN-IPv4 アドレスは 12 バイト長で、8 バイトの構造体で始まり、これを Route Distinguisher (ルート識別子, RD) と呼び、その直後に 4 バイトの IPv4 アドレスが続きます。

2 つの VPN が同じ IPv4 アドレスプレフィックスを使用する場合、PE ルータはこれらの IPv4 アドレスプレフィックスを VPN-IPv4 アドレスプレフィックスに変換します。これは、8 バイトの RD を IPv4 アドレスプレフィックスの前にプッシュすることによって行われます。RD が異なる場合、変換された VPN-IPv4 アドレスは異なります。RD の機能の詳細については、セクション 4.2 を参照してください。

VPN-IPv4 アドレスと IPv4 アドレスは、異なるアドレスファミリに属します。BGP Multiprotocol Extensions (BGP マルチプロトコル拡張) [BGP-MP] により、BGP は異なる「アドレスファミリ」に属するルートを伝送できます。VPN-IPv4 ルートを配布するために使用される手順は、セクション 4.3 で指定されています。

4.2. Route Distinguishers (ルート識別子)

RD を使用すると、本来一意ではない IPv4 アドレスを一意の VPN-IPv4 アドレスに変換できます。

IPv4 アドレスを VPN-IPv4 アドレスに変換する RD は、その IPv4 アドレスが属する VPN と 1 対 1 の対応関係を持つ必要はありません (実際には持ちません)。RD が IPv4 ルートに付加されて VPN-IPv4 ルートを作成する場合、その RD は、一意でない可能性のある IPv4 ルートを区別するためにのみ使用されます。

サービスプロバイダは、特定の VPN 内のすべてのルートに単一の RD を割り当てることができます。この場合、RD は実際にその VPN を一意に識別します。

サービスプロバイダは、同じ VPN 内の異なるサイトからのルートに異なる RD を割り当てることもできます。同じサイトからの異なるルートに異なる RD を割り当てることも可能です。

最も一般的なケースでは、特定のルートが複数の PE ルータによって配布される可能性があり、各ルータが異なる RD を使用する可能性があります。BGP は、IPv4 プレフィックスが同じであるかどうかに関係なく、これらのルートを異なるルートとして扱います。

RD のエンコード構造は次のとおりです:

  • 2 バイトのタイプフィールド
  • 6 バイトの値フィールド

タイプフィールドは、値フィールドの解釈を決定します。このドキュメントでは、次の 3 つのタイプを定義しています:

  • タイプ 0: 値フィールドには、2 バイトの Autonomous System Number (自律システム番号, ASN) とそれに続く 4 バイトの任意の番号が含まれます。
  • タイプ 1: 値フィールドには、4 バイトの IP アドレスとそれに続く 2 バイトの任意の番号が含まれます。
  • タイプ 2: 値フィールドには、4 バイトの ASN とそれに続く 2 バイトの任意の番号が含まれます。

タイプ 1 RD を使用すると、中央の割り当て機関を必要とせずに、各 PE ルータ上の各 VRF に一意の RD を生成できます。PE ルータの IP アドレスを RD の IP アドレス部分として使用し、各 VRF で異なる任意の番号部分を使用するだけです。

タイプ 2 RD は、4 バイトの自律システム番号 [BGP-AS4] に使用されます。

サービスプロバイダがタイプ 0 またはタイプ 2 RD を使用する場合は割り当てられた ASN を使用し、タイプ 1 RD を使用する場合は所有するアドレス空間の IP アドレスを使用することをお勧めします。これにより、RD がグローバルに一意であることが保証されます。

4.3. VPN-IPv4 Route Distribution (VPN-IPv4 ルート配布)

PE ルータが、特定の PE/CE インターフェースを介して学習したルートが特定の VPN に属していることを知っており、そのルートを他の PE ルータに配布するように構成されている場合、PE ルータは対応する IPv4 ルートを VPN-IPv4 ルートに変換します。詳細な手順は次のとおりです:

  1. RD を選択します。
  2. その RD を IPv4 ルートの前に追加します。
  3. 必要に応じて、ルートの Next Hop (ネクストホップ) 属性をその PE ルータ自身のアドレス (通常はループバックアドレス) に設定します。
  4. 必要になる可能性のあるその他の BGP 属性を付加します。
  5. 生成された VPN-IPv4 ルートを BGP ネイバーに配布します。

他の PE ルータがこれらのルートを受信した後、対応するポリシー (Route Target, ルートターゲット、以下を参照) が構成されている場合、それらのルートを特定の VRF にインポートする可能性があります。インポート時に、VPN-IPv4 ルートは IPv4 ルートに戻されます (RD が削除されます)。

4.3.1. The Route Target Attribute (ルートターゲット属性)

各 VPN ルートは、1 つ以上の Route Target (ルートターゲット, RT) 属性に関連付けられています。RT 属性は、BGP Extended Community (拡張コミュニティ) 属性 [BGP-EXTCOMM] の一種です。

PE ルータが VPN ルートを BGP にエクスポートするとき、そのルートを RT のセットに関連付けます。これらの RT の割り当ては、構成によって決定されます。通常、各 VRF には 1 つ以上の「エクスポート RT」リストがあります。その VRF からルートがエクスポートされると、これらの RT がルートに付加されます。

同様に、各 VRF には 1 つ以上の「インポート RT」リストがあります。PE ルータは、VPN-IPv4 ルートを受信すると、ルートが伝送する RT セットをチェックします。ルートが伝送する RT のいずれかが、特定の VRF のインポート RT リスト内の RT のいずれかと一致する場合、そのルートはその VRF にインポートされます。

RT 属性は、実際にはそのルートの「メンバーシップ」を定義します。どの VRF が具体的な RT をインポートするかを制御することにより、SP は任意の複雑な VPN トポロジ (フルメッシュ、ハブアンドスポークなど) を構築できます。

4.3.2. Route Distribution via BGP (BGP によるルート配布)

PE ルータ間は、IBGP (Internal BGP) または EBGP (External BGP) を介して VPN-IPv4 ルートを交換します。

2 つの PE が同じ自律システムにある場合、それらは IBGP セッションを介してルートを交換します。通常、フルメッシュ IBGP 接続を回避するために、BGP Route Reflectors (ルートリフレクタ) [BGP-RR] が使用されます。P ルータは通常、BGP を実行せず、VPN ルートも維持しません。

4.3.3. Route Distribution via Route Reflectors (ルートリフレクタによるルート配布)

ルートリフレクタは、IPv4 ルートを反映するためだけでなく、VPN-IPv4 ルートを反映するためにも使用できます。ルートリフレクタ自体は、VPN のトポロジを知る必要はありません。BGP 更新メッセージを受信して、他の BGP ルータに転送するだけです。

4.3.4. How Common is the RD? (RD はどれくらい一般的か?)

RD は複数のレベルで割り当てることができます。最も一般的な方法は、各 VRF に一意の RD を割り当てることです。ただし、各 VPN に 1 つの RD を割り当てる (その VPN に属するすべての VRF が同じ RD を使用する) ことや、各サイトの各 VRF に異なる RD を割り当てることも可能です。重要なのは、RD が重複する可能性のある IPv4 アドレス空間を区別するのに十分なものでなければならないということです。

4.3.5. Building VPNs using Route Targets (ルートターゲットを使用した VPN の構築)

インポートおよびエクスポート RT を巧みに使用することで、複雑な VPN トポロジを構築できます。たとえば、フルメッシュ VPN を作成するには、すべてのサイトに同じインポートおよびエクスポート RT を構成します。ハブアンドスポーク型 (Hub and Spoke) VPN を作成するには、スポークサイトは RT1 をエクスポートして RT2 をインポートし、ハブサイトは RT2 をエクスポートして RT1 をインポートします。

4.3.6. Route Selection (ルート選択)

PE ルータが同じ VPN-IPv4 プレフィックスへの複数のルートを受信すると、標準の BGP パス選択ルールを使用して最適なパスを選択します。基になる IPv4 プレフィックスが同じであっても、RD が異なる場合、BGP はそれらを完全に異なるルートと見なすため、それらの間で選択を行わないことに注意してください。RD が同じで IPv4 プレフィックスも同じである場合にのみ、ルート選択が行われます。