如何定位引起網(wǎng)絡(luò)丟包的根源
前言
網(wǎng)絡(luò)丟包通常是比較難排查的問題,因?yàn)樵斐删W(wǎng)絡(luò)丟包的原因很多,排查此類問題需要很長的時間。本案例中,通過對網(wǎng)絡(luò)通信數(shù)據(jù)進(jìn)行比對分析,從而找到引起網(wǎng)絡(luò)丟包的問題根源。
2.1 問題描述
可編程邏輯控制器(PLC),是一種采用一類可編程的存儲器,用于其內(nèi)部存儲程序,執(zhí)行邏輯運(yùn)算、順序控制、定時、計(jì)數(shù)與算術(shù)操作等面向用戶的指令,并通過數(shù)字或模擬式輸入/輸出控制各種類型的機(jī)械或生產(chǎn)過程。PLC實(shí)質(zhì)是一種專用于工業(yè)控制的計(jì)算機(jī)。
某集團(tuán)公司PLC設(shè)備近期出現(xiàn)異常,設(shè)備經(jīng)常報(bào)告連接故障,公司網(wǎng)絡(luò)運(yùn)維人員通過Ping測試發(fā)現(xiàn)該設(shè)備存在丟包現(xiàn)象(丟包率約1~2%)。為了尋找問題原因,避免再次出現(xiàn)類似問題,在科來網(wǎng)絡(luò)分析工程師的協(xié)助下,在出問題的PLC設(shè)備接入交換機(jī)處旁路部署了科來網(wǎng)絡(luò)回溯分析系統(tǒng)進(jìn)行數(shù)據(jù)包級分析。PLC網(wǎng)絡(luò)環(huán)境及分析設(shè)備部署示意圖如下。
通過交換機(jī)端口雙向流量鏡像分別采集故障PLC和正常PLC的通信數(shù)據(jù)進(jìn)行比對分析,以下是詳細(xì)分析過程及分析結(jié)論。
2.2 分析過程
2.2.1 故障PLC單網(wǎng)卡數(shù)據(jù)分析
首先,我們鏡像故障PLC問題最嚴(yán)重網(wǎng)卡(IPX.X.8.4)的接口雙向流量,在采集數(shù)據(jù)的同時,公司技術(shù)人員配合從核心交換機(jī)處ping“X.X.8.4”。從采集到的ICMP協(xié)議報(bào)文數(shù)量可以看到:測試期間共捕獲124個ping請求包(Echo Req),但只捕獲122個ping應(yīng)答包(Echo Reply),如下圖所示。
可以看出從故障PLC設(shè)備到邊緣交換機(jī)接口就存在丟包現(xiàn)象,故障PLC有1.6%的包沒有傳輸?shù)竭吘壗粨Q機(jī)。同時,在測試期間X.X.8.4的TCP通信中存在明顯的丟包現(xiàn)象,如下圖所示。
通過以上數(shù)據(jù),我們可以初步判斷造成丟包現(xiàn)象的原因出自故障PLC到接入交換機(jī)之間,可能的問題點(diǎn)包括:
接入交換機(jī)接口故障;
故障PLC接入網(wǎng)線故障;
故障PLC設(shè)備自身網(wǎng)卡或其他硬件故障。
2.2.2 故障PLC全部網(wǎng)卡數(shù)據(jù)分析
第二步,我們鏡像了故障PLC的全部三個網(wǎng)卡連接的交換機(jī)接口雙向流量,發(fā)現(xiàn)三個網(wǎng)卡都有丟包現(xiàn)象,而且丟包量基本相當(dāng),如下圖所示。
這說明丟包并不是X.X.8.4一個網(wǎng)卡的問題,而是故障PLC三個網(wǎng)卡的都有的現(xiàn)象。從其TCP會話統(tǒng)計(jì)來看也都是從PLC設(shè)備發(fā)送到接入交換機(jī)時出現(xiàn)的丟包。
由于三個網(wǎng)線或三個交換機(jī)接口同時存在問題的可能性很小,所以我們基本可以判斷是故障PLC設(shè)備自身硬件問題導(dǎo)致的丟包現(xiàn)象。
2.2.3 正常PLC數(shù)據(jù)分析
第三步,我們鏡像在同一邊緣交換機(jī)的正常PLC設(shè)備(X.X.9.172)接口的流量,從采集數(shù)據(jù)中我們只看到了很少量的TCP重傳,并且這些重傳都是與X.X.8.4相關(guān)的通訊導(dǎo)致的,如下圖所示。
這說明正常PLC設(shè)備到接入交換機(jī)之間并沒有明顯的丟包跡象,進(jìn)一步驗(yàn)證了之前的分析結(jié)論。
2.3 分析結(jié)論
通過以上數(shù)據(jù)分析,我們判斷存在丟包問題的PLC設(shè)備極有可能是由于設(shè)備自身硬件問題,導(dǎo)致數(shù)據(jù)包沒有正常的從網(wǎng)卡發(fā)送到網(wǎng)絡(luò)中所致;網(wǎng)線和接入交換機(jī)接口導(dǎo)致丟包現(xiàn)象的可能性非常小。
建議用戶在非生產(chǎn)時段用PC機(jī)接入到故障設(shè)備的網(wǎng)線上,配置相同IP地址,通過ping測試是否還存在丟包現(xiàn)象,如果沒有出現(xiàn)丟包或丟包率遠(yuǎn)小于1%即可完全排除網(wǎng)絡(luò)原因。
2.4 價(jià)值
通過網(wǎng)絡(luò)分析技術(shù)對傳輸?shù)臄?shù)據(jù)流進(jìn)行深入分析,可從多種可能原因中快速定位問題根源,使網(wǎng)絡(luò)丟包不在困擾網(wǎng)絡(luò)管理員。