STP也可能遭受到各种类型的攻击,所以STP的保护工作也非常重要
 
对接入端口的保护:Root GuardBPDU Guard
对于接入端口而言,可能临时新连接一台交换机在其下,而这可能会引起STP拓扑不必要的变化。要防止此问题,可以在接入端口激活BPDU GuardRoot Guard来监控是否有BPDU进入。它们的基本操作如下:
1BPDU Guard:在每个端口上激活;如果接收到任何BPDU,该端口即被屏蔽。配置后可自动恢复。
2Root Guard:在每个端口上激活;忽略任何优先级更高的BPDU,这样可以阻止连接在此端口的交换机成为根交换机。无需配置即可自动恢复。
 
对中继端口的保护:UDLDLoop Guard
对于中继端口而言,最主要的问题是要避免因为单向(Unidirectional)链路(链路一端失败,可能是因为一端接插问题而引起)的存在而导致交换机端口错误地从阻塞状态转换到转发状态。解决这个问题的办法是:UDLD(两种模式)和Loop Guard,具体操作如下:
1UDLD:使用第二层消息来决定什么时候交换机不再由邻接交换机接收帧,交换机未失败的传输接口置为错误屏蔽状态。配置后可自动恢复。
2UDLD aggressive mode:当接收不到另一交换机消息时,先试图重连(8次),如果仍然没有反应,那么两端都置为错误屏蔽状态。配置后可自动恢复。
3Loop Guard:当接收不到正常的BPDU时,端口不再进行正常的STP收敛,而是进入STP环路冲突(loop-inconsistent)状态。无需配置即可自动恢复。