发布时间: 2022-02-17 11:09:19
STP收敛时间,STP完全收敛需要依赖定时器的计时,端口状态从Blocking状态迁移到Forwarding状态至少需要两倍的Forward Delay时间(需要30秒的时间),总收敛时间过长。
STP网络收敛后,如果直连链路发生故障,重新收敛需要30秒的时间,如果是次优或者非直连链路故障,则需要经过50秒的时间重新收敛。STP直连链路故障收敛情况如图1所示。
图1 STP直连链路故障收敛情况
由图1可知,如果SWC和SWA之间的链路发生故障,SWC的替代端口会成为根端口,并且经过30秒的延时端口装将过渡到转发状态。次优配置BPDU报文造成50秒收敛延时,图2展示了STP非直连链路故障收敛情况。
图2 STP非直连链路故障收敛情况
由图2可知,如果SWB和SWA之间的链路发生故障,由于SWB连接根桥的端口被关闭,SWB会认为自己是根桥,并从指定端口发送配置BPDU报文,标识自己是根桥。
SWC从替代端口收到SWB发送的配置BPDU报文后会和端口之前缓存的配置BPDU报文进行对比,发现两个配置BPDU报文不一致,并且接收到的是一个次优配置BPDU报文,SWC会直直接忽略并继续等待接收端口缓存的配置BPDU报文。
这样经过20秒的等待后超时,端口角色重新收敛成为指定端口,并经过30秒的转发延时进入转发状态,总收敛时间为50秒。非直连链路故障场景如图3所示。
图3 非直连链路故障场景
在图3中,SWB和SWA之间的链路出现了单链路故障,导致只能接收不能发送。这种故障多发生在光纤链路上,由于光纤链路是收发分离的,所以很容易出现单链路故障,只能发送不能接收,或者只能接收不能发送。光纤链路可以通过两端配置UDLD(Unidirectional Link Detection,单向链路检测)协议避免单链路故障。
图3中的单链路故障造成SWC无法从替代端口收到根桥的配置BPDU报文,经过20秒的等待后超时,端口角色重新收敛成为指定端口,并经过30秒的转发延时后进入转发状态,总收敛时间为50秒。
如何解决直连故障和次优配置BPDU报文带来的收敛时间过长的问题呢?思科的解决方案是为STP打了两个补丁,分别是uplink-fast和backbone-fast。uplink-fast解决了直连故障导致的收敛慢问题,backbone-fast解决了次优配置BPDU报文导致的收敛慢问题。
由于这两种技术是思科的私有技术,而华为并没有这种技术,华为的做法是在STP中引用了RSTP(Rapid Spanning Tree Protocol,快速生成树协议)解决方案,RSTP在STP基础上进行了许多改进,使得收敛时间大大减小,一般只需要几秒钟的时间。在现网中,STP几乎已经不用,取而代之的是RSTP,RSTP不是HCIA的内容,这里不再深究。
上一篇: 什么是机器学习
下一篇: STP的BPDU报文类型