Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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) 参数时,请确保使用以下过程,以避免网络中断和流量丢失:

如果要更改路由实例下影响流量的选项,请使用以下过程。

  1. 停用路由实例配置。

  2. 更改影响流量选项。

  3. 重新激活更新的路由实例配置。

例如,如果需要更改以下设置,请按照以下步骤作:

  • service-type在 MAC-VRF 路由实例中 - 更改正在运行的实例的服务类型时,如果在进行更改之前未停用 VLAN ID,则设备可能会错误地更改 VLAN ID。

  • vlan-id EVPN 路由实例中 - 在未先停用关联的 EVPN 路由实例的情况下更改 vlan-id 将是灾难性的后果。

表 1:MAC-VRF 实例服务类型选项
服务类型选项 说明

vlan-based

您可以将 MAC-VRF EVPN 实例配置为对应于单个 VLAN 和相应的桥接表。

注意:

如果 VLAN 映射到每个以太网段的不同 VLAN ID,则必须将 EVPN 交换矩阵中的每台设备配置为对发往以太网段的数据包执行 VLAN ID 转换。

vlan-aware

您可以将 MAC-VRF EVPN 实例配置为与一个或多个 VLAN 对应。MAC-VRF 实例为每个 VLAN 维护一个桥接表。

注意:

默认情况下,在具有此服务类型的 EVPN-VXLAN MAC-VRF 实例中,设备会扩展实例中的所有 VXLAN 网络标识符 (VNI)。无需显式配置 extended-vni-all 语句。如果只想扩展实例中的 VNI 子集,可以配置 extended-vni-list 语句。(请参阅 扩展 VNI 列表行为。)

vlan-bundle

您可以将 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 实例。

图 1:EVPN-VXLAN 交换矩阵与 MAC-VRF 和 VRF 实例,用于实现 L2 和 L3 客户分离 EVPN-VXLAN Fabric with MAC-VRF and VRF Instances for L2 and L3 Customer Separation

MAC-VRF 实例支持更常见的跨平台 EVPN 配置

在支持 EVPN 配置的设备上,配置方法因平台而异。例如:

  • 在 MX 系列路由器上,在支持 MAC-VRF 实例之前,您可以使用以下层次结构中的带有语句的实例类型 virtual-switch 来配置 EVPN 实例:

    • bridge-domains
    • routing-instances

    MX 系列路由器还支持使用该 evpn 实例类型配置的 EVPN 实例。

  • 在支持 MAC-VRF 实例之前的 QFX 系列交换机上,您可以使用默认交换机实例和以下层次结构中的语句来配置 EVPN 实例:

    • ethernet-switching
    • routing-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节的其他平台上,请使用vlansVLAN 感知服务类型配置中的配置一样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] 设置该地址。

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] 设置。

VLAN 感知服务类型配置(网桥域)

此 VLAN 感知配置适用于使用配置语句将 bridge-domains VLAN 100 和 101(以及相应的 L2 和 L3 逻辑接口)与 EVPN 实例 MACVRF-1 相关联的路由平台。

此处的示例还包含该extended-vni-list语句,尽管在本例中不是必需该语句,因为vlan-aware服务类型会自动扩展实例中的所有 VNI。有关在 MAC-VRF 实例中使用extended-vni-list语句的更多信息,请参阅扩展 VNI 列表行为

VLAN 捆绑服务类型配置

此 VLAN 捆绑服务类型配置包括将 VLAN ID 列表与 EVPN 实例 MACVRF-1 中的聚合以太网逻辑接口 ae1 相关联的相应 interfaces 语句。

此外,借助 MAC-VRF vlan-bundle EVPN-VXLAN 服务,设备默认通过 VXLAN 隧道维护内部 VLAN ID。例如,对于使用默认交换机 EVPN 实例配置的类似服务,您无需配置 encapsulate-inner-vlandecapsulate-accept-inner-vlan 等选项。

更多 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 实例时。

表 2:按平台列出的 MAC-VRF 转发命令列表
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 bridge statistics

show evpn 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
表 3:MAC-VRF 路由命令列表
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 实例的支持限制:

  • 我们不支持在 MX 系列路由器上使用 EVPN-MPLS 配置 EVPN 实例的 MAC-VRF 实例类型。

  • 我们不支持更改 encapsulation ACX 系列路由器的层次结构设置 [edit routing-instances <instance-name> protocols evpn] 。如果您需要为 EVPN 路由实例配置不同的封装,则必须删除当前路由实例,并使用所需的封装创建新的路由实例。

具有多个 MAC-VRF 路由实例的 EVPN-VXLAN 交换矩阵中的共享 VTEP 隧道

当配置使用多个 MAC-VRF 实例时,低容量设备可能会出现 VTEP 扩展问题。为防止出现此问题,某些平台(如 QFX5130 交换机、QFX5700交换机和 ACX7100 路由器)会在 MAC-VRF 实例VXLAN隧道的默认配置中启用共享VTEP隧道功能。为 VXLAN 路由启用此功能后,设备便可最大限度地减少到达远程 VTEP 的下一跃点条目数量。

QFX5000系列中运行Junos OS的交换机是低容量设备,默认情况下不启用共享隧道。因此,当您在这些设备上配置 MAC-VRF 实例时,我们要求您配置共享隧道功能。要配置共享隧道,请在全局[edit forwarding-options evpn-vxlan]层次结构中设置该shared-tunnels选项。

注意:

配置该 shared-tunnels 选项时,必须重新启动设备才能使设置生效。

对于通常可以处理更高 VTEP 扩展的设备(如 QFX10000 系列交换机),此语句是可选的。在扩展的 EVPN-VXLAN 交换矩阵中不需要此语句的其他设备(如 MX 系列路由器)上不可用。共享 VTEP 隧道功能在设备上本地运行,因此无论设备是否使用此选项,同一网络中的不同平台都可以互作。

MAC-VRF show 命令可将共享隧道 VTEP 接口显示为 vtep-index.shared-tunnel-unit,其中:

  • index 是与 MAC-VRF 路由实例关联的 VTEP 索引。

  • shared-tunnel-unit 是与共享隧道远程 VTEP 逻辑接口关联的单元号。

例如:

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 以外的值。例如:

扩展 VNI 列表行为

您可以在层次结构级别的任何 edit routing-instances mac-vrf routing instance name protocols evpn MAC-VRF 路由实例中配置扩展虚拟网络标识符 (VNI) 列表。 extended-vni-list 关键字是可选的配置元素。默认情况下,设备会扩展 MAC-VRF 路由实例中的所有 VNI(无论是否在 VNI 列表中)。如果配置特定的 VNI 列表,则只能扩展列表中的那些 VNI。