2012年4月18日 星期三

通過UDLD模式解決交換機接口故障的方法

邱澤  女神異聞錄3  成人圖片

交換機和路由器的應用,在網絡中是必不可少的,相對來說容易出現故障的機率也是比較大。尤其是交換機接口的問題也時將出現。大部分交換機都會有自我診斷的功能。當交換機或者交換機端口由於某些原因出現故障的時候,都會通過指示燈來告知管理員存在的錯誤。不過有些時候交換機也會存在誤診斷的情況。如交換機的端口工作指示燈明明表示正常,但是用戶卻反映網絡不通。如果隻是普通的用戶,問題還不是很大。但是如果這個端口恰巧是用來進行備份的,那麼情況就會比較糟。為了避免這種情況,在實際工作中很多網絡管理員都喜歡採用交換機的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,那麼路由黑洞這個網絡難題也可以迎刃而解。



資料來源:http://www.xker.com/page/e2011/0120/99909.html

沒有留言:

張貼留言