診治IP網(wǎng)絡(luò)故障解決方案
IP網(wǎng)絡(luò)故障定位的復(fù)雜程度,非一般運維人員所能掌握。如何讓運維人員追本溯源,了解IP故障發(fā)生的機理,掌握從現(xiàn)象到定位的過程,并順利排障?
本文引用地址:http://m.butianyuan.cn/article/154827.htmIP網(wǎng)絡(luò)故障管理難表現(xiàn)為兩點:第一,告警數(shù)量多,甚至是泛濫,每天告警工單數(shù)量很多,但一些告警定位后,又不需要作任何恢復(fù)動作,維護人員不堪重負。第二,故障發(fā)生卻無任何告警,只能摸索排查,定位耗時長,非常依賴人的經(jīng)驗。這兩種現(xiàn)象給故障管理工作帶來非常大的困擾,本文將深入診斷其發(fā)生的根源,并給出相應(yīng)的治理辦法。
溯源
故障告警多
告警數(shù)量多的根源與IP網(wǎng)絡(luò)兩個特點相關(guān),第一個特點是網(wǎng)絡(luò)層次多,例如一個VLL(Virtual Leased Line)業(yè)務(wù)在IP網(wǎng)絡(luò)上承載,要經(jīng)過物理層、鏈路層、路由協(xié)議、MPLS、VLL等多層次處理,若某條物理光纖發(fā)生中斷,那么物理層、鏈路層、IP傳輸層、VLL管道層將全部受到影響,這些層次也將全部發(fā)送TRAP。第二個特點是協(xié)議關(guān)聯(lián)多,一般物理光纖的故障將引起路由協(xié)議的收斂,再引起MPLS LDP等協(xié)議的變化,這個過程中必然要發(fā)送大量的TRAP。
無告警
無告警的問題相對復(fù)雜。我們先回顧一下故障的定義,故障是產(chǎn)品或產(chǎn)品的一部分不能或?qū)⒉荒芡瓿深A(yù)期功能的事件或狀態(tài),簡單地說,就是現(xiàn)狀不符合預(yù)期。反之,如果沒有“預(yù)期”,則不會有“故障”。實際上,正是IP網(wǎng)絡(luò)上的預(yù)期無法清晰定義,才導(dǎo)致了“無告警”現(xiàn)象的發(fā)生。我們從控制平面和轉(zhuǎn)發(fā)平面的原理出發(fā),追溯無告警發(fā)生的根源。
控制平面決定源到目的地的業(yè)務(wù)路徑。在傳統(tǒng)的電路網(wǎng)絡(luò)上,管理員靜態(tài)指定主備路徑,每個業(yè)務(wù)的下一跳非主即備,預(yù)期非常清晰。而在IP網(wǎng)絡(luò)上,路由協(xié)議根據(jù)網(wǎng)絡(luò)實際情況選擇最優(yōu)路徑,單個路由器只知下一跳,并不掌握業(yè)務(wù)路徑。因此,當(dāng)鏈路中斷產(chǎn)生路由收斂或者路徑計算錯誤,導(dǎo)致路徑發(fā)生變化時,路由器無法告警業(yè)務(wù)路徑切換。
華為曾遇到過這樣一個網(wǎng)上問題,NGN語音業(yè)務(wù)中斷40多分鐘而IP承載網(wǎng)無任何告警,排查中發(fā)現(xiàn)是LSP路徑計算錯誤,其結(jié)果與ISIS路徑不一致而導(dǎo)致業(yè)務(wù)中斷。在這個案例里,建立LSP的協(xié)議并不掌握路徑預(yù)期,因此無法發(fā)現(xiàn)LSP路徑計算錯誤,也就無法發(fā)出告警通知路徑錯誤。
在轉(zhuǎn)發(fā)平面上,IP網(wǎng)絡(luò)不是同步網(wǎng)絡(luò),其轉(zhuǎn)發(fā)機制無法定義預(yù)期,比如,業(yè)務(wù)報文要經(jīng)過路由器A、B順序轉(zhuǎn)發(fā),但是B完全不知道A是否有報文會送到,有報文送到是正常,沒有也是正常,因此當(dāng)A路由器故障無法轉(zhuǎn)發(fā)報文時,B無法告警。
此類故障最常見的情況是路由器間的光纖劣化,光纖上發(fā)生了丟包,但路由器上無告警。對于這類故障的排查需要花費大量的時間,需要按照承載網(wǎng)的轉(zhuǎn)發(fā)路徑,逐個路由器、逐條鏈路去排查,最終才能發(fā)現(xiàn)是光纖故障導(dǎo)致丟包。
厘清IP網(wǎng)絡(luò)故障管理難的根源后,排障的思路和措施就比較明確了,下文將給出華為針對告警多和無告警故障的解決之道。
排障
突出根源告警
前文提到,告警數(shù)量多的根源在于層次多、關(guān)聯(lián)多,底層故障衍生出大量高層告警。如果我們能夠突出根源告警,忽略或者抑制衍生告警,就不需要針對無效告警派單處理,從而減少工作量。
從華為的網(wǎng)上問題庫中統(tǒng)計發(fā)現(xiàn),IP網(wǎng)絡(luò)的故障根源大部分來自于硬件、鏈路的劣化。尤其是網(wǎng)絡(luò)中的鏈路,如光纖、微波等,容易受到環(huán)境影響,從而導(dǎo)致接口閃斷。接口反復(fù)UP/DOWN,將引發(fā)大量接口的告警,同時又引起IGP協(xié)議收斂,引發(fā)IGP反復(fù)告警,進而引發(fā)LSP的反復(fù)告警。即鏈路的告警將衍生出大量的協(xié)議告警。
針對以上情況,華為提出兩種告警優(yōu)化的思路:第一,在告警監(jiān)控中,將告警歸類為環(huán)境、硬件、軟件、接口、鏈路管道、協(xié)議和業(yè)務(wù)等幾個類別,環(huán)境、硬件類告警的處理優(yōu)先級大于協(xié)議、業(yè)務(wù)類告警。高級別告警處理恢復(fù)后,其衍生的低級別協(xié)議告警會自動恢復(fù)。這種方法簡單實用,可短期見效。第二,建設(shè)告警相關(guān)性系統(tǒng),按協(xié)議、業(yè)務(wù)運行關(guān)系定義告警的衍生關(guān)系。在告警監(jiān)控系統(tǒng)上,將衍生告警掛接在根源告警上顯示,管理員直接處理根源告警,這種方法可以比較完善地解決告警多的問題,但建設(shè)困難且周期較長。
解決“無告警故障”的關(guān)鍵在于預(yù)期和現(xiàn)狀的對比,我們?nèi)詮目刂破矫婧娃D(zhuǎn)發(fā)平面分別闡述。
路徑預(yù)期和檢測
盡管IP的控制平面采用了動態(tài)協(xié)議,但其運行的基礎(chǔ)仍然是物理鏈路和SPF(Shortest Path First)算法,鏈路規(guī)劃越簡單,路徑預(yù)期就越清晰。如在大部分的中小型城域網(wǎng)設(shè)計中,網(wǎng)絡(luò)層次少,層次之間采用主備雙鏈路進行保護,路徑非主即備。對于這種網(wǎng)絡(luò),只要維護好網(wǎng)絡(luò)拓撲圖,就可以滿足故障處理的需要。
對于大型、復(fù)雜的網(wǎng)絡(luò),管理員通過物理鏈路的分布,已無法快速識別業(yè)務(wù)路徑。在這種情況下,需要采用仿真計算的方式,將網(wǎng)絡(luò)上的配置、拓撲等集中到仿真軟件中,計算出業(yè)務(wù)的預(yù)期路徑。
預(yù)期建立之后,采用OSS軟件定期獲取路徑的現(xiàn)狀并與預(yù)期對比的方式,若不一致即發(fā)送告警,并提示管理員網(wǎng)絡(luò)發(fā)生了故障。中小型、簡單網(wǎng)絡(luò)可以采用TraceRt獲取路徑。大型、復(fù)雜網(wǎng)絡(luò)一般都會存在ECMP(Equal-Cost MultiPath等價多路徑),此類情況一般可以綜合TraceRt、轉(zhuǎn)發(fā)表查詢等方式來詳細判斷業(yè)務(wù)流的路徑。另一種方式是通過分析IGP的泛洪報文,掌握路徑建立的詳細過程,根據(jù)路由算法和配置來掌握轉(zhuǎn)發(fā)路徑。
轉(zhuǎn)發(fā)預(yù)期和檢測
在轉(zhuǎn)發(fā)平面上,預(yù)期的建立和檢測非常密切,按照實現(xiàn)方式的不同,可以分為三種情況:非業(yè)務(wù)隨路檢測、業(yè)務(wù)隨路檢測和業(yè)務(wù)分析。
第一種是非業(yè)務(wù)隨路檢測。簡單地說,就是自行定義預(yù)期,在網(wǎng)絡(luò)上注入OAM檢測報文。由于接收方已預(yù)先掌握了檢測報文的大小、時間間隔等特征,當(dāng)收到的報文不符合自行定義的預(yù)期特征時,即是發(fā)生故障。
這種方式的優(yōu)點是容易獲取和實施,網(wǎng)絡(luò)各層面均有OAM檢測協(xié)議可以使用,如BFD、EthOAM、ICMP Ping、MPLS OAM等,缺點是OAM檢測報文特征與業(yè)務(wù)流量特征不完全一致,可能會出現(xiàn)檢測未發(fā)現(xiàn)問題,但實際業(yè)務(wù)卻發(fā)生了問題的情況。
評論