bpduguard/bpdufilter/loopguard 特性总结

BPDU Guard使具备PortFast特性的端口在接收到BPDU时进入err-disable状态来避免桥接环路,其可在全局或接口下进行配置(默认关闭),可使用errdisable recovery cause bpduguard命令开启端口状态的自动恢复。
 
不同于BPDU防护,BPDU Filter配置于全局/接口模式时,功能有所不同,当启用于PortFast端口模式时,交换机将不发送任何BPDU,并且把接收到的所有BPDU都丢弃;而启用于全局模式时,端口在接收到任何BPDU时,将丢弃PortFast状态和BPDU过滤特性,更改回正常的STP操作,BPDU Filter特性默认关闭。
 
当同时启用bpduguard与bpdufilter时,bpdufilter优先级较高,bpduguard将失效。
 
LOOP Guard主要用来避免阻塞端口错误地过渡到转发状态而产生桥接环路的情况;当交换机在启用loopguard特性的非指定端口上停止接收BPDU时,交换机将使得端口进入STP“不一致环路”(inconsistentports)阻塞状态,当不一致端口再次收到BPDU时,端口将根据BPDU自动过滤到STP状态。通过sh spanning-tree inconsistentports命令可以查看不一致端口状态。loopguard特性默认开启。
 
 
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)该端口 端口处于err-disable状态时必须手动才能把此端口回复为正常状态。
配置方法:
Switch(config)# spanning-tree portfast bpduguard default          /---在启用了Port Fast特性的端口上启用BPDU Guard---/
Switch(config-if)# spanning-tree bpduguard enable                        /---在不启用Port Fast特性的情况下启用BPDU Guard---/


BPDU Filtering特性和BPDU Guard特性非常类似.通过使用BPDU Filtering,将能够防止交换机在启用了Port Fast特性的端口上发送BPDU给主机。

如果全局配置了BPDU Filtering,当某个端口接收到了BPDU,那么交换机将把端口更改回正常的STP状态,也就是它将禁用Port Fast和BPDU Filtering特性。
注意,如果在连接到其他交换机的端口上配置了BPDU Filtering,那么就有可能导致层2环路(Prevent from sending and receiving BPDU).另外,如果在与启用了BPDU Filtering的相同端口上配置了BPDU Guard特性,所以BPDU Guard将不起作用,起作用的将是BPDU Filtering.
配置BPDU Filtering:
Switch(config)# spanning-tree portfast bpdufilter default              /---在启用了Port Fast特性的端口上启用BPDU Filtering---/
Switch(config-if)# spanning-tree bpdufilter enable                          /---在不启用Port Fast特性的情况下启用BPDU Filtering---/
spanning-tree portfast?
设置该端口为快速端口

把一个port设置了portfast,就是让那个port不再使用STP的算法。
在STP中,port有5个状态:disable、blocking、listening、learning、forwarding。
只有forwarding状态,port才能发送用户数据。如果一个port一开始是没有接pc,一旦pc接上,就会经历blocking->listening->learing->forwarding,每个状态的变化要经历一段时间,这样总共会有3个阶段时间,缺省的配置要50秒钟。这样从pc接上网线,到能发送用户数据,需要等50秒的时间,但如果设置了portfast,那就不需要等待这50秒了。



在基于IOS的交换机端口上启用或禁用Port Fast 特征:
switch(config-if)#spanning-tree portfast
在1900上启用 : spantree start-forwarding 取消:no spantree start-forwarding
在基于CLI的交换机端口上启用或禁用Port Fast 特征:
switch(enable) set spantree portfast {module/port}{enable|disable}


portfast只能用在接入层,也就是说交换机的端口是接HOST的才能起用portfast,如果是接交换机的就一定不能启用,否则会造成新的环路.
起用portfast往往是因为一些应用的要求,cisco是建议将符合条件的port设置成portfast的.

PS:

将SWITCH的端口设置为spanning-tree portfast后,如果这个端口接到其他SWITCH或者HUB上就可能造成环路问题。加上spanning-tree bpduguard enable之后,当这个端口在收到BPDU包后就会进入errdisable状态,从而避免环路。


1 portfast 能将2层端口立即进行转发状态 回避了监听和学习状态。
正常状态 阻塞-》监听�D》学习-》转发
portfast 阻塞-》转发

portfast 可以防止DHCP超时 Novell进入问题 APPLETALK地址问题

使用方法
接口
spanning-tree portfast
接入层时,可以让Portfast全部启用。但注意在上连端口要关闭生成树
spanning-tree portfast default

如果启用了Portfast特性的端口接收了BPDU。 (接了交换机) 此时这个端口。将进入 (err-disable) 这种特性。可以防止网络环路问题发生。
在当网管就碰成此类问题。一个客户说用了我们交换机。在DOS拿不到IP address 。但在WINDOWS能拿到。
  经观察发现是等拿IP ADDRESS时间太长了。当了到达某段时间后。就超时了拿不到IP了
该交换机不是思科的。但有STP协议。所以不能用portfast,故我将接入端的端口的STP都关了之后。就可以很快拿到IP了。

你可能感兴趣的:(职场,休闲,bpduguard,bpdufilter,loopguard)