STP的保护机制
BPDU Guard
是用来防止因portfast端口而导致交换网络中出现循环的一种STP保护特性。配置了BPDU guard的portfast端口在收到BPDU时便会进入errdisable状态。
bpduguard的全局开启与接口开启是与portfast的全局开启和接口开启对应的。
SW(config)#spanning-tree portfast bpduguard default (全局开启)
SW(config-if)#spanning-tree bpduguard enable (接口开启)
当STP BPDU guard禁用了端口,该端口会始终处于errdisable状态。恢复到正常端口状态有以下两种方式:
手动通过shutdown/no shutdown重新激活;
通过设置时间周期自动恢复;
Switch(config)#errdisable recovery cause bpduguard
Switch(config)#errdisable recovery interval 400
BPDU Filter
其特性非常类似于BPDU Guard,也是定义于portfast端口上,但它所执行的动作比BPDP Guard要轻一些,使用该机制的端口不会发送配置BPDU。
而且能完全保证新增的交换机既不影响原有网络的同时又能与网络中的其他主机正常通信。
SW(config)#spanning-tree portfast bpdufilter default(全局开启)
//porstfast端口不发送配置BPDU,收到BPDU后,转入正常STP收敛
SW(config-if)#spanning-tree bpdufilter enable (接口开启)
ROOT Guard
根保护确保启用了根保护的端口成为指定端口,根保护是基于每端口配置的,并且不允许该端口成为一个STP根端口。
设置了根保护的端口如果收到了一个优于原BPDU的新的BPDU,它将把本端口设为root-inconsIistent状态,相当于监听状态。该状态下不会收发数据,不会成为根端口,只会监听BPDU。当停止接受错误的最优BPDU时,该端口经历生成树过程后自动恢复。
接口模式下:spanning-tree root guard
UDLD单向链路检测
作用:
检测一对光纤链路收发是否存在故障,如果存在单向链路故障容易导致环路发生
UDLD的工作原理:
周期性发送UDLD二层帧(UDLD hello包),对端会有UDLD的回应,说明链路正常
若三个UDLD hello周期没收到对端UDLD的回应,则认为链路出现单向故障。
全局或光纤接口下单独启用:udld { aggressive | enable | disable }
Aggressive 模式:端口进入到errdisable状态下就不可用了
Enable一般模式:端口进入到undetermined状态并产生syslog,端口仍然可用
LOOP Detection
默认启用,通过自动检测并判断本设备下游是不是存在环路,如果存在环路,则该接口不可用