2.10.2 以太网 传统STP生成树(STP临时环路、STP BPDU的转发过程、根桥故障案例)
传统STP生成树
- 2.10.2 以太网 传统STP生成树(STP临时环路、STP BPDU的转发过程、根桥故障案例)
- STP临时环路:
- STP BPDU的转发过程:
- 根桥故障案例:
- 直连根桥时,根桥发生故障:
- 非直连根桥时,根桥发生故障:
- STP拓扑变更机制:
STP临时环路:
指的是STP在没有定时器(Hello计时器、转发延迟、最大老化时间)的时候,出现的临时环路现象。
- 默认情况下,LSW4处于AP阻塞状态,不会存在环路。
- 当LSW3突然成为了根桥,LSW4收到了最优BPDU,由于没有了定时器(转发延迟),AP直接成为了RP,直接进入了转发状态。
- 而此时,LSW2的RP还没变成AP阻塞端口(原因是还没有收到更优的BPDU,认为LSW1还是根桥),所以此时就是一个存在环路的网络。
- 当RP收到更优的BPDU之后,RP将转变为AP阻塞端口,网络恢复正常。
STP BPDU的转发过程:
- STP模式下的交换网络,只有根桥发送BPDU,非根桥设备负责转发BPDU。
- 转发BPDU时会修改其SMAC为自身设备MAC,但DMAC不变(01:80:c2:00:00:00)
根桥故障案例:
直连根桥时,根桥发生故障:
- 当根桥LSW故障(假设直连电源断开了)
- LSW1、LSW2会因为RP端口断开而触发重新选举根桥,直接向外发送BPDU并标识自己为根桥。
- 经过两次转发延迟时间之后(30秒)如果没有收到比自己更优的BPDU,自己成为根桥。
- 假设:LSW1因为根桥故障之后只剩下了一个阻塞端口,那么该端口需要经过20秒的老化时间转换成其它端口状态后再重新进行发送BPDU。
非直连根桥时,根桥发生故障:
- 因为LSW与LSW3、LSW4之间相隔着一个HUB,当LSW故障之后,LSW3的RP口并不会马上感知到LSW故障。
- LSW3、LSW4需要进行等待20秒的老化时间之后,RP端口才会失效,同时进行根桥的重新选举。
- 非直连故障是需要花费的时间:20秒的老化+重新选举的转发延迟时间30秒=50秒。
STP拓扑变更机制:
-
当拓扑发生变更之后,非根桥设备将以Hello间隔为准,定时向RP端口发送**STP组播(01:80:C2:00:00:00)**的TCN BPDU报文。
- TCP BPDU【BPDU Type=0x80(TCN),TCN报文不会有Flags等字段信息】
- 如何定义拓扑变更?
- 生成树就是为了解决交换网络环路产生的地址漂移,而端口状态没有成为forwarding转发状态,固然不会转发用户流量从而造成mac地址漂移,所以说有端口成为转发状态将会认为拓扑改变,但从转发转成Disabled状态认为拓扑发生变更。
- 除此之外,RP失效或进入转发状态也会认为拓扑发生了变更。
-
如果非根桥与根桥之间还存在一定距离,其中间的非根桥设备在此称为中间设备。
- 中间设备收到TCN BPDU之后,修改SMAC后,继续向根桥方向转发该TCN BPDU。
- 以此同时为了让发来TCN BPDU的下游设备停止发送,还需要向下游设备回复TCA BPDU报文,让下游停止发送TCN BPDU。
- 中间设备反复进行向根桥转发TCN BPDU,直到根桥成功收到TCN BPDU
-
根桥收到之后,向下游发送TCA BPDU的同时,持续发送35秒的TC BPDU报文,通知下游交换机进行删除自己的MAC地址表项。
- 将MAC地址表默认300秒老化时间,临时调整为15秒,15秒之后恢复默认。只要用户流量还在通信,其MAC地址就不会老化消失,很大程度上提高了网络通信的可靠性。
- 对于TC BPDU下游设备并不会向根桥回复确认,因为根桥会持续35秒发送TC BPDU。
- 为什么要刷新MAC地址?
- 如果不刷新MAC地址,设备还是保留拓扑变化前学习的MAC地址进行数据转发,容易出现数据的错误转发。