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 实例时,必须在层次结构级别使用 [edit routing-instances mac-vrf-instance-name] 语句配置service-type受支持的服务类型之一。
如果您在正在运行的网络中执行某些配置更改,则可能是我们所说的 灾难 性后果,这意味着您可能会看到网络运维和服务受到严重干扰。网络中断可能包括网络设备之间的连接中断,以及设备因网络信息的变化而重新融合时的流量丢失。当您想要更改 EVPN 路由实例中的选项时,此更改可能会影响 EVPN 以及网络中其他服务的流量。因此,在更改 EVPN 实例 (EVI) 参数时,请确保使用以下过程,以避免网络中断和流量丢失:
如果要更改路由实例下影响流量的选项,请使用以下过程。
停用路由实例配置。
更改影响流量选项。
重新激活更新的路由实例配置。
例如,如果需要更改以下设置,请按照以下步骤作:
-
service-type在 MAC-VRF 路由实例中 - 更改正在运行的实例的服务类型时,如果在进行更改之前未停用 VLAN ID,则设备可能会错误地更改 VLAN ID。 -
在
vlan-idEVPN 路由实例中 - 在未先停用关联的 EVPN 路由实例的情况下更改vlan-id将是灾难性的后果。
| 服务类型选项 | 说明 |
|---|---|
|
|
您可以将 MAC-VRF EVPN 实例配置为对应于单个 VLAN 和相应的桥接表。
注意:
如果 VLAN 映射到每个以太网段的不同 VLAN ID,则必须将 EVPN 交换矩阵中的每台设备配置为对发往以太网段的数据包执行 VLAN ID 转换。 |
|
|
您可以将 MAC-VRF EVPN 实例配置为与一个或多个 VLAN 对应。MAC-VRF 实例为每个 VLAN 维护一个桥接表。
注意:
默认情况下,在具有此服务类型的 EVPN-VXLAN MAC-VRF 实例中,设备会扩展实例中的所有 VXLAN 网络标识符 (VNI)。无需显式配置 extended-vni-all 语句。如果只想扩展实例中的 VNI 子集,可以配置 extended-vni-list 语句。(请参阅 扩展 VNI 列表行为。) |
|
|
您可以将 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 实例之前,您可以使用以下层次结构中的带有语句的实例类型
virtual-switch来配置 EVPN 实例:bridge-domainsrouting-instances
MX 系列路由器还支持使用该
evpn实例类型配置的 EVPN 实例。 -
在支持 MAC-VRF 实例之前的 QFX 系列交换机上,您可以使用默认交换机实例和以下层次结构中的语句来配置 EVPN 实例:
ethernet-switchingrouting-instances
某些 QFX 系列交换机还支持 类型的 EVPN 实例
virtual-switch。
这种差异可能会令人困惑,并导致在跨不同平台配置 EVPN 时出错。
我们引入了路由实例类型, mac-vrf 以便在所有受支持的平台上创建通用 EVPN 配置。跨路由和交换平台的通用配置层次结构也使我们实施的 MAC-VRF 符合 RFC 7432。RFC 合规性使我们的 MAC-VRF 实施能够在数据中心、服务提供商和公共云环境中正常工作。
在某些平台(例如 Junos OS 演化版 ACX 系列、QFX 系列和 PTX 系列平台)上,我们仅支持 MAC-VRF EVPN 实例。请参阅 功能浏览器, 了解我们支持 EVPN 功能的 MAC-VRF 实例的平台和版本。
支持 MAC-VRF 实例以及用于配置 EVPN 实例的其他实例类型的平台可以在活动网络中共存不同的实例配置。EVPN 交换矩阵可以由支持 MAC-VRF 实例的设备和使用其他 EVPN 实例类型的设备组成。
MAC-VRF 实例 EVPN-VXLAN 示例配置
这里提供一些简单的 mac-vrf 实例 EVPN-VXLAN 配置。有关配置 MAC-VRF 实例时需要注意的特定于平台的参数和行为的更多信息,请参阅 用法和行为说明 。
您还可以在 更多 MAC-VRF 实例 EVPN-VXLAN 用例配置中找到指向其他完整 MAC-VRF 实例 EVPN-VXLAN 配置的链接。
基于 VLAN 的服务类型配置
此基于 VLAN 的服务类型配置包括一个 bridge-domains 配置部分,用于将 VLAN 与 MAC-VRF 实例进行关联。
该 bridge-domains 节:
-
适用于某些平台,例如 MX 系列路由器。
-
使用该
routing-interface语句将 L3 逻辑接口(集成路由和桥接 [IRB] 接口)与 VLAN 相关联。
在不支持该bridge-domains节的其他平台上,请使用vlans像 VLAN 感知服务类型配置中的配置一样vlans v100使用该节。语句层次结构使用l3-interface该语句将 IRB 接口与 VLAN 相关联,而不是routing-interface语句vlans。
此配置还可选择包括分配给实例中与 VLAN 关联的接口的静态 MAC 地址,您在层次结构级别上 [edit routing-instances macvrf-instance-name vlans vlan-name switch-options interface interface-name] 设置该地址。
routing-instances {
MACVRF-1 {
protocols {
evpn {
encapsulation vxlan;
}
}
instance-type mac-vrf;
service-type vlan-based;
interface xe-0/0/1.100;
vtep-source-interface lo0.0;
route-distinguisher 3.3.3.3:1;
vrf-target target:1:100;
bridge-domains {
v100 {
vlan-id 100;
interface xe-0/0/1.100;
routing-interface irb.100;
switch-options {
interface xe-0/0/1.100 {
static-mac 00:03:03:00:00:00;
}
}
}
vxlan {
vni 1100;
}
}
}
}
VLAN 感知服务类型配置
VLAN 感知服务类型有时也称为 VLAN 感知捆绑包(不要与 vlan-bundle 服务类型混淆)。此处的示例配置适用于使用 vlans 配置部分而不是 bridge-domains 部分将 VLAN 与路由实例相关联的交换和路由平台。此配置将 VLAN 100 和 101(以及相应的 L2 和 L3 逻辑接口)与 EVPN-VXLAN 实例 MACVRF-1 相关联。
此处的示例还包括:
-
default-gateway do-not-advertise防止设备播发默认网关 IRB MAC 地址的语句。有关何时以及为何应包含此选项的更多信息,请参阅示例:使用任播网关配置 EVPN-VXLAN 边缘路由桥接交换矩阵。 -
extended-vni-list该语句(尽管在本例中不是必需vlan-aware的),因为服务类型会自动扩展实例中的所有 VNI。有关在 MAC-VRF 实例中使用extended-vni-list语句的更多信息,请参阅扩展 VNI 列表行为。 -
(选答)分配给实例中与 VLAN 100 关联的接口的静态 MAC 地址,您在层次结构级别上
[edit routing-instances macvrf-instance-name vlans vlan-name switch-options interface interface-name]设置。
routing-instances {
MACVRF-1 {
protocols {
evpn {
encapsulation vxlan;
default-gateway do-not-advertise;
extended-vni-list [1100 1101];
}
}
instance-type mac-vrf;
service-type vlan-aware;
vtep-source-interface lo0.0;
route-distinguisher 3.3.3.3:1;
vrf-target target:1:100;
vlans {
v100 {
vlan-id 100;
interface xe-0/0/1.100;
l3-interface irb.100;
switch-options {
interface xe-0/0/1.100 {
static-mac 00:03:03:00:00:00;
}
}
vxlan {
vni 1100;
}
}
v101 {
vlan-id 101;
interface xe-0/0/1.101;
l3-interface irb.101;
vxlan {
vni 1101;
}
}
}
}
}
VLAN 感知服务类型配置(网桥域)
此 VLAN 感知配置适用于使用配置语句将 bridge-domains VLAN 100 和 101(以及相应的 L2 和 L3 逻辑接口)与 EVPN 实例 MACVRF-1 相关联的路由平台。
此处的示例还包含该extended-vni-list语句,尽管在本例中不是必需该语句,因为vlan-aware服务类型会自动扩展实例中的所有 VNI。有关在 MAC-VRF 实例中使用extended-vni-list语句的更多信息,请参阅扩展 VNI 列表行为。
routing-instances {
MACVRF-1 {
protocols {
evpn {
extended-vni-list [1100 1101];
encapsulation vxlan;
}
}
instance-type mac-vrf;
service-type vlan-aware;
vtep-source-interface lo0.0;
route-distinguisher 3.3.3.3:1;
vrf-target target:1:100;
bridge-domains {
v100 {
vlan-id 100;
interface xe-0/0/1.100;
routing-interface irb.100;
vxlan {
vni 1100;
}
}
v101 {
vlan-id 101;
interface xe-0/0/1.101;
routing-interface irb.101;
vxlan {
vni 1101;
}
}
}
}
}
VLAN 捆绑服务类型配置
此 VLAN 捆绑服务类型配置包括将 VLAN ID 列表与 EVPN 实例 MACVRF-1 中的聚合以太网逻辑接口 ae1 相关联的相应 interfaces 语句。
此外,借助 MAC-VRF vlan-bundle EVPN-VXLAN 服务,设备默认通过 VXLAN 隧道维护内部 VLAN ID。例如,对于使用默认交换机 EVPN 实例配置的类似服务,您无需配置 encapsulate-inner-vlan 和 decapsulate-accept-inner-vlan 等选项。
interfaces ae1 {
unit 100 {
encapsulation vlan-bridge;
vlan-id-list 100-101;
}
routing-instances {
MACVRF-1 {
protocols {
evpn {
encapsulation vxlan;
}
}
instance-type mac-vrf;
service-type vlan-bundle;
vtep-source-interface lo0.0;
route-distinguisher 3.3.3.3:1;
vrf-target target:1:100;
interface ae1.100;
vlans {
v100 {
vxlan {
vni 1100;
}
interface ae1.100;
}
}
}
}
更多 MAC-VRF 实例 EVPN-VXLAN 用例配置
以下是对其他更复杂且完整的 EVPN-VXLAN 用例配置的一些参考,这些配置包括 MAC-VRF 实例:
MAC-VRF 实例 show 命令和别名
某些 mac-vrf show 命令仅适用于特定平台。例如,MAC-VRF 命令 show mac-vrf mac-table age (和相应 show bridge mac-table age 的命令)仅适用于 MX 系列路由器。如果在 QFX 系列交换机上发出命令 show mac-vrf mac-table age ,则输出为空白,没有任何错误指示。
有关 EVPN 实例信息的命令的参考,请参阅 表 2 和 表 3 。这些命令的常见 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 重写和重叠 VXLAN 支持。
-
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,也不能在路由实例之间配置重叠 VLAN,每个路由实例都映射到同一个转发实例。如果未配置转发实例,则 MAC-VRF 路由实例将使用默认转发实例 (
default-switch)。ACX7100-32C 和 ACX7100-48L 路由器交替支持使用显式或隐式 VLAN 规范化的重叠 VLAN。在 Junos OS 演化版 22.3R1 之前的版本中,您还可以使用 VLAN 规范化来支持这些路由器上的重叠 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 列表行为
您可以在层次结构级别的任何 edit routing-instances mac-vrf routing instance name protocols evpn MAC-VRF 路由实例中配置扩展虚拟网络标识符 (VNI) 列表。 extended-vni-list 关键字是可选的配置元素。默认情况下,设备会扩展 MAC-VRF 路由实例中的所有 VNI(无论是否在 VNI 列表中)。如果配置特定的 VNI 列表,则只能扩展列表中的那些 VNI。