摘 要:針對戰(zhàn)術(shù)環(huán)境下通信系統(tǒng)復(fù)雜多變的特性,對其進(jìn)行網(wǎng)絡(luò)性能展開分析與管理。文中設(shè)計(jì)了一種基于數(shù)據(jù)包捕獲分析的分布式網(wǎng)絡(luò)性能管理系統(tǒng)。系統(tǒng)將網(wǎng)絡(luò)數(shù)據(jù)的采集分析工作分?jǐn)偟椒植际讲渴鸾K端,可以有效降低網(wǎng)關(guān)負(fù)荷,提高系統(tǒng)綜合效能;通過對數(shù)據(jù)包的深入統(tǒng)計(jì)分析,可以發(fā)現(xiàn)網(wǎng)絡(luò)異常,為網(wǎng)絡(luò)管理人員解決網(wǎng)絡(luò)問題提供輔助決策。
關(guān)鍵詞:戰(zhàn)術(shù)環(huán)境;性能管理;數(shù)據(jù)包捕獲;WinPcap
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2018)02-00-03
0 引 言
戰(zhàn)術(shù)網(wǎng)絡(luò)是由指揮車、戰(zhàn)車等多用途車輛,以其車內(nèi)局域網(wǎng)為節(jié)點(diǎn)組成的廣域網(wǎng)絡(luò)。采用各種戰(zhàn)術(shù)電臺通信,其環(huán)境情況由于復(fù)雜的電磁干擾和快速移動的自身特點(diǎn)而多變,通信保障人員需要隨時掌握戰(zhàn)場通信網(wǎng)絡(luò)態(tài)勢,因此提供一種行之有效的網(wǎng)絡(luò)性能管理方法至關(guān)重要。
網(wǎng)絡(luò)管理系統(tǒng)的性能指標(biāo)包括系統(tǒng)吞吐率、鏈路使用率、網(wǎng)管消息的延遲時間、丟包率、網(wǎng)管消息的冗余度等[1]。網(wǎng)絡(luò)流量監(jiān)控是網(wǎng)絡(luò)性能管理的一個重要方法,包括實(shí)時獲悉流量信息,長時間的流量收集、分析與統(tǒng)計(jì),為網(wǎng)絡(luò)管理人員提供帶寬規(guī)劃與趨勢分析報告等[2]。
通常采用的網(wǎng)絡(luò)流量監(jiān)控技術(shù)包括基于網(wǎng)絡(luò)流量全鏡像監(jiān)測技術(shù)、基于SNMP的監(jiān)測技術(shù)和基于NetFlow的監(jiān)測技術(shù)[3]。上述三種技術(shù)各有優(yōu)缺點(diǎn),均需依賴網(wǎng)絡(luò)設(shè)備提供硬件支持。戰(zhàn)術(shù)環(huán)境下網(wǎng)絡(luò)設(shè)備通常會處理多種設(shè)備的報文交換和其他數(shù)據(jù)交互,網(wǎng)絡(luò)設(shè)備負(fù)荷較重,且通信鏈路帶寬較窄,研究一種不依賴網(wǎng)絡(luò)設(shè)備、盡可能減少帶寬占用的網(wǎng)絡(luò)流量監(jiān)測方法能夠有效提高戰(zhàn)術(shù)網(wǎng)絡(luò)環(huán)境中的網(wǎng)絡(luò)性能管理。
本文針對戰(zhàn)術(shù)通信環(huán)境的特點(diǎn)設(shè)計(jì)了一種基于WinPcap[4]的分布式數(shù)據(jù)包捕獲分析系統(tǒng),以減輕網(wǎng)絡(luò)設(shè)備負(fù)荷,高效、快速的對車內(nèi)局域網(wǎng)的網(wǎng)絡(luò)性能狀況進(jìn)行監(jiān)控和數(shù)據(jù)包分析,為通信人員提供決策輔助。通過逐級上報,將各節(jié)點(diǎn)網(wǎng)絡(luò)性能數(shù)據(jù)匯總到網(wǎng)絡(luò)管理中心后進(jìn)行統(tǒng)計(jì)分析即可明確全網(wǎng)性能態(tài)勢。
1 戰(zhàn)術(shù)環(huán)境下的通信系統(tǒng)特點(diǎn)分析
戰(zhàn)術(shù)通信環(huán)境可視為一個廣域網(wǎng),由多種有線網(wǎng)、無線電臺網(wǎng)和野戰(zhàn)局域網(wǎng)組成。野戰(zhàn)局域網(wǎng)分布于不同用途的車輛中,由多種通信設(shè)備,一臺交換設(shè)備(網(wǎng)關(guān))和一至多臺戰(zhàn)術(shù)終端和服務(wù)器構(gòu)成。數(shù)據(jù)由終端和服務(wù)器產(chǎn)生,經(jīng)網(wǎng)關(guān)由通信設(shè)備傳輸至廣域網(wǎng)。戰(zhàn)術(shù)通信以大量電臺作為通信手段,但其通信帶寬有限,網(wǎng)絡(luò)拓?fù)鋭討B(tài)變化,移動設(shè)備的計(jì)算能力有限[5];戰(zhàn)場電磁環(huán)境復(fù)雜,干擾嚴(yán)重,影響數(shù)據(jù)傳輸,丟包率較高[6];由于網(wǎng)關(guān)承擔(dān)了對外數(shù)據(jù)交換的任務(wù),導(dǎo)致網(wǎng)關(guān)負(fù)荷較重。
在戰(zhàn)斗和訓(xùn)練過程中,通信保障人員關(guān)注的重點(diǎn)是車內(nèi)局域網(wǎng)對當(dāng)前需要發(fā)送的報文、短語的承載能力,因此網(wǎng)絡(luò)性能監(jiān)測的主要目標(biāo)是網(wǎng)絡(luò)節(jié)點(diǎn)連通性和拓?fù)渥兓闆r,節(jié)點(diǎn)間通信手段的變化情況、通信容量和吞吐量,報文的網(wǎng)絡(luò)帶寬占用率等內(nèi)容[7],以及性能指標(biāo)時延、帶寬、流量、丟包率等指標(biāo)[8]。
2 戰(zhàn)術(shù)環(huán)境下的網(wǎng)絡(luò)性能管理系統(tǒng)設(shè)計(jì)
針對戰(zhàn)術(shù)通信系統(tǒng)的特點(diǎn),采用數(shù)據(jù)包捕獲分析的分布式模型設(shè)計(jì)網(wǎng)絡(luò)性能管理系統(tǒng)。戰(zhàn)術(shù)終端和圖形服務(wù)器的負(fù)荷相對于網(wǎng)關(guān)較輕,其配置也較高。將性能管理的工作分配到每一臺終端和服務(wù)器上,構(gòu)成一套分布式系統(tǒng),不僅減輕了網(wǎng)關(guān)的計(jì)算工作量,還可通過多臺計(jì)算機(jī)的分布式處理彌補(bǔ)計(jì)算能力不足的缺陷。
通過數(shù)據(jù)包捕獲的方式從網(wǎng)卡采集數(shù)據(jù),不占用有限的帶寬,方式靈活,還可對戰(zhàn)術(shù)網(wǎng)絡(luò)通信數(shù)據(jù)進(jìn)行有針對性的抓取,并統(tǒng)計(jì)分析,以圖文報表的形式呈現(xiàn)給指揮人員作為解決網(wǎng)絡(luò)瓶頸、提高網(wǎng)絡(luò)性能的依據(jù)。
2.1 WinPcap簡介
WinPcap是Politecnico di Torino的NetGroup小組開發(fā)的基于Win32平臺的數(shù)據(jù)庫捕獲和網(wǎng)絡(luò)分析的基礎(chǔ)架構(gòu),從UNIX下的Libpcap移植而來,用于用戶層次的數(shù)據(jù)包捕獲工作。
WinPcap采用內(nèi)核過濾機(jī)制,主要包括內(nèi)核級的數(shù)據(jù)包監(jiān)聽設(shè)備驅(qū)動程序,低級動態(tài)鏈接庫(Packet.dll)和高級系統(tǒng)無關(guān)庫(Wpcap.dll)。WinPcap內(nèi)部結(jié)構(gòu)[9]如圖1所示。
WinPcap三個模塊的作用如下所示:
(1)NPF(Netgroup Packet Filter,NPF)是一個虛擬設(shè)備驅(qū)動程序文件,工作在網(wǎng)卡驅(qū)動上,是WinPcap架構(gòu)的核心??蛇^濾數(shù)據(jù)包,并將這些數(shù)據(jù)包原封不動地傳給用戶態(tài)模塊。
(2)Packet.dll是一個用戶級動態(tài)鏈接庫,為Win32平臺提供了一個公共接口。Packet.dll直接映射了內(nèi)核的調(diào)用,運(yùn)行在用戶層,將應(yīng)用程序和數(shù)據(jù)包監(jiān)聽設(shè)備驅(qū)動程序隔離開,使得應(yīng)用程序可以不加任何修改的運(yùn)行在不同版本的Windows系統(tǒng)中。
(3)Wpcap.dll也是一個用戶級動態(tài)鏈接庫,工作在Packet.dll上,與應(yīng)用程序鏈接,使用下層Packet.dll提供的服務(wù)向應(yīng)用程序提供完善的監(jiān)聽接口和更加友好、功能更加強(qiáng)大的函數(shù)調(diào)用[10]。
WinPcap不依賴其它設(shè)備提供硬件支持,例如SNMP需要網(wǎng)絡(luò)設(shè)備或通信設(shè)備提供設(shè)備代理,提供MIB供網(wǎng)絡(luò)管理系統(tǒng)查詢以獲取網(wǎng)絡(luò)流量監(jiān)控信息。WinPcap可以直接采集本機(jī)網(wǎng)卡的原始數(shù)據(jù)包進(jìn)行分析和統(tǒng)計(jì),不耗費(fèi)有限的帶寬資源。
2.2 分布式網(wǎng)絡(luò)性能管理系統(tǒng)設(shè)計(jì)
針對戰(zhàn)術(shù)網(wǎng)絡(luò)的特點(diǎn),將網(wǎng)絡(luò)性能管理系統(tǒng)設(shè)計(jì)分為服務(wù)器/客戶端架構(gòu),如圖2所示。
在車內(nèi)局域網(wǎng)的每臺戰(zhàn)術(shù)終端部署以WinPcap為基礎(chǔ)構(gòu)成的流量分析客戶端。由客戶端有針對性地抓取和存儲數(shù)據(jù)包,按照設(shè)置的時間段統(tǒng)計(jì)分析數(shù)據(jù),并通過圖文報表的形式將本機(jī)的網(wǎng)絡(luò)流量及告警信息實(shí)時展現(xiàn)給用戶;同時將統(tǒng)計(jì)數(shù)據(jù)匯總到服務(wù)器,由服務(wù)器承擔(dān)全車數(shù)據(jù)的匯總分析任務(wù)。將所有客戶端的流量數(shù)據(jù)匯總后可將其視為本車節(jié)點(diǎn)在廣域網(wǎng)中的交互數(shù)據(jù),因此由服務(wù)器進(jìn)一步分析本節(jié)點(diǎn)流量數(shù)據(jù)后可掌握本車的有效帶寬、報文來源、報文協(xié)議、長度等,構(gòu)成了分布式網(wǎng)絡(luò)性能管理系統(tǒng)。endprint
車內(nèi)局域網(wǎng)將本節(jié)點(diǎn)的網(wǎng)絡(luò)性能數(shù)據(jù)上報至上級網(wǎng)絡(luò)管理中心,通過逐級匯總至頂層分析全網(wǎng)性能,由此構(gòu)成廣域網(wǎng)的網(wǎng)絡(luò)性能態(tài)勢信息。
2.3 性能管理系統(tǒng)客戶端模塊設(shè)計(jì)
根據(jù)性能管理系統(tǒng)的功能區(qū)分,將性能管理系統(tǒng)客戶端分為數(shù)據(jù)包抓取、數(shù)據(jù)包分析、數(shù)據(jù)存儲、人機(jī)界面和數(shù)據(jù)上報/匯總五個模塊。客戶端的模塊設(shè)計(jì)結(jié)構(gòu)和工作流程分別如圖3和圖4所示。
數(shù)據(jù)包抓取分為流量統(tǒng)計(jì)和包過濾兩部分。流量統(tǒng)計(jì)可根據(jù)WinPcap提供的統(tǒng)計(jì)模式實(shí)現(xiàn)流量統(tǒng)計(jì)功能。包過濾方式無法與統(tǒng)計(jì)模式并存,因此采用多線程方式可同時實(shí)現(xiàn)兩種模式的數(shù)據(jù)包抓取。
數(shù)據(jù)包抓取完成后由數(shù)據(jù)包分析模塊根據(jù)數(shù)據(jù)包頭的協(xié)議類型分析數(shù)據(jù)包,根據(jù)報文、短語協(xié)議類型設(shè)計(jì)了TCP、UDP、ICMP等分析對象,通過解析以太網(wǎng)幀獲得源、目的IP地址、端口、包長等詳細(xì)信息。通過進(jìn)一步分析可以獲取當(dāng)前網(wǎng)絡(luò)的性能指標(biāo),如根據(jù)統(tǒng)計(jì)流量計(jì)算出當(dāng)前有效數(shù)據(jù)量;統(tǒng)計(jì)一個時間段內(nèi)的數(shù)據(jù)量,結(jié)合當(dāng)前信道的帶寬計(jì)算出網(wǎng)絡(luò)擁塞率;根據(jù)有效數(shù)據(jù)和主機(jī)收發(fā)的所有數(shù)據(jù)計(jì)算出有效帶寬等。
數(shù)據(jù)存儲模塊通過WinPcap轉(zhuǎn)儲功能將包數(shù)據(jù)保存為自定義格式的文件,為適應(yīng)大數(shù)據(jù)計(jì)算的需要,還可考慮采用非關(guān)系型數(shù)據(jù)庫如MongoDB等數(shù)據(jù)庫存儲數(shù)據(jù)。
人機(jī)界面模塊可以實(shí)時為用戶展示當(dāng)前流量信息,采用柱狀圖、餅圖等統(tǒng)計(jì)圖表呈現(xiàn)直觀的數(shù)據(jù)信息。
數(shù)據(jù)上報/匯總模塊分別處于客戶端和服務(wù)器端,客戶端通過數(shù)據(jù)上報模塊將本終端采集的數(shù)據(jù)匯總后上報至服務(wù)器端;服務(wù)器端除完成本端數(shù)據(jù)采集匯總后,還負(fù)責(zé)將車內(nèi)局域網(wǎng)的所有統(tǒng)計(jì)數(shù)據(jù)進(jìn)一步匯總后形成本車局域網(wǎng)的數(shù)據(jù)統(tǒng)計(jì)分析。
2.4 廣域網(wǎng)數(shù)據(jù)的采集分析
通過局域網(wǎng)收集的數(shù)據(jù)需要上報到上級網(wǎng)絡(luò)管理中心進(jìn)行本域的網(wǎng)絡(luò)性能分析。但受限于戰(zhàn)術(shù)網(wǎng)絡(luò)的帶寬,無法將大量數(shù)據(jù)上傳到上級管理中心。因此采用按需索取的方式,由上級管理中心主動索取,各節(jié)點(diǎn)選擇主要的性能數(shù)據(jù)上報到上級管理中心。根據(jù)實(shí)際編制可分為一級或多級管理域,由各級管理中心匯集本域內(nèi)的性能數(shù)據(jù)進(jìn)行分析,通過逐級上報的方式匯總到頂層網(wǎng)絡(luò)管理中心,由此繪制出本廣域網(wǎng)的性能態(tài)勢。同時采用離線方式采集各節(jié)點(diǎn)的數(shù)據(jù)匯總到管理中心。借助大數(shù)據(jù)技術(shù)對海量數(shù)據(jù)進(jìn)行挖掘處理,分析各時間段內(nèi)報文、短語數(shù)據(jù)的發(fā)送特點(diǎn),優(yōu)化通信網(wǎng)絡(luò)結(jié)構(gòu),合理使用通信設(shè)備,充分發(fā)揮通信網(wǎng)絡(luò)效能。
3 結(jié) 語
通過本文設(shè)計(jì)的分布式網(wǎng)絡(luò)性能管理系統(tǒng),可降低對網(wǎng)絡(luò)設(shè)備的依賴,不占用有限帶寬,將數(shù)據(jù)采集、分析等耗費(fèi)計(jì)算機(jī)資源的工作分?jǐn)偟杰噧?nèi)局域網(wǎng)的各種終端和服務(wù)器上,減少了計(jì)算機(jī)的負(fù)擔(dān),可以有效提高網(wǎng)絡(luò)性能管理的效率。
通過該系統(tǒng)的設(shè)計(jì)能夠?qū)崟r監(jiān)測網(wǎng)絡(luò)性能,然而由于戰(zhàn)術(shù)環(huán)境帶寬的限制,如何以盡量少的開銷實(shí)時上報性能數(shù)據(jù),車內(nèi)局域網(wǎng)產(chǎn)生的海量數(shù)據(jù)如何高效、快捷地匯總并進(jìn)行數(shù)據(jù)挖掘處理都是難點(diǎn),而這也是下一步需要解決的問題。
參考文獻(xiàn)
[1]張樂,戚艷軍.野戰(zhàn)地域網(wǎng)網(wǎng)管系統(tǒng)性能評估研究[J].現(xiàn)代電子技術(shù),2006,29(3):28-30.
[2]李常先,姜秋鵬.網(wǎng)絡(luò)性能管理[J].計(jì)算機(jī)與網(wǎng)絡(luò),2007,33(24):58-60.
[3]劉軍良,肖宗水.分布式網(wǎng)絡(luò)流量監(jiān)測[J].計(jì)算機(jī)工程,2008,34 (20):124-126.
[4] FulvioRisso, Loris Degioanni. Deployment of an architecture for packet capture and network traffic analysis [EB/OL].http://net-group-serv.polito.it/winpcap
[5] Andrzej Cichocki,Mariusz A Fecko,S Kadambe.Distributed Fault Diagnostics For Tactical Networks[C].The 2010 Military Communications Conference.Cyber Security and Network Management,2010:1900-1905
[6] Jisang You,Incheol Baek,HongKu Kang,et al.Effictive Traffic Control for Military Tactical Wireless Mobile Ad-hoc Network[C].2010 IEEE 6th International Conference on Wireless and Mobile Computing,Network and Communications,2010:1-8.
[7]馮志先,周明,龍怡翔.戰(zhàn)術(shù)網(wǎng)絡(luò)性能監(jiān)控技術(shù)研究[J].數(shù)字通信世界,2016(6):89-104.
[8]曹文斌,陳國順,牛剛.計(jì)算機(jī)網(wǎng)絡(luò)測量技術(shù)現(xiàn)狀及發(fā)展趨勢[J].現(xiàn)代電子技術(shù),2013,36(3):47-50.
[9]梁建興,賈獎,唐昌建.基于WinPcap的指控網(wǎng)流量監(jiān)控方法研究[A].第二屆中國指揮控制大會論文集,2014:600-601.
[10] Loris Degioanni, Mario Baldi, Fulvio Risso,et al. Profiling and Optimization of Software-Based Network-Analysis Applications[J].Proceedings of the 15th IEEE Symposium on Computer Architecture and High Performance Computing (SBAC-PAD 2003), 2003(8):226-234.endprint