在LAN中,添加了冗余链接以提高LAN的网络可用性。但是,这种冗余链路可能导致帧在网络中无限循环,直到采取某种措施,例如某些链路被断开为止。为了解决帧循环问题,生成树协议(STP)开始发挥作用。
需要生成树:
考虑以下方案,其中有3台交换机,每个交换机上都有一个用户。
Arvind将广播帧发送到LAN,并且由于交换帧的性质是从除接收端口(Fa0 / 3)之外的其他端口(Gi0 / 1和Gi0 / 2)发出的。现在,此帧转到SW2,SW2也从Gi0 / 2和Fa0 / 2端口广播帧。 SW1在其Gi0 / 1端口中接收帧。 SW1也广播帧,然后此帧转到SW3,并继续广播帧。请记住,该帧广播也从Gi0 / 1端口的其他方向从SW3发生。上面讨论的帧循环来自SW3的Gi0 / 2端口。您可以想象在那个小型LAN中泛滥的帧。局域网周围的帧永远循环称为广播风暴。
帧的这种循环会导致三个问题,如下所述:
- MAC表的不稳定性–
由于局域网周围的帧循环,交换机的MAC表经常更改。循环会导致错误的MAC表条目,从而导致错误的帧传递。 - 广播风暴–
局域网中链路周围帧的重复转发会导致链路使用效率低下。 - 多帧传输–
循环的一个非常严重的负面影响是,同一帧的多个副本将交付给主机。这个过程使主机感到困惑。
生成树协议如何提供帮助?
生成树协议通过将交换机的端口置于转发或阻塞状态来防止LAN周围的帧循环。处于转发状态的接口(交换机的端口)正常工作,但是处于阻塞状态的接口除了STP消息和其他重要开销外,不会处理任何接收到的帧。阻塞接口不会学习MAC地址,不会转发帧,也不会处理收到的帧。
现在,如果我们再次考虑上述讨论的场景,其中SW3的Gi0 / 2接口处于阻塞状态。
- Arvind将帧发送到SW3。
- SW3仅将帧转发到Gi0 / 1端口,因为Gi0 / 2端口处于阻塞状态。
- 现在,SW1接收帧并转发到Fa0 / 1和Gi0 / 1接口。
- SW2接收帧并转发到Fa0 / 2和Gi0 / 1接口。
- SW3将在Gi0 / 2接口上接收该帧,但是由于它处于阻塞状态而忽略了该帧。
这样,通过使用STP可以防止LAN周围的帧循环。