为 VLAN 和 VPLS 路由实例配置 VLAN 标识符
您可以通过以下方式为 VLAN 或 VPLS 路由实例配置 VLAN 标识符:
通过使用
vlan-id
语句或vlan-tags
语句配置规范化 VLAN 标识符。本主题介绍如何在 VLAN 或 VPLS 路由实例中处理和转换规范化的 VLAN 标识符。通过使用输入 vlan 映射和
output-vlan-map
或[edit logical-systems logical-system-name interfaces interface-name unit logic-unit-number]
层级的[edit interfaces interface-name unit logic-unit-number]
语句来配置 VLAN 映射。
在 ACX5048 和 ACX5096 路由器中,仅当处于模式(而非模式permanent)connectivity-type
ce时,才支持 VLAN 映射操作。
VLAN ID 和vlan-tags
语句用于指定 VLAN 或 VPLS 路由实例下的规范化 VLAN 标识符。规范化 VLAN 标识符可将接收的数据包的 VLAN 标记转换为 learn VLAN 标识符或规范化。
如果您使用 vlan-id 或语句为 VLAN 或 VPLS 路由实例配置规范化 VLAN 标识符,则无法使用输入 vlan 映射和vlan-tags
output-vlan-map
语句配置 VLAN 映射。
要为 VLAN 配置 VLAN 标识符,请在或层级添加 VLAN ID 或vlan-tags
语句[edit interfaces interface-name unit logic-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logic-unit-number]
,然后该逻辑接口包含在 VLAN 配置中。
对于 VPLS 路由实例,在或层级添加 vlan ID 或vlan-tags
语句[edit interfaces interface-name unit logic-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logic-unit-number]
,然后将该逻辑接口包含在 VPLS 路由实例配置中。
ACX 系列路由器不支持该 [edit logical-systems]
层次结构。
对于单个 VLAN 或 VPLS 路由实例,您可以包括 VLAN ID 或 vlan-tags
语句,但不能同时包含两者。如果未为 VLAN 或 VPLS 路由实例配置 VLAN ID 或 VLAN 标记 ,则接收的第 2 层数据包将被转发到出站第 2 层接口,而无需修改 VLAN 标记,除非在第 2 层接口上配置 了输出 vlan 映射 。这会导致帧转发到带有 VLAN 标记的第 2 层接口,该标记与为第 2 层接口配置的方式不同。请注意,仍然需要从第 2 层接口接收的帧来匹配接口配置中指定的 VLAN 标记。无效配置可能会导致发生第 2 层环路。在 ACX5048 和 ACX5096 路由器中,如果接口 VLAN 配置为 vlan-id-列表,则必须规范 VPLS 路由实例。 VLAN ID all ACX5048 和 ACX5096 路由器不支持。
与入站逻辑接口关联的 VLAN 标记与规范化 VLAN 标识符进行比较。如果标记不同,将按照 表 2 进行重写。接收数据包的源 MAC 地址将根据规范化 VLAN 标识符进行学习。
如果与出站逻辑接口关联的 VLAN 标记和规范化 VLAN 标识符不同,则规范化 VLAN 标识符将重写为与出站逻辑接口的 VLAN 标记匹配,如 表 3 所述。
当您使用 VLAN 或 VPLS 路由实例的 vlan ID number 或 vlan-tags
语句指定规范化 VLAN 标识符时,以下步骤概述了通过第 2 层逻辑接口接收的数据包桥接的过程:
- 在物理端口上接收数据包时,只有当数据包的 VLAN 标识符与该端口上配置之一逻辑接口之一的 VLAN 标识符匹配时,才会接受数据包。
- 然后,将接收数据包的 VLAN 标记与规范化 VLAN 标识符进行比较。如果数据包的 VLAN 标记与规范化 VLAN 标识符不同,将按照 表 2 重写 VLAN 标记。
- 如果收到的数据包的源 MAC 地址在源 MAC 表中不存在,则会根据规范化 VLAN 标识符来学习该地址。
- 然后,该数据包会根据目标 MAC 地址转发到一个或多个出站第 2 层逻辑接口。具有已知单播目标 MAC 地址的数据包只会转发到一个出站逻辑接口。对于每个出站第 2 层逻辑接口,都会将为 VLAN 或 VPLS 路由实例配置的规范化 VLAN 标识符与该逻辑接口上配置的 VLAN 标记进行比较。如果与出站逻辑接口关联的 VLAN 标记与为 VLAN 或 VPLS 路由实例配置的规范化 VLAN 标识符不匹配,将按照 表 3 重写 VLAN 标记。
下表显示如何为往返 VLAN 的流量应用 VLAN 标记,具体取决于为 VLAN 配置 VLAN ID 和 vlan-tags
语句,以及为 VLAN 或 VPLS 路由实例中的逻辑接口配置标识符。根据您的配置,对 VLAN 标记执行以下重写操作:
pop - 从 VLAN 标记堆栈顶部移除 VLAN 标记。
弹出 — 移除帧的外部和内部 VLAN 标记。
弹出-交换 — 移除帧的外部 VLAN 标记,并替换帧的内部 VLAN 标记。
交换 - 替换帧的 VLAN 标记。
push - 将新 VLAN 标记添加到 VLAN 堆栈的顶部。
推送 - 在帧前面推送两个 VLAN 标记。
交换-推送 — 替换帧的 VLAN 标记,并将新的 VLAN 标记添加到 VLAN 堆栈的顶部。
交换- 替换帧的外部和内部 VLAN 标记。
表 1 显示了支持的输入和输出 VLAN 映射配置。
接口类型 |
输入映射 |
输出映射 |
||
---|---|---|---|---|
配置 |
参数 |
配置 |
参数 |
|
未标记
|
推 |
tpid.外部-vlan |
流行 |
没有 |
推-推送 |
tpid.outer-vlan/inner-vlan |
流行乐 |
没有 |
|
单标记
|
交换 |
tpid.外部-vlan |
交换 |
tpid.外部-vlan |
推 |
tpid.外部-vlan |
流行 |
没有 |
|
交换-推送 |
tpid.outer-vlan/inner-vlan |
弹出-交换 |
没有 |
|
双标记
|
交换 |
tpid.外部-vlan |
交换 |
tpid.外部-vlan |
流行 |
没有 |
推 |
tpid.外部-vlan |
|
交换-交换 |
tpid.outer-vlan/inner-vlan |
交换-交换 |
tpid.外部-vlan |
表 2 显示了根据您的配置,如何处理和转换发送到 VLAN 的数据包的 VLAN 标记的具体示例。“–”表示指定逻辑接口 VLAN 标识符不支持该语句。“无操作”表示接收数据包的 VLAN 标记不会转换为指定的输入逻辑接口。
逻辑接口的 VLAN 标识符 |
VLAN 的 VLAN 配置 |
||
---|---|---|---|
VLAN ID 无 |
VLAN ID 200 |
vlan 标记外部 100 内部 300 |
|
没有 |
无操作 |
推送 200 |
推送 100,推送 300 |
200 |
流行 200 |
无操作 |
交换 200 到 300, 推送 100 |
1000 |
流行 1000 |
交换 1000 到 200 |
交换 1000 到 300, 推送 100 |
VLAN 标记外部 2000 内部 300 |
流行 2000, 流行 300 |
pop 2000,交换 300 到 200 |
交换 2000 到 100 |
VLAN 标记外部 100 内部 400 |
流行 100, 流行 400 |
弹出 100,交换 400 到 200 |
交换 400 到 300 |
表 3 显示了根据您的配置如何处理和转换从 VLAN 发送的数据包的 VLAN 标记的具体示例。“–”表示指定逻辑接口 VLAN 标识符不支持该语句。“无操作”表示出站数据包的 VLAN 标记不会转换为指定的输出逻辑接口。
逻辑接口的 VLAN 标识符 |
VLAN 的 VLAN 配置 |
||
---|---|---|---|
VLAN ID 无 |
VLAN ID 200 |
vlan 标记外部 100 内部 300 |
|
没有 |
无操作 |
流行 200 |
流行 100, 流行 300 |
200 |
推送 200 |
无操作 |
弹出 100,交换 300 到 200 |
1000 |
推送 1000 |
交换 200 到 1000 |
弹出 100,交换 300 到 1000 |
VLAN 标记外部 2000 内部 300 |
推送 2000,推送 300 |
交换 200 到 300, 推送 2000 |
交换 100 到 2000 |
VLAN 标记外部 100 内部 400 |
推送 100,推送 400 |
交换 200 到 400, 推送 100 |
交换 300 到 400 |