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