EVPN-over-VXLANでサポートされている機能
EVPN-over-VXLANデータプレーンカプセル化では、以下の機能がサポートされています。
VXLANカプセル化
EVPNは、同じEVPNインスタンス内でVXLANデータプレーンカプセル化タイプをサポートします。VXLAN カプセル化タイプをサポートするために、すべての EVPN PE デバイスは、BGP カプセル化拡張コミュニティでトンネル タイプを VXLAN として指定します。イングレスPEは、独自のカプセル化機能と、EVPNリモートPEデバイスがアドバタイズするカプセル化機能に基づいて、使用するカプセル化タイプを決定します。
VXLANカプセル化されたアンダーレイIPネットワークのオーバーレイソリューションとしてEVPNを使用する場合、データパケットはイングレスPEデバイスのVXLANヘッダーでカプセル化され、データパケットはエグレスPEデバイスのVXLANヘッダーからカプセル化解除されます。 図1 は、VXLANカプセル化されたアンダーレイIPネットワークを介してパケットがコアで転送された場合のパケット形式を示しています。
を使用したアンダーレイIPネットワーク
アンダーレイネットワークがIPv4プロトコルとIPv4アドレッシングを使用する場合、VXLANパケットの外側のIPヘッダーはIPv4ヘッダーです。EVPN-VXLANをサポートするすべてのプラットフォームは、IPv4アンダーレイネットワークで動作します。
一部のプラットフォームでは、IPv6 プロトコルと IPv6 アドレッシングを使用するようにアンダーレイを設定できます。このような場合、VXLANパケットの外側のIPヘッダーはIPv6ヘッダーであり、VTEP送信元アドレスをIPv6アドレスとして設定します。IPv6アンダーレイの使用方法の詳細については、 IPv6アンダーレイを使用したEVPN-VXLAN を参照してください。
EVPN BGPルートと属性
EVPN BGPルートと属性は、EVPN-over-VXLANデータプレーンカプセル化をサポートしており、以下のような影響を受けます。
-
EVPN MACルートにトンネルカプセル化タイプVXLANを持つBGPカプセル化拡張コミュニティ属性を付与することで、エグレスPEデバイスはEVPNを含むマルチキャストルートとEVIルートごとのEVPN自動検出をアドバタイズします。
-
すべてのEVPN BGPルートのイーサネットタグフィールドは、VXLANネットワーク識別子(VNI)ベースのモードのみをサポートするようにゼロに設定されています。
-
VNIは、EVPNオーバーレイのVNIフィールドとも呼ばれ、EVPN MACルート、EVPNを含むマルチキャストルート、EVPNインスタンスごとの自動検出ルートのMPLSフィールドに配置されます。
-
サポートされているVXLANカプセル化タイプのイーサネットセグメント識別子ラベルが存在しないため、イーサネットセグメントごとのEVPN自動検出ルートのイーサネットセグメント識別子ラベルフィールドがゼロに設定されています。
-
リモートPEデバイスからの対応するすべてのEVPNルートは、IPv4のinet.3テーブルではなく、inet.0または:vxlan.inet.0テーブルで解決されます。EVPN-VXLANトンネリングにIPv6アンダーレイを使用する場合、inet6.0テーブルと:vxlan.inet6.0テーブルにも同じことが言えます。
EVPN マルチホーミング手順
レイヤー 2 のリンク アグリゲーション グループ(LAG)インターフェイスを介して、ベアメタル サーバー(BMS)をジュニパーネットワークスの TOR(トップオブラック)スイッチのペア(例えば QFX5100 スイッチ)にマルチホームできます。LAGインターフェイスのため、BMSからコアルーターに転送されるBUMトラフィックのコピーは1つだけです。マルチホーム BMS が接続されている同じイーサネット セグメントにレイヤー 2 ループと BUM トラフィックがフラッディングされるのを防ぐために、BUM トラフィックはマルチホーム アクティブ-アクティブのスプリット ホライゾン ルールを適用します。EVPNマルチホームアクティブ/アクティブモード機能を完全にサポートするために、ジュニパーネットワークスのTORスイッチは、他のEVPN PEデバイスにEVPNエイリアスルートをアドバタイズします。
VXLANデータプレーンカプセル化を備えたEVPN over IPに対するMPLSラベルサポートの欠如は、以下のEVPNマルチホームアクティブ-アクティブモード機能に影響を与えます。
EVPN over VXLANは、アクティブ/スタンバイ動作モードをサポートしていません。ESIインターフェイス設定の all-active オプションを使用して、アクティブ/アクティブモードのみを設定できます。 single-active オプションによるVXLANカプセル化を使用したEVPNでのシングルホーミングイーサネットセグメントはサポートされていません。
Junos OSリリース22.2R1以降、EVPNは、データプレーンVXLANの統合を含む、オールアクティブ冗長性、エイリアシング、マスMAC引き出しのサポートを追加し、確立されたデータセンターの相互接続(DCI)テクノロジーへのデータセンター間の耐障害性に優れた接続を提供します。この新しいサポートは、EVPNマルチキャストとデータプレーンVXLANを統合することで、エンドツーエンドのDCIソリューションを構築します。
アクティブ-アクティブトポロジーでは、両方のリンクがトラフィックの負荷分散に使用されます。EVPN-MPLSドメインから発信されるユニキャストトラフィックは、両方のゲートウェイにロードバランシングされ、VXLANトンネルを介してリモートのVXLANエンドルーターに転送されます。負荷分散されたパケットのいずれかのゲートウェイから送信され、VXLANエンドルーターでMACフリップフロップの問題が発生する可能性があります。ゲートウェイのループバックインターフェイスでエニーキャストIPアドレスをセカンダリアドレスとして設定することで、このMACフリップフロップの問題を克服できます。エニーキャストアドレスを vxlan-source-ipに設定すると、エニーキャストアドレスへのVXLANトンネルが作成され、VTEPのエニーキャストアドレスからMACが学習されます。
ESIレベルでアクティブ-アクティブ冗長性を設定し、lo0インターフェイスにエニーキャストアドレスを設定するには、以下のステートメントを使用します。エニーキャストIPを持つセカンダリアドレスをlo0インターフェイスに追加し、ルーティングインスタンスのVTEPインターフェイス vxlan-source-ip として含め、プロトコルPIMの下の secondary-vtep-address に含めます。
set interfaces lo0 unit 0 esi identifier set interfaces lo0 unit 0 esi all-active set interfaces lo0 unit 0 family inet address anycast-ip-address set interfaces lo0 unit 0 family inet address primary-ip-address primary set protocols pim secondary-vtep-address anycast-ip-address set routing-instances <name> vtep-source-interface lo0.0 set routing-instances <name> vtep-source-interface inet evpn-mpls-encap vxlan-source-ip anycast-ip-address
ローカルバイアスとスプリットホライズンフィルタリングルール
MPLSラベルがないため、マルチホームイーサネットセグメントのスプリットホライズンフィルタリングルールが変更され、MPLSイーサネットセグメントラベルではなく、EVPN PEデバイスのIPアドレスに基づきます。アクセスインターフェイスから送信されるトラフィックの場合、マルチホームイーサネットセグメントへのトラフィック転送は、VXLANデータプレーンカプセル化されたEVPNのローカルバイアスに基づきます。各EVPN PEデバイスは、同じイーサネットセグメントを共有するピアマルチホームEVPN PEデバイスのIPアドレスを追跡します。このトラッキングは、他のEVPN PEデバイスから受信した各VXLANパケットの送信元VTEP IPアドレス(外部IPヘッダー内)を提供します。複数宛先トラフィックの場合、スプリット ホライゾン フィルタリング ルールはイングレス PEデバイスとエグレス PEデバイスの両方に適用されます。
-
イングレスPE—サブジェクトイングレスPEデバイスの指定フォワーダー(DF)選択ステータスに関係なく、直接接続されたアクセスインターフェイスから来るマルチ宛先パケットを残りの関連するマルチホームイーサネットセグメントに転送する役割を担います。
-
エグレスPE—サブジェクトエグレスPEデバイスのDF選択ステータスに関係なく、エグレスPEがイングレスPEデバイスと共有する同じマルチホームイーサネットセグメントへのマルチデスティネーションパケットの転送を許可しません。
エイリアシング
LAGインターフェイスバンドルを介してBMSをジュニパーネットワークス TORスイッチのペアに接続する場合、ローカルMACアドレスを学習できるスイッチは1台だけです。スイッチ間の VXLAN から BMS に送信される既知のユニキャスト トラフィックのロードバランシングをサポートするには、スイッチ上の EVPN PE デバイスが、EVPN インスタンスの自動検出ルートごとに EVPN をアドバタイズする必要があります。このアドバタイズメントは、MACがピアマルチホームPEデバイスからマルチホームイーサネットセグメントから学習することも到達可能であることをリモートEVPN PEデバイスにシグナルします。VXLANカプセル化の場合、EVPNエイリアシング機能を提供しても、EVPN手順に変更はありません。
ネクストホップ転送
レイヤー2アドレス学習デーモン(l2ald)は、イングレスでVXLANカプセル化コンポジットネクストホップを作成し、エグレスでVXLANカプセル化解除コンポジットネクストホップを作成します。VXLANカプセル化コンポジットネクストホップは、レイヤー2のユニキャストトラフィックを、VXLANカプセル化を使用してリモートPEデバイスに転送します。リモートMACに到達するために複数のパスが利用可能な場合(マルチホームEVPNアクティブ-アクティブの場合と同様)、ルーティングプロトコルデーモン(rpd)は、リモートMACに関連付けられたすべてのリモートVTEP IPアドレスをl2aldに通知します。l2ald は、リモート MAC 用の等価コスト マルチパス(ECMP)ネクスト ホップの構築を担当します。VXLANカプセル化解除コンポジットネクストホップは、エグレスでVXLANトンネルヘッダーのカプセル化を解除し、トラフィックをBMSに転送します。
既知のユニキャストトラフィックの場合:
-
イングレスでは、rpdはmpls.0テーブルにラベルルートを追加する必要はありません。
-
エグレスでは、rpdはmpls.0テーブルのテーブルネクストホップを指すためにラベルルートを追加する必要はありません。
オーバーレイIRBループ防止
VXLAN トンネル ルートは、アンダーレイで解決されます。オーバーレイは、到達可能性のためにアンダーレイのルート解決を使用します。特定の条件下では、アンダーレイが到達可能性のためにオーバーレイを使用する可能性があり、これによりルーティングループが発生する可能性があります。
VXLANとIRBの両方を同じルーティングインスタンスで設定しながら、OSPFプロトコルで、またはスタティックルーティングを介してIRBを設定するシナリオを考えてみましょう。 set protocols ospf area # interface irb オプションを使用するか、「interface all」オプション set protocols ospf area # interface allを使用して、IRB を明示的に設定できます。どちらのアプローチでも、アンダーレイがトンネルのルート解決にオーバーレイを使用できます。
overlay-vxlan-interfacesステートメントを設定することにより、アンダーレイがオーバーレイを使用してルートを解決できないようにします。次に、次に示すように、ルーティングポリシーを設定します。
user@device# set policy-options policy-statement policy-name then install-nexthop except overlay-vxlan-interfaces user@device# set routing-options forwarding-table export policy-name
:vxlan.inet.0テーブルを調べて、システムがIRBルートをブロックしていることを確認します。最初に、アンダーレイがオーバーレイルートを使用できるシナリオを確認します。アクティブなルートは IRB を使用します。
user@device> show route table :vxlan.inet.0 10.1.1.1/32
:vxlan.inet.0: 15 destinations, 15 routes (15 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.1.1.1/32 *[Static/1] 00:00:33, metric2 1
> to 10.101.101.11 via irb.1
to 10.12.12.1 via et-0/0/2:0.0
このオプションは、IPv4とIPv6の両方をサポートします。IRB ルートを含む :vxlan.inet6.0 テーブルを次に示します。
user@device> show route table :vxlan.inet6.0 abcd::10:1:1:1/128
:vxlan.inet6.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
abcd::1:1:1:1/128 *[Static/1] 00:30:11, metric2 1
to fe80::8ad9:8fff:fe62:b25f via et-0/0/2:0.0
> to fe80::8ad9:8f00:162:b220 via irb.1
overlay-vxlan-interfaces ステートメントが IRB ルートをテーブルに追加できないようにした場合も、同じ出力を確認します。IPv4 と IPv6 の両方のテーブルを次に示します。
user@device> show route table :vxlan.inet.0 10.1.1.1/32
:vxlan.inet.0: 15 destinations, 15 routes (15 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.1.1.1/32 *[Static/1] 00:00:15, metric2 1
to 10.12.12.1 via et-0/0/2:0.0
user@device> show route table :vxlan.inet6.0 abcd::10:1:1:1/128
:vxlan.inet6.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
abcd::10:1:1:1/128 *[Static/1] 00:00:16, metric2 1
to fe80::8ad9:8fff:fe62:b25f via et-0/0/2:0.0
コントロールプレーンMAC学習方法
EVPN の固有の特性は、PE デバイス間の MACアドレス学習がコントロール プレーンで行われることです。ローカル PE ルーターは、CE デバイスから新しい MACアドレスを検出し、MP-BGP を使用して、そのアドレスをすべてのリモート PE デバイスにアドバタイズします。この方法は、データプレーンに不明なユニキャストをフラッディングして学習するVPLSなどの既存のレイヤー2 VPNソリューションとは異なります。このコントロールプレーンMAC学習方法は、EVPNが提供する機能とメリットの重要なコンポーネントです。MAC学習はコントロールプレーンで処理されるため、EVPNはPEデバイス間のさまざまなデータプレーンカプセル化技術に柔軟に対応できます。すべてのバックボーンネットワーク(特にエンタープライズネットワーク)でMPLSが稼働しているわけではないため、この柔軟性は重要です。
コントロールプレーンリモートMAC学習では、l2aldがVXLANカプセル化コンポジットネクストホップとVXLANカプセル化解除コンポジットネクストホップを作成するため、rpdはMAC転送テーブルで使用される間接ネクストホップを作成しません。rpd は、コントロール プレーンから学習したリモート MAC アドレスを l2ald に通知するために、既存のメカニズムに依存しています。rpd は、MAC FIB テーブル内のリモート MAC が使用する VLAN ID と間接ネクストホップ インデックスについて l2ald に通知する代わりに、リモート VTEP IP アドレスと VXLAN ネットワーク識別子を l2ald に通知します。コントロールプレーンリモートMAC学習ルートは、VXLANカプセル化コンポジットネクストホップ、またはMAC転送テーブルのL2ALDによって作成されたECMPネクストホップを指し示しています。
マルチホームEVPNアクティブ/アクティブでは、リモートVTEP IPアドレスのペアがリモートMACアドレスに関連付けられます。リモート VTEP IP アドレスは、リモート PE デバイスから受信した MAC ルート、またはリモート PE デバイスからのエイリアス ルートから取得されます。リモート PE デバイスが、MAC が学習したイーサネット セグメントの MAC ルートまたはエイリアス ルートを取り消すと、rpd はそれに応じてリモート VTEP IP アドレスのペアへの変更について l2ald に警告します。その結果、l2ald はこの MAC 用に構築されたユニリストのネクストホップを更新します。リモートMACルートとそれに関連するエイリアシングルートの両方が取り消されるか、未解決になった場合、rpdはこのリモートMACの削除についてl2aldに通知し、l2aldはMAC転送テーブルからこのMACを取り消します。
Contrail vRouter と L3-VRF テーブル
Contrail仮想化ソフトウェアは、レイヤー3仮想ルーティングおよび転送(L3-VRF)テーブル内のルートに関連付けられた仮想ネットワーク(VN)を作成します。
関連するルートは次のとおりです。
IRB インターフェイスのサブネット ルート
MXシリーズルーター上の仮想ネットワーク用に作成されたMAC-(仮想ルーティングおよび転送)VRFテーブルとL3-VRFテーブルのペアごとに、対応するIRBインターフェイスがMAC-VRFテーブルとL3-VRFテーブルペアに関連付けられます。MXシリーズルーターのL3-VRFテーブルには、ローカル仮想ネットワークに関連付けられたIRBインターフェイスからのサブネットルートと、Junos OSルーティングリーク機能によって提供されるデータセンター内の他の仮想ネットワークに関連付けられたIRBインターフェイスのすべてのサブネットルートがあります。MXシリーズルーターは、これらのサブネットルートをMP-BGPを介してContrail制御ノードにアドバタイズします。その結果、Contrail vRouter の L3-VRF テーブルには、IP FIB 内の IRB インターフェイス用サブネット ルートの同じセットが含まれており、サブネット ルートはネクスト ホップを MXシリーズ ルーターに向けます。
仮想マシンのホストルート
Contrail vRouterはプロキシARPをサポートしており、仮想マシン(VM)のEVPN MACルートでIPアドレスをアドバタイズします。Contrail vRouter と MXシリーズ ルーターの両方で、仮想ネットワークのL3-VRFテーブルには、同じ仮想ネットワーク内にあるVMのすべてのVMホストルートと、他のすべての仮想ネットワーク内のルートが含まれています。VM 間の仮想ネットワーク内および仮想ネットワーク間のトラフィックは、Contrail vRouter 間のレイヤー 3 で直接転送されます。
ベアメタルサーバーのホストルート
QFX5100スイッチなどのジュニパーネットワークスのTORスイッチは、接続されているベアメタルサーバー(BMS)のEVPN MACルートでIPアドレスをアドバタイズしません。スイッチからのEVPN MACルートアドバタイズの結果として、Contrail vRouterとMXシリーズルーターのL3-VRFテーブルにBMSホストルートはインストールされません。ただし、MXシリーズ ルーターが BMS からの ARP 応答を受信すると、BMS の ARP ルートはMXシリーズルーターのカーネルにインストールされます。
指定フォワーダーの選択
負荷分散とトポロジーの柔軟性を高めるため、指定フォワーダの選択は、EVPNインスタンスに基づいて選択するのではなく、各イーサネットセグメントの最小VLAN IDまたはVXLANネットワークIDを選択することによって決定されます。 図2 は、指定フォワーダー選択トポロジーの例を示しています。
CEデバイス(CE1)は、ES1と等しく設定されたイーサネットセグメント識別子値を持ち、設定されたVLAN100および101を使用して、PE1デバイスとPE2デバイスの両方に接続されています。ルーターPE1は、2つのVLANの指定フォワーダーとして選出されます。
CEデバイス(CE2)は、ES2と等しく設定されたイーサネットセグメント識別子値を持ち、設定されたVLAN 201を使用してPE1デバイスとPE3デバイスの両方に接続されています。ルーターPE3は、このVLANの指定フォワーダーとして選出されます。
イーサネットタグIDは、以下のいずれかです。
-
VLAN ID(EVPN-MPLS用)
-
VXLANネットワークID(EVPN-VXLAN用)