MAC-VRF 路由实例类型概述
使用 MAC-VRF 路由实例类型可以配置多个特定于客户的 EVPN 实例 (EVI),每个实例可以支持不同的 EVPN 服务类型。您可以在[edit routing-instances mac-vrf-instance-name instance-type]层次结构中使用 mac-vrf 语句配置 MAC-VRF 实例。使用此配置,您可以创建特定于客户的虚拟路由和转发 (VRF) 表。
MAC-VRF 路由实例类型的优点
- 客户特定的 VRF 表
- EVPN-VXLAN 网络或 EVPN-MPLS 网络中支持的路由器和交换机平台配置一致。
- 配置与 RFC 7432 保持一致
MAC-VRF 实例支持特定于客户的 VRF 表
配置 MAC-VRF 路由实例时,您可以按客户隔离或分组路由和转发流量。事实上,您可以围绕组织内的多个方案管理 MAC-VRF 实例,包括按部门、部门或地理位置。属于任何一个 MAC-VRF 实例的流量不能与来自任何其他 MAC-VRF 实例的流量交互。
MAC-VRF 实例服务类型
MAC-VRF 实例遵循 RFC 7432 中的 EVPN 实例设计,其中包括 表 1 中的三种服务类型。创建 MAC-VRF 实例时,必须在 ] 层次结构级别使用 service-type 语句 [edit routing-instances mac-vrf-instance-name配置其中一种受支持的服务类型。
如果您在运行中的网络中执行某些配置更改,则这些更改可能是我们所说的 灾难 性的,这意味着您可能会看到网络运维和服务出现重大中断。网络中断可能包括网络设备之间的连接丢失,以及设备因网络信息更改而重新融合时造成的流量丢失。当您想要更改 EVPN 路由实例中的选项时,此更改可能会影响 EVPN 的流量以及网络中的其他服务。因此,当您更改 EVPN 实例 (EVI) 参数时,请确保使用以下过程来避免网络中断和流量丢失:
如果要更改路由实例下的流量影响选项,请使用以下过程。
停用路由实例配置。
更改影响流量的选项。
重新激活更新的路由实例配置。
例如,如果您需要更改以下设置,请按照此过程作:
-
service-type在 MAC-VRF 路由实例中 — 更改正在运行的实例的服务类型时,如果设备在进行更改之前未停用 VLAN ID,则可能会错误地更改该 VLAN ID。 -
vlan-id在 EVPN 路由实例中 — 在不先停用关联的 EVPN 路由实例的情况下更改vlan-id将是灾难性的。
| 服务类型选项 | 说明 |
|---|---|
|
您可以将 MAC-VRF EVPN 实例配置为对应一个或多个 VLAN。MAC-VRF 实例为每个 VLAN 维护一个桥接表。
注意:
默认情况下,在具有此服务类型的 EVPN-VXLAN MAC-VRF 实例中,设备会扩展实例中的所有 VXLAN 网络标识符 (VNI)。无需显式配置 extended-vni-all 语句。如果您只想扩展实例中 VNI 的一个子集,则可以配置 extended-vni-list 语句。 |
|
您可以将 MAC-VRF EVPN 实例配置为对应单个 VLAN 和对应的桥接表。
注意:
如果 VLAN 为每个以太网网段映射到不同的 VLAN ID,则必须将 EVPN 交换矩阵中的每台设备配置为对发往以太网段的数据包执行 VLAN ID 转换。 |
|
您可以将 MAC-VRF EVPN 实例配置为对应共享同一桥接表的多个 VLAN。MAC 地址在实例中的所有 VLAN 中必须是唯一的。此服务类型也不支持 VLAN 转换(您可以为每个 VLAN 配置一个唯一的 VLAN ID)。
注意:
如果一个端口的所有 VLAN 都属于同一个 VLAN 捆绑服务,则该服务称为 基于端口的服务。 |
第 2 层和第 3 层的灵活配置选项
借助 MAC-VRF 实例,您可以为第 2 层 (L2) 和第 3 层 (L3) 的客户提供更灵活的配置选项:
在 L2:您可以在同一设备上的不同 MAC-VRF 实例中配置不同的服务类型。
在 L3:您可以在单个 MAC-VRF 实例中配置与一个或多个 VLAN 相对应的 VRF 实例。您还可以在多个 MAC-VRF 实例中配置跨越 VLAN 的 VRF 实例。
例如,下图显示了边缘路由桥接 (ERB) EVPN-VXLAN 交换矩阵。叶设备建立 VXLAN 隧道,在 VLAN 1 和 VLAN 2 上的客户与 VLAN 3 上的客户之间保持 L2 和 L3 分离。MAC-VRF 12 和 MAC-VRF 3 在 L2 将客户分开。VRF 12 和 VRF 3 将客户分隔到 L3。该图还显示,您可以在同一设备上使用不同的服务类型配置多个 MAC-VRF 实例。
MAC-VRF 实例支持跨平台通用 EVPN 配置
在支持 EVPN 配置的设备上,配置方法因平台而异。例如:
在 MX 系列路由器上,在支持 MAC-VRF 实例之前,您可以使用类型为实例以及以下层次结构中的语句来配置 EVPN 实例
virtual-switch:bridge-domainsrouting-instances
在 QFX 系列交换机上,在支持 MAC-VRF 实例之前,您可以使用默认交换机实例配置 EVPN 实例,并在以下层次结构中使用语句:
ethernet-switchingrouting-instances
在运行 Junos OS 演化版且支持 EVPN 的 ACX 系列、QFX 系列和 PTX 系列平台上(在其上通过 MAC-VRF EVPN 实例引入了 EVPN 功能支持),您只能使用 MAC-VRF 实例配置 EVPN 功能。
这种差异可能会造成混淆,并导致跨不同平台配置 EVPN 时出错。
我们在 Junos OS 20.4R1 版中在某些 Junos OS 平台上引入了 mac-vrf 路由实例类型。其他平台(包括 Junos OS 演化版平台)已在后续版本中获得了 MAC-VRF 实例支持。您可以使用 mac-vrf 实例在所有支持的平台上创建通用 EVPN 配置。跨路由和交换平台的通用配置层次结构也使我们的 MAC-VRF 实施符合 RFC 7432。RFC 合规性使我们的 MAC-VRF 实施能够在数据中心、服务提供商和公共云环境中良好运行。
支持 MAC-VRF 实例以及其他实例类型来配置 EVPN 实例的平台可以在活动网络中共存不同的实例配置。EVPN 交换矩阵可以包括支持 MAC-VRF 实例的设备以及使用 EVPN 其他实例类型的设备的组合。
MAC-VRF 实例 显示命令和别名
某些 mac-vrf show 命令仅适用于特定平台。例如,MAC-VRF 命令 show mac-vrf mac-table age (和相应的 show bridge mac-table age 命令)仅适用于 MX 系列路由器。如果在 QFX 系列交换机上发出 show mac-vrf mac-table age 命令,则输出为空,没有任何错误指示。
请参阅 表 2 和 表 3 ,了解提供有关 EVPN 实例信息的命令的参考。这些命令的常见 MAC-VRF 形式是特定于平台的命令的别名。按如下方式使用列出的命令:
您可以在第一列中使用这些命令的 MAC-VRF 版本,在具有 MAC-VRF EVPN 配置的任何平台上显示 EVPN 实例信息。
在运行 Junos OS 演化版的 ACX 系列、QFX 系列和 PTX 系列平台上使用第一列中的 MAC-VRF 命令,这些平台仅支持具有 MAC-VRF 实例配置的 EVPN。
例如,在运行 Junos OS 的 MX 系列路由器和 EX9200 系列交换机上使用第二列中的命令,当您使用实例类型
virtual-switch配置 EVPN 实例时。例如,在运行 Junos OS 的 QFX 系列和 EX 系列交换机上,使用默认交换机实例配置 EVPN 实例时,请使用第三列中的命令。
| MAC-VRF 命令 | MX 系列路由器和 EX9200 系列交换机、 | QFX 系列和 EX 系列交换机 |
|---|---|---|
show mac-vrf forwarding flood |
show bridge flood |
show ethernet-switching flood |
show mac-vrf forwarding flood-group |
show l2-learning flood-group |
show ethernet-switching flood-group |
show mac-vrf forwarding global-information |
show l2-learning global-information |
show ethernet-switching global-information |
show mac-vrf forwarding global-mac-count |
show l2-learning global-mac-count |
show ethernet-switching global-mac-count |
show mac-vrf forwarding global-mac-ip-count |
show l2-learning global-mac-ip-count |
show ethernet-switching global-mac-ip-count |
show mac-vrf forwarding instance |
show l2-learning instance |
show ethernet-switching instance |
show mac-vrf forwarding instance-mapping |
– | – |
show mac-vrf forwarding interface |
show l2-learning interface |
show ethernet-switching interface |
show mac-vrf forwarding mac-ip-table |
show bridge mac-ip-table |
show ethernet-switching mac-ip-table |
show mac-vrf forwarding mac-table |
show bridge mac-table |
show ethernet-switching table |
show mac-vrf forwarding mgrp-policy |
show l2-learning mgrp-policy |
show ethernet-switching mgrp-policy |
show mac-vrf forwarding statistics |
|
show ethernet-switching |
show mac-vrf forwarding vlans |
show bridge domains |
show ethernet-switching vlans |
show mac-vrf forwarding vxlan-tunnel-endpoint esi |
show l2-learning vxlan-tunnel-end-point esi |
show ethernet-switching vxlan-tunnel-end-point esi |
show mac-vrf forwarding vxlan-tunnel-endpoint remote |
show l2-learning vxlan-tunnel-end-point remote |
show ethernet-switching vxlan-tunnel-end-point remote |
show mac-vrf forwarding vxlan-tunnel-endpoint svlbnh |
show l2-learning vxlan-tunnel-end-point svlbnh |
show ethernet-switching vxlan-tunnel-end-point svlbnh |
| MAC-VRF 等效命令 | show evpn 命令 |
|---|---|
show mac-vrf routing database |
show evpn database |
show mac-vrf routing igmp-snooping database |
show evpn igmp-snooping database |
show mac-vrf routing instance |
show evpn instance |
show mac-vrf routing mld-snooping database |
show evpn mld-snooping database |
show mac-vrf routing multicast-snooping status |
show evpn multicast-snooping status |
show mac-vrf routing p2mp |
show evpn p2mp |
我们已将层次结构中的命令 show mac-vrf routing 语法集成到现有 show evpn 命令文档中。 表 3 中的链接指向现有 show evpn 命令。
用法和行为说明
阅读以下说明,详细了解如何使用 MAC-VRF 路由实例以及观察到的这些 MAC-VRF 路由实例的行为。
- MAC-VRF 实例类型支持限制
- 具有多个 MAC-VRF 路由实例的 EVPN-VXLAN 交换矩阵中的共享 VTEP 隧道
- VLAN、转发实例和具有 MAC-VRF 路由实例的重叠 VLAN
- 扩展 VNI 列表行为
MAC-VRF 实例类型支持限制
请注意以下对 MAC-VRF 实例的支持限制:
-
我们不支持在 MX 系列路由器上使用 EVPN-MPLS 配置 EVPN 实例的 MAC-VRF 实例类型。
-
我们不支持更改
encapsulationACX 系列路由器上层次[edit routing-instances <instance-name> protocols evpn]结构的设置。如果需要为 EVPN 路由实例配置不同的封装,则必须删除当前路由实例,并使用所需的封装创建新的路由实例。
VLAN、转发实例和具有 MAC-VRF 路由实例的重叠 VLAN
每个受支持的平台都有自己的 VLAN 和转发实例支持框架,以及 VLAN 如何重叠。
EX4400、QFX5100、QFX5110、QFX5120、QFX5200、QFX5130-32CD 和 QFX5700 交换机,以及 PTX10001-36MR、PTX10004、PTX10008 PTX10016 路由器
这些设备仅支持一个转发实例 (
default-switch)。您无法在单个 MAC-VRF 路由实例内或跨不同 MAC-VRF 路由实例配置重叠的 VLAN。但是,在其中一些平台上,您还可以使用 VLAN 转换来支持重叠的 VLAN。请参阅在 EVPN-VXLAN 网络中使用 VLAN 转换的 VLAN 重写和重叠 VLAN 支持。
ACX7100-32C 和 ACX7100-48L 路由器以及交换机QFX10000 系列
QFX10000 系列交换机在层次结构中使用
[edit routing-instances mac-vrf-instance-name]forwarding-instance 选项支持多个转发实例。此语句将 MAC-VRF 实例映射到与配置的标识符对应的转发实例。从 Junos OS 演化版 22.3R1 版开始,ACX7100-32C 和 ACX7100-48L 路由器还支持使用该forwarding-instance identifier选项的多个路由实例。在这些平台上,如果您已将每个路由实例映射到唯一的转发实例,则可以跨多个 MAC-VRF 路由实例配置重叠的 VLAN。您还可以将多个 MAC-VRF 路由实例配置为使用一个转发实例。您无法在单个 MAC-VRF 路由实例内或跨路由实例配置重叠的 VLAN,每个路由实例都映射到同一个转发实例。如果未配置转发实例,MAC-VRF 路由实例将使用默认转发实例 (
default-switch)。ACX7100-32C 和 ACX7100-48L 路由器交替支持使用显式或隐式 VLAN 规范化的重叠 VLAN。您还可以使用 VLAN 规范化来支持 Junos OS 演化版 22.3R1 之前版本中这些路由器上的重叠 VLAN。请参阅 使用多个转发实例的重叠 VLAN 支持或 VLAN 规范化。
MX 系列路由器和 EX9200 系列交换机
您可以跨多个 MAC-VRF 路由实例配置重叠的 VLAN。您无法在单个 MAC-VRF 路由实例中配置重叠的 VLAN。
在这些平台上,您配置的每个 MAC-VRF 路由实例都会自动映射到其自己的转发实例。我们不支持此
forwarding-instance选项。
在默认配置中,设备包括一个与默认转发实例关联的 VLAN ID 值为 1 的默认 VLAN。由于 VLAN ID 在转发实例中必须是唯一的,因此,如果要在使用默认转发实例的 MAC-VRF 实例中配置 VLAN ID 为 1 的 VLAN,则必须将默认 VLAN 的 VLAN ID 重新分配为 1 以外的值。例如:
set vlans default vlan-id 4094 set routing-instances mac-vrf-instance-name vlans vlan-name vlan-id 1
扩展 VNI 列表行为
您可以在层次结构级别的任何 MAC-VRF 路由实例 edit routing-instances mac-vrf routing instance name protocols evpn 中配置扩展虚拟网络标识符 (VNI) 列表。关键 extended-vni-list 字是可选的配置元素。默认情况下,设备会扩展 MAC-VRF 路由实例中的所有 VNI(无论是否在 VNI 列表中)。如果配置特定的 VNI 列表,则只能扩展列表中的那些 VNI。