配置 VPLS 简介

虚拟专用 LAN 服务 (VPLS) 允许您在虚拟专用网络 (VPN) 中的一组站点之间提供点对多点 LAN。

要配置 VPLS 功能,必须在提供商边缘 (PE) 路由器上启用 VPLS 支持。您还必须配置 PE 路由器,以便将路由信息分发到 VPLS 中的其他 PE 路由器。此外,还必须配置 PE 路由器与客户边缘 (客户边缘) 路由器之间的电路。

注意:

在 VPLS 文档中,PE 路由器等术语“路由器”用于指代提供路由功能的任何设备。

您可以通过在 Junos OS 上配置实例类型为 的 vpls 路由实例,或使用 Junos Evolve OS 的 virtual-switch实例类型配置路由实例来支持 VPLS 流量。路由实例在服务提供商的网络中以透明的方式传输以太网流量。与其他路由实例一样,属于 VPLS 路由实例的所有逻辑接口都列在该实例下。

注意:在 虚拟交换机路由实例下配置规范化 VLAN 时,不配置 VLAN ID 或包含 vlan-id none该语句,则还必须在层次结构中 [edit routing-instances routing-instance protocol vpls]包含该 service-type single语句。

除了 VPLS 路由实例配置之外,还必须在 PE 路由器之间配置 MPLS 标签交换路径 (LSP)、PE 路由器之间的 IBGP 会话以及在 PE 和提供商 (P) 路由器上配置内部网关协议 (IGP)。

VPLS 的许多配置过程与第 2 层 VPN 和第 3 层 VPN 的过程相同。

了解 VPLS 接口

接口名称:

对于 PE 路由器上的每个 VPLS 路由实例,您可以指定用于在 PE 和客户边缘设备之间传输 VPLS 流量的接口。

指定接口名称的物理部分和逻辑部分,格式如下: physical.logical。例如,在 ge-1/0/1.2 中,ge-1/0/1 是接口名称的物理部分,2 是逻辑部分。如果未指定接口名称的逻辑部分,则默认设置为 0。

一个逻辑接口只能与一个路由实例相关联。

封装类型:

VPLS 接口的链路层封装类型可以是以下类型之一:

  • ethernet-vpls:在启用了 VPLS 且必须接受携带标准标记协议标识符 (TPID) 值的数据包的以太网接口上使用以太网 VPLS 封装。

    extended-vlan-vpls:在启用了 VLAN 802.1Q 标记和 VPLS 且必须接受承载 TPID 0x8100、0x9100 和 0x9901 的数据包的以太网接口上,使用扩展虚拟LAN (VLAN) VPLS 封装。从 1 到 1023 的所有 VLAN ID 都对快速以太网接口上的 VPLS VLAN 有效,从 1 到 4094 的所有 VLAN ID 对千兆以太网接口上的 VPLS VLAN 有效。

    vlan-vpls: 在启用了 VLAN 标记和 VPLS 的以太网接口上使用 VLAN VPLS 封装。使用 VLAN VPLS 封装的接口仅接受携带标准 TPID 值的数据包。您必须在物理接口和逻辑接口上配置此封装类型。VLAN ID 1 到 511 保留给普通以太网 VLAN,ID 512 到 1023 保留给快速以太网接口上的 VPLS VLAN,ID 512 到 4094 保留给千兆以太网接口上的 VPLS VLAN。

  • flexible-ethernet-services:如果要配置多个按单元的以太网封装,请使用灵活的以太网服务封装。此封装类型允许您在单个物理端口上配置路由、TCC、CCC 和 VPLS 封装的任意组合。聚合以太网捆绑包不能使用此封装类型。

    对于灵活的以太网服务封装,1 到 511 的 VLAN ID 不再保留给普通 VLAN。

VPLS CLI 配置层次结构 Junos OS 与 Junos OS Evolved 之间的差异

在运行在 Junos OS 或 Junos OS 演化版上的设备上配置 Junos OS 时,请注意 CLI 层次结构差异。 表 1 说明了在 Junos OS 和 Junos OS 演化版上运行的设备上的 VPLS CLI层次结构配置差异。

要了解在Junos OS上运行的设备,请参阅 https://www.juniper.net/documentation/product/us/en/junos-os/#cat=by_product。

要了解在 Junos OS Evolved 上运行的设备,请参阅 https://www.juniper.net/documentation/product/us/en/junos-os-evolved/#cat=hardware_documentation。

表 1: VPLS 配置 Junos OS 与 Junos OS Evolved 之间的 CLI 差异
任务 Junos OS Junos OS 演化版
启用 VPLS 路由实例
user@host# set  routing-instances routing-instance-name instance-type vpls
user@host# set routing-instances routing-instance-name protocols vpls neighbor IP-address
user@host# set routing-instances routing-instance-name protocols vpls no-tunnel-services
user@host# set routing-instances routing-instance-name protocols vpls vpls-id number
user@host# set routing-instances routing-instance-name vlan-id number
user@host# set routing-instances routing-instance-name interface interface-name
user@host# set  routing-instances routing-instance-name instance-type virtual-switch
user@host# set routing-instances routing-instance-name protocols vpls neighbor IP-address
user@host# set routing-instances routing-instance-name protocols vpls no-tunnel-services
user@host# set routing-instances routing-instance-name protocols vpls vpls-id number
user@host# set routing-instances routing-instance-name vlans vlan-name vlan-id number
user@host# set routing-instances routing-instance-name vlans vlan-name interface interface-name

注意:

您需要强制配置配置, no-tunnel-services 因为 Junos OS 演化版不支持隧道接口。

配置不带 VLAN ID、或将 VLAN ID 配置 none为 ,或将 VLAN ID 配置为 all
user@host# set routing-instances routing-instance-name
  • 配置不带 VLAN ID 的 VLAN

    user@host# set routing-instances routing-instance-name vlans vlan-name
    

    注意:

    路由实例内对多网桥域的支持因平台而异。在不支持多网桥域的平台上,您必须在 [edit routing-instances routing-instance protocol vpls] 层次结构中包含service-type single配置语句。

  • 将 VLAN 配置为 VLAN ID 或noneall

    user@host# set routing-instances routing-instance-name vlans vlan-name vlan-id none
    user@host# set routing-instances routing-instance-name vlans vlan-name protocols vpls service-type single
    
    注意:

    配置不带 VLAN ID 的 VLAN,或将 VLAN ID 配置none为 或 VLAN ID 时all,必须在 [edit routing-instances routing-instance protocol vpls] 层次结构中包含service-type single配置语句。

在接口上配置 VPLS 系列
user@host# set interfaces interface-name unit number family vpls

运行 Junos OS Evolved 的设备不支持在接口上配置 的 VPLS 协议家族。

在接口上配置 VPLS 封装
user@host# set interfaces interface-name flexible-vlan-tagging
user@host# set interfaces interface-name speed 100g
user@host# set interfaces interface-name encapsulation flexible-ethernet-services
user@host# set interfaces interface-name unit number encapsulation vlan-vpls
user@host# set interfaces interface-name unit number vlan-id number
user@host# set interfaces interface-name flexible-vlan-tagging
user@host# set interfaces interface-name speed 100g
user@host# set interfaces interface-name encapsulation flexible-ethernet-services
user@host# set interfaces interface-name unit number encapsulation vlan-vpls
user@host# set interfaces interface-name unit number vlan-id number
使用网桥域在接口上配置 VPLS 封装
user@host# set interfaces et-0/0/6 flexible-vlan-tagging
user@host# set interfaces et-0/0/6 encapsulation flexible-ethernet-services
user@host# set interfaces et-0/0/6 unit 0 encapsulation vlan-bridge
user@host# set interfaces et-0/0/6 unit 0 vlan-id 1
user@host# set interfaces et-0/0/6 flexible-vlan-tagging
user@host# set interfaces et-0/0/6 encapsulation flexible-ethernet-services
user@host# set interfaces et-0/0/6 unit 0 encapsulation vlan-bridge
user@host# set interfaces et-0/0/6 unit 0 vlan-id 1
在 VPLS 上配置 IRB
user@host# set routing-instances routing-instance-name instance-type vpls
user@host# set routing-instances routing-instance-name protocols vpls neighbor ip-address
user@host# set routing-instances routing-instance-name protocols vpls no-tunnel-services
user@host# set routing-instances routing-instance-name protocols vpls vpls-id number
user@host# set routing-instances routing-instance-name vlan-id number
user@host# set routing-instances routing-instance-name interface interface-name
user@host# set routing-instances routing-instance-name routing-interface interface-name
user@host# set routing-instances routing-instance-name route-distinguisher distinguisher
user@host# set routing-instances routing-instance-name vrf-target target;
user@host# set routing-instances routing-instance-name instance-type virtual-switch
user@host# set routing-instances routing-instance-name protocols vpls neighbor ip-address
user@host# set routing-instances routing-instance-name protocols vpls no-tunnel-services
user@host# set routing-instances routing-instance-name protocols vpls control-word
user@host# set routing-instances routing-instance-name protocols vpls vpls-id number
user@host# set routing-instances routing-instance-name vlans vlan-name vlan-id number
user@host# set routing-instances routing-instance-name vlans vlan-name interface interface-name
user@host# set  routing-instances routing-instance-name l3-interface interface-name

Junos OS 上的示例 VPLS 配置

以下是 Junos OS 上的 VPLS 配置示例:

配置

结果

验证

确认配置工作正常。

运行命令验证 show vpls connections VPLS 连接状态。

在此输出中,两个 PE 路由器之间的 VPLS 连接状态为正常。

通过运行 show vpls mac-table 命令验证在本地 PE 和远程 PE 上获知的 MAC 地址。

在此输出中,您可以看到 MAC 地址 (00:00:00:42:98:47) 是从 VLAN ID 为 108 的本地 PE 接口 (et-0/0/4) 获知的,而 MAC 地址 (00:00:00:42:98:4a) 是从 VLAN ID 为 108 的远程 PE 接口 (lsi.1048832) 获知的。

Junos OS Evolved 上的 VPLS 配置示例

以下是 Junos OS 演化版上的 VPLS 配置示例:

配置

结果

验证

确认配置工作正常。

运行命令验证 show vpls connections VPLS 连接状态。

在此输出中,两个 PE 路由器之间的 VPLS 连接状态为正常。

通过运行 show ethernet-switching table instance VPLS 命令验证在本地 PE 和远程 PE 上获知的 MAC 地址。

在此输出中,您可以看到 MAC 地址 (00:00:00:42:98:47) 是从 VLAN ID 为 108 的本地 PE 接口 (et-0/0/4) 获知的,而 MAC 地址 (00:00:00:42:98:4a) 是从 VLAN ID 为 108 的远程 PE 接口 (lsi.1048832) 获知的。

特定于平台的 VPLS 行为

使用 功能浏览器 确认对 VPLS 的平台和版本支持

表 2:特定于平台的行为

平台

差异

ACX 7000 系列

ACX7000 系列路由器不支持该 vlan-id all 语句。

ACX 7000 系列

ACX7000 系列路由器支持单个虚拟交换机路由实例中的单个网桥域。

PTX10002-36QDD

PTX10002-36QDD 路由器在单个虚拟交换机路由实例中支持多个网桥域。