![如何预测生成树的变化以防止收敛期间的数据包丢失?](https://linux22.com/image/612869/%E5%A6%82%E4%BD%95%E9%A2%84%E6%B5%8B%E7%94%9F%E6%88%90%E6%A0%91%E7%9A%84%E5%8F%98%E5%8C%96%E4%BB%A5%E9%98%B2%E6%AD%A2%E6%94%B6%E6%95%9B%E6%9C%9F%E9%97%B4%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8C%85%E4%B8%A2%E5%A4%B1%EF%BC%9F.png)
我们有一个带有 Cisco 交换机、冗余电缆和生成树的 LAN。如果我理解正确的话,当我拔出一条冗余电缆(生成树当前“使用”)时,生成树需要几秒钟才能做出反应收敛。我怎样才能防止这种数据包丢失(当然,假设我事先知道会拔出电缆)?也就是说,我怎样才能让生成树“主动”适应?
我原本以为关闭一个接口shutdown
并等待几秒钟就足够了,但还不敢尝试。实际上,我担心接口关闭会在收敛过程中造成相同的中断时间,因为我昨天在某些接口上进行本应无害的配置更改时就遇到了这样的中断。(编辑:我刚刚通过实验证实了这一点;正如预期的那样,接口关闭后大约有 20 秒的中断 - 请注意,我正在寻找“无损”解决方案,而不仅仅是“少损”)
答案1
听起来你正在使用类 STP 而不是快速 STP。两个选项将显著加快收敛时间。
interface *server interface*
spanning-tree portfast
这应该应用于服务器接口。它将告诉 STP 此端口的另一侧没有交换机,并且可以安全地跳过正常的“安全”防止环路的方法。端口应直接进入转发状态。
spanning-tree mode rapid-pvst
启用较新的快速每 VLAN 生成树协议,该协议使用交换机之间的消息来实现在几秒内(而不是 30-45 秒)重新收敛。
您可以尝试在交换机之间设置端口通道,而不是冗余的单链路。这样,如果一个端口丢失,所有流量都可以故障转移到剩余端口。
答案2
正如凯勒所说,一定要启用面向边缘端口的 portfast,但这并不是您在这里真正担心的。
如果您正在运行经典生成树,那么转向快速将有助于缩短停机时间。请注意,当您从经典过渡到快速时,可能会重新收敛,但通常不会。
你正在寻找的是生成树成本 ###命令。您只需使要停止服务的链路的成本高于冗余链路,生成树就会阻止该链路并解除另一链路的阻止。或者,根据您的网络布局,您可以运行不依赖生成树进行环路避免和/或中断恢复的非环路 VLAN。
并编辑以添加...不要忘记在维护后删除生成树成本配置,并且链接恢复,这样您的网络就可以按照最初设计的方式运行。