注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

CCIE那点事-李萧明

博客已转移到www.jdccie.com CCIE那点事敬请期待

 
 
 

日志

 
 

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

2012-05-22 14:58:00|  分类: 基础概念 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
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):

BPDU Guard、Filter、LOOP Guard、ROOT Guard、portfast、uplinkfast、backbonefast - dc31151 - 李萧明
在启用这种特性的时候,必须保证该端口连接的是端工作站,而不是交换机或者集线器等网络设备,否则会引起环路问题.另外,如果在该端口启用了语音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特性:

BPDU Guard、Filter、LOOP Guard、ROOT Guard、portfast、uplinkfast、backbonefast - dc31151 - 李萧明
当交换机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特性:

BPDU Guard、Filter、LOOP Guard、ROOT Guard、portfast、uplinkfast、backbonefast - dc31151 - 李萧明
当交换机C通过下级BPDU信息(inferior BPDU)检测到L1出故障后,由于L1不是它到根桥的直连链路.因此,交换机C会发送根链路查询信息(RLQ).当收到RLQ的应答后,交换机C将自己原本处于堵塞状态的端口立即设置为转发状态(把最大生存周期的20秒给老化掉),为B提供一条到根桥的替代路径.但要经过转发延迟,也就是大约30的时间.一旦启用该特性,必须在所有的交换几上都使用.但如果此时新增加一个交换机进来,该交换机也会发送下级BPDU信息声称自己想成为根桥(野心够大啊).不过其他交换机会忽略该下级BPDU,并且交换机B会告诉它A才是根桥:

BPDU Guard、Filter、LOOP Guard、ROOT Guard、portfast、uplinkfast、backbonefast - dc31151 - 李萧明
配置方式:
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给主机:

BPDU Guard、Filter、LOOP Guard、ROOT Guard、portfast、uplinkfast、backbonefast - dc31151 - 李萧明
如果全局配置了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状态(堵塞)来防止客户交换机成为根桥:

BPDU Guard、Filter、LOOP Guard、ROOT Guard、portfast、uplinkfast、backbonefast - dc31151 - 李萧明
配置Root Guard:
Switch(config-if)# spanning-tree guard root                 /---启用Root Guard特性---/
注意,Root Guard和Loop Guard特性不可同时使用,也不要在启用了Uplink Fast特性的端口上启用该特性.该特性一旦配置后,对所有VLAN都生效.

另外,也可以使用Loop Guard技术替代端口(AP)或RP由于单向链路的故障问题成为指定端口(DP):

BPDU Guard、Filter、LOOP Guard、ROOT Guard、portfast、uplinkfast、backbonefast - dc31151 - 李萧明
如上图,交换机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)。

  评论这张
 
阅读(25)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018