![STP 算法:端口到根的成本相同,哪个端口设置为阻塞?](https://linux22.com/image/798917/STP%20%E7%AE%97%E6%B3%95%EF%BC%9A%E7%AB%AF%E5%8F%A3%E5%88%B0%E6%A0%B9%E7%9A%84%E6%88%90%E6%9C%AC%E7%9B%B8%E5%90%8C%EF%BC%8C%E5%93%AA%E4%B8%AA%E7%AB%AF%E5%8F%A3%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%98%BB%E5%A1%9E%EF%BC%9F.png)
情况如下:环路中有一个 ID 最小的桥。该桥有两个端口,到根的开销都相同,STP 如何确定哪个端口正在转发,哪个端口正在阻塞?它会找到 ID 最高的端口并阻塞该端口吗?
如果有人需要更多信息,我很乐意提供。提前感谢您的帮助。
-乔希
答案1
根端口始终是直接连接到根桥的链路,或到根桥的最短路径。如果多条链路连接到根桥,则通过检查每条链路的带宽来确定端口成本。成本最低的端口将成为根端口。如果多条链路的成本相同,则使用具有较低广告桥 ID 的桥。由于多条链路可以来自同一设备,因此将使用最小的端口号。
答案2
我最终找到了 Google 的这篇文章,Lucas Kauffman 的回答是错误的。“根端口始终是直接连接到根桥的链路”。
事实并非如此。请看以下拓扑: 生成树协议 (STP)
多层交换机 1 是根桥。您可以看到多层交换机 3 直接与其相连,但其端口仍然被阻塞。这是因为多层交换机 3 通过快速以太网链路连接到多层交换机 1,而所有其他链路都是千兆以太网链路。
因此,即使直接连接,也不会为根端口选择最短(最少跳数)路径。您应该始终计算到根桥的成本。在这种情况下,2x 千兆位链路的成本为 4+4 = 8。快速以太网链路的成本为 19。因此,根端口是通向多层交换机 2 的链路。