学习日记Day22:STP拓扑改变导致MAC地址表错误和感知拓扑改变

文章目录

        • 1.拓扑改变导致MAC地址表错误。
        • 2.感知拓扑改变。

1.拓扑改变导致MAC地址表错误。

学习日记Day22:STP拓扑改变导致MAC地址表错误和感知拓扑改变_第1张图片
        本例中,SW3中的MAC地址表项定义了通过端口GigabitEthernet 0/0/2可以到达主机1,通过端口GigabitEthernet 0/0/3可以到达主机2。由于SW2的根端口产生故障,导致生成树拓扑重新收敛,在生成树拓扑完成收敛之后,从主机1到主机2的帧仍然不能到达目的地。这是因为MAC地址表项老化时间是300秒,主机2发往主机1的帧到达SW3后,SW3会继续通过端口GigabitEthernet 0/0/2转发该数据帧。那么该怎么快速恢复转发?
                        学习日记Day22:STP拓扑改变导致MAC地址表错误和感知拓扑改变_第2张图片
        拓扑变更以及MAC地址表项更新的具体过程如下:

  • SW2感知到网络拓扑发生变化后,会立即向SW3发送TCN BPDU报文。
  • SW3收到SW2发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SW3,告知SW3我已经收到你发送的TCN BPDU。
  • SW3向根桥转发TCN BPDU报文。
  • SW1把配置BPDU报文中的Flags的TC位和TCA位设置为1后发送,通知下游设备我已经收到你发送的TCN BPDU,并通知下游交换机把MAC地址表项的老化时间由默认的300 s修改为Forward Delay的时间(默认为15 s),之后会持续不断的发送TC bit = 1的BPDU持续35s。
  • 最多等待15 s之后,SW3中的错误MAC地址表项会被自动清除。此后,SW3就能重新开始MAC表项的学习及转发操作。

2.感知拓扑改变。

        什么情况下STP会感知到拓扑发生了改变呢?有下面四种!

(1)当DP端口进入到Forwarding状态认为拓扑发生了改变。
                        学习日记Day22:STP拓扑改变导致MAC地址表错误和感知拓扑改变_第3张图片
        如上图当S2的g0/0/3接口(与主机直接相连的接口都是DP端口)经过大概30s进入到Forwarding状态之后,S2的RP端口会立即向根桥发送一个TCN BPDU告知根桥拓扑发生了改变,根桥也会向S2交换机回复一个TC bit = 1和TCA bit = 1的BPDU,并且根桥会将TC bit = 1的报文泛洪到全网交换机,持续35s。 S3的DP接口从shutdown重新进入到Forwarding状态与此情况类似。

(2)根桥的DP失效直接发送TC BPDU。
                        学习日记Day22:STP拓扑改变导致MAC地址表错误和感知拓扑改变_第4张图片
        如上图,当根桥的DP失效之后,S3交换机的RP也随即失效,DP立即成为RP并向S2的AP持续不断的发送TCN BPDU。当S2的AP经过大概30s进入到Forwarding状态之后会向S3的DP回复一个TCA bit = 1的BPDU,告知S3我已收到你发送的TCN BPDU并且通过自己的RP将TCN BPDU发送给根桥,根桥也会向S2交换机回复一个TC bit = 1和TCA bit = 1的BPDU,并且根桥会将TC bit = 1的报文泛洪到全网交换机持续35s。

(3)RP失效或者RP进入到Forwarding状态。
        S3的RP失效其实等同于根桥的DP失效导致S3的RP失效。S2的RP失效等同于 1.拓扑改变导致MAC地址表错误。
(4)非根桥的DP端口失效不认为拓扑发生了改变。
学习日记Day22:STP拓扑改变导致MAC地址表错误和感知拓扑改变_第5张图片
       如上图两种情况,非根桥的DP失效都不会认为拓扑发生了改变。

你可能感兴趣的:(华为数通IA学习日记,交换机,网络,STP)