EVPN-VXLANマルチホーミングによるエグレスリンク保護のための高速再ルート
概要 EVPN-VXLANネットワーク内のマルチホーミングピアプロバイダーエッジ(PE)デバイスで、高速再ルートのエグレスリンク保護(ELP)機能を有効にできます。この機能により、PEデバイスとCEデバイス間のリンクに障害が発生した場合に、ルートコンバージェンス時間が改善され、マルチホームのカスタマーエッジ(CE)デバイスに向けての負荷分散トラフィックの損失を回避できます。
利点
-
CEデバイスへのリンクに障害が発生した場合に、マルチホームCEデバイスへのロードバランシングされたトラフィックの損失を回避します。
-
より拡張性の高いEVPN-VXLANファブリックにおいて、イーサネットセグメントルートをマルチホーミングするためのルートコンバージェンス時間を改善します。
高速再ルート ELP とイーサネット セグメントのマルチホーミングの仕組み
EVPNファブリックでは、信頼性とパフォーマンスを向上させるために、お客様は多くの場合、イーサネットセグメント(ES)内の2台以上のPEデバイスにCEデバイスをマルチホームします。マルチホーミングは、次のことに役立ちます。
-
マルチホームCEデバイスへのPEデバイスリンクに障害が発生した場合に、トラフィック損失を防ぎます。
-
宛先への複数のパス間のロードバランシングを有効にします。
異なる PE デバイスへのマルチホーム CE の接続は、ES 識別子(ESI)を共有します。EVPN デバイスは、ES ルート(EVPN タイプ 4 ルート)を使用して、ローカル マルチホーミング ピア PE 接続をアドバタイズします。また、PE デバイスは ES ルートを使用してピア デバイス間で指定フォワーダ(DF)を選出し、ESI で重複したトラフィックを送信しないようにします。
EVPN-VXLAN では、マルチホーム CE デバイスに接続された PE デバイスが、ローカルに接続された各 ESI の ES トンネル ルート(VXLAN トンネル ルート)をアドバタイズします。リモート PE デバイスはこれらのアドバタイズメントを受信し、ES の負荷分散ネクストホップ テーブルを作成します。リモート PE デバイスは、ES ネクスト ホップを使用して、ESI に関連するピア PE デバイス間でマルチホーム CE デバイス宛てのトラフィックの負荷分散を行います。
リモート PE がマルチホーム CE デバイスにトラフィックを送信しているときに、ESI リンクの 1 つに障害が発生した場合:
-
リンクが失敗した PE デバイスは、対応する ES ルートを取り消します。
-
リモート PE デバイスは、デバイスがルートの取消を受信し、ロード バランシング ネクスト ホップを調整するまで、障害が発生したリンクに対応するルートを使用して ESI へのトラフィックのロードバランシングを続けます。
-
リンクが失敗した PE デバイスは、障害が発生したリンクを宛先とする過剰な(残留)ロード バランシング トラフィックをドロップします。
-
リモート PE デバイスは、ルート取り消しを受信して処理します。リモート PE デバイスは、MAC アドレス、ルーティング情報、ネクストホップ テーブルを更新します。その時点で、リモート PE デバイスは、障害が発生したリンクへの負荷分散されたトラフィックの送信を停止します。
リモート PE ルーティング テーブルが収束するまで(拡張環境では数秒かかる場合があります)、宛先 CE デバイスはトラフィックの一部を失います。
メンバー リンクがダウンしたときに ESI でこのロード バランシングされたトラフィックの損失を回避するために、マルチホーミング ピア PE デバイスで高速再ルート ELP 機能を有効にできます。この機能は、特に高度に拡張されたネットワークにおいて、ESI ルートのコンバージェンス時間の改善にも役立ちます。
イーサネットセグメントでの高速再ルートを使用したELP
PE デバイスでこの機能を有効にすると、デバイスは ES 用の各ピア PE デバイスへの ELP トンネルと呼ばれるバックアップ VXLAN トンネルを作成します。ES リンクに障害が発生すると、PE デバイスは ELP トンネルを使用して、トラフィックを 1 つ以上のピア PE デバイスに再ルーティングします。
この機能を動作させるには、ESI に関連するすべてのピア PE デバイスで一様に有効にします。ES 上の各 PE デバイスには、すべてのピア PE デバイスへの ELP トンネルがあります。
次の図は、シンプルなEVPN-VXLANファブリックでELPトンネル再ルートプロセスがどのように機能するかを示しています。
-
CE1は、ピアPEデバイスPE1およびPE2にマルチホームされています。
-
PE1とPE2には、互いにELPトンネルがあります。
-
PE3は、PE1とPE2のVXLANトンネルエンドポイント(VTEP)を使用してCE1へのトラフィックをロードバランシングするリモートソースです。
図 1 では、CE1 へのすべての ES リンクがアップしているため、PE1 と PE2 はそれぞれ負荷分散されたトラフィックの自分の部分を CE1 に転送します。PE1 と PE2 は、ELP トンネルを使用する必要はありません。
図 2 では、PE1 から CE1 へのリンクに失敗しています。PE1 は、障害が発生したリンクの ES ルートを取り消します。ただし、PE3がルートコンバージェンスを達成するまで、PE3はPE1に過剰な負荷分散トラフィックを送信します。PE1は、負荷分散されたトラフィックのその部分をドロップする代わりに、ELPトンネルを使用してそのトラフィックをPE2に再ルーティングします。PE2は、負荷分散されたトラフィックの両方の部分をCE1に転送します。
図 3 では、PE3 がルート コンバージェンスを達成し、ES の負荷分散されたトラフィックを PE1 に送信するのを停止します。PE3はESのすべてのトラフィックをPE2にのみ送信し、PE2はトラフィックをCE1に送信します。PE1 は、PE2 への ELP トンネルを使用する必要がなくなりました。
複数のピアPEデバイスを持つELPトンネル
ES 上に 2 つ以上のピア PE デバイスがある PE デバイスでこの機能を有効にすると、PE デバイスは各ピア PE デバイスへのバックアップ VXLAN ELP トンネルを設定します。 図 4 を参照してください。各 PE デバイスは、ES を宛先とするロードバランシング トラフィック用のネクスト ホップ グループを維持します。リモート ソース PE デバイスは、グループ内のネクスト ホップ間で ES へのトラフィックを分散します。また、ES 上の各ピア PE デバイスは、ES のすべての ELP トンネルでロード バランシング ネクスト ホップ グループを維持するため、デバイスは再ルーティングされたトラフィックのロード バランシングも可能です。
図 4 は、ES 上のリンクの 1 つに障害が発生した場合の動作を示しています。この場合、PE1からCE1へのリンクは失敗します。その結果:
-
PE4がルートコンバージェンスを達成するまで、PE4はPE1に過剰な負荷分散トラフィックを送信します。
-
PE1は、負荷分散されたトラフィックの一部をドロップする代わりに、両方のELPトンネルで余分な負荷分散されたトラフィックをピアPEデバイスPE2およびPE3に向けて再ルーティングします。
-
PE2とPE3は、PE4から受信したロードバランシングされたトラフィックとPE1のELPトンネルからのトラフィックを含む、すべてのトラフィックをCE1に送信します。
-
(図示せず)PE4のルーティングテーブルが収束します。PE4はPE1へのトラフィック送信を停止し、PE2とPE3へのみトラフィックをロードバランシングします。
高速再ルートELPの要件と制限
PE デバイスで ELP トンネルを有効にするには、[edit forwarding-options evpn-vxlan]
階層レベルで reroute-address ステートメントを設定します。reroute-address
ステートメントの inet ip-address
オプションを使用して、デバイスが ELP トンネルに使用する IP アドレスを指定します。PEデバイスで高速再ルートELPを設定するでは、このステートメントの詳細と、この機能を設定するために必要なその他の手順について説明します。
この機能を使用すると、次のようになります。
-
ピア PE デバイス上の ELP トンネルが機能するには、特定の ES のすべてのピア PE デバイスでこのステートメントを設定する必要があります。
-
マルチホーミング ピア PE デバイスは、AE ESI インターフェイスがダウンした場合、アクティブ/アクティブ状態の集合型イーサネット(AE)インターフェイス バンドル リンクの MAC アドレス テーブル エントリーをフラッシュしません。この動作は、高速再ルート アクションの実装に役立ち、ルート コンバージェンス時間が改善されます。
高速再ルートELPには以下の制限があります。
-
この機能は、AE 論理インターフェイスに設定されたマルチホーミングにのみ適用されます。
-
この機能は、IPv4 クライアント トラフィックに対してのみサポートされます。
-
この機能は、ユニキャスト トラフィックと VLAN フラッディングに対してのみ機能し、マルチキャスト トラフィックに対しては動作しません。
-
この機能は、エンタープライズ スタイルのインターフェイス設定でのみサポートされます。(このタイプのインターフェイス設定の詳細については、 柔軟なイーサネットサービスのカプセル化 を参照してください)。
-
この機能は、特定の ESI に関連付けられている 1 つのマルチホーミング ピアでのみ、ES リンク障害時にトラフィックの再ルーティングを処理します。
高速再ルート ELP は、 set interface interface-name disable
コマンドを実行することにより、PE デバイス上で PE-CE インターフェイスをローカルに管理的に無効にする場合など、計画された管理リンクダウン イベントではサポートされていません。PE デバイスで計画されたインターフェイスダウンメンテナンスイベントについては、必要に応じて、メンテナンス中のトラフィック損失を防ぐために他の管理アクションを実行します。ただし、CE デバイス上の administrative link-down コマンドが原因で PE-CE リンクがダウンした場合、PE デバイスはリンク障害を検出し、その場合は高速再ルート操作を呼び出します。
PEデバイスでの高速再ルートELPの設定
ES のサポートされているマルチホーミング ピア PE デバイスで、高速再ルート ELP 機能要素を設定します。この機能を動作させるには、ES のすべてのマルチホーミング ピア PE デバイスで有効にする必要があります。ここに記載されている手順は、各ピア PE デバイスで一様に設定します。
ES 内のマルチホーム CE デバイスや、ES にトラフィックを送信するリモート ソース PE デバイスでは、対応する要素を設定する必要はありません。CE デバイスとリモート ソース PE デバイスは、この機能をサポートしていないデバイスにすることができます。
ES のマルチホーミング ピア PE デバイスで高速再ルート ELP 機能を有効にするには:
高速再ルートELPトンネルの作成と運用の検証
高速再ルート ELP トンネル機能を有効にすると、このセクションの CLI の show コマンドを使用して、ELP トンネルの IP アドレス、ネクストホップ ID、送信元とリモートの VTEP 情報を確認できます。
ここでは、 図 2 のようなトポロジーに基づいて show コマンドの出力例を説明しますが、参考のために以下に再度含めます。
表 1 は、PE デバイスのプライマリ lo0 IP アドレスと ELP トンネルのセカンダリ lo0 IP アドレスのトポロジーの例を示しています。
デバイス | デバイスIP アドレス | ELP トンネル IP アドレス |
---|---|---|
PE1 |
192.168.0.1/32 |
192.168.102.1/32 PE1からPE2へのELPトンネル |
PE2の |
192.168.0.2/32 |
192.168.201.1/32 PE2からPE1へのELPトンネル |
サンプルのトポロジーには、 図 5 の CE デバイスの背後にもこれらのホスト(図示せず)があります。
ホストの説明 | VLAN名(VLAN ID) | MACアドレス |
---|---|---|
CE1の後ろにある受信機 |
Vlan2(VLAN ID 2) |
00:00:94:00:00:01 |
CE2の背後にあるリモートソース |
Vlan3(VLAN ID 3) |
00:01:95:00:00:01 |
最後に、このサンプル トポロジーでは、CE1 から PE1 および PE2 へのマルチホーム リンクに割り当てられた ESI は 00:00:00:00:00:20:00:00:00:00:00 です。
- イーサネットスイッチングテーブルを表示
- showethernet-switching vxlan-tunnel-end-point esi
- showethernet-switching vxlan-tunnel-end-point remoteを表示
- show ethernet-switching vxlan-tunnel-end-point source
- show route table __default_evpn__.evpn.0 extensive
- show route table bgp.evpn.0 extensive
- show interfaces(ELPトンネルVTEPインターフェイスを使用)
イーサネットスイッチングテーブルを表示
特定のMACルートのELPトンネルネクストホップを表示するには、 show ethernet-switching table mac-address extensive
コマンドを使用します。
たとえば、次の出力は、PE1 が ELP トンネル ネクスト ホップ(ELP-NH
フィールド)を使用して、受信したトラフィックを Vlan2(MAC アドレス 00:00:94:00:00:01)の CE1 の背後にあるホストに送信することを示しています。
user@PE1> show ethernet-switching table 00:00:94:00:00:01 extensive MAC address: 00:00:94:00:00:01 Routing instance: L3VRF_MVS1 VLAN name: Vlan2, VLAN ID: 2 Learning interface: ae0.0 ELP-NH: 11777 Layer 2 flags: in_hash,in_ifd,in_ifl,in_vlan,in_rtt,kernel,in_ifbd,advt_to_remote,rcvd_from_remote Epoch: 0 Sequence number: 3 Learning mask: 0x4000000000000000010000000000000000000001 BGP sequence number: 0
showethernet-switching vxlan-tunnel-end-point esi
ELPトンネルのVTEP IPアドレス、ネクストホップ、VTEPインターフェイス名を表示するには、 show ethernet-switching vxlan-tunnel-end-point esi esi-identifier esi-value
コマンドを使用します。
たとえば、次の出力は、PE1 に ELP トンネルがあり、ESI 00:00:00:00:20:00:00:00:00:00:00:00 のリモート VTEP PE2(RVTEP-IP
フィールド)への ELP ネクスト ホップ(ELP-NH
フィールド)があることを示しています。
user@PE1> show ethernet-switching vxlan-tunnel-end-point esi esi-identifier 00:00:00:00:20:00:00:00:00:00 ESI RTT VLNBH INH ESI-IFL LOC-IFL #RVTEPs 00:00:00:00:20:00:00:00:00:00 L3VRF_MVS1 28425 135034 esi.28425 ae0.0, 1 Aliasing LOCAL-IFL ELP-NH RVTEP-NH-LIST ae0.0 11777 11822, RVTEP-IP RVTEP-IFL VENH MASK-ID FLAGS MAC-COUNT 192.168.0.2 vtep-8.32830 11821 0 2 52
showethernet-switching vxlan-tunnel-end-point remoteを表示
show ethernet-switching vxlan-tunnel-end-point remote
コマンドを使用すると、デバイスに関する ELP トンネル送信元 VTEP およびリモート VTEP 情報(以下を含む)が表示されます。
-
VTEP の IP アドレスとインターフェイス名
-
対応するネクストホップIDとELPトンネルIPアドレス
ELP-IP
出力フィールドに IP アドレスが含まれている場合、RVTEP-IP
列のリモート VTEP に対応する ELP トンネルがあることを意味します。また、RVTEP-IP
アドレスが ELP トンネル アドレスの場合、RVTEP-IP
行の ELP-IP
列には「ELP
」が含まれます。
この出力の意味の詳細については、以下のサンプル出力と 表 3 を参照してください。
user@PE1> show ethernet-switching vxlan-tunnel-end-point remote Logical System Name Id SVTEP-IP IFL L3-Idx SVTEP-Mode ELP-SVTEP-IP <default> 0 192.168.0.1 lo0.0 0 192.168.102.1 RVTEP-IP IFL-Idx Interface NH-Id RVTEP-Mode ELP-IP Flags 192.168.0.2 2756 vtep.32830 11821 RNVE 192.168.201.1 192.168.201.1 2757 vtep.32831 11822 RNVE ELP VNID MC-Group-IP 530 0.0.0.0 531 0.0.0.0
出力フィールド | の意味 |
---|---|
SVTEP-IP—192.168.0.1 ELP-SVTEP-IP—192.168.102.1 |
PE1(192.168.0.1)は送信元VTEPで、PE2へのIPアドレス192.168.102.1のELPトンネルがあります。 |
RVTEP-IP見出しの下の1行目: RVTEP-IP—192.168.0.2 ELP-IP—192.168.201.1 |
PE1 には、リモート VTEP として PE2(192.168.0.2)があります。PE2には、PE1へのIPアドレス192.168.201.1のELPトンネルがあります。 |
RVTEP-IP見出しの下の3行目: RVTEP-IP—192.168.201.1 ELP-IP - ELP |
IP アドレス 192.168.201.1 のリモート VTEP は、ELP トンネルのリモート VTEP です。この表の他の出力フィールドから、このリモートVTEPがPE2からPE1へのELPトンネルであることがわかります。 |
show ethernet-switching vxlan-tunnel-end-point source
show ethernet-switching vxlan-tunnel-end-point source
コマンドを使用して、ELP-SVTEP-IP
出力フィールドにデバイス ELP トンネル送信元 VTEP IP アドレスを表示します。
例えば、以下のPE1の出力例は、PE1(SVTEP -IP
192.168.0.1)のlo0インターフェイスにIPアドレス192.168.102.1(ELP-SVTEP-IP
)のELPトンネルがあることを示しています。
user@PE1> show ethernet-switching vxlan-tunnel-end-point source Logical System Name Id SVTEP-IP IFL L3-Idx SVTEP-Mode ELP-SVTEP-IP <default> 0 192.168.0.1 lo0.0 0 192.168.102.1 L2-RTT Bridge Domain VNID Translation-VNID MC-Group-IP L3VRF_MVS1 Vlan2+2 2 0.0.0.0 L3VRF_MVS1 Vlan3+3 3 0.0.0.0
show route table __default_evpn__.evpn.0 extensive
show route table __default_evpn__.evpn.0 extensive
ルーティングテーブルコマンドには、ローカル再ルートELPトンネルアドレスを示すReroute address
フィールドが含まれています。
たとえば、以下の Reroute address
フィールドは、PE1(192.168.0.1)のELPトンネルのIPアドレスが192.168.102.1であることを示しています。
user@PE1> show route table __default_evpn__.evpn.0 extensive __default_evpn__.evpn.0: 2071 destinations, 2101 routes (2071 active, 0 holddown, 0 hidden) 1: 192.168.0.1:0::0::FFFF:FFFF/192 AD/ESI (1 entry, 1 announced) *EVPN Preference: 170 Next hop type: Indirect, Next hop index: 0 Address: 0x8c06784 Next-hop reference count: 32771, key opaque handle: 0x0, non-key opaque handle: 0x0 Protocol next hop: 192.168.0.1 Reroute address: 192.168.102.1 Thread: junos-main
show route table bgp.evpn.0 extensive
show route table bgp.evpn.0 extensive
コマンドには、デバイスのELPトンネルアドレスを示すReroute address
フィールドが含まれています。
例えば:
user@PE1> show route table bgp.evpn.0 extensive bgp.evpn.0: 40116 destinations, 67780 routes (40116 active, 0 holddown, 0 hidden) 1: 192.168.0.1:0::0::FFFF:FFFF/192 AD/ESI (1 entry, 1 announced) TSI: Page 0 idx 0, (group iBGPGrp type Internal) Type 1 val 0xf820c88 (adv_entry) Advertised metrics: Flags: Nexthop Change Nexthop: Self Localpref: 100 AS path: [55000] I Reroute address: 192.168.102.1 Primary Routing Table: __default_evpn__.evpn.0 Thread: junos-main
show interfaces(ELPトンネルVTEPインターフェイスを使用)
デバイスがいつ ELP トンネルのトラフィックを再ルーティングするかを確認するには、ELP トンネルの VTEP インターフェイス名を指定して show interfaces
コマンドを使用します。
たとえば、 前のshow ethernet-switching vxlan-tunnel-end-point remote で見たコマンド出力の例では、ELPトンネルVTEPインターフェイス名がvtep.32831(PE2へのトンネルのリモートVTEPの Interface
列)であることを示しています。
CE1とPE1間のリンクに障害が発生する前に show interfaces vtep.32831
コマンドを入力すると、VTEPのトラフィックがELPトンネルを通過しないことが Output packets
フィールドに示されます。
user@PE1> show interfaces vtep.32831 Logical interface vtep.32831 (Index 2757) (SNMP ifIndex 2585) Flags: Up SNMP-Traps 0x4000 Encapsulation: ENET2 VXLAN Endpoint Type: Shared ELP Remote, VXLAN Endpoint Address: 192.168.201.1, L3 Routing Instance: default Input packets : 2 Output packets: 1 Protocol eth-switch, MTU: Unlimited Flags: Trunk-Mode
CE1とPE1間のリンクに障害が発生した後、同じコマンドで、トラフィックが短時間(ソースルーティングテーブルのコンバージェンスが発生するまで)ELPトンネルパスを通ることを示しています。
user@PE1> show interfaces vtep.32831 Logical interface vtep.32831 (Index 2757) (SNMP ifIndex 2585) Flags: Up SNMP-Traps 0x4000 Encapsulation: ENET2 VXLAN Endpoint Type: Shared ELP Remote, VXLAN Endpoint Address: 192.168.201.1, L3 Routing Instance: default Input packets : 2 Output packets: 3890 Protocol eth-switch, MTU: Unlimited Flags: Trunk-Mode