楊 麗 楊 洋 向志強
(中國人民解放軍91114部隊 上海 200000)
現代戰爭早已不是冷兵器時代的單打獨斗,更多的是涉及到海、陸、空多方協同的作戰,是體系與體系的對抗[1]。主導戰場主被動權的不僅僅是兵力、火控武器的編配,更多的是敵我雙方的制信息權的比拼[2~3]。制信息權已成為奪取戰場綜合控制權的核心[4]。需要不出錯誤地上傳下達己方信息,同時有效截獲、解析、干擾、抑制敵方信息的傳送。
在多兵種、多平臺、多系統的協同作戰單元內部,各種信息數據量龐大,必然需要有一臺綜合的信息數據融合處理系統來解析、傳送各種信息[1,5]。該系統的信息處理速度、正確性、吞吐量等則可能就對戰場的勝負局面起到了決定性的作用。因此,保證此類綜合信息處理系統的正常運轉就變得十分關鍵,一旦出現問題,能否快速對其進行正確、快速的診斷也就必然將成為系統作戰效能評估中的重要一環[6~7]。
在此背景下,研究一臺針對此類綜合系統的便攜式的檢測設備,對日常裝備檢測、戰時臨搶修,保持作戰系統戰斗力具有積極的意義[8~10]。
便攜式檢測設備需要能夠完成對局域網或廣域網數據交換設備進行網絡質量分析和強度測試;能監聽檢測被測設備,從被測設備接收UDP和TCP等報文;能注入自定義報文,可實時監控網絡數據包狀態、網絡延時、丟包和帶寬占用情況等。
綜合信息數據處理系統檢測設備(后文簡稱檢測設備)由網絡監控子卡、便攜式加固一體機、調試配件、配套軟件組成。
其整體系統硬件架構如圖1所示。

圖1 系統硬件架構
便攜式一體機采用人機交互友好的Windows系統,網絡數據交換分析模塊采用性能和擴展性更高的Linux系統。
綜合信息數據處理系統處理的數據來源多、格式多、數據量大[7]。檢測設備需要對業務網的網絡報文通信進行檢測與管理;要對接入網的數據交換端口進行強度測試、網絡狀態監控及網絡故障包注入;要能支持UDP、TCP、ARP和ICMP等協議,要實時監控網絡數據包狀態、網絡延時、丟包和帶寬占用情況等。
基于標準 TCP/IP的7層OSI體系架構[11~14],對上述需求進行原理解構,功能拆分,通過對協議棧的適當修改及功能嵌入,對驅動進行優化改造,將檢測設備的軟件功能子模塊耦合嵌入OSI體系結構[12],架構原理圖如圖2所示。實線文本框中為檢測設備軟件的功能子模塊與OSI體系結構的耦合改造原理。

圖2 軟件原理解構
具體功能實現技術途徑如下:
1)流量過濾:利用ACL技術來控制端口進出的數據包,配置ACL后可以限制網絡流量,允許特定設備訪問,指定轉發特定端口數據包等;
2)包延時測量:利用網絡時間協議NTP來實現數據包的時延測試;
3)包捕獲、監視、流量生成、自定義包發送:zkpcap中間件提供捕獲網絡流量的應用程序編程接口(API),調用相關接口即可以實現;
4)流量分析、包解析:zksharkLib中間件提供數據包分析、協議解析的應用程序編程接口(API),調用相關接口即可以實現;
5)帶寬管理、網絡擁塞優化:可以利用Qos技術來擴展傳輸的帶寬,降低傳送的時延,降低數據的丟包率以及時延抖動等;
6)網卡驅動:實現網卡收發數據包的功能,并針對性優化提高網卡收發包的效率,保證網卡本身不丟包,同時構建MUX層實現零拷貝技術提升網路報文發送的性能和實現性,同時鉤子函數向上層提供最原始的報文監控;
7)人機交互設計:QT是一個跨平臺C++圖形用戶界面應用程序開發框架。它既可以開發GUI程序,也可用于開發非GUI程序。其具有優良的跨平臺特性、面向對象、豐富的API、支持2D/3D圖形渲染,支持OpenGL。本軟件主體界面采用QT設計,能夠提供優良的人機交互場景并保證可擴展性和可維護性;
8)網絡管理:基于SNMP協議可以實現對網內的網絡單元進行節點管理。
檢測設備主要由定制計算機模塊、網絡數據交換分析模塊、人機交互及系統監控單元等組成。其硬件設計原理框圖如圖3所示。

圖3 系統硬件原理框圖
該單元主要為定制的加固便攜式一體機,主處理器采用高性能處理器,內存為DDR4容量大于等于8GB、存儲采用2T的固態盤、M.2接口、2路千兆電口和RS232串口組成。
該單元采用的高性能處理器,可以充分保證檢測設備自身的網路帶寬和性能;遵循了測試設備性能大于被測設備從而保證測試的可靠性;同時能夠充分保證檢測設備所有的測試操作都能提供流暢的人機交互。
該模塊主要由網絡數據交換單元、數據分析與生成單元、數據存儲單元組成,其功能框圖如圖4所示。

圖4 網絡數據交換分析模塊功能框圖
網絡數據交換單元主要提供可配置的端口鏡像功能和數據交換功能;數據分析與生成單元主要提供網絡報文過濾、生成等后臺功能;數據存儲單元提供歷史日志維護導入導出,現場報文記錄等功能。
模塊中數據交換單元可以配置多種鏡像端口組合方式,由數據處理單元通過MDIO配置。交換模塊中通過萬兆聚合口將數據鏡像給計算單元能夠充分保證其帶寬。存儲單元可以保存歷史分析數據,提供現場報文記錄,容量可升級,為復雜的網絡現場排故提供了后臺分析功能。
該單元采用Windows風格的人機交互界面,主顯示模塊為一塊1080P高清顯示屏,提供良好的操作性。提供分辨率不低于1920*1080的屏幕顯示效果,同時具備屏幕防眩目的設計。
軟件采用模塊化設計,多線程編程,前后臺分離,可最大程度地保障軟件運行的流暢度。
檢測設備需要兼顧人機交互、協議分析、網絡監控、網絡測試,其功能框圖如圖5所示。

圖5 檢測設備軟件功能架構
軟件以主流的PCAP技術為導向,借鑒wireshark界面設計思路,采用QT圖像技術,融合鉤子函數嵌入、零拷貝技術及驅動層的改造來實現具體的各功能模塊。軟件各子功能模塊采用組件模塊化設計思想,模塊之間松耦合,便于擴展及定制化功能,保證軟件的穩定性和可維護性。采用QT開發軟件,使得軟件具備良好的人機交互效果。
軟件流程圖如圖6所示。

圖6 檢測設備軟件流程圖
4.2.1 顯示界面設計
采用Window開發技術及合理的軟件規劃設計來保證檢測設備具有良好的人機交互體驗,操作界面簡潔易于操作;各項狀態參數、測量數據、監控信息的顯示整潔直觀。
圖7給出了其中協議分析的一個示例。

圖7 協議分析的人機交互界面示例
4.2.2 數據導入/導出
在常用的Winform開發框架中引入一個通用的數據導入模塊,功能示意如圖8所示。既有公用的導入界面,同時還提供一些屬性和接口給外部調用對象進行操作,由后臺線程進行數據保存并顯示導入進度。數據導出只需要把數據按照導入模板約定的字段名稱導出即可。

圖8 數據導入/導出模塊功能示意
通過硬件設計的網絡鏡像端口,捕獲由不同裝備到達綜合信息數據處理系統的數據包,通過人機交互界面對通信接口協議及有關技術參數進行解析和存儲。記錄數據包各處于OSI模型的第幾層,也即所找到的協議使用了哪些下層協議,又被哪些上層協議所使用。在此基礎上,基于SNMP進行網絡管理,并將裝備狀態信息可視化地顯示在人機交互界面中。

圖9 數據解析功能示意
該單元采用Windows平臺下的NDIS中間層技術實現網絡監控。應用NDIS支持的3種類型的驅動程序——傳輸層驅動程序、中間層驅動程序、微型端口驅動程序,將傳輸層和鏈路層之間發送和接受的數據進行統計并存儲,從而實現實時監控網絡數據包狀態、網絡延時、丟包和寬帶占用情況,支持UDP、TCP、ARP和ICMP標準網絡協議。其原理實現如圖10所示。

圖10 網絡監控實現示意
綜合信息數據處理系統裝備在現代作戰中具有重要地位,其能保持良好的工作狀態將有效提高整個戰場作戰系統的綜合作戰效能。本檢測設備的研制成功,在平時可以通過網絡質量分析、強度測試、實時監控網絡數據包狀態等方式對系統的功能性能進行檢測;在出現故障時可實現快速、準確定位故障點,縮短修理周期,提高維修效率。