堆叠和重写千兆以太网 VLAN 标记
VLAN 堆叠将多个 VLAN 标记封装到以太网帧中,从而实现分层标记并扩展 VLAN 空间。VLAN 标记重写有助于跨网络边界的动态标记转换。
堆叠和重写千兆以太网 VLAN 标记也称为 Q-in-Q 隧道。VLAN 堆叠将多个 VLAN 标记封装到以太网帧中,从而实现分层标记并扩展 VLAN 空间。VLAN 标记重写有助于跨网络边界的动态标记转换。如果配置得当,这些技术可以显著增强跨不同平台的互操作性和流量工程。您可以配置重写操作,在单标记帧和双标记帧上堆叠(push)、移除(pop)或重写(swap)标记。如果端口未标记,则与该端口关联的任何逻辑接口均不支持重写操作。
VLAN 标记是一种基于 VLAN ID(标识符)识别和隔离网络流量的方法。标记操作允许对 VLAN 标记进行各种操作。您可以配置以下 VLAN 重写操作:
-
pop— 从 VLAN 标记堆栈顶部移除 VLAN 标记。帧的外部 VLAN 标记将被移除。 -
pop-pop— 对于以太网 IQ2、10 千兆以太网 LAN/WAN PIC 和 IQ2-E 接口,请移除帧的外部和内部 VLAN 标记。 -
pop-swap— 对于以太网 IQ2、10 千兆以太网 LAN/WAN PIC 和 IQ2-E 接口,请移除帧的外部 VLAN 标记,并将帧的内部 VLAN 标记替换为用户指定的 VLAN 标记值。原始内部标记成为最终帧中的外部标记。 -
push- 将新的 VLAN 标记添加到 VLAN 堆栈顶部。一个外部 VLAN 标记被推送到现有 VLAN 标记的前面。 -
push-push— 对于以太网 IQ2、10 千兆以太网 LAN/WAN PIC 和 IQ2-E 接口,将两个 VLAN 标记推送到帧前面。 -
swap-push— 对于以太网 IQ2、10 千兆以太网 LAN/WAN PIC 和 IQ2-E 接口,将帧的外部 VLAN 标记替换为用户指定的 VLAN 标记值。用户指定的外部 VLAN 标记将被推送到前面。原始外部标记成为最终帧中的内部标记。 -
swap-swap— 对于以太网 IQ2、10 千兆以太网 LAN/WAN PIC 和 IQ2-E 接口,将传入帧的内部和外部 VLAN 标记都替换为用户指定的 VLAN 标记值。
您可以在传入帧的输入 VLAN 映射和输出 VLAN 映射中为传出帧配置逻辑接口的 VLAN 重写操作。要配置输入 VLAN 映射,请包含以下语 input-vlan-map 句:
input-vlan-map { ...interface-specific configuration... }
input-vlan-map
要配置输出 VLAN 映射,请包含以下语 output-vlan-map 句:
output-vlan-map { ...interface-specific configuration... }
您可以在以下层级中包含这两个语句:
-
[edit interfaces interface-name unit logical-unit-number] -
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
允许的 VLAN 重写操作类型取决于帧是单标记帧还是双标记帧。 https://www.juniper.net/documentation/us/en/software/junos/multicast-l2/topics/task/interfaces-rewriting-the-vlan-tag.html 和 https://www.juniper.net/documentation/us/en/software/junos/multicast-l2/topics/topic-map/interfaces-rewriting-vlan-tag-untagged-frames.html 介绍了支持的重写操作,以及它们是否可以应用于单标记帧或双标记帧。该表还指示了在操作期间添加或删除的标记数量。
|
重写操作 |
无标记 |
单标记 |
双标记 |
标记数量 |
|---|---|---|---|---|
| 流行音乐 |
否 |
是 |
是 |
– 1 |
| 推送 |
有时 |
是 |
是 |
+1 |
| 交换 |
否 |
是 |
是 |
0 |
| 一推-推 |
有时 |
是 |
是 |
+2 |
| 交换-推送 |
否 |
是 |
是 |
+1 |
| 交换-交换 |
否 |
否 |
是 |
0 |
| 啪 |
否 |
否 |
是 |
– 2 |
| 弹出-交换 |
否 |
否 |
是 |
– 1 |
重写操作 push , push-push 在某些情况下对未标记的帧有效。例如,单标记逻辑接口(接口 1)和双标记逻辑接口(接口 2)具有以下配置:
接口 1
[edit interfaces interface-name unit logical-unit-number] input-vlan-map { pop; } output-vlan-map { push; }
接口 2
[edit interfaces interface-name unit logical-unit-number] input-vlan-map { pop-pop; } output-vlan-map { push-push; }
由于操作input-vlan-map而在接口上接收到帧时,不会对帧进行标记。当它离开第二个接口时,output-vlan-mappush-push将对其应用操作。生成的帧将在逻辑接口输出上进行双标记。
根据 VLAN 重写操作,您可以在输入 VLAN 映射、输出 VLAN 映射或输入 VLAN 映射和输出 VLAN 映射中配置接口的重写操作。下表介绍了可以配置的重写操作组合。 None 表示未为 VLAN 映射指定任何重写操作。
|
输出 VLAN 映射 |
|||||||||
|---|---|---|---|---|---|---|---|---|---|
|
输入 VLAN 映射 |
无 |
推送 |
流行音乐 |
交换 |
一推-推 |
交换-推送 |
交换-交换 |
啪 |
交换-弹出 |
|
无 |
是 |
否 |
否 |
是 |
否 |
否 |
是 |
否 |
否 |
|
推送 |
否 |
否 |
是 |
否 |
否 |
否 |
否 |
否 |
否 |
|
流行音乐 |
否 |
是 |
否 |
否 |
否 |
否 |
否 |
否 |
否 |
|
交换 |
是 |
否 |
否 |
是 |
否 |
否 |
否 |
否 |
否 |
|
一推-推 |
否 |
否 |
否 |
否 |
否 |
否 |
否 |
是 |
否 |
|
交换-推送 |
否 |
否 |
否 |
否 |
否 |
否 |
否 |
否 |
是 |
|
交换-交换 |
是 |
否 |
否 |
否 |
否 |
否 |
是 |
否 |
否 |
|
啪 |
否 |
否 |
否 |
否 |
是 |
否 |
否 |
否 |
否 |
|
弹出-交换 |
否 |
否 |
否 |
否 |
否 |
是 |
否 |
否 |
否 |
配置 VLAN 重写操作之前:
-
确保 VLAN 重写操作有效并应用于输入或输出 VLAN 映射。
-
检查重写操作是否要求您在输入或输出 VLAN 映射中包含用于配置内部和外部 TPID 以及内部和外部 VLAN ID 的语句。
有关配置内部和外部 TPID 以及内部和外部 VLAN ID 的信息,请参阅 配置内部和外部 TPID 以及 VLAN ID。
自动和派生 VLAN 转换可根据预定义的规则或上下文信息动态映射 VLAN ID。这样可以实现无缝 VLAN 堆叠 (Q-in-Q) 和千兆以太网 VLAN 标记重写,从而支持可扩展的多租户网络分段和互操作性。VLAN 转换涉及在数据包遍历网络时更改其 VLAN ID。此转换可以手动配置,也可以自动派生。虚拟专用 LAN 服务 (VPLS) 设置为使用自动和派生 VLAN 转换,以便客户 VLAN 可以自动与提供商 VLAN 进行匹配。要提供 VPLS 服务,网络管理员或服务提供商(以下称为运营商)负责配置和管理 VPLS 实例。操作员通常会设置 VPLS 实例并向其添加逻辑接口。大多数情况下,这些逻辑接口会传输带有类似 VLAN 标记的流量。如果逻辑接口使用的 VLAN 标记不同于 VPLS 域中其他接口使用的 VLAN 标记,则运维人员可以通过应用vlan-map命令来规范 VLAN 标记。通过配置路由vpls实例(设置为 instance-type )来将 VPLS 连接到桥接域。有关更多信息,请参阅 Configuring-vpls-and-integrated-routing-and-bridging。
在瞻博网络 EVPN(以太网 VPN)环境中,自动或派生的 VLAN 转换能够无缝处理 EVPN 交换矩阵中重叠或不同的 VLAN ID。VLAN 标记在网络边缘进行转换,允许在 EVPN-VXLAN 交换矩阵中适当映射多个客户 VLAN,无论它们使用相同的 VLAN ID(重叠的 VLAN)还是不同的 VLAN ID。这样可以确保适当的流量隔离和转发。有关更多信息,请参阅在 EVPN-VXLAN 网络中使用 VLAN 转换支持重叠 VLAN。
网桥域可配置为以下模式之一:
|
模式 |
描述 |
|---|---|
|
默认 |
适用于 MX 系列路由器。您必须在 IFL 上配置 VLAN 映射来规范化 VLAN ID。进入或退出网桥域的数据包中的 VLAN 标记是透明的,取决于 IFL 的 VLAN 配置和任何应用的 VLAN 映射。 |
|
VLAN 无 |
对数据包进行规范化,确保其未标记。进入或退出网桥域的数据包不携带 VLAN 标记。这是通过自动 VLAN 映射(推送/弹出/交换)实现的。 从客户边缘(客户边缘)到核心网络的数据包在发送时不带任何 VLAN 标记,从核心网络传入的数据包也不带标记。 示例: |
|
VLAN <视频> |
对数据包进行规范化,确保其携带一个指定的 VLAN ID <vid>。进入或退出网桥域的数据包将使用配置的 VLAN ID 进行标记。 从客户边缘到核心网络的数据包携带指定的 VLAN ID,来自核心网络的数据包到达时具有相同的 VLAN ID。 示例: |
|
VLAN<双标记> |
规范化数据包以包含指定的 VLAN 标记堆栈,如外部和内部 VLAN ID。进入或退出 BD 的数据包将具有双 VLAN 标记。这些 VLAN 标记是 BD 配置的 VLAN 标记。 从客户边缘到核心网络的数据包同时携带指定的 VLAN 标记,而来自核心网络的数据包则以相同的双标记结构到达。 示例: |
|
VLAN 全部 |
透明地携带数据包中存在的任何 VLAN ID。进入或退出网桥域的数据包将保留其 VLAN 标记。对于单标记 IFL,这是单个 VLAN ID;对于双标记 IFL,它是内部 VLAN ID。VLAN ID 用于对学习的 MAC 地址进行限定。VLAN 标记将在整个网络中以透明的方式保留和交换。 示例:
注意:
vlan-id all通常用于处理来自多个 VLAN 的流量,而无需修改其标记。
|
VLAN 无模式示例
interfaces {
ge-1/0/0 {
encapsulation ethernet-bridge;
unit 0;
}
ge-1/0/1 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-id 100;
}
}
ge-1/0/2 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-tags outer 100 inner 200;
}
}
}
bridge-domains {
blue {
domain-type bridge;
+ VLAN-id none;
interface ge-1/0/0.0;
interface ge-1/0/1.0;
interface ge-1/0/2.0;
}
}
Automatic VLAN-maps performed for above IFLs
IFL input output
--------------------------------
ge-1/0/0.0 none none
ge-1/0/1.0 pop push
ge-1/0/2.0 pop-pop push-push
VLAN 单模示例
interfaces {
ge-1/0/0 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-id 100;
}
}
ge-1/0/1 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-id 200;
}
}
ge-1/0/2 {
1encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-tags outer 2000 inner 100;
}
}
ge-1/0/3 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-tags outer 2000 inner 200;
}
}
}
bridge-domains {
VLAN-100 {
domain-type bridge;
+ VLAN-id 100;
interface ge-1/0/0.0;
interface ge-1/0/1.0;
interface ge-1/0/2.0;
interface ge-1/0/3.0;
}
}
Automatic VLAN-maps performed for above IFLs
IFL input output
--------------------------------
ge-1/0/0.0 none none
ge-1/0/1.0 swap swap
ge-1/0/2.0 pop push
ge-1/0/3.0 pop-swap swap-push
VLAN 双模示例
interfaces {
ge-1/0/0 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-tags outer 100 inner 200;
}
}
ge-1/0/1 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-id 200;
}
}
ge-1/0/2 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-tags outer 100 inner 300;
}
}
ge-1/0/3 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-tags outer 1000 inner 2000;
}
}
}
bridge-domains {
VLAN-100-200 {
domain-type bridge;
+ VLAN-tags outer 100 inner 200;
interface ge-1/0/0.0;
interface ge-1/0/1.0;
interface ge-1/0/2.0;
interface ge-1/0/3.0;
}
}
Automatic VLAN-maps performed for above IFLs
IFL input output
--------------------------------
ge-1/0/0.0 none none
ge-1/0/1.0 push pop
ge-1/0/2.0 nop-swap nop-swap
ge-1/0/3.0 swap-swap swap-swap
VLAN 全模式示例
interfaces {
ge-1/0/0 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-id-range 1-4094;
}
}
ge-1/0/1 {
encapsulation flexible-ethernet-services;
flexible-VLAN-tagging;
unit 0 {
encapsulation VLAN-bridge;
VLAN-tags outer 200 inner-range 1-4094;
}
}
}
bridge-domains {
all-customer-VLANs {
domain-type bridge;
+ VLAN-id all;
interface ge-1/0/0.0;
interface ge-1/0/1.0;
}
}
Automatic VLAN-maps performed for above IFLs
IFL input output
--------------------------------
ge-1/0/0.0 none none
ge-1/0/1.0 pop push
ACX、MX 和 PTX 平台上的 IRB 配置
使用 VLAN 转换配置集成路由和桥接 (IRB) 时,请务必注意,任何平台上的 IRB 都不支持该 vlan-id all 配置。这是因为 IRB 必须与单个 VLAN ID 相关联。
-
ACX 平台通常支持具有显式定义 VLAN ID 的 IRB。不支持该
vlan-id all配置。 -
MX 平台支持高级 IRB 配置,包括基于 VLAN 的 IRB 接口。但是,IRB 仍然不支持。
vlan-id all -
PTX 平台主要是为高性能路由而设计的。他们可能对 IRB 的支持
vlan-id all有限。
ACX、MX 和 PTX 平台上的 VPLS、EVPN 和 ELAN/ELINE 处理
ACX、MX 和 PTX 平台对 VPLS、EVPN 和 ELAN/ELINE 的支持因架构、功能和预期用例而异:
|
VPLS(虚拟专用 LAN 服务) |
EVPN(以太网 VPN) |
ELAN(以太网 LAN)/ELINE(以太网线路) |
|
|---|---|---|---|
|
ACX |
支持跨分组交换网络的多点第 2 层 VPN 服务的 VPLS。非常适合将 LAN 服务扩展到大区域的服务提供商。 |
支持用于第 2 层和第 3 层 VPN 服务的 EVPN,具有 MAC 学习、冗余和可扩展性等功能。 |
支持 ELAN(多点)和 ELINE(点对点)服务,可在客户站点之间实现灵活的第 2 层连接。 |
|
MX |
支持高级 VPLS 功能,包括分层 VPLS (H-VPLS),可在服务提供商网络中实现可扩展和简化的部署。 |
使用 MPLS 和 VXLAN 封装为数据中心互连和服务提供商网络提供强大的 EVPN 支持。 | 提供全面的 ELAN 和 ELINE 支持,具有高性能和可靠性,适用于具有严格 SLA 的服务。 |
|
PTX |
VPLS 支持有限;主要关注核心网络中的大容量 IP/MPLS 路由。 |
支持数据中心互连和服务提供商网络等高吞吐量、大规模环境中的 EVPN。 |
支持 ELAN 和 ELINE,但针对主干网和核心网络中的高性能以太网传输进行了优化。 |