8.1 STP:STP收敛

1.小知识

1.1 配置设备优先级步长为啥是4096

  很早以前设备上一个VLAN必须占唯一一个桥ID,在优先级相同时就要占用一个MAC地址。最初VLAN只有1006个,设备可以提供1024个MAC地址,所以当时设计还算合理。但是随着MSTP的出现和VLAN范围的扩展到4096,导致按照以前的设计,优先级相同时MAC地址就不够用了。所以在802.1D-2004中将2字节的优先级分成4bit的优先级+12bit的系统扩展ID(一般是vlan ID),4bit的最大值是16,为了与以前的65536个优先级相对应,所以步长为:65536/16=4096。

1.2 root primary设备一定是根桥吗?

  结论是不一定
  在思科设备上root primary最终设备的优先级值跟其他交换机的优先级值有关,当其他交换机的优先级值都大于24576时,root primary就将该设备的优先级值设置为24576,那它一定是根桥。当其他交换机的优先级小于24576时,root primary就将该设备的优先级设置为4096,如果其他交换机的优先级是0或4096时,该命令就无法保证设备是根桥。
  华为设备root primary只是将设备优先级设置为0,但其他交换机也可以使用该命令设置优先级为0,那就需要比较交换机的MAC地址了,所以也不能保证该设备一定是根桥。

1.3 不同设备配置不同hello间隔,听谁的?

  结论是不管根桥的hello间隔多长多短,都按照根桥的配置来,也不管是STP,RSTP还是MSTP。

1.4 STP的配置BPDU谁来发?

  请一定要记住STP中,只有指定端口进行转发配置BPDU,非指定端口(根端口,阻塞端口)都只能接收不能发送,根端口只能发送TC报文,只有记住这些才能理解后面的STP收敛时间间隔。

2.直连故障收敛

在这里插入图片描述
  如拓扑图所示,LW1是根桥,LSW3的gi0/0/1是阻塞端口,gi0/0/2是根端口,目前的故障是LSW1和LSW3直连链路出现故障,分析LSW3收敛时间。
  1.链路故障后,LSW1立刻认为自己的小弟LSW3没了,于是从gi0/0/1口发送TC+配置BPDU报文,通知其他小弟该信息。

  2.于此同时LSW3也认为自己的老大LSW1没了,立刻删除老大信息(最优配置BPDU),但是LSW3阻塞端口gi0/0/1不能发送任何数据,变成了哑巴只能等待其他小弟告诉它老大的信息。

  3.小弟LSW2收到老大SW1的信息后,立即在指定端口gi0/0/2向其他兄弟转发,告诉兄弟SW3别着急老大还活着。

  4.小弟LSW3在阻塞端口gi0/0/1收到了兄弟SW2发送的BDPU信息,跟自己的BPDU一比较,发现还是老大SW1厉害,于是gi0/0/1升级为根端口,端口状态从阻塞状态------>forwarding状态需要用时30S
  5.至于TC+配置BPDU在拓扑中的传输时间和端口角色选举时间可以忽略不记,所以总的收敛时间在30S以上。

3.非直连故障收敛

在这里插入图片描述
  如拓扑图所示,这次是根桥LSW1与LSW2的连接故障,那对于LSW3来说就是非直连故障了,收敛时间分析如下:
  1.链路故障后LSW1立刻认为自己的小弟LSW2没了,于是从指定端口gi0/0/2发送TC+配置BPDU报文,通知其他小弟该信息。

  2.于此同时LSW2也知道自己老大LSW1没了,于是删除老大的BPDU信息,并先打算选举根端口找找老大在哪

  3.LSW3虽然收到了老大LSW1的TC信息,但是阻塞端口gi0/0/1不能发送任何数据给兄弟SW2,我知道老大还在,但我就不告诉你

  4.小弟LSW2等了会,发现没有任何兄弟告诉它老大还在(没收到最优配置BDPU信息),于是自我膨胀认为自己可以做老大root了,于是设置所有端口为指定端口,状态为阻塞并向外宣告自己的江湖地位

  5.SW3知道SW2相当老大,但是由于SW1还活着,只能将SW2置之不理。终于20S过去了,SW3反应过来SW2的出问题了,所以将阻塞端口gi0/0/1设置为指定端口,并将最优BPDU发给SW2,需要30S将状态从blocking迁移到forwarding。

  5.LSW2在gi0/0/2收到LSW3信息后,发现老大LSW1还在,于是Gi0/0/2升级为根端口,需要30S将状态从blocking迁移到forwarding,。所以总的收敛时间在50秒以上。

  6.于是等待20S+状态迁移30S,整体收敛在50S以上。

4.根桥改变收敛

4.1 新加root设备

在这里插入图片描述
  在上述拓扑中,LSW1本来是根桥,LSW3的gi0/0/1端口阻塞,现在新加了一台LSW4,并且通过修改优先级的方式让LSW4成为新根桥,其网络收敛时间计算如下:

  1.SW4认为自己是根桥老大,所以它所有的活动端口都设置为指定端口DP,处于阻塞状态,发送配置BPDU宣告自己的地位。

  2.SW3在gi0/0/3端口收到更优的配置BPDU,它知道有新老大诞生了,于是认为gi0/0/3应该是根端口,gi0/0/1和gi0/0/2是指定端口,并将所有的端口设置为阻塞状态,然后向外发送新老大SW4的配置BPDU报文。

  3.SW1和SW2收到新老大的配置BPDU后,发现自己干不过它,只能自认为小弟,并将所有端口设置为阻塞状态,然后进行根端口,指定端口,阻塞端口选举。

  4.所有设备的端口角色选举完毕,指定端口和根端口就从blocking状态----->forwarding状态。算下来网络总体收敛时间大概在30秒左右。

4.2 其他设备升级为root

在这里插入图片描述
  原来拓扑中LSW1为根桥root,LSW3的gi0/0/1是阻塞端口AP。后来人为修改LSW3优先级,让它升级为新root,其网络收敛过程和收敛时间计算如下:
  1.LSW3发现自己的配置BPDU更优,所以升级自己为老大,将所有端口设置为阻塞状态的指定端口DP,删除原有保存的配置BPDU信息,并向外发送自己的最优信息。

  2.LSW1和LSW2都收到LSW3的老大宣言(最优BPDU),发现自己干不过它,认为自己是小弟,然后将所有端口设置为阻塞状态,并选择端口角色。

  3.设备端口角色选举完毕后,指定端口和根端口从Blocking---->forwarding,收敛时间大约在30秒左右。

发布了27 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ldg513783697/article/details/104909245
STP
8.1