單向鏈路檢測模式消除交換機誤診斷

souphp3l3發表於2016-06-20

  大部分交換機都會有自我診斷的功能。當交換機或者交換機埠由於某些原因出現故障的時候,都會透過指示燈來告知管理員存在的錯誤。不過有些時候交換機也會存在誤診斷的情況。如交換機的埠工作指示燈明明表示正常,但是使用者卻反映網路不通。如果只是普通的使用者,問題還不是很大。但是如果這個埠恰巧是用來進行備份的,那麼情況就會比較糟。為了避免這種情況,在實際工作中很多網路管理員都喜歡採用交換機的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秒。在實際工作中,網路管理員可能需要根據不同的情況來合理設定這個引數。如需要根據企業網路的複雜情況、佈線的長短來考慮。如根據以前的情況,企業可能經常會遇到網路堵塞等情況,而這種堵塞也是暫時的,那麼要適當延長這個計時器等等。筆者的建議是在剛開始的時候可以將這個計時器設定的長一點,然後慢慢的減短。最後得到一個合理的數值。
3lian素材 www.3lian.com
三、提高階口的適用性

在採用普通介面的情況下,當某個介面因為接收不到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,那麼路由黑洞這個網路難題也可以迎刃而解

相關文章