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

5.1. VXLAN/NVGRE Encapsulation

5.1. VXLAN/NVGRE Encapsulation (VXLAN/NVGRE カプセル化)

VXLAN と NVGRE はどちらも, Network Virtualization Edge (NVE) 間の共通物理 IP インフラストラクチャ上でパケットを転送するために使用されるデータプレーンカプセル化を提供する技術の例です。例えば VXLAN ネットワークにおける VXLAN Tunnel End Points (VTEPs) などです。これらの技術は両方とも, 各パケットに特定の NVO インスタンスの識別子を含みます。VXLAN では VNI, NVGRE では VSID です。本文書の残りの部分では, 特に断りがない限り NVGRE のカプセル化の場合は VSID も同様に使用できるという理解のもと, NVO インスタンスの表現として VNI を使用します。

PE は NVE/VTEP と同等であることに注意してください。

VXLAN カプセル化は UDP に基づいており, UDP ヘッダーの後に8バイトのヘッダーが続きます。VXLAN は24ビットの VNI を提供し, これは通常 [RFC7348] で説明されているように tenant VID との1対1のマッピングを提供します。このシナリオでは, 入力 VTEP はカプセル化されたフレームに内部 VLAN タグを含めず, 出力 VTEP は内部 VLAN タグを持つフレームを破棄します。[RFC7348] のこの動作モードは [RFC7432] の VLAN-Based Service にマッピングされます。ここでは tenant VID が EVI にマッピングされます。

VXLAN は, VTEP で明示的に設定されている場合, カプセル化されたフレームに内部 VLAN タグを含めるオプションも提供します。この動作モードは [RFC7432] の VLAN Bundle Service にマッピングできます。なぜなら, テナントのすべてのタグ付きフレームが単一のブリッジテーブル / MAC-VRF にマッピングされ, [RFC7348] のセクション 6 で説明されているように VXLAN デカプセル化を実行する際に内部 VLAN タグは配置 PE による検索に使用されないためです。

[RFC7637] カプセル化は GRE カプセル化に基づいており, VSID を運ぶオプションの GRE Key フィールドの包含を義務付けています。[RFC7637] で説明されているように, VSID と tenant VID の間には1対1のマッピングがあります。内部 VLAN タグの包含は禁止されています。[RFC7637] のこの動作モードは [RFC7432] の VLAN Based Service にマッピングされます。

次のセクションで説明するように, VXLAN または NVGRE カプセル化をサポートするための EVPN ルートのエンコーディングに変更はありません。ただし, カプセル化タイプ (例: VXLAN または NVGRE) を示すために BGP Encapsulation Extended Community を使用することを除きます。ただし, NVE がどこに配置されているか (すなわち, ハイパーバイザーまたは ToR) およびマルチホーミング機能が必要かどうかに応じて, EVPN 手順に潜在的な影響があります。

5.1.1. Virtual Identifiers Scope (仮想識別子のスコープ)

Globally Assigned VNIs (グローバルに割り当てられた VNI)

VNI は, 特定のテナント ネットワーク内の特定の仮想セグメント (すなわち, サブネット) を識別するために使用されます。デフォルトでは, VNI はネットワーク全体にわたってグローバルに割り当てられると想定されます。VNI のグローバル スコープは, 異なる NVE 上のテナントの異なるサブネットが, 同じサブネットであることを示すために同じ VNI を使用できないことを意味します。

Locally Assigned VNIs (ローカルに割り当てられた VNI)

しかし, VNI をローカルに割り当てることも可能です。VNI のローカル スコープは, 異なる NVE 上のテナントの異なるサブネットが同じ VNI を使用できることを意味します。この場合, 特定の NVE で特定のサブネットを識別するために VNI と NVE IP アドレスの組み合わせが必要です。

VNI のグローバル割り当てまたはローカル割り当てに関わらず, 各 NVE は与えられた EVI に対して単一の VNI のみを割り当てます。

5.1.2. Virtual Identifiers to EVI Mapping (仮想識別子から EVI へのマッピング)

VXLAN および NVGRE のカプセル化は, VNI と EVI の間の一対一のマッピングを想定しています。ただし, EVPN は以下で説明する2つの EVI タイプをサポートしています。したがって, VNI と EVI の間のマッピングは, 使用されている EVI タイプによって異なります。

VLAN-Based Service (VLAN ベースサービス)

VLAN-Based Service では, 各 MAC-VRF は単一の VLAN に関連付けられます。したがって, 各 VNI は単一の EVI に, そして各 EVI は単一の VLAN に関連付けられます。

VLAN-Aware Bundle Service (VLAN 認識バンドルサービス)

VLAN-Aware Bundle Service では, 単一の MAC-VRF が複数の VLAN に関連付けられる可能性があります。ただし, VXLAN および NVGRE カプセル化の制限により, 各 VNI は依然として単一の VLAN に関連付けられる必要があります。したがって, 単一の EVI には複数の VNI が関連付けられる可能性があり, 各 VNI は MAC-VRF 内の特定の VLAN を表します。

この VNI と EVI のマッピングの違いは, 後続のセクションで説明するように BGP ルートの構築に影響します。

5.1.3. Constructing EVPN BGP Routes (EVPN BGP ルートの構築)

EVPN は, VXLAN/NVGRE をサポートするために使用される場合, [RFC7432] で定義されているすべての BGP ルートタイプを使用します。ただし, Ethernet Tag フィールドの設定とラベル フィールドの使用は, 使用されている EVI タイプによって異なります。

VLAN-Based Service の場合

VLAN-Based Service では:

  • Ethernet Tag フィールドは常にゼロに設定されます
  • ラベル フィールド (MAC Advertisement route と Ethernet A-D per EVI route) には VNI が含まれます
  • VNI がグローバルに割り当てられている場合, PE は受信した MAC Advertisement route の Next Hop フィールドのみを使用して MAC アドレスの場所を識別します
  • VNI がローカルに割り当てられている場合, PE は受信した MAC Advertisement route の Next Hop フィールドとラベル フィールドの両方を使用して MAC アドレスの場所を識別します

VLAN-Aware Bundle Service の場合

VLAN-Aware Bundle Service では:

  • Ethernet Tag フィールドには, その VNI が表す正規化された VLAN ID が含まれます
  • ラベル フィールド (MAC Advertisement route と Ethernet A-D per EVI route) には VNI が含まれます
  • グローバルに割り当てられた VNI の場合でも, PE は受信した MAC Advertisement route の Ethernet Tag フィールドを使用して, 特定の EVI 内の特定の VLAN を識別する必要があります

これらの違いは, 適切な MAC 学習とトラフィック転送を保証するために重要です。