李 軍(西安翻譯學(xué)院,西安,710105)
?
數(shù)據(jù)包探測法在解決網(wǎng)絡(luò)故障中的應(yīng)用
李 軍
(西安翻譯學(xué)院,西安,710105)
摘要:網(wǎng)絡(luò)故障排查是一個十分復(fù)雜的過程。本文分析了網(wǎng)絡(luò)故障排查的特點和常用方法,提出了以網(wǎng)絡(luò)探測數(shù)據(jù)包發(fā)送和確認(rèn)為基礎(chǔ)的通信鏈路檢查方法。
關(guān)鍵詞:網(wǎng)絡(luò)鏈路;故障排查
網(wǎng)絡(luò)是由若干條通信鏈路組成的,通信鏈路是網(wǎng)絡(luò)運(yùn)行的基礎(chǔ),其傳輸質(zhì)量是數(shù)據(jù)能否正確傳輸?shù)年P(guān)鍵。一般的網(wǎng)絡(luò)中心對外有多個通信鏈路,包括內(nèi)部到各個外部節(jié)點。在實際通信過程中,經(jīng)常出現(xiàn)由于網(wǎng)絡(luò)故障,導(dǎo)致數(shù)據(jù)不能正常進(jìn)行收發(fā)的情況。
典型的通信鏈路可以描述如圖1所示。從圖中可以看出,通信鏈路上的關(guān)鍵節(jié)點一般有:①內(nèi)部主機(jī);②核心交換機(jī);③通信交換機(jī);④通信路由器;⑤對方路由器;⑥對方交換機(jī);⑦對方主機(jī)。
當(dāng)網(wǎng)絡(luò)鏈路發(fā)生故障時,最直接的處理方法就是人工對通信線路和網(wǎng)絡(luò)中的各個節(jié)點設(shè)備進(jìn)行配置檢查。人工檢查能夠發(fā)現(xiàn)設(shè)備配置上的錯誤,但在某些情況下,難以直觀的從設(shè)備配置上看出故障發(fā)生的原因,即各個通信節(jié)點配置檢查都正確,但整條鏈路就是不通。而且,由于一個通信鏈路上的節(jié)點由不同的單位分管,設(shè)備配置檢查往往由各單位自行完成,難免會出現(xiàn)檢查人員水平參差不齊、對鏈路配置理解不一致和掌握不準(zhǔn)確的情況,從而導(dǎo)致檢查結(jié)果不夠客觀。

圖1 典型的通信鏈路
在鏈路檢查過程中,還可以使用PING命令發(fā)送ICMP數(shù)據(jù)包來驗證鏈路的通斷性,對于有多個中間通信節(jié)點的鏈路來說,PING命令和TRACEROUTE命令結(jié)合,可以檢查出到哪個中間節(jié)點鏈路停止響應(yīng)。這種方法具有使用方便的優(yōu)點。但在某些情況下卻不太適用,主要有以下幾種情況:
(1)在中間通信節(jié)點較多的情況下,為了安全,路由設(shè)置不指向所有的中間節(jié)點,僅指向鏈路兩端的目標(biāo)節(jié)點。如在圖1中,節(jié)點④通信路由器配置指向節(jié)點⑦對方主機(jī)的路由,并不配置指向節(jié)點⑥對方交換機(jī)的路由。而PING數(shù)據(jù)包是需要通過返回應(yīng)答包來確認(rèn)鏈路正確的,由于中間節(jié)點路由配置的特點,往往對于中間節(jié)點的ICMP數(shù)據(jù)包無法收到應(yīng)答信息,導(dǎo)致檢查過程難以進(jìn)行,不能準(zhǔn)確判斷是哪個中間節(jié)點出現(xiàn)了問題導(dǎo)致路由不通。
(2)對于某些有特殊安全要求的方向,設(shè)置了網(wǎng)絡(luò)加密機(jī)進(jìn)行數(shù)據(jù)的加解密,網(wǎng)絡(luò)加密機(jī)對于大多數(shù)網(wǎng)絡(luò)協(xié)議進(jìn)行了屏蔽和加密,必須在網(wǎng)絡(luò)中成對使用。在這種情況下,PING命令往往只能在兩個網(wǎng)絡(luò)保密機(jī)的兩端進(jìn)行測試,不能跨過一個保密機(jī)到達(dá)鏈路的中間節(jié)點。導(dǎo)致難以實現(xiàn)故障節(jié)點的準(zhǔn)確定位。
(3)由于PING命令發(fā)出的ICMP數(shù)據(jù)包協(xié)議類型不同于實際收發(fā)的組播或點播格式數(shù)據(jù),因此僅能夠測試路由鏈路,不能夠測試組播鏈路的正確性。
2.1 基本過程
數(shù)據(jù)包探測的基本過程如圖2所示,該方法需要在內(nèi)部網(wǎng)絡(luò)選擇一臺能夠與對方主機(jī)進(jìn)行路由連接的計算機(jī)作為探測主機(jī)。主要分為以下步驟:
2.1.1 從內(nèi)網(wǎng)探測主機(jī)向?qū)Ψ街鳈C(jī)發(fā)送探測數(shù)據(jù)包。數(shù)據(jù)包的發(fā)送采用軟件自動設(shè)定參數(shù)進(jìn)行,根據(jù)需要可以采用以下兩種方式:
(1)點播。該方式主要是為了驗證從內(nèi)網(wǎng)探測主機(jī)到對方主機(jī)的路由正確性。在采用點播方式發(fā)送時,目標(biāo)地址為對方主機(jī)的IP地址。
(2)組播。該方式主要是為了驗證路由及組播協(xié)議配置的正確性。在采用組播方式發(fā)送時,組播地址和端口號為內(nèi)部網(wǎng)絡(luò)向該外部單位實際發(fā)送數(shù)據(jù)的地址和端口。
2.1.2 如果對方主機(jī)接收到內(nèi)網(wǎng)發(fā)送的數(shù)據(jù),說明該方向鏈路通信正常,結(jié)束探測過程。如果對方主機(jī)沒有接收到內(nèi)網(wǎng)發(fā)送的數(shù)據(jù),則說明該方向鏈路存在問題,進(jìn)行下一步的檢測。
2.2 中間節(jié)點故障定位
在數(shù)據(jù)鏈路的各個中間節(jié)點上,檢查數(shù)據(jù)包的命令為:show interfaces *。其中 * 表示在該通信節(jié)點上進(jìn)行數(shù)據(jù)通信的端口名稱。該命令輸出的結(jié)果信息如圖3所示,圖中加粗字體部分表示5分鐘內(nèi)輸入輸出該接口的數(shù)據(jù)量,分別以平均位計數(shù)和平均包計數(shù)進(jìn)行顯示。因為發(fā)送的探測數(shù)據(jù)計量單位是包,所以僅關(guān)心平均包計數(shù)的變化。
以每秒發(fā)送50個數(shù)據(jù)包為例,假設(shè)原來該端口5分鐘內(nèi)平均輸入速率分別為每秒0個、1個、5個、10個數(shù)據(jù)包,且均勻分布,則從開始發(fā)送數(shù)據(jù)起,端口的輸入變化和時間關(guān)系如表1所示。由表中可以看出,當(dāng)開始發(fā)送探測數(shù)據(jù)包后,導(dǎo)致端口速率發(fā)生穩(wěn)定變化,發(fā)送5分鐘后,端口速率達(dá)到穩(wěn)定值。如果端口的輸入速率符合此規(guī)律,則說明發(fā)送的探測數(shù)據(jù)包已經(jīng)到達(dá)該端口,該端口之前的各個節(jié)點配置和線路沒有問題。

表1:端口包速率變化
2.3 數(shù)據(jù)發(fā)送軟件設(shè)計
數(shù)據(jù)發(fā)送軟件設(shè)計為能夠同時向多個組播和UDP地址發(fā)送數(shù)據(jù),也能夠接收任意源和指定源組播。在發(fā)送時,可以根據(jù)需要設(shè)置每次發(fā)送數(shù)據(jù)包的長度、個數(shù)以及兩次數(shù)據(jù)發(fā)送之間的間隔,并能夠進(jìn)行發(fā)送包、接收包統(tǒng)計。該軟件不僅能夠用于發(fā)送探測數(shù)據(jù)包,還可以用于通信鏈路的兩端計算機(jī)上,接收任意組播的數(shù)據(jù),達(dá)到獨(dú)立檢測和驗證鏈路正確性的目的。
(2)包計數(shù)。為了在通信鏈路兩端能夠確認(rèn)數(shù)據(jù)包的唯一性,在每個發(fā)送的數(shù)據(jù)包上加入了包序號,以此來判斷是否為本軟件發(fā)送出的包,并且能夠在發(fā)生丟包的時候準(zhǔn)確定位其在發(fā)送序列中的位置,為進(jìn)一步的故障排除提供了詳細(xì)依據(jù)。簡化的發(fā)送端實現(xiàn)代碼如圖5所示。
數(shù)據(jù)包探測法在處理網(wǎng)絡(luò)鏈路故障時得到了很好的應(yīng)用。不僅能夠?qū)栴}準(zhǔn)確定位,而且效率較高,使用該方法,經(jīng)常只用幾分鐘就可以解決人工花費(fèi)幾個小時甚至一天多的問題。
本文提出的方法能夠滿足日常網(wǎng)絡(luò)故障定位和問題解決的需要,該方法有以下特點:
(1)思路明確,針對性強(qiáng),對網(wǎng)絡(luò)鏈路故障特點有很好的適應(yīng)性。
(2)軟件界面可操作性好,工作穩(wěn)定。
(3)檢測結(jié)論明確,具有足夠的說服力。
參考文獻(xiàn)
[1]田萌.一種探測網(wǎng)絡(luò)拓?fù)涞男路椒捌湓谙蛄烤W(wǎng)的應(yīng)用[D].北京交通大學(xué),2014.
[2]何子昂.10kV架空線故障定位系統(tǒng)的研究與開發(fā)[D].華南理工大學(xué),2012.
Application of data packet detection method in solving network fault
Li Jun
(Xi`an FanYi University,Xi`an,710105)
Abstract:Network fault investigation is a very complex process.This paper analyzes the characteristics and common methods of network fault detection, and puts forward a communication link checking method based on network detection packet transmission and confirmation.
Keywords:network link;failure investigation
基金項目:電子商務(wù)專業(yè)綜合改革試點
作者簡介
性別:男,出生:1977年7月,籍貫:陜西西安,職稱:工程師,西安翻譯學(xué)院電子工程系教師,研究方向:計算機(jī)網(wǎng)絡(luò)。