UDLD:单向链路检测。

在交换机没有使用任何模块的接口上,如果接口出现故障,如物理故障,或不能发送数据与接收数据,自己能够快速察觉;而当接口上使用了模块后,如光纤模块,当模块上出现故障后,交换机并不能保证在任何时候都能察觉。当交换机的接口如果自己不能发送或接收数据,而对方却能发送或接收数据时,这可能会引起STP环路,这样的故障被称为单向链路故障,而交换机上的特性UDLD则是用来专门检测此类单向链路故障的。


UDLD使用一层协议来做单向链路检测,开启了UDLD的接口会向外发送Udld hello,可以理解为交换机之间的心跳,收到Udld hello的交换机必须向邻居回复,如果超过一定时间没有回复,那么就认为单向链路故障已经出现,就会采取相应措施。

UDLD的运行分为两种模式:normal (默认) 和aggressive。

Normal模式只能检测光纤上的单向链路故障,而aggressive模式不仅能够检测光纤上的单向链路故障,还能检测双绞线上的单向链路故障。当使用normal模式时,检测到单向链路故障后,接口没有变化,而使用aggressive模式时,检测到单向链路故障后,连续发送8秒的UDLD message,如果此间没有任何的UDLD echo应答,此端口会被放置于errdisable状态


当交换机一端支持UDLD,而另一端不支持UDLD,这样的链路连在一起,是不能做UDLD检测的,所以在配置UDLD时,必须相连的链路两端都要配置UDLD,并且要配置成相同的模式。


配置:

全局开启UDLD:

在所有接口上开启UDLD(必须为光纤接口)

sw1(config)#udld enable

sw1(config)#udld aggressive

查看UDLD:show udld


接口下开启UDLD:(将覆盖全局配置)

sw1(config)#int f0/8

sw1(config-if)#udld port aggressive

查看接口配置的UDLD:show udld f0/8