Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

VLAN 和 VPLS 路由实例

为 VLAN 和 VPLS 路由实例配置 VLAN 标识符的准则

对于仅执行第 2 层 交换的 VLAN,无需指定 VLAN 标识符。

对于执行第 3 层 IP 路由的 VLAN,必须指定 VLAN 标识符或双 VLAN 标识符标记。

对于 VPLS 路由实例,您必须指定 VLAN 标识符或双 VLAN 标识符标记。

为 VLAN 和 VPLS 路由实例配置 VLAN 标识符

您可以通过以下方式为 VLAN 或 VPLS 路由实例配置 VLAN 标识符:

  • 通过使用 vlan-id 语句或 vlan-tags 语句配置规范化 VLAN 标识符来实现。本主题介绍如何在 VLAN 或 VPLS 路由实例中处理和转换规范化 VLAN 标识符。

  • 通过使用 input-vlan-mapoutput-vlan-map or [edit logical-systems logical-system-name interfaces interface-name unit logic-unit-number] 层级的[edit interfaces interface-name unit logic-unit-number]语句来配置 VLAN 映射。

vlan-idvlan-tags语句用于在 VLAN 或 VPLS 路由实例下指定规范化 VLAN 标识符。规范化 VLAN 标识符用于执行以下功能:

  • 将接收到的数据包的 VLAN 标记转换或规范化为学习型 VLAN 标识符。

  • 创建多个学习域,每个域都包含一个学习 VLAN 标识符。学习域是一个 MAC 地址数据库,可根据学习 VLAN 标识符将 MAC 地址添加到该数据库。

注意:

如果使用 vlan-idvlan-tags语句为 VLAN 或 VPLS 路由实例配置规范化 VLAN 标识符,则无法使用 input-vlan-mapoutput-vlan-map语句配置 VLAN 映射。

要为 VLAN 配置 VLAN 标识符,请在 [edit interfaces interface-name unit logic-unit-number] or [edit logical-systems logical-system-name interfaces interface-name unit logic-unit-number] 层次结构级别添加 vlan-idvlan-tags语句,然后将该逻辑接口包含在 VLAN 配置中。

对于 VPLS 路由实例,在 or 层次结构级别包含 [edit interfaces interface-name unit logic-unit-number] [edit logical-systems logical-system-name interfaces interface-name unit logic-unit-number] vlan-idvlan-tags语句,然后将该逻辑接口包含在 VPLS 路由实例配置中。

注意:

ACX 系列路由器不支持该 [edit logical-systems] 层次结构。

注意:

对于单个 VLAN 或 VPLS 路由实例,您可以添加 vlan-idvlan-tags 语句,但不能同时添加两者。如果没有为 VLAN 或 VPLS 路由实例配置 vlan-idvlan-tagsvlan-id-list [ vlan-id-numbers ] ,则收到的第 2 层数据包将转发到出站第 2 层接口,无需修改 VLAN 标记,除非在第 2 层接口上配置了 输出 vlan-map 。这会导致将帧转发到第 2 层接口,其 VLAN 标记与为第 2 层接口配置的 VLAN 标记不同。请注意,仍需要从第 2 层接口接收的帧与接口配置中指定的 VLAN 标记匹配。无效的配置可能会导致发生第 2 层环路。

与入站逻辑接口关联的 VLAN 标记与规范化 VLAN 标识符进行比较。如果标记不同,则按照 表 1 中的说明重写它们。系统会根据规范化 VLAN 标识符学习接收数据包的源 MAC 地址。

注意:

您无需为仅执行第 2 层 交换的 VLAN 指定 VLAN 标识符。要支持第 3 层 IP 路由,必须指定一个 VLAN 标识符或一对 VLAN 标记。但是,不能为路由实例中的多个 VLAN 指定相同的 VLAN 标识符。每个 VLAN 都必须有一个唯一的 VLAN 标识符。

如果与出站逻辑接口关联的 VLAN 标记和规范化 VLAN 标识符不同,则会重写规范化 VLAN 标识符,以匹配出站逻辑接口的 VLAN 标记,如 表 2 中所述。

对于通过 VPLS 路由实例发送的数据包,这些数据包要由规范化 VLAN 标识符标记,请添加以下配置语句之一:

  • VLAN ID number 以使用 VLAN 标识符标记通过 VPLS 虚拟隧道 (VT) 接口发送的所有数据包。

  • vlan-tags 外部 number 内部 number ,使用双外部和内部 VLAN 标记标记通过 VPLS VT 接口发送的所有数据包。

vlan-id none当通过 VPLS VT 接口发送入站逻辑接口的数据包时,使用该语句从这些数据包中移除这些数据包。请注意,这些数据包可能仍会与其他客户 VLAN 标记一起发送。

vlan-id all 语句允许您以最少的配置量为多个 VLAN 配置桥接。配置此语句可为以下内容创建学习域:

  • 配置了两个 VLAN 标记的逻辑接口的每个内部 VLAN 或学习 VLAN 标识符

  • 配置了一个 VLAN 标记的逻辑接口的每个 VLAN 或学习 VLAN 标识符

建议不要在 VPLS 路由实例中使用客户 VLAN ID,因为客户 VLAN ID 仅用于学习。

您应在 VPLS 路由实例中使用服务 VLAN ID,如以下配置所示:

注意:

如果在 VPLS 路由实例中配置该vlan-id all语句,我们建议在逻辑接口上使用 input-vlan-map popoutput-vlan-map push语句,在输入时弹出服务 VLAN ID,并在输出时推送服务 VLAN ID,从而限制双标记帧对扩展的影响。如果配置中包含 native 语句,则vlan-id all不能使用该vlan- id语句。

vlan-id-list [ vlan-id-numbers ] 语句允许您为中继接口上的多个 VLAN 配置桥接。配置此语句可为以下内容创建学习域:

  • 列出的每个 VLAN: vlan-id-list [ 100 200 300 ]

  • 范围内的每个 VLAN: vlan-id-list [ 100-200 ]

  • 列表和范围组合中的每个 VLAN: vlan-id-list [ 50, 100-200, 300 ]

使用 VLAN 或 VPLS 路由实例的 vlan-id numbervlan-tags 语句指定规范化 VLAN 标识符时,以下步骤概述了桥接通过第 2 层 逻辑接口接收的数据包的过程:

  1. 当物理端口收到数据包时,仅当数据包的 VLAN 标识符与该端口上配置的一个逻辑接口的 VLAN 标识符匹配时,才会接受该数据包。
  2. 然后,将接收数据包的 VLAN 标记与标准化 VLAN 标识符进行比较。如果数据包的 VLAN 标记与规范化 VLAN 标识符不同,则将重写 VLAN 标记,如 表 1 中的说明。
  3. 如果源 MAC 表中不存在接收数据包的源 MAC 地址,则会根据标准化 VLAN 标识符来学习该地址。
  4. 然后,数据包会根据目标 MAC 地址转发到一个或多个出站第 2 层 逻辑接口 MAC 地址。具有已知单播目标 MAC 地址的数据包只会被转发到一个出站逻辑接口。对于每个出站第 2 层 逻辑接口,为 VLAN 或 VPLS 路由实例配置的规范化 VLAN 标识符与该逻辑接口上配置的 VLAN 标记进行比较。如果与出站逻辑接口关联的 VLAN 标记与为 VLAN 或 VPLS 路由实例配置的规范化 VLAN 标识符不匹配,则将重写 VLAN 标记,如 表 2 中所述。

下表显示了如何将 VLAN 标记应用于向 VLAN 发送和从 VLAN 发送的流量,具体取决于为 VLAN 配置 VLAN idvlan-tags 语句的方式,以及为 VLAN 或 VPLS 路由实例中的逻辑接口配置标识符的方式。根据您的配置,将对 VLAN 标记执行以下重写操作:

  • pop — 从 VLAN 标记堆栈顶部移除 VLAN 标记。

  • pop-pop — 移除帧的外部和内部 VLAN 标记。

  • pop-swap — 移除帧的外部 VLAN 标记并替换帧的内部 VLAN 标记。

  • swap — 替换帧的 VLAN 标记。

  • push — 将新的 VLAN 标记添加到 VLAN 堆栈的顶部。

  • push-push — 在帧前面推送两个 VLAN 标记。

  • 交换-推送 — 替换帧的 VLAN 标记,并将新的 VLAN 标记添加到 VLAN 堆栈的顶部。

  • swap-swap — 替换帧的外部和内部 VLAN 标记。

表 1 显示了如何处理和转换发送到 VLAN 的数据包的 VLAN 标记的具体示例,具体取决于您的配置。“–”表示指定的逻辑接口 VLAN 标识符不支持该语句。“无操作”表示未针对指定的输入逻辑接口转换收到的数据包的 VLAN 标记。

表 1:VLAN 的 VLAN 标识符的语句用法和输入重写操作

逻辑接口的 VLAN 标识符

VLAN 的 VLAN 配置

VLAN ID 无

VLAN ID 200

VLAN ID 全部

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 年人口

将 2000 换成 100

VLAN 标记 外部 100、内部 400

人口 100、人口 400

PoP 100,掉调 400 至 200

人口 100

将 400 交换到 300

VLAN ID 范围 10-100

无操作

VLAN 标记 外部 200 内部范围 10-100

人口 200

表 2 显示了如何处理和转换从 VLAN 发送的数据包的 VLAN 标记的具体示例,具体取决于您的配置。“–”表示指定的逻辑接口 VLAN 标识符不支持该语句。“无操作”表示未针对指定的输出逻辑接口转换出站数据包的 VLAN 标记。

表 2:VLAN 的 VLAN 标识符的语句用法和输出重写操作

逻辑接口的 VLAN 标识符

VLAN 的 VLAN 配置

VLAN ID 无

VLAN ID 200

VLAN ID 全部

VLAN 标记:外部 100 、内部 300

无操作

人口 200

人口 100、人口 300

200

推 200

无操作

无操作

PoP 100,掉期 300 至 200

1000

推 1000

将 200 交换到 1000

无操作

PoP 100,掉期 300 至 1000

VLAN 标记 外部 2000 内部 300

推 2000,推 300

将 200 交换到 300, 推送 2000

推送 2000

将 100 交换到 2000

VLAN 标记 外部 100、内部 400

推 100、推 400

交换 200 到 400, 推送 100

推 100

将 300 交换到 400

VLAN ID 范围 10-100

无操作

VLAN 标记 外部 200 内部范围 10-100

推 200