基于 VLAN 的 EVPN 服务
基于 VLAN 的服务允许将单个广播域一对一映射到单个桥接域。每个 VLAN 都映射到单个 EVPN 实例 (EVI),从而为每个 VLAN 生成一个单独的网桥表。在 Junos OS 17.3R1 版之前,不支持 VLAN 转换。如果没有 VLAN 转换,客户边缘 VLAN 必须使用相同的 VLAN ID (VID)。您仍然可以发送带有原始 VID 的 MPLS 封装帧。 图 1 显示了所有客户边缘设备对单个基于 VLAN 的 EVI 使用相同的客户边缘 VID 的拓扑。不需要 VID 翻译。
从 Junos OS 17.3R1 版开始,将支持基于 VLAN 的服务以及 RFC 7432 中所述的 VID 转换。这意味着 Junos 支持 VID 转换,客户可以为每个 VLAN 使用不同的 VID。如 RFC 中所述,VID 转换必须在出口 PE 设备上执行,而 MPLS 封装帧也应保留原始 VID。 图 2 说明了一种拓扑,其中 CE 设备对单个基于 VLAN 的 EVI 使用不同的 CE-VID。
有关配置基于 VLAN 的服务的详细信息,请参阅 使用基于 VLAN 的服务配置 EVPN。
以下是单个基于 VLAN 的 EVI 的示例配置。在此示例中,包含语句 VLAN-id=none
是为了删除始发 VID 并将 MPLS 帧中的以太网标记 ID 设置为零。这可确保在所有 PE 设备上使用相同的 VID,并且不需要 VLAN 转换。
interfaces { xe-0/0/1 { unit 100 { encapsulation vlan-bridge; vlan-id 100; } } } routing-instances evpn-vlan-based-no-vid { instance-type evpn; vlan-id none; interface xe-0/0/1.100; route-distinguisher 10.0.0.1:100; vrf-target target:65303:101100; protocols evpn; }
以下是单个基于 VLAN 的 EVI 的示例配置。所有 PE 设备都使用相同的 VID,因此不需要 VLAN 转换。在此示例中,CE-VID 作为 MPLS 帧的一部分使用和发送。
interfaces { xe-0/0/1 { unit 100 { encapsulation vlan-bridge; vlan-id 100; } } } routing-instances evpn-vlan-based-with-vid { instance-type evpn; interface xe-0/0/1.100; route-distinguisher 10.0.0.1:100; vrf-target target:65303:101100; protocols evpn; }
从 Junos OS 17.3R1 版开始,Junos 支持基于 VLAN 的转换服务,如 RFC 7432 中所述。以下是严格遵守 RFC 7432 的基于 VLAN 的服务配置示例。严格遵守 RFC 7432 要求在出口 PE 设备上进行转换,在 MPLS 帧中传输始发 VID,并将所有 EVPN 路由的以太网标记 ID 设置为零。因此, VLAN-id=none
包括 和 no-normalization
语句。这会将以太网标记 ID 设置为零,同时确保仍然可以使用不同的 VID。
interfaces { xe-0/0/1 { unit 100 { encapsulation vlan-bridge; vlan-id 100; output-vlan-map { swap; } } } } routing-instances evpn-vlan-based-normalization-strict-RFC-compliance { instance-type evpn; vlan-id none; no-normalization; interface xe-0/0/1.100; route-distinguisher 10.0.0.1:100; vrf-target target:65303:101100; protocols evpn; }
以下是遵循 RFC 7432 的基于 VLAN 的服务配置示例,但源 VID 在以太网帧中传输的条件除外。将删除始发 VID,并将以太网标记 ID 设置为零。
interfaces { xe-0/0/1 { unit 100 { encapsulation vlan-bridge; vlan-id 100; } } } routing-instances evpn-vlan-based-normalization-loose-RFC-compliance { instance-type evpn; vlan-id none; interface xe-0/0/1.100; route-distinguisher 10.0.0.1:100; vrf-target target:65303:101100; protocols evpn; }