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