详谈STP、RSTP、MSTP三者不同之处 mstp和stp的区别( 二 )


5. 重复步骤 1、2、3、4,直到根桥收到 TCN BPDU 报文 。
6. 根桥把配置 BPDU 报文中的 Flags 的 TC 位置 1 后发送,通知下游设备直接删除桥
MAC 地址表项 。
说明:
? TCN BPDU 报文主要用来向上游设备乃至根桥通知拓扑变化 。
? 置位的TCA标记的配置BPDU报文主要是上游设备用来告知下游设备已经知道拓扑
变化,通知下游设备停止发送 TCN BPDU 报文 。
? 置位的 TC 标记的配置 BPDU 报文主要是上游设备用来告知下游设备拓扑发生变化,请下游设备直接删除桥 MAC 地址表项,从而达到快速收敛的目的 。
RSTP 拓扑变化处理
在 RSTP 中检测拓扑是否发生变化只有一个标准:一个非边缘端口迁移到 Forwarding状态 。
一旦检测到拓扑发生变化,将进行如下处理:
? 为本交换设备的所有非边缘指定端口启动一个 TC While Timer,该计时器值是 Hello Time 的两倍 。在这个时间内,清空状态从 Forwarding 到 Discarding 的端口上学习到的 MAC 地址 。同时,由这些端口向外发送 RST BPDU,其中 TC 置位 。一旦 TC While Timer 超时,则停止发送 RST BPDU 。
? 其他交换设备接收到 RST BPDU后,清空所有端口学习到 MAC 地址,除了收到 RST BPDU 的端口 。然后也为自己所有的非边缘指定端口和根端口启动 TC While Timer,重复上述过程 。
如此,网络中就会产生 RST BPDU 的泛洪 。
6、 增加防护机制
RSTP 提供的保护功能有:
(1) BPDU 保护
在交换设备上,通常将直接与用户终端(如 PC 机)或文件服务器等非交换设备相连的端口配置为边缘端口 。正常情况下,边缘端口不会收到 RST BPDU 。如果有人伪造 RST BPDU 恶意攻击交换设备,当边缘端口接收到 RST BPDU 时,交换设备会自动将边缘端口设置为非边缘端口,并重新进行生成树计算,从而引起网络震荡 。
交换设备上启动了 BPDU 保护功能后,如果边缘端口收到 RST BPDU,边缘端口将被error-down,但是边缘端口属性不变,同时通知网管系统 。
(2) 根保护
由于维护人员的错误配置或网络中的恶意攻击,网络中合法根桥有可能会收到优先级更高的 RST BPDU,使得合法根桥失去根地位,从而引起网络拓扑结构的错误变动 。这种不合法的拓扑变化,会导致原来应该通过高速链路的流量被牵引到低速链路上,造成网络拥塞 。
对于启用 Root 保护功能的指定端口,其端口角色只能保持为指定端口 。一旦启用Root 保护功能的指定端口收到优先级更高的 RST BPDU 时,端口状态将进入 Discarding 状态,不再转发报文 。在经过一段时间(通常为两倍的 Forward Delay),如果端口一直没有再收到优先级较高的 RST BPDU,端口会自动恢复到正常的 Forwarding 状态 。
说明: Root 保护功能只能在指定端口上配置生效 。
(3) 环路保护
在运行 RSTP 协议的网络中,根端口和其他阻塞端口状态是依靠不断接收来自上游交换设备的 RST BPDU 维持 。当由于链路拥塞或者单向链路故障导致这些端口收不到来自上游交换设备的 RST BPDU 时,此时交换设备会重新选择根端口 。原先的根端口会转变为指定端口,而原先的阻塞端口会迁移到转发状态,从而造成交换网络中可能产生环路 。
在启动了环路保护功能后,如果根端口或 Alternate 端口长时间收不到来自上游设备的 BPDU 报文时,则向网管发出通知信息(此时根端口会进入 Discarding 状态,角色切换为指定端口),而 Alternate 端口则会一直保持在阻塞状态(角色也会切换为指定端口),不转发报文,从而不会在网络中形成环路 。直到链路不再拥塞或单向链路故障恢复,端口重新收到 BPDU 报文进行协商,并恢复到链路拥塞或者单向链路故障前的角色和状态 。
说明:
环路保护功能只能在根端口或 Alternate 端口上配置生效 。
(4) 防 TC-BPDU 攻击
交换设备在接收到 TC BPDU 报文后,会执行 MAC 地址表项和 ARP 表项的删除操作 。如果有人伪造 TC BPDU 报文恶意攻击交换设备时,交换设备短时间内会收到很多 TC BPDU 报文,频繁的删除操作会给设备造成很大的负担,给网络的稳定带来很大隐患 。启用防 TC-BPDU 报文攻击功能后,在单位时间内,交换设备处理 TC BPDU 报文的次数可配置 。如果在单位时间内,交换设备在收到 TC BPDU 报文数量大于配置的阈值,那么设备只会处理阈值指定的次数 。对于其他超出阈值的 TC BPDU 报文,定时器到期后设备只对其统一处理一次 。这样可以避免频繁的删除 MAC 地址表项和 ARP 表项,从而达到保护设备的目的 。

推荐阅读