UDLD模式解决交换机接口故障

日期: 2010-11-07 来源:TechTarget中国

  交换机和路由器的应用,在网络中是必不可少的,相对来说容易出现故障的几率也是比较大。尤其是交换机接口的问题也时将出现。大部分交换机都会有自我诊断的功能。当交换机或者交换机端口由于某些原因出现故障的时候,都会通过指示灯来告知管理员存在的错误。不过有些时候交换机也会存在误诊断的情况。如交换机的端口工作指示灯明明表示正常,但是用户却反映网络不通。如果只是普通的用户,问题还不是很大。但是如果这个端口恰巧是用来进行备份的,那么情况就会比较糟。为了避免这种情况,在实际工作中很多网络管理员都喜欢采用交换机的UDLD模式来消除交换机的这种误诊断。

  一、什么情况下会出现误诊断?

  误诊断的情形主要是即使当链路或者交换机的端口指示灯正常的(即端口的状态是UP的),但是接口仍然无法正常传递数据流量。通常情况才将这种错误称之为单向链路。一般情况下,当出现接口故障、软件故障、硬件失效或者其他异常原因的时候,就会出现这种错误。凭现在的技术手段,交换机还不能够从根本上避免这种错误的发生。为此只有采取其他的方式,加强对交换机端口的检测,以尽早发现这种错误。在思科系列的交换机上,就采用了UDLD模式来解决这种情况下的误诊断。

  UDLD从理论上来说,其是在第二层工作的协议。不过从实际情况来看,其往往跟第一层的内容有很深的关系。也就是说,UDLD模式不光光在第二层运作,其还会跟第一层的相关机制协同工作,才能够完成。其主要的思路就是UDLD协议运行在第一、二层之间,最终确定链路的实际工作状态。当发现有“链路UP状态正常,但是没有传递流量”的时候,UDLD协议会马上报警。具体的说,在第一层中通过自动协商功能来观测物理信令等相关的参数运作。而UDLD协议则会完成一些自动协商机制不能够执行的任务。让自动协商发现物理信令有异常的时候,不会自动将端口从UP状态转换为其他状态,从而导致了单向链路的故障。而UDLD协议能够接受来自自动协商机制传递来的参数,然后再发现故障的时候及时的将交换机端口处于关闭状态。可见,UDLD模式所采用的不只只是一种协议,而是UDLD协议与自动协商机制相互作用的结果。如果网络管理员要启动UDLD模式的话,那么就必须要同时启用UDLD协议和自动协商机制,在第一层与第二层中通过他们的各司其责、协同工作,来防止物理上或者逻辑上的单向连接,从而从根本上消除交换机的误诊断。

  网络管理员需要明白的是,UDLD并不是交换机原有诊断体系的补充,而是一种独立的诊断方法。也就是说,它是从另一个角度对交换机各个端口的运行状态进行自我诊断。两者之间基本上没有冲突或者重叠的地方。在实际工作中,传统的诊断方法与UDLD模式经常是同时使用。

  二、合理配置UDLD模式下的各种参数

  如果同时启用了UDLD协议与自动协商机制,就启动了UDLD模式,在这种情况下,交换机的某个接口会定期的向邻近的端口发送UDLD协议数据报。在正常情况下,交换机的这个接口会在预定计时器到期之前接收到回应的数据包。如果在这个计时器到期之前,交换机发送UDLD数据包的接口还没有收到回应信息,则UDLD协议就会认为出现了故障,即发生了单向链路的故障(其实更加精确的说,应该是自动协商发现了这个故障并告知了UDLD协议)。当UDLD知道这种情况后,会马上关闭有问题的交换机接口。

  在UDLD配置的时候,首先需要考虑这个计时器。也就是说,将这个时间设置为多少为好。如果时间设置的比较短,不仅会造成不必要的数据流量,而且也有可能因为数据延迟等原因导致无法在合理的时间内接到回应的数据包。而如果将这个计时器的时间设置的比较长的话,那么就可能无法在短时间内发现问题。要知道,可能一分钟对于用户来说,没有多少感觉。但是对于数据网络传输来说,这个时间就很长了。默认情况下,这个计时器是15秒。在实际工作中,网络管理员可能需要根据不同的情况来合理设置这个参数。如需要根据企业网络的复杂情况、布线的长短来考虑。如根据以前的情况,企业可能经常会遇到网络堵塞等情况,而这种堵塞也是暂时的,那么要适当延长这个计时器等等。笔者的建议是在刚开始的时候可以将这个计时器设置的长一点,然后慢慢的减短。最后得到一个合理的数值。

  三、提高端口的适用性

  在采用普通接口的情况下,当某个接口因为接收不到UDLD回应消息时,接口就会关闭。这也有一种缺陷。如企业可能会有网络拥塞,如因为临时备份等等导致拥塞等等。此时在发送端可能无法在计时器到期之前收到回应的信息。那么遇到这种情况时,如果将交换机的端口就设置为关闭,显然就会引起不比要的麻烦。网络管理员希望能够给网络“改错”的机会。为此在原有UDLD模式的基础上,思科交换机又提出了积极UDLD模式的概念。两个模式的差异主要就在于后者给了网络一个改错的机会。

  在积极UDLD模式下,当交换机接口发现无法正常收到UDLD回应信息的时候,并不会马上将这个端口设置为关闭状态,而会继续发送UDLD数据包。通常情况下,UDLD数据包会发送八次。如故发送八次之后仍然无法收到UDLD数据包的话,那么UDLD协议就会将这个端口状态改为Err-disable状态。如果在这个间断的时间内,发送端口能够收到任何一个回应信息,就会认为是正常的。很显然,如果采用积极UDLD模式,就可能有效的避免因为网络拥塞而导致的误判问题。

  采用积极UDLD模式的另外一个原因就是路由黑洞。什么叫做路由黑洞呢?这个定义不怎么好说,笔者就举一个例子。如第3层或者路由接口正在经历单向链路时,此时接口汇保持在UP状态,所以交换机就会继续将流量转换到这个接口。但是最终的结果是数据包将永远达不到远端设备的对应接口之上。这就是路由黑洞的一个简单例子。如果采用传统的UDLD模式,还不能够很好的避免这种情况下。相反,如果采用积极UDLD模式,就可以有效的避免路由黑洞导致的网络故障。

  积极的UDLD模式除了在发送信息的次数上比较特殊之外,还有以下两个特殊的地方。一是当链路的一侧端口发送拥塞时,积极模式的UDLD协议也会将端口设置为Error状态,并显示相关的措施信息。而采用传统UDLD模式对这种情况不会有任何反应。二是当链路的一侧端口处于UP状态,而另一侧处于Down状态时,如果采用的是积极UDLD模式,则会显示错误信息,并将端口设置为错误状态。而如果采用传统UDLD模式的话,则不会有任何反应。这也正是笔者上面所讲的通过积极UDLD模式来解决上路有黑洞的原因。

  四、故障恢复后重新启动交换机接口

  无论采用的是传统的UDLD模式,还是采用的是积极的UDLD模式,有一个共同点,即只要将端口设置为Error-disable状态后,即使故障解决了,交换机也无法自动恢复接口。换句话说,当出现这种情况时,网络管理员需要手工恢复接口。一般的做法是,先将端口利用命令shutdown关闭掉,然后再利用命令no shutdown进行启用。

  总之,只要交换机支持,就启用UDLD模式,甚至可以启用积极UDLD模式,就可以有效的避免单向链路的误诊情况。特别是采用积极模式的UDLD,那么路由黑洞这个网络难题也可以迎刃而解。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。