EVPN-VXLANとのEVPNタイプ2およびタイプ5ルートの共存
EVPN-VXLANファブリック内のデバイスが、EVPNタイプ2ルートまたはEVPNタイプ5ルートのいずれかを学習してアドバタイズする際に、どのようにEVPNタイプ2ルートを優先するかをご覧ください。
EVPN-VXLANエッジルーテッドブリッジングファブリック内のデバイスは、デフォルトでEVPNタイプ2 MAC+IPルートをインポートしてアドバタイズします。また、EVPNタイプ5 IPプレフィックスルートをインポートしてアドバタイズするようにデバイスを設定することもできます。デバイスは、どちらのタイプのルートも、同じ宛先ホストに対応する場合でも、一意のルートとして扱います。一意の各 IP ホスト ルートは、パケット転送エンジン(PFE)で専用のネクスト ホップを使用します。その結果、両方のタイプのルートを一緒に有効にすると、PFEのネクストホップリソースに負担がかかります。また、デバイスが特定のケースで 1 種類のルートを他のタイプのルートよりも使用すると、トラフィックは一般的により効率的に流れます。
Junos OS リリース 21.2R1 以降、デバイスが同じ宛先に対するルーティング インスタンスに両方のタイプのルートを一緒に持つ場合、優先アルゴリズムを使用して保存する優先ルートを選択します。
利点
-
優先アルゴリズムによりPFEのネクストホップリソース要件が緩和されるため、エッジルーテッドブリッジングファブリックでより高い拡張性をサポートします。
-
イーサネットセグメントでローカル学習された(タイプ2)ホストIPルートに対して、より効率的なパスを選択することで、ブリッジングパフォーマンスを向上させます。
-
EVPNタイプ5ルートでより高い拡張性をサポートし、タイプ2ルートを使用してファブリックでARP抑制とプロキシ ARPを有効にします。タイプ2ルートは、プロキシ ARPが機能するために必要なカスタマーエッジ(CE)デバイスのMACアドレス情報を伝送します。
EVPN タイプ 2 とタイプ 5 の共存優先アルゴリズム
EVPN-VXLANファブリックでは、デバイスはデフォルトでタイプ2ルートを使用します。デバイスが仮想ルーティングおよび転送(VRF)インスタンスでEVPNタイプ5ルートをインポートおよびアドバタイズすることも明示的に有効にする必要があります。タイプ 5 のルートと共存優先アルゴリズムを有効にするには、[edit routing-instances name protocols evpn] 階層レベルで ip-prefix-routes ステートメントを設定します。
タイプ 5 ルートを有効にすると、デバイスは、同じプレフィックスに対してタイプ 5 ルートを持つタイプ 2 の MAC + IP ルートから IP ホストアドレスを学習する可能性があります。その場合、デバイスは共存優先アルゴリズムを使用して、2 つのルートのうち 1 つだけを選択し、優先ルートとして保存します。
優先アルゴリズムは次のように機能します。
-
デバイスにタイプ5のルートがない宛先に対して、デバイスはタイプ2のルートを使用します。
-
デバイスにローカルESIタイプ2ルートと一致するプレフィックスを持つタイプ5ルートがある場合、デバイスはタイプ2ルートをインストールします。
-
それ以外の場合、デバイスは他のすべての宛先に対してタイプ 5 ルートを優先します。
このアルゴリズムでは、EVPN-VXLAN デバイスは通常、データ センター内またはデータ センター間、および VLAN 内または VLAN 間のトラフィック(ブリッジ ドメイン)に対してタイプ 5 ルートを優先します。タイプ 5 ルートは、VXLAN オーバーレイ ルーティングの目的に最適です。ただし、デバイスは、場合によってはタイプ 2 ルートを使用してパケットをより効率的に転送できます。1 つの例は、デバイスがローカルにのみブリッジする必要がある宛先のタイプ 2 MAC+IP ルートを学習する場合です。優先アルゴリズムは、そのケースを考慮します。
デバイスは、設定の更新による優先ルートを調整するために、事前対応(MBB)アクションを使用しません。この場合にルート優先を変更する場合、デバイスはまず非優先ルートを削除し、次に新しい優先ルートを追加します。プリファレンスの変更を引き起こす可能性のある設定変更の例としては、以下のようなものがあります。
- タイプ 5 のルートを有効にしなかった場合は、タイプ 5 のルートを有効にします。
- ESIをローカルに設定する場合、デバイスはMAC+IPタイプ2ルートを優先します。
タイプ5ルートオプションとポリシーオプション
EVPN-VXLAN 設定で、タイプ 5 ルートを有効にする場合、 ip-prefix-routes ステートメントで以下のアドバタイズモードオプションのいずれかを使用します。
advertise direct-nexthop-このオプションを使用すると、デバイスは VRF のすべての非ホスト ルートをタイプ 5 アドバタイズメントとしてアドバタイズします。advertise gateway-address—このオプションを使用すると、デバイスは拡張EVPNインスタンスとブリッジドメインのIRBインターフェイスのプレフィックスのみをアドバタイズします。
また、EVPN-VXLANタイプ5ルート設定にポリシーオプションを追加して、デバイスが実際にインポートまたはアドバタイズするルートを絞り込むこともできます。
たとえば、次のように定義できます。
-
以下のような、すべてのローカルルートとEVPNルートをエクスポートするポリシー:
set policy-options policy-statement type5_export_policy term 1 from protocol local set policy-options policy-statement type5_export_policy term 1 then accept set policy-options policy-statement type5_export_policy term 2 from protocol evpn set policy-options policy-statement type5_export_policy term 2 from route-filter 0.0.0.0/0 prefix-length-range /32-/32 set policy-options policy-statement type5_export_policy term 2 then accept set policy-options policy-statement type5_export_policy term 3 from protocol evpn set policy-options policy-statement type5_export_policy term 3 from route-filter 00:00:00:00:00:00:00:00/0 prefix-length-range /128-/128 set policy-options policy-statement type5_export_policy term 3 then accept
-
以下のような、特定のホストアドレスまたはプレフィックスのルートのみをアドバタイズするポリシー:
set policy-options policy-statement type5_policy term 1 from protocol local set policy-options policy-statement type5_policy term 1 from route-filter 10.0.2.0/24 orlonger set policy-options policy-statement type5_policy term 1 then accept set policy-options policy-statement type5_policy term 2 from protocol local set policy-options policy-statement type5_policy term 2 from route-filter 2001::192:101:1:100/48 orlonger set policy-options policy-statement type5_policy term 2 then accept
-
以下のような、特定のホストアドレスまたはプレフィックスのルートをフィルタリングし、インポートしないポリシー:
set policy-options policy-statement type5_import_policy term 1 from protocol bgp set policy-options policy-statement type5_import_policy term 1 from route-filter 10.0.2.0/24 orlonger set policy-options policy-statement type5_import_policy term 1 then reject set policy-options policy-statement type5_import_policy term 2 from protocol bgp set policy-options policy-statement type5_import_policy term 2 from route-filter 2001::192:101:1:100/48 orlonger set policy-options policy-statement type5_import_policy term 2 then reject
必要なポリシーオプションを ip-prefix-routes 構成に含めます。例えば:
set routing-instances vrf1 protocols evpn ip-prefix-routes advertise direct-nexthop set routing-instances vrf1 protocols evpn ip-prefix-routes encapsulation vxlan set routing-instances vrf1 protocols evpn ip-prefix-routes vni 100 set routing-instances vrf1 protocols evpn ip-prefix-routes import type5_import_policy set routing-instances vrf1 protocols evpn ip-prefix-routes export type5_export_policy set routing-instances vrf1 instance-type vrf set routing-instances vrf1 interface irb.1 set routing-instances vrf1 interface irb.2 set routing-instances vrf1 route-distinguisher 192.168.0.1:100 set routing-instances vrf1 vrf-target target:100:200
優先ルート タイプを確認するための CLI コマンド
このセクションの CLI コマンドを使用して、優先ルート タイプを確認できます。
showethernet-switching mac-ip-table
show ethernet-switching mac-ip-table CLI コマンドは、スイッチが学習されたタイプ 2 ルートの追加を「スキップ」すると、MAC IP フラグ列にRTS 値を表示します。この値は、デバイスがプレフィックスが一致するタイプ 5 ルートを優先することを意味します。コマンドは、出力の最上部に値RTSの定義Dest Route Skippedを表示します。
コマンドは、デフォルトですべての VLAN(ブリッジ ドメイン)の結果を表示します。また、特定の VLAN(ブリッジ ドメイン)を指定することもできます。デフォルトでは、このコマンドは default-switch インスタンスの情報を表示します。デバイスに複数のルーティングインスタンスがある場合、他のコマンドラインオプションを使用して、特定のルーティング インスタンスの結果を表示することもできます。
次のサンプル出力は、デバイスが一部の宛先に対してタイプ 5 ルートを優先するデフォルト スイッチ インスタンスの MAC+IP テーブル情報を示しています。
user@device> show ethernet-switching mac-ip-table
MAC IP flags (S - Static, D - Dynamic, L - Local , R - Remote, Lp - Local Proxy,
Rp - Remote Proxy, K - Kernel, RT - Dest Route, (N)AD - (Not) Advt to remote,
RE - Re-ARP/ND, RO - Router, OV - Override, Ur - Unresolved,
RTS - Dest Route Skipped, RGw - Remote Gateway)
Routing instance : default-switch
Bridging domain : v1
IP MAC Flags Logical Active
address address Interface source
10.1.1.254 10:10:10:00:00:01 S,K irb.1
2001:db8::a:1:1:fffe 20:20:20:00:00:01 S,K,RTS irb.1
10.1.1.2 c8:e7:f0:4b:d1:00 DR,K,RTS vtep.32769 192.168.22.22
2001:db8::a:1:1:2 c8:e7:f0:4b:d1:00 DR,K,RTS vtep.32769 192.168.22.22
fe80::cae7:f000:14b:d100 c8:e7:f0:4b:d1:00 DR,K,RT vtep.32769 192.168.22.22
10.1.1.1 dc:38:e1:e0:30:c0 S,K irb.1
2001:db8::a:1:1:1 dc:38:e1:e0:30:c0 S,K irb.1
fe80::de38:e100:1e0:30c0 dc:38:e1:e0:30:c0 S,K irb.1
MAC IP flags (S - Static, D - Dynamic, L - Local , R - Remote, Lp - Local Proxy,
Rp - Remote Proxy, K - Kernel, RT - Dest Route, (N)AD - (Not) Advt to remote,
RE - Re-ARP/ND, RO - Router, OV - Override, Ur - Unresolved,
RTS - Dest Route Skipped, RGw - Remote Gateway)
Routing instance : default-switch
Bridging domain : v2
IP MAC Flags Logical Active
address address Interface source
10.1.2.254 10:10:10:00:00:02 S,K,RTS irb.2
2001:db8::a:1:2:fffe 20:20:20:00:00:02 S,K,RTS irb.2
10.1.2.2 c8:e7:f0:4b:d1:00 DR,K,RTS vtep.32769 192.168.22.22
2001:db8::a:1:2:2 c8:e7:f0:4b:d1:00 DR,K,RTS vtep.32769 192.168.22.22
fe80::cae7:f000:24b:d100 c8:e7:f0:4b:d1:00 DR,K,RT vtep.32769 192.168.22.22
10.1.2.1 dc:38:e1:e0:30:c0 S,K irb.2
2001:db8::a:1:2:1 dc:38:e1:e0:30:c0 S,K irb.2
fe80::de38:e100:2e0:30c0 dc:38:e1:e0:30:c0 S,K irb.2
extensive オプションを使用すると、show ethernet-switching mac-ip-table コマンドはMAC IP flags行に値dest_route_skippedを含めます。次のコマンドは、MAC アドレス c8:e7:f0:4b:d1:00 の MAC+IP テーブル情報を示しています。
user@device> show ethernet-switching mac-ip-table extensive c8:e7:f0:4b:d1:00
IP address: 10.1.1.2
MAC address: c8:e7:f0:4b:d1:00
Routing instance: default-switch
Bridging domain: v1
Logical interface: vtep.32769
IP MAC Flags Logical Active
address address Interface source
192.168.22.22
MAC-IP local mask: 0x0000000000000000
MAC-IP remote mask: 0x0000000000000000
MAC-IP remote-proxy mask: 0x0000000000000000
MAC-IP RPD flags: 0x08000081
MAC-IP flags: remote,kernel,dest_route_skipped
IP address: 2001:db8::a:1:1:2
MAC address: c8:e7:f0:4b:d1:00
Routing instance: default-switch
Bridging domain: v1
Logical interface: vtep.32769
IP MAC Flags Logical Active
address address Interface source
192.168.22.22
MAC-IP local mask: 0x0000000000000000
MAC-IP remote mask: 0x0000000000000000
MAC-IP remote-proxy mask: 0x0000000000000000
MAC-IP RPD flags: 0x08000101
MAC-IP flags: remote,kernel,dest_route_skipped
IP address: fe80::cae7:f000:14b:d100
MAC address: c8:e7:f0:4b:d1:00
Routing instance: default-switch
Bridging domain: v1
Logical interface: vtep.32769
IP MAC Flags Logical Active
address address Interface source
192.168.22.22
MAC-IP local mask: 0x0000000000000000
MAC-IP remote mask: 0x0000000000000000
MAC-IP remote-proxy mask: 0x0000000000000000
MAC-IP RPD flags: 0x08000101
MAC-IP flags: remote,kernel,dest_route
IP address: 10.1.2.2
MAC address: c8:e7:f0:4b:d1:00
Routing instance: default-switch
Bridging domain: v2
Logical interface: vtep.32769
IP MAC Flags Logical Active
address address Interface source
192.168.22.22
MAC-IP local mask: 0x0000000000000000
MAC-IP remote mask: 0x0000000000000000
MAC-IP remote-proxy mask: 0x0000000000000000
MAC-IP RPD flags: 0x08000081
MAC-IP flags: remote,kernel,dest_route_skipped
IP address: 2001:db8::a:1:2:2
MAC address: c8:e7:f0:4b:d1:00
Routing instance: default-switch
Bridging domain: v2
Logical interface: vtep.32769
IP MAC Flags Logical Active
address address Interface source
192.168.22.22
MAC-IP local mask: 0x0000000000000000
MAC-IP remote mask: 0x0000000000000000
MAC-IP remote-proxy mask: 0x0000000000000000
MAC-IP RPD flags: 0x08000101
MAC-IP flags: remote,kernel,dest_route_skipped
IP address: fe80::cae7:f000:24b:d100
MAC address: c8:e7:f0:4b:d1:00
Routing instance: default-switch
Bridging domain: v2
Logical interface: vtep.32769
IP MAC Flags Logical Active
address address Interface source
192.168.22.22
MAC-IP local mask: 0x0000000000000000
MAC-IP remote mask: 0x0000000000000000
MAC-IP remote-proxy mask: 0x0000000000000000
MAC-IP RPD flags: 0x08000101
MAC-IP flags: remote,kernel,dest_route
show route forwarding-table
show route forwarding-table CLI コマンドは、デバイスが宛先に対して学習されたタイプ 2 ルートではなく、ローカルタイプ 5 ルートを使用する場合に表示します。この場合、extensive オプションを含めると、出力には Flags フィールドにVxLAN Localキーワードが含まれます。このフラグは、ルートがタイプ 5 ルートであることを意味します。
例えば:
user@device> show route forwarding-table destination 10.1.1.2 table vrf1 extensive
Routing table: vrf1.inet [Index 8]
Internet:
Destination: 10.1.1.2/32
Route type: user
Route reference: 0 Route interface-index: 0
Multicast RPF nh index: 0
P2mpidx: 0
Flags: sent to PFE, prefix load balance , VxLAN Local
Nexthop:
Next-hop type: composite Index: 1799 Reference: 3
Next-hop type: indirect Index: 524291 Reference: 2
Nexthop: 10.0.0.2
Next-hop type: unicast Index: 1796 Reference: 3
Next-hop interface: xe-0/0/11.0
show route table
CLI コマンドに extensive オプションを指定した show route table タイプ 5 ルートのState出力フィールドにキーワード VxlanLocalRT を含めます。
構文 show route destination-prefix table table-name extensiveを使用した例を次に示します。このコマンドは、デバイスがルーティング インスタンス vrf1 のルーティングテーブルに宛先 IP プレフィックス 10.1.1.2 のタイプ 5 ルートをインストールしたことを示しています。
user@device> show route 10.1.1.2 table vrf1.inet.0 extensive
vrf1.inet.0: 14 destinations, 18 routes (14 active, 0 holddown, 0 hidden)
10.1.1.2/32 (1 entry, 1 announced)
TSI:
KRT in-kernel 10.1.1.2/32 -> {composite(1799)}
*EVPN Preference: 170/-101
Next hop type: Indirect, Next hop index: 0
Address: 0x6d06abc
Next-hop reference count: 6
Next hop type: Router, Next hop index: 1796
Next hop: 10.0.0.2 via xe-0/0/11.0, selected
Label element ptr: 0x83f82d8
Label parent element ptr: 0x0
Label element references: 1
Label element child references: 0
Label element lsp id: 0
Session Id: 0x0
Protocol next hop: 192.168.22.22
Composite next hop: 0x66fc1b0 1799 INH Session ID: 0x0
VXLAN tunnel rewrite:
MTU: 0, Flags: 0x0
Encap table ID: 0, Decap table ID: 8
Encap VNI: 100, Decap VNI: 100
Source VTEP: 192.168.11.11, Destination VTEP: 192.168.22.22
SMAC: dc:38:e1:e0:30:c0, DMAC: c8:e7:f0:4b:d1:00
Indirect next hop: 0x6df0e84 524291 INH Session ID: 0x0
State: <Active Int Ext VxlanLocalRT>
Age: 5:10:00 Metric2: 1
Validation State: unverified
Task: vrf1-EVPN-L3-context
Announcement bits (1): 2-KRT
AS path: I
Communities: target:100:200 encapsulation:vxlan(0x8) router-mac:c8:e7:f0:4b:d1:00
Thread: junos-main
Composite next hops: 1
Protocol next hop: 192.168.22.22 Metric: 1
Composite next hop: 0x66fc1b0 1799 INH Session ID: 0x0
VXLAN tunnel rewrite:
MTU: 0, Flags: 0x0
Encap table ID: 0, Decap table ID: 8
Encap VNI: 100, Decap VNI: 100
Source VTEP: 192.168.11.11, Destination VTEP: 192.168.22.22
SMAC: dc:38:e1:e0:30:c0, DMAC: c8:e7:f0:4b:d1:00
Indirect next hop: 0x6df0e84 524291 INH Session ID: 0x0
Indirect path forwarding next hops: 1
Next hop type: Router
Next hop: 10.0.0.2 via xe-0/0/11.0
Session Id: 0x0
192.168.22.22/32 Originating RIB: inet.3
Metric: 1 Node path count: 1
Forwarding nexthops: 1
Next hop type: Router
Next hop: 10.0.0.2 via xe-0/0/11.0
Session Id: 0x0