很久以前在笔记本上画了一下,现在懒得再在电脑画啦。希望大家不要见怪。图片虽丑,五脏俱全。
1)环路防护
注:STP中没有收到BPDU的端口,将在计时器到期后过度到转发状态
解决机制:若没有接收到BPDU,将端口过度到“不一致环路”(阻塞)
若重新接收到BPDU,将端口过度到转发或STP态
switch(config-if)#spanning-tree guard loop
switch(config)#spanning-tree loopguard default
2)UDLD(单向链路检测)
注:主要用于检测链路间的连通性,因为对于全双工如果阻塞了一个方向将造成环路和黑洞。
解决机制:握手机制,通过最大生存时间计时器(20s)维持一个握手。如果超时没收到对方的信息,则执行相对应的操作
具体分为普通模式和积极模式,普通模式如果超时更改为未确认状态。积极模式将尝试8次握手,如果失败将更改为err-disable状态
[no] udld enable 注:全局开启
3)根防护
注:当把新的交换机接入分布层时,有可能因为新的交换机拥有更低的优先级而被选为根交换机。从而无意中破坏分布层的网络拓扑结构。
解决机制:不允许启用端口成为根端口,若有更好的网桥ID发送BPDU。禁用该端口
接口级:[no] spanning-tree guard root
4)BPDU防护
注:防止接入层的恶性攻击,比如把上图的host机换成交换机。则攻击者可以通过新接入的交换机获取BPDU信息,从而得到拓扑等重要信息
解决机制:若启用端口接收到BPDU,则shutdown
全局:[no] spanning-tree portfast edge bpduguard default
接口:spanning-tree bpduguard enable
5)BPDU过滤
注:和4相同
解决机制:若启用端口接收到BPDI,则丢弃
全局:spanning-tree portfast bpdufilter default
接口:spanning-tree bpdufilter enable