BPDU GUARD的 功能是当这个端口收到任何的BPDU就马上设为Error-Disabled状态。我们知道,当交换机STP功能启用的时候,默认所有端口都会参与 STP,并发送和接受BPDU,当BPDU GUARD开启后,在正常情况下,一个下联的端口是不会收到任何BPDU的,因为PC和非网管换机都不支持STP,所以不会收发BPDU.当这个端口下如 果有自回环的环路,那么它发出去的BPDU在非网管换机上回环后就会被自己接收到,这个时候BPDU GUARD就会把它立刻设为Error-Disabled状态,这个端口就相当于被关闭了,不会转发任何数据,也就切断了环路,保护了整个网络。
BPDU Guard特性可以全局启用也可以基于基于接口的启用,两种方法稍有不同。
当在启用了Port Fast特性的端口收到了BPDU后,BPDU Guard将关闭该端口,使该端口处于err-disable状态,这时必须手动才能把此端口回复为正常状态。
配置BPDU Guard:
Switch(config)# spanning-tree portfast bpduguard default /---在启用了PortFast特性的端口上启用BPDUguard---/
Switch(config-if)# spanning-tree bpduguard enable /---在没启用PortFast特性的情况下启用BPDUguard---/
BPDU Filtering
特性和BPDU Guard特性非常类似。通过使用BPDU Filtering,将能够防止交换机在启用了Port Fast特性的端口上发送BPDU给主机。
如果全局配置了BPDU Filtering,当某个Port Fast端口接收到了BPDU,那么交换机将禁用Port Fast和BPDU Filtering特性,把端口更改回正常的STP状态。
如果在单独的Port Fast端口启用BPDU Filtering,此端口将不发送任何的BPDU并忽略所有接收到的BPDU.
注 意,如果在连接到其他交换机的端口(不是连的主机的端口)上配置了BPDUFiltering,那么就有可能导致层2环路(Prevent from sending and receiving BPDU)。另外,如果在与启用了BPDU Filtering的相同端口上配置了BPDU Guard特性,所以BPDU Guard将不起作用,起作用的将是BPDU Filtering.