VPLS 路由和虚拟端口
由于 VPLS 跨服务提供商网络传输以太网流量,因此必须以某种方式模拟以太网网络。使用 VPLS 路由实例配置的 PE 路由器从 CE 设备接收数据包时,首先确定其是否有相应路由表中 VPLS 数据包的目标。如果有,它将将数据包转发到相应的 PE 路由器或 CE 设备。否则,它将将数据包广播至属于该 VPLS 路由实例的所有其他 PE 路由器和 CE 设备。在这两种情况下,接收数据包的 CE 设备必须与发送数据包的 CE 设备不同。
在 VPLS 文档中, 术语路由器 是指提供路由功能的任何设备。
当 PE 路由器从另一 PE 路由器收到数据包时,首先会确定其是否有相应路由表中 VPLS 数据包的目标。如果有,PE 路由器会转发或丢弃数据包,具体取决于目标是本地还是远程 CE 设备:
如果目标为本地 CE 设备,PE 路由器会将数据包转发给设备。
如果目标为远程 CE 设备(连接到其他 PE 路由器),则 PE 路由器将丢弃数据包。
如果 PE 路由器无法确定 VPLS 数据包的目标,它会将数据包泛洪到所有连接的 CE 设备。
图 1 展示了此过程。

VPLS 可以直接连接到以太网交换机。VPLS 路由实例表中包括以太网交换机收集的第 2 层信息(例如,媒体接入控制 [MAC] 地址和接口端口)。但是,该路由器允许 VPLS 实例的远程流量通过 MPLS LSP 交付,并到达虚拟端口,而不是所有 VPLS 接口。虚拟端口模拟本地物理端口。可以学习、转发或泛洪到虚拟端口,其方式与将流量发送到本地端口几乎相同。
VPLS 路由表学习物理端口和虚拟端口的 MAC 地址和接口信息。物理端口和虚拟端口之间的主要区别在于,路由器会捕获来自虚拟端口的附加信息,用于到达远程站点的传出 MPLS 标签,以及用于从远程站点接收的 VPLS 流量的传入 MPLS 标签。在路由器上配置 VPLS 时,虚拟端口在隧道服务 物理接口卡 (PIC) 上动态生成。
您还可以配置没有隧道服务 PIC 的 VPLS。为此,您可以使用标签交换接口 (LSI) 来提供 VPLS 功能。LSI MPLS 标签用作 VPLS 的内部标签。此标签映射到 VPLS 路由实例。在 PE 路由器上,LSI 标签将被去除,然后映射到逻辑 LSI 接口。然后使用 LSI 接口将第 2 层以太网帧转发到正确的 VPLS 路由实例。
VPLS 中泛洪行为的一个限制是,从远程 PE 路由器接收的流量永远不会转发到其他 PE 路由器。这种限制有助于防止核心网络中出现环路。但是,如果 CE 以太网交换机与同一 PE 路由器有两个或多个连接,则必须在 CE 交换机上启用生成树协议 (STP),以防止环路。STP 仅在 MX 系列路由器和 EX 系列交换机上受支持。
Junos OS 允许标准桥接协议数据单元 (BPDU) 帧通过仿真的第 2 层连接,例如那些配置了第 2 层 VPN、第 2 层电路和 VPLS 路由实例的连接。但是,生成专有 BPDU 帧的 CE 以太网交换机可能无法在为这些仿真第 2 层连接配置的瞻博网络路由平台上运行 STP。
在某些情况下,当 PE 路由器必须泛洪 ICMP 请求,因为尚未获知目标 MAC 地址时,VPLS 提供商路由器可能会从 CE 路由器复制互联网控制消息协议 (ICMP) 回复。当已启用混杂模式的 CE 路由器连接到 PE 路由器时,可以触发重复 ICMP 回复。PE 路由器会自动泛洪支持混杂模式的 CE 路由器,然后该路由器将 ICMP 请求返回到 VPLS 提供商路由器。VPLS 提供商路由器认为 ICMP 请求是新的请求,然后再次泛洪该请求,从而创建重复的 ping 回复。