
STP的生成过程
生成树的选举过程
1.选举Root(生成树的端口角色)
2.在所有非根交换机上选RP根端口(有且只有一个的)
3.在所有链路上选择DP指定端口(有且只有一个的)
4.最后剩下来的啥也不是的为称为AP端口
生成树的端口状态
1.Disabled关闭
2.Blocking堵塞-----------AP端口(华为的体现为RSTP的Discarding丢弃状态)
3.Listening监听
4.Learning学习
5.Forwarding转发----------DP,RP端口
生成树端口状态切变化切换
1.端口初始化或者使能,进入Blocking状态。-----生成树初始阶段。不管有环没环统统当作有环处理,堵塞
2.端口被选为根端口或者指定端口,进入Listening状态。
3.端口的Forward Delay时间到,进入Learning状态;再经过一个Forward Delay,进入Forwarding状态。
------Forwarding是最终状态,在进入最终稳定的状态之前要先经历两个Lis和Lrn两个转发延转(各15秒,华为设备的STP是修改过的版本。更接近于RSTP的概念,所以看不到Listening鉴定状态,只能看到Discarding状态为15秒)
4.端口不再是根端口、指定端口,进入Blocking状态。------如果是选举结果是AP端口,那么直接堵塞
5.端口被禁用或者链路失效。----Disable状态
直连故障 30秒
非直连故障 。理论50秒。因为中间会收到次优BPDU,标准STP会先等20秒,而华为的优化机制是一受到次制BPDU。直转转发最优BPDU。并且更改端口角色。因此。实际上华为也是30秒。
STP的直连故障和非直连故障收敛测试
正常实况
直连故障
经过大概30s,端口进入转发状态,其中发送拓扑改变报文TCN后的报文中BPDU flags中两个置位都为1。
非直连故障
也经过大概30s(华为的优化机制是一受到次制BPDU。直转转发最优BPDU)
STP拓扑变更机制
拓扑变更,STP处理过程:
当交换机检测到拓扑更改时,会通知生成树的根桥,然后根桥将该拓扑更改信息泛洪到整个网络。拓扑变化过程,如图:
1、如果网络中新增一台交换机,导致工作拓扑发生变化,则位于变化点的交换机可以通过端口状态直接感知到这种变化,但其他的交换机是无法直接感知到的。
2、位于变化点的交换机会以Hello Time(缺省2s)为周期通过其根端口不断向上游发送TCN BPDU,直到接收到从上游交换机发来的、TCA位置1的配置BPDU。TCA位置1是为了通知下游设备停止发送TCN BPDU报文。
3、上游交换机收到TCN BPDU后,一方面会通过其指定端口回复TCA位置1的配置BPDU,另一方面会以Hello Time为周期通过其根端口不断向它的上游发送TCN BPDU。这个过程一直重复,直到根桥收到TCN BPDU。
4、根桥收到TCN BPDU后,会发送TC位置1的配置BPDU,通告所有交换机网络拓扑发生了变化,通知下游设备直接删除桥MAC地址表项。
