储备知识
a)Hello Time:指允许STP的设备发送BPDU的时间间隔。当网络拓扑稳定之后,若要修改该定时器,只有
在根桥修改才能生效。
b)Forward Delay:指接口进行状态更换的延迟时间。也就是在处于Listening和Learning的持续时间,
缺省值为15秒。c)Max Age: 指接口的BPDU老化时间。BPDU从根桥被发出的时候,Message Age值为0,每经过一个桥设备,其值加1。当非根桥设备收到BPDU后,会比较Message Age和Max Age的大小。如果前者小于等于后者,该非根桥设备继续转发该BPDU;如果前者大于后者,该BPDU将被丢弃,此时可以认为网络直径过大,根桥连接失败。在同一个拓扑中,Max Age是相同的,可在根桥上修改该值。
原理概述
普通生成树STP不能实现快速收敛,但是在STP中诸如Hello Time定时器、Max Age定时器、Forward Delay定时器、未收到上游的BPDU就重新开始生成树计算的超时时间等参数会影响其收敛速度。通过配置合适的系统参数,可以使STP实现最快的拓扑收敛
1、Hello Time定时器:Hello Time为周期发送 BPDU来维护生成树的稳定的时间,默认为2s。如果交换机在配置的超时时间内没有收到上游交换机发送的BPDU,则会重新进行生成树计算。在根交换机上配置的Hello Time将作为整个生成树内所有交换机的Hello Time。
2、Max Age定时器:BPDU的最大生存时间,默认为20s,交换机通过比较从上游交换机收到的 BPDU中携带的 Message Age(配置 BPDU的生存时间,如果配置BPDU是根桥发出的,则 Message Age 为0,每经过一台交换机增加1)和 Max Age,来判断此 BPDU是否超时。如果收到的 BPDU超时,交换机将该BPDU老化,同时阻塞接收该BPDU的接口,并开始发出以自己为根桥的BPDU。这种老化机制可以有效地控制生成树的半径。在根交换机上配置的Max Age将作为整个生成树内所有交换机的Max Age。
3、Forward Delay定时器:此延迟时间为Forward Delay定时器的时间,默认为15s。链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新配置消息无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成临时环路。为此,STP采用了一种端口状态迁移机制,新选出的根