Fast Reroute for Egress Link Protection with EVPN-VXLAN Multihoming
概要 EVPN-VXLANネットワーク内のPE(マルチホーミングピアプロバイダーエッジ)デバイスで、高速再ルートエグレスリンク保護(ELP)機能を有効にすることができます。この機能は、PE デバイスから CE デバイスへのリンクに障害が発生した場合に、ルートコンバージェンス時間を改善し、マルチホーム CE デバイスに対する負荷分散されたトラフィック ロスを回避します。
利点
-
CEデバイスへのリンクに障害が発生した場合、負荷分散されたトラフィックがマルチホームカスタマーエッジ(CE)デバイスに向かって失われるのを回避します。
-
より拡張性の高いEVPN-VXLANファブリックにおけるマルチホーミングイーサネットセグメントルートのルートコンバージェンス時間を短縮します。
イーサネット セグメントにおけるマルチホーミングにおけるエグレス リンク保護の高速再ルートの仕組み
EVPNファブリックでは、信頼性とパフォーマンスを向上させるために、顧客はしばしばイーサネットセグメント(ES)内の2つ以上のPEデバイスにマルチホームCEデバイスを使用します。マルチホーミングは以下のことに役立ちます。
-
マルチホーム CE デバイスへの PE デバイス リンクに障害が発生した場合、トラフィック損失を防止します。
-
宛先への複数のパス間でロード バランシングを有効にします。
異なるPEデバイスへのマルチホームCEの接続は、ES識別子(ESI)を共有します。EVPNデバイスは、ESルート(EVPNタイプ4ルート)を使用して、ローカルマルチホーミングピアPE接続をアドバタイズします。また、PEデバイスはESルートを使用して、ESIで重複したトラフィックを送信しないように、ピアデバイス間で指定されたフォワーダーを選択します。
EVPN-VXLANでは、マルチホームCEデバイスに接続されたPEデバイスは、ローカルに接続された各ESトンネルルート(VXLANトンネルルート)をアドバタイズします。リモートPEデバイスは、これらのアドバタイズメントを受信し、ESのロードバランシングネクストホップテーブルを作成します。リモートPEデバイスは、ESネクストホップを使用して、ESIに関連するピアPEデバイス間でマルチホームCEデバイスを宛先とするトラフィックをロードバランシングします。
リモート PE がマルチホーム CE デバイスにトラフィックを送信しているときに、ESI リンクのいずれかに障害が発生した場合。
-
障害が発生したリンクを持つ PE デバイスは、対応する ES ルートを取り消します。
-
リモート PE デバイスは、障害が発生したリンクに対応するルートを使用して、ルート取消を受信し、負荷分散ネクスト ホップを調整するまで、ESI へのトラフィックのロード バランシングを継続します。
-
障害が発生したリンクを持つ PE デバイスは、障害が発生したリンクを宛先とする過剰(残留)負荷分散されたトラフィックをドロップします。
-
リモート PE デバイスは、ルート取消を受信して処理します。リモートPEデバイスは、MACアドレスルーティング情報とネクストホップテーブルを更新します。その時点で、リモート PE デバイスは、障害が発生したリンクへの負荷分散されたトラフィックの送信を停止します。
リモート PE ルーティング テーブルが収束するまで(スケーリングされた環境では数秒かかる場合があります)、宛先 CE デバイスはトラフィックの一部を失います。
メンバーリンクがダウンした場合に、ESIでこの負荷分散されたトラフィックロスを回避するために、マルチホーミングピアPEデバイスで高速再ルートエグレスリンク保護(ELP)機能を有効にすることができます。また、この機能は、特に高度に拡張されたネットワークにおいて、ESIルートコンバージェンス時間を改善するのに役立ちます。
イーサネットセグメントにおける高速リルートによるエグレスリンク保護
PE デバイスでこの機能を有効にすると、デバイスは ES 用の各ピア PE デバイスへの ELP トンネルと呼ばれるバックアップ VXLAN トンネルを作成します。ES リンク障害が発生すると、PE デバイスは ELP トンネルを使用して、1 つ以上のピア PE デバイスにトラフィックを再ルーティングします。
この機能を機能させるために、ESIに関連付けられたすべてのピアPEデバイスで一貫して有効にします。ES 上の各 PE デバイスには、すべてのピア PE デバイスへの ELP トンネルがあります。
次の図は、ELPトンネル再ルートプロセスが、シンプルなEVPN-VXLANファブリックでどのように機能するかを示しています。
-
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 に送信します。負荷分散されたトラフィックの部分をドロップする代わりに、PE 1 は 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 へのリンクは失敗します。その結果:
-
PE3 がルート コンバージェンスを達成するまで、PE3 は負荷分散過剰トラフィックを PE1 に送信します。
-
負荷分散されたトラフィックの部分をドロップする代わりに、PE1 は、過剰な負荷分散トラフィックを両方の ELP トンネル上でピア PE デバイス PE2 と PE3 に再ルーティングします。
-
ピア PE デバイスは、負荷分散されたトラフィックを PE4 から PE1 から CE1 に送信します。
-
(不図示)PE3 ルーティング テーブルは収束します。PE3 は PE1 へのトラフィックの送信を停止し、トラフィックを PE2 と PE3 のみに負荷分散します。
高速再ルートエグレスリンク保護の要件と制限事項
PE デバイスで ELP トンネルを有効にするには、 階層レベルで 再ルートアドレス ステートメントを [edit forwarding-options evpn-vxlan]
設定します。ステートメントへの オプションを使用して、デバイスが ELP トンネルに使用 inet ip-address
する IP アドレスを reroute-address
指定します。 PE デバイスで高速再ルートエグレスリンク保護を設定 するでは、このステートメントと、この機能を設定するために必要なその他の手順について詳しく説明します。
この機能を有効にすると、
-
このステートメントは、すべてのピアPEデバイスで、任意のピアPEデバイス上のELPトンネルが機能する特定のESに対して設定する必要があります。
-
マルチホーミング ピア PE デバイスは、AE ESI インターフェイスがダウンしても、AE(集合型イーサネット)インターフェイス バンドル リンクの MAC アドレス テーブル エントリーをアクティブ/アクティブ状態でフラッシュしません。この動作は、高速再ルートアクションを実装し、ルートコンバージェンス時間を改善するのに役立ちます。
この機能には以下の制限があります。
-
この機能は、集合型イーサネット(AE)論理インターフェイスに設定されたマルチホーミングにのみ適用されます。
-
この機能は、IPv4クライアントトラフィックに対してのみサポートされています。
-
この機能は、マルチキャスト トラフィックではなく、ユニキャスト トラフィックと VLAN フラッディングでのみ機能します。
-
この機能は、エンタープライズスタイルのインターフェイス設定でのみサポートされます。(このタイプのインターフェイス設定の詳細については、 フレキシブルイーサネットサービスカプセル化 を参照してください)。
-
この機能は、特定のESIに関連付けられた1つのマルチホーミングピアでのみ、ESリンク障害時のトラフィックの再ルーティングを処理します。
PE デバイスで高速再ルートエグレスリンク保護を設定する
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 デバイスのプライマリ ループバック IP アドレスと ELP トンネルのセカンダリ ループバック 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:20:00:00:00:00:00 です。
- show ethernet-switching table
- show ethernet-switching vxlan-tunnel-end-point esi
- show ethernet-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 インターフェイスを使用)
show ethernet-switching table
特定の MAC ルートに show ethernet-switching table mac-address extensive
対する ELP トンネルのネクスト ホップを確認するには、 コマンドを使用します。
例えば、この出力は、PE1 が ELP トンネルのネクスト ホップ(ELP-NH
フィールド)を使用して、受信したトラフィックを VLAN2 の CE1 の背後のホストに送信することを示しています(MAC アドレス 00:00:94:00:00:01)。
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
show ethernet-switching vxlan-tunnel-end-point esi
コマンドを show ethernet-switching vxlan-tunnel-end-point esi esi-identifier esi-value
使用して、ELPトンネルVTEP IPアドレス、ネクストホップ、VTEPインターフェイス名を表示します。
例えば、この出力は、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
show ethernet-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トンネルがあることを意味します。また、そのアドレスがELP-IP
ELPトンネルアドレスの場合RVTEP-IP
、行の列RVTEP-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トンネル送信元VTEP IPアドレスを ELP-SVTEP-IP
表示します。
例えば、PE1 の以下のサンプル出力は、ループバック インターフェイスに PE1(SVTEP -IP
192.168.0.1)が 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
ルーティングテーブルコマンドには、 フィールドがReroute address
含まれており、ローカルリルートELPトンネルアドレスを示しています。
例えば、以下のフィールドは 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 トンネル VTEP show interfaces
インターフェイス名付きの コマンドを使用して、デバイスが ELP トンネルでトラフィックを再ルーティングするタイミングを確認します。
例えば、 show ethernet-switching vxlan-tunnel-end-point remote で見たサンプル コマンド出力では、ELP トンネル VTEP インターフェイス名が vtep.32831(PE2 へのトンネルのリモート VTEP の列) Interface
であることが示されています。
コマンドを show interfaces vtep.32831
入力すると、CE1 と PE1 の間のリンクに障害が発生する前に、 Output packets
フィールドは VTEP のトラフィックが 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: 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