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