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 トンネルがあります。
次の図は、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 はルート コンバージェンスを実現し、PE1 への ES の負荷分散トラフィックの送信を停止します。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 デバイスの管理リンクダウン コマンドによって 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です。
- show ethernet-switching table
- show ethernet-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インターフェイスを使用)
show ethernet-switching table
特定のMACルートのELPトンネルネクストホップを表示するには、 show ethernet-switching table mac-address extensive
コマンドを使用します。
たとえば、次の出力は、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
ELP トンネル VTEP の IP アドレス、ネクストホップ、VTEP インターフェイス名を表示するには、 show ethernet-switching vxlan-tunnel-end-point esi esi-identifier esi-value
コマンドを使用します。
たとえば、この出力は、PE1 に ESI 00:00:00:00:20:00:00:00:00:00:00:00 のリモート VTEP PE2(RVTEP-IP
フィールド)への ELP トンネルと 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-IP
列には、そのRVTEP-IP
アドレスがELPトンネルアドレスの場合、「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で、IPアドレス192.168.102.1からPE2のELPトンネルがあります。 |
RVTEP-IP 見出しの下の最初の行に次が含まれます。 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
routing table コマンドには、ローカル再ルート 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 トンネル 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 間のリンクに障害が発生する前に、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