为 2 层 VPN 和 VPLS 启用 BGP 路径选择
第 2 层 VPN 和 VPLS 共享相同的路径选择流程,用于确定到达单个路由实例内共享所有目标的最优路径。对于第 2 层 VPN 和 VPLS 拓扑,如果每个 PE 路由器到每个 CE 设备只有一条路径,则路径选择过程非常简单。但是,如果 PE 路由器接收两条或更多条有效路径以到达特定 CE 设备,则路径选择过程会变得更加复杂。
在 VPLS 文档中,PE 路由器等术语用于指提供路由功能的任何设备。
以下网络场景提供了一些示例,说明可能是什么原因导致 PE 路由器接收多个有效路径以到达特定 CE 设备:
多宿主 — 路由实例中的一个或多个 CE 设备多宿主到两台或多台 PE 路由器上。每个多宿主 CE 设备至少有两个有效路径。
路由反射器 — 同一网络中部署了多个路由反射器,它们支持同一路由实例中的 PE 路由器。由于大型复杂网络的时间延迟,路由反射器可以分别接收不同的有效路径,以便不同时间到达 CE 设备。当它们读出这些有效路径时,PE 路由器可以向同一 CE 设备接收两个或多个独立但显然有效的路径。
默认情况下,瞻博网络路由器仅使用指定的转发器路径选择算法,即可选择到达每个第 2 层 VPN 或 VPLS 路由实例目标的最佳路径(有关更多信息,请参阅 PE 路由器的 VPLS 路径选择流程)。但是,您还可以将网络中的路由器配置为使用 BGP 路径选择算法和指定转发器路径选择算法,如下所示:
在服务提供商网络内的提供商路由器上,使用标准 BGP 路径选择算法(有关更多信息,请参阅 了解 BGP 路径选择)。服务提供商使用第 2 层 VPN 和 VPLS 路由的标准 BGP 路径选择,可以利用现有的第 3 层 VPN 网络基础架构来支持第 2 层 VPN 和 VPLS。BGP 路径选择算法还有助于确保服务提供商的网络在 2 层 VPN 和 VPLS 路径选择方面的表现可预测。在采用路由反射器和多宿主的网络中,这一点尤为重要。
当提供商路由器收到同一目标前缀的多个路径(例如,多宿主 CE 设备)时,将根据 BGP 路径选择算法选择一个路径,并放置在 bgp.l2vpn.0 路由表和相应的 instance.l2vpn.0 路由表中。
当 PE 路由器收到每个 CE 设备的所有可用路径时,会运行指定的转发器路径选择算法,以选择到达每个 CE 设备的首选路径,这与在提供商路由器上运行的早期 BGP 路径选择算法的结果无关。VPLS 指定转发器算法使用 D 位、优先级和 PE 路由器标识符来确定要使用每个 CE 设备的有效路径。PE 路由器可能会选择到达 CE 设备的路径,该路径与基于 BGP 的提供商路由器选择的路径不同。在这种情况下,以下是发送至多宿主 CE 设备的流量的预期行为:
如果远程 PE 路由器选择的路径可用,则流量将使用远程 PE 路由器的首选路径(同样,忽略基于 BGP 的提供商路由器选择的路径)将网络遍历到多宿主 CE 设备。
如果远程 PE 路由器选择的路径出现故障:
一旦检测到故障,提供商路由器就会将前往多宿主 CE 设备的流量切换到备用路径。
提供商路由器会通知远程 PE 路由器路径故障。
远程 PE 路由器会相应地更新其路由表。
有关 VPLS 指定转发器路径选择算法的详细信息,请参阅 PE 路由器的 VPLS 路径选择流程。互联网草案 draft-kompella-l2vpn-vpls-multihoming-03.txt, 基于 BGP 的虚拟专用 LAN 服务中的多宿主也介绍了该算法。
要为第 2 层 VPN 和 VPLS 路由实例启用 BGP 路径选择算法,请完成以下步骤: