STP保护机制简述
1 BPDU保护
在STP中,如果网桥连接的终端设备,会将连接该终端设备的端口设置为边缘端口以实现这些端口的快速迁移。正常情况下,边缘端口不会收到BPDU,但如果有人伪造BPDU发送给交换机的边缘端口或意外将边缘端口连接到运行STP的设备时,系统会自动将边缘端口设置为非边缘端口,重新进行生产数的计算,这将引起网络拓扑的振荡。
解决该网络拓扑振荡的方案是在边缘端口启用BPDU保护,在启用该种保护之后,当边缘端口再次收到BPDU报文之后,系统会自动关闭着端口。
命令:
在全局视图:stp bpdu-protection
边缘端口视图:stp edged-port enable
2 根桥保护
由于维护人员的错误配置或网络中的恶意攻击,网络中的合法根桥有可能会收到优先级更高的BPDU,这样当前根桥会失去根桥的地位,引起网络拓扑结构的变动,从而是链路负载分配不合理。
解决根桥变动问题得方案是启用根桥保护机制,在启用根桥保护机制之后,端口角色只能保持在指定端口,一旦这种端口上收到优先级更高的BPDU,这些端口的状态将会被设置为Listerning状态,不再转发报文(相当于将此端口相连的链路断开)。
端口经历从Listerning状态到Forwarding状态的转变,在此期间如果端口没有收到更优的BPDU时,端口会恢复原来的转发状态。
开启根桥保护命令:
在端口视图下:stp root-protection
3 环路保护
交换机各端口的STP状态依靠不断接收上游交换机发送的BPDU来维护,当因链路拥塞或单向链路故障,根端口会收不到上游的BPDU,此时下游交换机会重新选择根端口,原来的根端口经过计算之后变为指定端口,而原来的阻塞端口重新计算之后变为根端口而迁移到转发状态,从而使得交换机网络中会产生环路。
解决这个产生环路的方案就是启用环路保护机制,在启用环路保护机制之后,当端口保存的BPDU老化之后,环路保护生效。根端口的角色如果发生变化就会变为Discardign状态,不再发送报文,从而不会在网络中形成环路。Discarding会一直维持,直到端口再次收到BPDU,重新成为根端口。
在MSTP中,此功能对根端口、Alternate端口和Backup端口有效。
启用命令:
在端口视图:stp loop-protection
注:不能再端口上同时启用 环路保护、根桥保护、边缘端口 中的任意两种。
4 TC保护
当交换机在接受到TC-BPDU报文后,会执行MAC地址表项和ARP表项的删除操作(ARP表项是通过MAC地址的删除而更新的,不是直接删除)。在有人伪造TC-BPDU报文恶意攻击交换机时,交换机短时间内会收到很多的TC-BPDU报文,频繁的删除操作会给交换机带来很大的负担,给网络的稳定带来很大隐患。
解决这个发送恶意TC-BPDU的方案是启用TC保护机制,TC保护功能使能后,设备再收到TC-BDPU报文的10s内,允许收到的TC-BPDU报文后立即进行地质表项的删除,操作的次数可以由用户控制(次数限制为X)。同时系统会监控在该时间段内收到的TC-BPDU报文数是否大于X,如果大于X。则设备再该时间超时后再进行一次地址表项删除操作,这样可以避免频繁地删除转发地址表项。
TC保护使能命令:
在全局视图下:stp tc-protection enable
在全局视图下:stp tc-protection threshold X (默认为6次)