交換器會向其鄰居發送回複(echo),當鄰居在一定時間內沒有收到回複,則認為與鄰居間的鏈路出現問題。如果是普通模式,鏈路有可能會被認為是不確定的狀態而不會被關閉(強調一下,普通模式只能檢測光纖誤解,比如Tx、Rx插反了)。如果是激進模式,則鏈路會被認為是單向的而被關閉(介面置於err-disable狀態)。
一、概述
UDLD是一個Cisco私人的二層協議,用於監聽利用光纖或雙絞線串連的以太鏈路的物理配置,當出現單向鏈路(只能向一個方向傳輸,比如我能把資料發給你,你也能收到,但是你發給我的資料我收不到)時,UDLD可以檢測出這一狀況,關閉相應介面並發送警告資訊。單向鏈路可能引起很多問題,尤其是產生樹,可能會造成迴環。注意:UDLD需要鏈路兩端裝置都支援才能正常運行。
二、UDLD工作模式
UDLD支援兩種工作模式;普通(normal)模式(預設)和激進(aggressive)模式。
普通(normal)模式:這個模式下,UDLD可以檢測到由於連接埠的誤接引起的光纖的單向鏈路。
激進(aggressive)模式:這個模式下,UDLD可以檢測到由於連接埠的誤接引起的光纖的單向鏈路。並且可以檢測到光纖及雙絞線鏈路中的單向鏈路。
三、UDLD工作原理
1.維護鄰居資料庫
UDLD 周期型的在每個活動介面上發送hello包(也叫通告advertisement或探針probe)。
當交換器收到hello包後,儲存這一資訊直到老化時間到期,當老化時間到期前再次收到hello時,則重新整理老化時間。
2.檢測和回報
交換器會向其鄰居發送回複(echo),當鄰居在一定時間內沒有收到回複,則認為與鄰居間的鏈路出現問題。如果是普通模式,鏈路有可能會被認為是不確定的狀態而不會被關閉(強調一下,普通模式只能檢測光纖誤解,比如Tx、Rx插反了)。如果是激進模式,則鏈路會被認為是單向的而被關閉(介面置於err-disable狀態)。
以上我只是大概的說了一下,Cisco官方文檔中內容很多的,想詳細瞭解的話可以查一下。
四、UDLD配置 註明:http://www.openeim.com/
注意:
UDLD預設不在全域或任何介面下啟用。
UDLD不支援ATM介面。
確保鏈路兩端介面裝置都支援UDLD,並且需要工作在相同的UDLD模式下。
conf t
udld {aggressive | enable | message time 間隔時間} '全域啟用UDLD,aggressive設定為激進模式,enable設定為普通模式,message time設定hello間隔,範圍是1-90,預設15。
int fa0/10
udld port [aggressive] '介面下啟用UDLD,不加aggressive為普通模式。
show udld [介面名] '查看UDLD資訊。
udld reset '特權模式下重啟所有被UDLD關閉的介面。
有的IOS配置命令可能是下面的:
(config)# udld {enable | aggressive}
(config-if)# udld port [aggressive]
(config)# udld message time 間隔