如何向 L2 CE 设备发送 VPLS 多宿主更改信号

网络工程 杜松 聚光灯 vpls
2021-07-06 23:00:05

我们有以下设置:

在此处输入图片说明

两个 MX 路由器连接到同一个 L2 站点。环路保护/冗余是通过VPLS 多宿主实现的另一端是两个交换机(例如 EX4200)。

当蓝色链路出现故障时,两个交换机和 L2 基础设施的其余部分必须知道流量现在必须通过黄色链路(因此通过右侧的 EX 交换机)。

问题是,黄色 mac 表仅在有来自 VPLS 的流量通过黄色链接到达时才会被填满。如果没有收到来自某个 MAC 地址的流量,该地址的流量仍将通过蓝色链接发送,并且没有人知道该链接现在已断开(如果链接出现物理故障,则左侧的 EX 交换机可能除外)。

我找不到解决此问题的好方法。

几种做法:

  1. 您可以通过使蓝色/黄色链接 portfast来稍微减轻影响,以便生成树可以在接口关闭/打开时发送拓扑更改。当界面没有出现物理故障时,您就不走运了。另一方面,当端口再次出现时,生成树解决方案会咬你。VPLS 将使站点联机,但端口在转发流量之前需要通过 STP 学习阶段。

  2. 您可以堆叠两个交换机。这将解决 L2 基础设施其余部分的问题,因为它们总是发送到同一交换机(堆栈)。堆栈仍然需要知道何时切换到具有活动 VPLS 实例的另一个上行链路接口。

  3. 在进行计划维护时(如果您有堆栈),您可以手动停用主链路以切换到辅助链路。然后,您可以降低路由器上停用链接的站点首选项,以便现在活动的站点成为新的主站点。切换回来时也是一样。不理想,不适用于不可预见的中断。

任何有关如何解决此问题的意见表示赞赏。(等待 EVPN/TRILL 不算在内。;))

4个回答
  1. 在面向 PE 的端口上禁用 Portfast(在 CE 上)
  2. 跨 CE 网络启用 RSTP
  3. 支持带有接口成本的“蓝色链接”

在我的脑海中解决这个问题,我相信它应该做出如下反应:

当蓝色链路中断时,CE 将停止从蓝色接口发送/接收 BPDU。默认 RSTP hello 计时器为 2 秒。它在调用该链接“死”之前等待三个错过的问候。一旦错过了三个 hello(6 秒),它将重新建立 STP 树并老化 MAC 地址。

这基本上是您在上面陈述的选项 1,除了我阅读评论和您的原始帖子的方式,听起来您希望 PE 参与 STP。我建议允许客户在所有 CE 之间构建自己的树。

您的网络应该能够顺利进行故障转移,并且客户端网络将在几秒钟后跟进。

这感觉太简单了,不能作为答案……但这就是我根据您的文章所看到的。

你在寻找什么样的收敛预算?

如果您放弃使用 VPLS 环路预防并运行唯一站点 ID 的想法,您可以回到 STP。即使没有硬件活动故障,您也会通过 BPDU 遇到链接丢失。

然后,您可以通过 TCN/转发时间(MAC 超时,在看到 TCN 之后)或更大的锤子“mac 老化时间”来调整您的收敛预算。
另一方面是,您将在网络中有更多未知的单播,您可以通过确保 ARP 超时小于或等于 TCN/转发时间来解决此问题

我知道可能不是您正在寻找的答案,但是如果这里有一些灵丹妙药,我就错过了。我不认为颤音或 EVPN 草案在这种情况下对您有帮助,如果您的 VPLS 或 EVPN 是端到端的主机端口,那么它会解决这个问题。但是,只是在核心处将 VPLS 替换为 EVPN 并在任一侧保持断开的 LAN,都会出现同样的问题。

坚持您提供的选项,我个人会遵循您列表中的#1,但我不会使用普通ST。我宁愿使用 RST(或 MST,如果您需要跨链接对 VLAN 进行负载平衡),因为它允许在链接出现或断开时必须快速/平稳地过渡。

这解决了您对此方法的两个担忧:

  1. “接口不会物理下降” - 每个运行 RST 的设备都会生成 BPDU(而不仅仅是中继),并且它们被用作保持活动状态。未收到 BPDU 将导致信息老化。
  2. “在转发流量之前需要经过 STP 学习阶段” - RST 能够主动确认端口可以安全地转换到转发状态,而无需等待计时器。

我还会考虑另外做 #2,因为这只是简化了设备的管理。

也许可以在“失败”的 MX 上制作一个事件脚本来关闭链接?如果有某种点燃的交通工具,那可能就行不通了。

在我处理过的大多数应用程序中,我们都有双向流量,因此应该移动的删除 MAC 最终通过备份端口进入,旧的 FIB 条目被逐出,并安装新端口。

如果这些 EX 服务的 L2 站点只发送流量,那么我唯一能想到的就是将 mac-table-aging-time 减少到可接受的数量。