由portfast谈生成树防护!
2010-01-18 22:13
253 查看
传统的802.1d标准的STP,有一些缺陷,比如当一个交换机检测到链路发生故障,再到网络重新收敛的时候,至少要等50秒的时间(转发延迟+BPDU最大生存周期)。而在RSTP上由于减少了交换机端口的状态,端口状态只有丢弃、学习和转发,当链路出现故障时能在大大的缩短故障时间。
而当一个端工作站,比如PC或服务器,插到交换机某个端口后,该端口同样会经历STP的一些状态,比如监听和学习。但是端工作站不会引起层二层的环路,因此,对于接端工做站的端口,没必要经历这相对漫长的STP收敛时间。因此提出了Port Fast这一特性。启用该特性的端口无需
经历转发延迟可以直接进入转发状态,减少收敛时间。交换机配置portfast有两种方式,当然起的作用范围也不同了:
1、端口模式下:(仅对当前端口有效) SNC(config)#int f0/1 //进入端口模式 SNC(config-if)#spanning-tree portfast //开启portfast SNC(config-if)#spanning-tree portfast disabled //关闭portfast属性 2、全局模式下:(对当前所有端口有效,常用于连接服务器区主机) SNC(config)#spanning-tree portfast default //全局模式下开启portfast SNC(config)#no spanning-tree portfast default //全局模式下关闭portfast
但是这样处理的话又出现这样一个问题:当交换机的端口连接一个小HUB时该端口还可以设置成为portfast模式吗?要是设置了的话那么同个HUB上出现了环路又该怎么办呢?比如在我们的宿舍中,只有一个信息插座,要想集体上网的话只能选用HUB。
一般而言,因为小HUB不支持STP所以其不算真正的交换机,这个时候我们仍然可以设置交换机连接HUB的口为portfast接口。但是此时我们要使用Bpduguard这一属性来防止宿舍内出现环路。Bpduguard的功能是当这个端口收到任何的BPDU就马上设为Error-Disabled状态。
我们知道,当交换机STP功能启用的时候,默认所有端口都会参与STP,并发送和接受BPDU。 当Bpduguard开启后,在正常情况下,一个下联寝室的端口是不会收到任何BPDU的,因为PC和小交换机都不支持STP,所以不会收发BPDU。当这个端口下如果有自回环的环路,那么它发出
去的BPDU在小交换机上回环后就会被自己接收到,这个时候BPDU GUARD就会把它立刻设为Error-Disabled状态,这个端口就相当于被关闭了,不会转发任何数据,也就切断了环路,保护了整个网络。
SNC(config)#int f0/1 //进入端口模式 SNC(config-if)#spanning-tree bpduguard enabled //开启bpduguard SNC(config-if)#spanning-tree bpduguard disabled //关闭bpduguard
因此在宿舍楼对交换机进行配置时要特别注意为所有的端口开启bpduguard保护特性,以防宿舍内不小心出现环路而对整个网络产生破坏。
同时在处理宿舍连网故障过程中要特别注意是不是宿舍环路故障引起的问题。此时的现象就是交换机连接相应宿舍端口的灯不亮,这可以算是在线路故障排除后的最重要一个环节。话说回来了,排除故障时要灵活,尤其是要注意查看日志,对于由于出现环路而产生的端口假死不能产生的
故障通过日志是很容易发现的。当确定是环路故障后,首先要将环路清除掉,然后在全局模式下执行下述命令即可解决:
在锐捷交换机上是: SNC#conf t SNC(config)#errdisable recovery
而在cisco3550的交换机上是: SNC#conf t SNC(config)#errdisable recovery cause ? //然后根据实际情况进行选择 all Enable timer to recover from all causes bpduguard Enable timer to recover from BPDU Guard error disable state channel-misconfig Enable timer to recover from channel misconfig disable state dhcp-rate-limit Enable timer to recover from dhcp-rate-limit error disable state dtp-flap Enable timer to recover from dtp-flap error disable state gbic-invalid Enable timer to recover from invalid GBIC error disable state l2ptguard Enable timer to recover from l2protocol-tunnel error disable state link-flap Enable timer to recover from link-flap error disable state loopback Enable timer to recover from loopback detected disable state pagp-flap Enable timer to recover from pagp-flap error disable state psecure-violation Enable timer to recover from psecure violation disable state security-violation Enable timer to recover from 802.1x violation disable state udld Enable timer to recover from udld error disable state unicast-flood Enable timer to recover from unicast flood disable state vmps Enable timer to recover from vmps shutdown error disable state SNC(config)#errdisable recovery cause loopback
各种交换机随着IOS不同命令也不同,原理清楚了就一切好办了!
*注意:记得要在全局模式下开启生成树啊(有些交换机默认已经开启了生成树功能)本文出自 “艳阳天的小窝” 博客,请务必保留此出处http://yytian.blog.51cto.com/535845/267853
相关文章推荐
- 由portfast谈生成树防护!
- switch分解试验部分-LAB7:生成树防护(STP Guard)
- 第八届河南省赛 引水工程【最小生成树(克鲁斯卡尔)】
- 【面试题】腾讯面试题之生成格雷码
- 词法分析器生成工具flex
- Day22 - 鼠标锚点动画生成指南
- [Day 1] 7.3.1 子集生成-增量构造法
- IP包的生成和发送接口(转载)
- .net文档生成工具2.0 支持自定义文档生成器【转:http://www.cnblogs.com/lucc/archive/2008/09/05/1284762.html】
- 在Linux下如何使用GCC编译程序、简单生成静态库及动态库
- 索引被更改时会生成undo,redo吗
- Powerdesigner逆向工程从sql server数据库生成pdm
- Android下生成pdf并显示中文
- Steinhaus-Johnson-Trotter 生成全排列算法
- 随机数的生成
- QT生成excel文件
- Java进阶之Hibernate主键生成策略详解
- matlab中生成无重复随机整数的方法
- QT 运行QMake生成Pro项目文件
- 寒假集训最小生成树专题