楊 麗 楊 洋 向志強
(中國人民解放軍91114部隊 上海 200000)
現(xiàn)代戰(zhàn)爭早已不是冷兵器時代的單打獨斗,更多的是涉及到海、陸、空多方協(xié)同的作戰(zhàn),是體系與體系的對抗[1]。主導(dǎo)戰(zhàn)場主被動權(quán)的不僅僅是兵力、火控武器的編配,更多的是敵我雙方的制信息權(quán)的比拼[2~3]。制信息權(quán)已成為奪取戰(zhàn)場綜合控制權(quán)的核心[4]。需要不出錯誤地上傳下達(dá)己方信息,同時有效截獲、解析、干擾、抑制敵方信息的傳送。
在多兵種、多平臺、多系統(tǒng)的協(xié)同作戰(zhàn)單元內(nèi)部,各種信息數(shù)據(jù)量龐大,必然需要有一臺綜合的信息數(shù)據(jù)融合處理系統(tǒng)來解析、傳送各種信息[1,5]。該系統(tǒng)的信息處理速度、正確性、吞吐量等則可能就對戰(zhàn)場的勝負(fù)局面起到了決定性的作用。因此,保證此類綜合信息處理系統(tǒng)的正常運轉(zhuǎn)就變得十分關(guān)鍵,一旦出現(xiàn)問題,能否快速對其進行正確、快速的診斷也就必然將成為系統(tǒng)作戰(zhàn)效能評估中的重要一環(huán)[6~7]。
在此背景下,研究一臺針對此類綜合系統(tǒng)的便攜式的檢測設(shè)備,對日常裝備檢測、戰(zhàn)時臨搶修,保持作戰(zhàn)系統(tǒng)戰(zhàn)斗力具有積極的意義[8~10]。
便攜式檢測設(shè)備需要能夠完成對局域網(wǎng)或廣域網(wǎng)數(shù)據(jù)交換設(shè)備進行網(wǎng)絡(luò)質(zhì)量分析和強度測試;能監(jiān)聽檢測被測設(shè)備,從被測設(shè)備接收UDP和TCP等報文;能注入自定義報文,可實時監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)包狀態(tài)、網(wǎng)絡(luò)延時、丟包和帶寬占用情況等。
綜合信息數(shù)據(jù)處理系統(tǒng)檢測設(shè)備(后文簡稱檢測設(shè)備)由網(wǎng)絡(luò)監(jiān)控子卡、便攜式加固一體機、調(diào)試配件、配套軟件組成。
其整體系統(tǒng)硬件架構(gòu)如圖1所示。
圖1 系統(tǒng)硬件架構(gòu)
便攜式一體機采用人機交互友好的Windows系統(tǒng),網(wǎng)絡(luò)數(shù)據(jù)交換分析模塊采用性能和擴展性更高的Linux系統(tǒng)。
綜合信息數(shù)據(jù)處理系統(tǒng)處理的數(shù)據(jù)來源多、格式多、數(shù)據(jù)量大[7]。檢測設(shè)備需要對業(yè)務(wù)網(wǎng)的網(wǎng)絡(luò)報文通信進行檢測與管理;要對接入網(wǎng)的數(shù)據(jù)交換端口進行強度測試、網(wǎng)絡(luò)狀態(tài)監(jiān)控及網(wǎng)絡(luò)故障包注入;要能支持UDP、TCP、ARP和ICMP等協(xié)議,要實時監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)包狀態(tài)、網(wǎng)絡(luò)延時、丟包和帶寬占用情況等。
基于標(biāo)準(zhǔn) TCP/IP的7層OSI體系架構(gòu)[11~14],對上述需求進行原理解構(gòu),功能拆分,通過對協(xié)議棧的適當(dāng)修改及功能嵌入,對驅(qū)動進行優(yōu)化改造,將檢測設(shè)備的軟件功能子模塊耦合嵌入OSI體系結(jié)構(gòu)[12],架構(gòu)原理圖如圖2所示。實線文本框中為檢測設(shè)備軟件的功能子模塊與OSI體系結(jié)構(gòu)的耦合改造原理。
圖2 軟件原理解構(gòu)
具體功能實現(xiàn)技術(shù)途徑如下:
1)流量過濾:利用ACL技術(shù)來控制端口進出的數(shù)據(jù)包,配置ACL后可以限制網(wǎng)絡(luò)流量,允許特定設(shè)備訪問,指定轉(zhuǎn)發(fā)特定端口數(shù)據(jù)包等;
2)包延時測量:利用網(wǎng)絡(luò)時間協(xié)議NTP來實現(xiàn)數(shù)據(jù)包的時延測試;
3)包捕獲、監(jiān)視、流量生成、自定義包發(fā)送:zkpcap中間件提供捕獲網(wǎng)絡(luò)流量的應(yīng)用程序編程接口(API),調(diào)用相關(guān)接口即可以實現(xiàn);
4)流量分析、包解析:zksharkLib中間件提供數(shù)據(jù)包分析、協(xié)議解析的應(yīng)用程序編程接口(API),調(diào)用相關(guān)接口即可以實現(xiàn);
5)帶寬管理、網(wǎng)絡(luò)擁塞優(yōu)化:可以利用Qos技術(shù)來擴展傳輸?shù)膸?,降低傳送的時延,降低數(shù)據(jù)的丟包率以及時延抖動等;
6)網(wǎng)卡驅(qū)動:實現(xiàn)網(wǎng)卡收發(fā)數(shù)據(jù)包的功能,并針對性優(yōu)化提高網(wǎng)卡收發(fā)包的效率,保證網(wǎng)卡本身不丟包,同時構(gòu)建MUX層實現(xiàn)零拷貝技術(shù)提升網(wǎng)路報文發(fā)送的性能和實現(xiàn)性,同時鉤子函數(shù)向上層提供最原始的報文監(jiān)控;
7)人機交互設(shè)計:QT是一個跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架。它既可以開發(fā)GUI程序,也可用于開發(fā)非GUI程序。其具有優(yōu)良的跨平臺特性、面向?qū)ο?、豐富的API、支持2D/3D圖形渲染,支持OpenGL。本軟件主體界面采用QT設(shè)計,能夠提供優(yōu)良的人機交互場景并保證可擴展性和可維護性;
8)網(wǎng)絡(luò)管理:基于SNMP協(xié)議可以實現(xiàn)對網(wǎng)內(nèi)的網(wǎng)絡(luò)單元進行節(jié)點管理。
檢測設(shè)備主要由定制計算機模塊、網(wǎng)絡(luò)數(shù)據(jù)交換分析模塊、人機交互及系統(tǒng)監(jiān)控單元等組成。其硬件設(shè)計原理框圖如圖3所示。
圖3 系統(tǒng)硬件原理框圖
該單元主要為定制的加固便攜式一體機,主處理器采用高性能處理器,內(nèi)存為DDR4容量大于等于8GB、存儲采用2T的固態(tài)盤、M.2接口、2路千兆電口和RS232串口組成。
該單元采用的高性能處理器,可以充分保證檢測設(shè)備自身的網(wǎng)路帶寬和性能;遵循了測試設(shè)備性能大于被測設(shè)備從而保證測試的可靠性;同時能夠充分保證檢測設(shè)備所有的測試操作都能提供流暢的人機交互。
該模塊主要由網(wǎng)絡(luò)數(shù)據(jù)交換單元、數(shù)據(jù)分析與生成單元、數(shù)據(jù)存儲單元組成,其功能框圖如圖4所示。
圖4 網(wǎng)絡(luò)數(shù)據(jù)交換分析模塊功能框圖
網(wǎng)絡(luò)數(shù)據(jù)交換單元主要提供可配置的端口鏡像功能和數(shù)據(jù)交換功能;數(shù)據(jù)分析與生成單元主要提供網(wǎng)絡(luò)報文過濾、生成等后臺功能;數(shù)據(jù)存儲單元提供歷史日志維護導(dǎo)入導(dǎo)出,現(xiàn)場報文記錄等功能。
模塊中數(shù)據(jù)交換單元可以配置多種鏡像端口組合方式,由數(shù)據(jù)處理單元通過MDIO配置。交換模塊中通過萬兆聚合口將數(shù)據(jù)鏡像給計算單元能夠充分保證其帶寬。存儲單元可以保存歷史分析數(shù)據(jù),提供現(xiàn)場報文記錄,容量可升級,為復(fù)雜的網(wǎng)絡(luò)現(xiàn)場排故提供了后臺分析功能。
該單元采用Windows風(fēng)格的人機交互界面,主顯示模塊為一塊1080P高清顯示屏,提供良好的操作性。提供分辨率不低于1920*1080的屏幕顯示效果,同時具備屏幕防眩目的設(shè)計。
軟件采用模塊化設(shè)計,多線程編程,前后臺分離,可最大程度地保障軟件運行的流暢度。
檢測設(shè)備需要兼顧人機交互、協(xié)議分析、網(wǎng)絡(luò)監(jiān)控、網(wǎng)絡(luò)測試,其功能框圖如圖5所示。
圖5 檢測設(shè)備軟件功能架構(gòu)
軟件以主流的PCAP技術(shù)為導(dǎo)向,借鑒wireshark界面設(shè)計思路,采用QT圖像技術(shù),融合鉤子函數(shù)嵌入、零拷貝技術(shù)及驅(qū)動層的改造來實現(xiàn)具體的各功能模塊。軟件各子功能模塊采用組件模塊化設(shè)計思想,模塊之間松耦合,便于擴展及定制化功能,保證軟件的穩(wěn)定性和可維護性。采用QT開發(fā)軟件,使得軟件具備良好的人機交互效果。
軟件流程圖如圖6所示。
圖6 檢測設(shè)備軟件流程圖
4.2.1 顯示界面設(shè)計
采用Window開發(fā)技術(shù)及合理的軟件規(guī)劃設(shè)計來保證檢測設(shè)備具有良好的人機交互體驗,操作界面簡潔易于操作;各項狀態(tài)參數(shù)、測量數(shù)據(jù)、監(jiān)控信息的顯示整潔直觀。
圖7給出了其中協(xié)議分析的一個示例。
圖7 協(xié)議分析的人機交互界面示例
4.2.2 數(shù)據(jù)導(dǎo)入/導(dǎo)出
在常用的Winform開發(fā)框架中引入一個通用的數(shù)據(jù)導(dǎo)入模塊,功能示意如圖8所示。既有公用的導(dǎo)入界面,同時還提供一些屬性和接口給外部調(diào)用對象進行操作,由后臺線程進行數(shù)據(jù)保存并顯示導(dǎo)入進度。數(shù)據(jù)導(dǎo)出只需要把數(shù)據(jù)按照導(dǎo)入模板約定的字段名稱導(dǎo)出即可。
圖8 數(shù)據(jù)導(dǎo)入/導(dǎo)出模塊功能示意
通過硬件設(shè)計的網(wǎng)絡(luò)鏡像端口,捕獲由不同裝備到達(dá)綜合信息數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)包,通過人機交互界面對通信接口協(xié)議及有關(guān)技術(shù)參數(shù)進行解析和存儲。記錄數(shù)據(jù)包各處于OSI模型的第幾層,也即所找到的協(xié)議使用了哪些下層協(xié)議,又被哪些上層協(xié)議所使用。在此基礎(chǔ)上,基于SNMP進行網(wǎng)絡(luò)管理,并將裝備狀態(tài)信息可視化地顯示在人機交互界面中。
圖9 數(shù)據(jù)解析功能示意
該單元采用Windows平臺下的NDIS中間層技術(shù)實現(xiàn)網(wǎng)絡(luò)監(jiān)控。應(yīng)用NDIS支持的3種類型的驅(qū)動程序——傳輸層驅(qū)動程序、中間層驅(qū)動程序、微型端口驅(qū)動程序,將傳輸層和鏈路層之間發(fā)送和接受的數(shù)據(jù)進行統(tǒng)計并存儲,從而實現(xiàn)實時監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)包狀態(tài)、網(wǎng)絡(luò)延時、丟包和寬帶占用情況,支持UDP、TCP、ARP和ICMP標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議。其原理實現(xiàn)如圖10所示。
圖10 網(wǎng)絡(luò)監(jiān)控實現(xiàn)示意
綜合信息數(shù)據(jù)處理系統(tǒng)裝備在現(xiàn)代作戰(zhàn)中具有重要地位,其能保持良好的工作狀態(tài)將有效提高整個戰(zhàn)場作戰(zhàn)系統(tǒng)的綜合作戰(zhàn)效能。本檢測設(shè)備的研制成功,在平時可以通過網(wǎng)絡(luò)質(zhì)量分析、強度測試、實時監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)包狀態(tài)等方式對系統(tǒng)的功能性能進行檢測;在出現(xiàn)故障時可實現(xiàn)快速、準(zhǔn)確定位故障點,縮短修理周期,提高維修效率。