BPDU Guard、Filter、LOOP Guard、ROOT Guard、portfast、uplinkfast、backbonefast

来源:本站原创 CISCO 超过10,764 views围观 0条评论

BPDU Guard、Filter、LOOP Guard、ROOT Guard、portfast、uplinkfast、backbonefast

.STP增强特性:
传统的802.1d标准的STP,有一些缺陷,比如当一个交换机检测到链路发生故障,再到网络重新收敛的时候,至少要等50秒的时间(转发延迟+BPDU 最大生存周期).当一个端工作站,比如PC或服务器,插到交换机某个端口后,该端口同样会经历STP的一些状态,比如监听和学习.但是端工作站不会引起层 2环路,因此,对于接端工做站的端口,没必要经历这相对漫长的STP收敛时间.因此CISCO提出了Port Fast这一特性.启用该特性的端口无需经历转发延迟可以直接进入转发状态,减少收敛时间.该特性类似802.1w标准里的边缘端口(EP):
clip_image001
在启用这种特性的时候,必须保证该端口连接的是端工作站,而不是交换机或者集线器等网络设备,否则会引起环路问题.另外,如果在该端口启用了语音VLAN,那么Port Fast特性也将自动被启用.
配置方式如下:
Switch(config)# spanning-tree portfast default                  /—全局启用Port Fast特性—/
Switch(config-if)# spanning-tree portfast [trunk]               /—基于接口的启用Port Fast特性—/
Switch(config-if)# spanning-tree portfast disable               /—禁用Port Fast特性—/
注意,如果要在trunk端口启用该特性,先要确保该trunk端口不会引起环路.
另外一种减少STP收敛时间的技术是Uplink Fast特性:
clip_image002
当交换机A检测到链路L2出故障后,会立刻切换到L3,从而跳过STP的监听和学习阶段(转发延迟),节约近30秒的时间达到快速收敛.另外要注意的是, 如果配置了VLAN的优先级,那么不能启用该特性.因为该特性是对所有VLAN生效而不是针对某一个VLAN生效.一旦启用该特性后,交换机的网桥优先级自动被设置为49152;如果你的链路开销小于3000,那么开销将自动增大为3000(如果大于3000则不会).该举动的意图是防止交换机(如上图里的交换机A)成为根桥.
配置方式如下:
Switch(config)# spanning-tree uplinkfast [max-update-rate pps]    /—全局启用Uplink Fast—/
可选参数值的范围是0-32000,默认每秒150个包,值越低收敛越慢.
如果照上图里,当链路L1出故障后,Uplink Fast特性就不能弥补该缺点.因此出现了Backbone Fast特性:
clip_image003
当交换机C通过下级BPDU信息(inferior BPDU)检测到L1出故障后,由于L1不是它到根桥的直连链路.因此,交换机C会发送根链路查询信息(RLQ).当收到RLQ的应答后,交换机C将自己原本处于堵塞状态的端口立即设置为转发状态(把最大生存周期的20秒给老化掉),为B提供一条到根桥的替代路径.但要经过转发延迟,也就是大约30的时间.一旦启用该特性,必须在所有的交换几上都使用.但如果此时新增加一个交换机进来,该交换机也会发送下级BPDU信息声称自己想成为根桥(野心够大啊).不过其他交换机会忽略该下级BPDU,并且交换机B会告诉它A才是根桥:
clip_image004
配置方式:
Switch(config)# spanning-tree backbonefast                            /—全局启用Backbone Fast—/
.STP环路保护机制:
BPDU Guard特性可以全局启用也可以基于基于接口的启用,两种方法稍有不同.当在启用了Port Fast特性的端口收到了BPDU后,BPDU Guard特性将关闭(err-disable)该端口(正常情况是启用了Port Fast特性的端口不可能收到BPDU).
配置方法:
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给主机:
clip_image005
如果全局配置了BPDU Filtering,当某个端口接收到了BPDU,那么交换机将把端口更改回正常的STP状态,也就是它将禁用Port Fast和BPDU Filtering特性.注意,如果在连接到其他交换机的端口上配置了BPDU Filtering,那么就有可能导致层2环路.另外,如果在与启用了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—/
一般层2网络的SP可能会有多条达到客户网络的连接.为了防止客户交换机偶然成为根桥,可以在连接到客户交换机的端口上使用Root Guard特性来避免这一问题的发生.如果STP偶然选出客户交换机的某个端口做为根端口(RP),那么Root Guard特性将把该端口设置为root-inconsistent状态(堵塞)来防止客户交换机成为根桥:
clip_image006
配置Root Guard:
Switch(config-if)# spanning-tree guard root                 /—启用Root Guard特性—/
注意,Root Guard和Loop Guard特性不可同时使用,也不要在启用了Uplink Fast特性的端口上启用该特性.该特性一旦配置后,对所有VLAN都生效.
另外,也可以使用Loop Guard技术替代端口(AP)或RP由于单向链路的故障问题成为指定端口(DP):
clip_image007
如上图,交换机A做为根桥,由于交换机B和C之间发生单向链路故障,C将不能从B那里接收到BPDU.如果没有启用该特性,那么交换机C在最大生存周期 (Max Age)计时器超时之后,交换机C上的堵塞端口将转换到监听状态,并最终会在30秒之后转换到转发状态.当交换机C的原先处于堵塞状态的端口进入到转发状态的时候,交换机B上原先的DP还处于转发状态,而一个桥接网段上只能有一个DP,因此就产生了环路.如果启用了Loop Guard特性之后,当最大生存周期超时之后,交换机C上的堵塞端口将过渡到loop-inconsistent状态(堵塞),处于该状态的端口不能传递任何流量.因此就不会产生层2环路.
配置Loop Guard:
Switch(config)# spanning-tree loopguard default   /—启用Loop Guard特性—/

注意,Loop Guard和Root Guard特性不可同时使用.

到此可以看到这两个都是对port fast带来的潜在问题的预防。

先对两种的具体区别进行比较:1.当在端口下两种都配了,则filter会起作用。2.guard不收但会发bpdu而filter不收不发,如果将两者配在了非host接口下,guard没问题,但filter会产生环路,因为对面的接口收不到bpdu会进入forward。

root guard是配在dp上的,这样来保护rp。

loop guard是配在block端口,使得此端口接受不到bpdu也保持在block状态。

root和loop的比较:同一端口两个都配了loop生效(loop默认开启,所以手动关闭才能配root)。

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=1747转载请注明转自CCIE那点事
如果喜欢:点此订阅本站
  • 相关文章
  • 为您推荐
  • 各种观点