网络初级篇之STP(BPDU详解与STP故障恢复)

1、BPDU包含的参数网络

 

  经过STP的原理,咱们学习了红色部分的字段(根桥ID、根路径开销、桥ID、端口ID)。如今讲解一下黄色部分的字段(类型、计时器、老化时间、访问时间)学习

一、(BPDU Type)BPDU类型spa

  BPDU报文共有两种类型:配置BPDU与TCN BPDU。通常状况下,配置BPDU是根桥发送给各个桥的报文;而TCN BPDU是当网络拓扑中的桥发现网络拓扑发生变化时,向根桥发送的报文。3d

二、计时器blog

  BPDU报文在网络中的生存周期(配置BPDU报文每通过一台桥设备,报文老化时间+1)原理

三、最大老化时间扩展

  BPDU报文在网络中最大的老化时间(当报文老化时间大于最大老化时间时,BPDU报文将被丢弃。桥设备将根桥看作不可用前保留根ID的最大时间。最大老化时间可修改,默认为20秒)配置

四、访问时间im

  根桥通过特定的时间向其余桥设备发送BPDU报文,为STP生成树包活,这一特定的时间就是访问时间(每间隔2秒一次)d3

五、转发延时

  端口状态改变时所须要的时间(30秒)

2、常碰到的问题

一、根桥故障时

  

     当根桥发生故障时,不会再向其余桥设备发出配置BPDU报文。当非根桥没有收到根桥发出的配置BPDU报文后,会等待一个最大老化时间(默认时间20秒)。当到达最大老化时间后,非根桥会认为根桥网络不可达(根桥故障),使本来阻塞的端口会由阻塞状态(阻塞状态只接收对端发送的配置BPDU报文,不能发送BPDU;不能参与数据的转发)变为监听状态(监听状态是选举根与各个端口类型的状态,此时依旧不能参与数据的转发),此变化过程须要15秒的时间。以后,端口状态由监听状态变为学习状态(此过程须要15s的时间)。处于学习状态的端口能够学习接收到的数据中的MAC地址,此时依旧不能转发数据。再次通过15秒后,端口状态由学习状态变化为转发状态,此时,端口恢复数据的转发。

  从上面能够看出:在STP中,当根桥出现故障时,会自动从新选举新的根桥与各个端口(根端口、指定端口、阻塞端口)。通过(20秒+15秒*2=50秒)的时间才会恢复数据的转发。

二、直连链路发送故障

  

   当上图的链路发生故障时,因为另一条链路仍然能够收到根桥发出的配置BPDU报文,全部LSW2会马上知道链路发生问题。本来的阻塞端口会变成监听状态,在变为学习状态,最后变为转发状态,整个过程会用2*15秒=30秒的时间。

  从上面能够看出:在STP中,当直连链路发生故障时,须要通过30秒的时间才会恢复网络数据的转发。

三、非直连链路发生故障

  

  当上图链路发生故障时,LSW2会感知到链路发生故障,会以本身为根桥给LSW3发送配置BPDU报文。当LSW3收到LSW2的配置BPDU报文后,与收到根桥(LSW1)的配置BPDU报文进行对比,对比发现LSW2发送的配置BPDU报文不是最优的,便不理会。当LSW3通过一个最大老化时间(默认20秒)后,LSW3上的阻塞端口因为收不到来自根桥的配置BPDU,便由阻塞状态转换为转发状态,将根桥的配置BPDU报文发送给LSW2。当LSW2收到根桥的配置BPDU报文后,与本身的配置BPDU报文进行对比。发现不是最优配置BPDU报文,而后进行端口收敛。整个过程会持续(20秒+2*15秒=50秒)的时间。

  从上面能够看出:在STP中,当非直连链路发生故障时,须要通过50秒的时间才会恢复数据的转发。

3、TCN TC TCA 与MAC地址表

  MAC地址表的默认老化时间为300秒,当网络拓扑发生变化,桥设备的端口可能发生变化,相应的MAC地址表可能会发生错误(MAC地址表中记录MAC地址与端口对应错误)。

  当网络拓扑发生变化时,出现变化或者发现链路发生故障的桥设备会向外发送TCN BPDU报文,而接受到TCN BPDU的设备会向TCN BPDU报文的发送端发送TCA BPDU报文进行应答,而且会向外继续发送TCN BPDU报文。当根桥接收到TCN BPDU报文后,会向外发送TC BPDU报文,以告知全部的桥设备网络拓扑发生改变接收到TC BPDU报文的桥设备,MAC地址表的老化时间由300秒(默认)自动修改成15秒(华为设备为5秒,没试验,不肯定)。

4、BPDU扩展

  

相关文章
相关标签/搜索