最近玩<FINAL FANTASY XII>玩的很郁闷,因此换换口味,抽空找了点时间随便写写.本文描述了交换机中err-disabled状态的产生和解决方法.该特性分别支持运行CISCO IOS和CatOS的交换机.转载请保留作者信息:
作者:红头发(aka CCIE#15101/JNCIP Candidate)
出处:
http://www.91lab.com

一.err-disabled状态的作用:
通常情况下,如果交换机运转正常,其中端口一项显示为启用(enable)状态.但是如果交换机的软件(CISCO IOS/CatOS)检测到端口的一些错误,端口将随即被关闭.也就是说,当交换机的操作系统检测到交换机端口发生些错误事件的时候,交换机将自动关闭该端口.

当端口处于err-disabled状态,将没有任何流量从该端口被转发出去,也将不接收任何进站流量.从交换机外观上看去,端口相对应的LED状态灯也将由正常的绿色变为暗黄色(或者叫做橘黄色,本人色盲,官方给的说法是amber,琥珀色).同时使用查看端口状态的一些命令,比如show interfaces,也会看到端口是处于err-disabled状态的.还有种情况是,当交换机因一种错误因素导致端口被禁用(err-disabled),这种情况通常会看到类似如下日志信息:
%SPANTREE-SP-2-BLOCK_BPDUGUARD:
   Received BPDU on port GigabitEthernet2/1 with BPDU Guard enabled. Disabling port.
%PM-SP-4-ERR_DISABLE:
   bpduguard error detected on Gi2/1, putting Gi2/1 in err-disable state

err-disabled的两个作用的:
1.告诉管理员端口状态出错.
2.消除因某个端口的错误导致所有端口,或者整个模块功能的出错.

二.err-disabled状态的起因:
该特性最初是用于处理特定的冲突形势,比如过分冲突(excessive collisison)和后期冲突(late collision).由于CSMA/CD机制的制定,当发生16次冲突后帧将被丢弃,此时发生excessive collision;而late collision是指在发送方发送了64个字节之后,正常的和合法的冲突就不可能发生了.理论上正常的网络传播一定会在此之前就完成了,但是如果线路过长的话会在前64个字节完成后发生冲突,后期冲突和发生在前64个字节的冲突最明显的区别是后者网卡会自动重新传输正常的冲突帧,但不会重传后期冲突的帧.后期冲突发生在时间超时和中继器的远端.一般而言,这样的冲突在本地网段会简单地判断为一个帧校验序列(FCS)错误.引起这种错误的可能原因有:
1.线缆的不规范使用,比如超出了最大传输距离或者使用了错误的线缆类型.
2.网卡的不正常工作(物理损坏或者驱动程序的错误).
3.端口双工模式的错误配置,如双工不匹配.

如下是端口处于err-disabled状态的几种原因:
1.双工不匹配.
2.端口信道的错误配置.
3.违反BPDU守护(BPDU Guard)特性.
4.单向链路检测(UDLD).
5.检测到后期冲突.
6.链路振荡.
7.违反某些安全策略.
8.端口聚合协议(PAgP)的振荡.
9.层2隧道协议(L2TP)守护(L2TP Guard).
10.DHCP侦听限速.

三.检验端口是否处于err-disabled状态:
可以使用show interfaces命令查看端口状态,如:
NUAIKO#show interfaces gigabitethernet 2/1 status

Port     Name            Status          Vlan      Duplex     Speed     Type
Gi2/1                   err-disabled     100            full      1000       1000BaseSX

当交换机的某个端口处于err-disabled状态后,交换机将发送为什么这么做的日志信息到控制台端口.也可以使用show log查看系统日志,如:
%SPANTREE-SP-2-BLOCK_BPDUGUARD:
   Received BPDU on port GigabitEthernet2/1 with BPDU Guard enabled. Disabling port.

%PM-SP-4-ERR_DISABLE:
   bpduguard error detected on Gi2/1, putting Gi2/1 in err-disable state

%SPANTREE-2-CHNMISCFG: STP loop - channel 11/1-2 is disabled in vlan 1

如果启用了errdisable recovery功能,可以使用show errdisable recovery命令查看处于err-disabled状态的原因,如:
NUAIKO#show errdisable recovery
ErrDisable Reason             Timer Status
−−−−−−−−−−−−−−−−− −−−−−−−−−−−−−−
udld                                  Enabled
bpduguard                         Enabled
security-violation                Enabled
channel-misconfig               Enabled
pagp-flap                           Enabled
dtp-flap                             Enabled
link-flap                             Enabled
l2ptguard                           Enabled
psecure-violation                Enabled
gbic-invalid                        Enabled
dhcp-rate-limit                   Enabled
mac-limit                           Enabled
unicast-flood                      Enabled
arp-inspection                    Enabled

Timer interval: 300 seconds
Interfaces that will be enabled at the next timeout:

Interface         Errdisable reason                      Time left(sec)
−−−−−−−−− −−−−−−−−−−−−−−−−−−−−− −−−−−−−−−−−−−−
   Fa2/4                   bpduguard                                 273

四.恢复err-disabled状态:
当出现err-disabled状态后,首先要做的,是找出引起该状态的根源,然后重新启用该端口;如果顺序不一致,将导致该端口再次进入err-disabled状态.

找出问题的根源,以比较常见的做为例子:
1.以太网信道(EC)的错误配置:
如果要让EC能够正常工作,参与到EC绑定的端口的配置,必须是一致的,比如处于同一VLAN,trunk模式相同,速率和双工模式都匹配等等.如果一端配置了EC,而另一端没有配置EC,STP将关闭配置了EC一方的参与到EC中的端口.并且当PAgP的模式是处于on模式的时候,交换机是不会向外发送PAgP信息去进行协商的(它认为对方是处于EC).这种情况下STP判定出现环路问题,因此将端口设置为err-disabled状态.如:
%SPANTREE-2-CHNL_MISCFG: Detected loop due to etherchannel misconfiguration
   of Gi2/1

如下,查看EC信息显示使用的信道组数量为0:
NUAIKO#show etherchannel summary

Flags: D - down            P - in port-channel
          I - stand-alone   s - suspended
          H - Hot-standby (LACP only)
          R - Layer3          S - Layer2
          U - in use           f - failed to allocate aggregator
         
          u - unsuitable for bundling
Number of channel-groups in use: 0
Number of aggregators:               0

EC没有正常工作是由于端口被设置为err-disabled状态:
NUAIKO#show interfaces gigabitethernet 2/1 status

Port     Name            Status          Vlan      Duplex     Speed     Type
Gi2/1                   err-disabled     100            full      1000       1000BaseSX

为找出为何EC没有正常工作,根据错误信息暗示,STP检测到环路.之前提到过,这种情况的发生,是由于一方配置了EC,设置PAgP模式为on模式,这种模式和desirable模式正好相反,而另一方没有配置EC.因此,为了解决这种问题的发生,将EC的PAgP模式设置为可以主动协商的desirable模式.,然后再重新启用该端口.如下:
!
interface gigabitethernet 2/1
channel-group 1 mode desirable non-silent
!

2.双工模式不匹配:
双工模式不匹配的问题比较常见,由于速率和双工模式自动协商的故障,常导致这种问题的发生.可以使用show interfaces命令查看双方端口的速率和双工模式.后期版本的CDP也能够在将端口处于err-disabled状态之前发出警告日志信息.另外,网卡的不正常设置也将引起双工模式的不匹配.解决办法,如双方不能自动协商,使用duplex命令(CISCO IOS和CatOS有所不同)修改双方双工模式使之一致.

3.BPDU Guard:
通常启用了快速端口(PortFast)特性的端口用于直接连接端工作站这种不会产生BPDU的末端设备.由于PortFast特性假定交换机的端口不会产生物理环路,因此,当在启用了PortFast和BPDU Guard特性的端口上收到BPDU后,该端口将进入err-disabled状态,用于避免潜在环路.

假如我们将两台6509交换机相连,在其中一台上启用PortFast特性并打开BPDU Guard特性:
!
interface gigabitethernet 2/1
spanning-tree bpduguard enable
spanning-tree portfast enable
!

此时将看到如下日志信息:
%PM-SP-4-ERR_DISABLE: bpduguard error detected on Gi2/1, putting Gi2/1 in
   err-disable state.

验证:
NUAIKO#show interfaces gigabitethernet 2/1 status

Port     Name            Status          Vlan      Duplex     Speed     Type
Gi2/1                   err-disabled     100            full      1000       1000BaseSX

像这种情况,不能启用PortFast特性,因此禁用该特性可以解决该问题.

4.UDLD:
UDLD协议允许通过光纤或铜线相连的设备监控线缆的物理配置,并且可以检测是否存在单向链路.如果检测到有单向链路,UDLD将关闭相关端口并发出警告日志信息.单向链路可以引起一系列的问题,最常见的就是STP拓扑环路.注意,为了启用UDLD,双方必须都支持该协议,并且要单独在每个端口启用UDLD.如果你只在一方启用了UDLD,同样的会引起端口进入err-disabled状态,如:
%PM-SP-4-ERR_DISABLE: udld error detected on Gi2/1, putting Gi2/1 in
   err-disable state.

5.链路振荡错误:
链路振荡(flap)是指短时间内端口不停的处于up/down状态,如果端口在10秒内连续振荡5次,端口将被设置为err-disabled状态,如:
%PM-4-ERR_DISABLE: link-flap error detected on Gi2/1, putting Gi2/1 in
   err-disable state

可以使用如下命令查看不同的振荡的值:
NUAIKO#show errdisable flap-values

ErrDisable Reason              Flaps       Time (sec)
−−−−−−−−−−−−−−−−− −−−−−− −−−−−−−−−−
pagp-flap                              3          30
dtp-flap                                 3          30
link-flap                                 5         10

引起链路震荡的常见因素,可能是物理层的问题,比如GBIC的硬件故障等等.因此解决这种问题通常先从物理层入手.

6.回环(loopback)错误:
当keepalive信息从交换机的出站端口被发送出去后,又从该接口收到该信息,就会发生回环错误.交换机默认情况下会从所有端口向外发送keepalive信息.但由于STP没能阻塞某些端口,导致这些信息可能会被转发回去形成逻辑环路.因此出现这种情况后,端口将进入err-disabled状态,如:
%PM-4-ERR_DISABLE: loopback error detected on Gi2/1, putting Gi2/1 in
   err-disable state

从CISCO IOS 12.2SE之后的版本,keepalive信息将不再从光纤和上行端口发送出去,因此解决这种问题的方案是升级CISCO IOS软件版本到12.2SE或后续版本.更多信息可以参见CISCO BUG ID CSCea46385(需要一定权限的CCO).

7.违反端口安全(Port Security)策略:
端口安全特性提供了根据MAC地址,动态的对交换机端口进行保护的特性.违反该策略将导致端口进入err-disabled状态.端口安全的原理和配置这里就不再赘述,有兴趣的可以去CISCO的Documentation CD里查阅(当然如果你比我还懒的话,可以加我Q:13030130,我讲给你听).

五.重新启用进入err-disabled状态的端口:
再找到引起err-disabled状态的根源后,如果没有配置errdisable recovery,此时端口仍然处于禁用状态.这种情况下,就必须手动的重新启动这些端口(在接口下先shutdown再no shutdown).

errdisable recovery允许你根据错误类型,在一定时间后(默认值是300秒)自动的重新启用该端口.使用show errdisable recovery命令查看该特性的默认设置:
NUAIKO#show errdisable recovery
ErrDisable Reason             Timer Status
−−−−−−−−−−−−−−−−− −−−−−−−−−−−−−−
udld                                  Disabled
bpduguard                         Disabled
security-violation                Disabled
channel-misconfig               Disabled
pagp-flap                           Disabled
dtp-flap                             Disabled
link-flap                             Disabled
l2ptguard                           Disabled
psecure-violation                Disabled
gbic-invalid                        Disabled
dhcp-rate-limit                   Disabled
mac-limit                           Disabled
unicast-flood                      Disabled
arp-inspection                    Disabled

Timer interval: 300 seconds
Interfaces that will be enabled at the next timeout:

Interface         Errdisable reason                      Time left(sec)
−−−−−−−−− −−−−−−−−−−−−−−−−−−−−− −−−−−−−−−−−−−−
   Fa2/4                   bpduguard                                 273

默认情况下超时特性是禁用的.如下是启用errdisable recovery并选择相应的条件:
NUAIKO#errdisable recovery cause ?
其中?对应show errdisable recovery的输出内容中"ErrDisable Reason"一项.如下:
NUAIKO#show errdisable recovery
ErrDisable Reason             Timer Status
−−−−−−−−−−−−−−−−− −−−−−−−−−−−−−−
udld                                  Disabled
bpduguard                         Enabled
security-violation                Disabled
channel-misconfig               Disabled
pagp-flap                           Disabled
dtp-flap                             Disabled
link-flap                             Disabled
l2ptguard                           Disabled
psecure-violation                Disabled
gbic-invalid                        Disabled
dhcp-rate-limit                   Disabled
mac-limit                           Disabled
unicast-flood                      Disabled
arp-inspection                    Disabled

Timer interval: 300 seconds
Interfaces that will be enabled at the next timeout:

Interface         Errdisable reason                      Time left(sec)
−−−−−−−−− −−−−−−−−−−−−−−−−−−−−− −−−−−−−−−−−−−−
   Fa2/4                   bpduguard                                 273

注意上面的输出内容,可以看出BPDU Guard是引起Fa2/4进入err-disabled状态的原因.当任意errdisable条件被启用,默认300秒后将重新启用该端口.该时间可以通过errdisable recovery interval {sec}进行修改.

最后,还请转载者保留作者信息:
作者:红头发(aka CCIE#15101/JNCIP Candidate)
出处:
http://www.91lab.com

errdisabled 障碍处理相关推荐

  1. 装上螺旋桨,加州理工让只能行走的双足机器人「上了天」,还玩起了障碍滑板、走绳索...

    视学算法报道 编辑:杜伟.陈萍 能走能飞,这才是最酷的双足机器人吧?! 有的机器人可以行走,有的可以飞行.你见过既能行走又能飞行的双足机器人吗? 加州理工学院的研究人员就打造了这样一台机器人 LEON ...

  2. YOLOv5的妙用:学习手语,帮助听力障碍群体

    选自Medium 作者:David Lee 机器之心编译 编辑:魔王.杜伟 计算机视觉可以学习美式手语,进而帮助听力障碍群体吗?数据科学家 David Lee 用一个项目给出了答案. 如果听不到了,你 ...

  3. 超赞!YOLOv5的妙用:学习手语,帮助听力障碍群体

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉联盟 计算机视觉可以学习美式手语,进而帮助听力 ...

  4. 障碍期权定价 python_[宜配屋]听图阁

    #coding:utf-8 ''' 障碍期权 q=x/s H = h/x H 障碍价格 [1] Down-and-in call cdi [2] Up-and-in call cui [3] Down ...

  5. 为你的组织设计自己的障碍消除流程

    许多精益主张的支持者是从关注浪费和消除浪费开始入手的.这至少要面临两大挑战 1 .第一,浪费的定义来自于20世纪生产行业,在精益软件的著作中一直沿用未做任何修改.第二,浪费的暗喻手法由汽车制造业迁移到 ...

  6. 针对阿片类药物使用障碍的药物重定位

    今天给大家介绍凯斯西储大学人工智能药物发现中心Rong Xu教授团队于2021年1月11号发表在Molecular Psychiatry上的一篇文章:Drug repurposing for opio ...

  7. ISME:南农韦中等消减土壤青枯菌生物障碍新策略

    摘要 根际微生物群落构成了抵御土传病原菌的第一道防线.迄今为止,大多数根际微生物群落抵抗病原菌的研究都聚焦于根际微生物如何直接抑制土传病原菌的生长.但有研究表明,一些根际细菌能够促进病原菌的生长,成为 ...

  8. 黄铁军:沉迷于寻求通用智能理论,将是阻碍 AI 发展的最大障碍 | Yann LeCun 自传《科学之路》序...

    导读:近日,中信出版社出版了2018 年图灵奖获得者.「卷积神经网络之父」 Yann LeCun 的自传--<科学之路>.智源研究院院长黄铁军教授受邀为<科学之路>作序--&l ...

  9. 技术非中立,语言非同质:机器翻译正被用于维护文化障碍

    作者:王晔 转载自:AI科技评论 原文链接: 技术非中立,语言非同质:机器翻译正被用于维护文化障碍​mp.weixin.qq.com/s/t72b7um6FcKWoe3vvAigDw 当今世界随着大数 ...

最新文章

  1. coreutils-5.0中几个命令的执行过程
  2. 洛谷P3807 【模板】卢卡斯定理exgcd
  3. GAN处理手写图片数据集
  4. 获取客户端ip_代理IP工具能否解决反爬?
  5. python输出结果每5个换行_python for循环 - python基础入门(11)
  6. HTML5 API详解(10):sessionStorage 你用过吗?
  7. 2017.5.8 飞扬的小鸟 失败总结
  8. python 浮点数精度丢失_浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源...
  9. IntelliJ IDEA-遇见的问题总结
  10. python写梦幻西游脚本精灵_奔三新人学习按键精灵脚本做冷门项目
  11. 4g 访问App 慢的原因
  12. OSPF笔记[DR与BDR]
  13. python爬取bilibili数据_BiliBili爬取数据简单分析
  14. 语义分割评估指标MIOU
  15. python使用代理爬虫_python爬虫requests使用代理ip
  16. SN74AHCT541PWR缓冲器 非反向1Element 8 Bit per Element 三态 Output 20-TSSOP
  17. 用Java代码计算磁盘里的文件大小
  18. LOL如何对一个英雄的技能进行测试 对一个英雄技能测试需要测试什么?
  19. java抽象类计算正方体面积_怎么用java里抽象类的方式计算相应形状的面积
  20. 实时日志监控系统-全览

热门文章

  1. OSCAR 云计算开源产业大会 之 ServiceComb 雄关漫道 PPT 大放送
  2. c语言中如何生成1个0到1的随机数
  3. Win11中Unity商店资源无法在PackageManager中下载
  4. 深度学习(DeepLearning)学习笔记(一)
  5. mysql外链删除_清理mysql外链的意思 和命令
  6. 计算机组装解答,计算机组装答案。求助
  7. MODISL1B数据FLAASH大气校正
  8. 35岁只是普通程序员,还有救吗?
  9. 计算机制图技术在旅游规划中的应用,gis在旅游规划中的应用.ppt
  10. 技术干货|昇思MindSpore NLP模型迁移之Bert模型—文本匹配任务(二):训练和评估