摘 要: 針對飛行試驗過程中基于以太網絡傳輸的機載數據采集系統,設計了一個基于VC環境下以太網絡數據包分析處理軟件。該軟件對結構化參數信息分析處理,及以TCP,UDP等協議傳輸的機載采集的網絡數據包進行解析處理,同時對不同時間采樣的參數數據按照就近方法進行時間統一處理,提供有效的性能和狀態數據的分析。經過軟件測試后,該軟件能夠正確的提取參數數據,且效率較好。
關鍵詞: PCAP; 網絡數據包; 以太網; VC
中圖分類號: TN311.1?34 文獻標識碼: A 文章編號: 1004?373X(2013)10?0049?03
目前,大量應用于飛行試驗的Kam500機載測試系統,采集記錄的飛行試驗數據格式為標準PCM數據[1]。PCM格式數據由重復出現的長幀組成,每個長幀的長度是固定的,每個長幀包含若干個短幀。在網絡化測試系統中網絡數據包以EthernetⅡ協議廣播。采集記錄的飛行試驗數據為網絡數據包格式。每個網絡數據包的大小都可以不同,并且每個網絡數據包中的參數個數也可以不同。根據記錄器的不同,記錄的網絡數據包結構可以是PCAP格式或者IRIG106?10格式[2]。
以太網作為一種原理簡單,便于實現同時又價格低廉的局域網技術已經成為業界的主流。而更高性能的快速以太網和千兆以太網的出現更使其成為最有前途的網絡技術。以太網的幀是數據鏈路層的封裝,網絡層的數據包被加上幀頭和幀尾成為可以被數據鏈路層識別的數據幀(成幀)。雖然幀頭和幀尾所用的字節數是固定不變的,但依被封裝的數據包大小的不同,以太網的長度也在變化,其范圍是64~1 518 B。用戶數據報協議(User Data Protocol,UDP)是與TCP相對應的協議。它是面向非連接的協議,它不與對方建立連接,而是直接就把數據包發送過去。UDP適用于一次只傳送少量數據、對可靠性要求不高的應用環境。它的通信效率高,但它的可靠性不如TCP協議高。TCP是面向連接的通信協議,通過三次握手建立連接,通信完成時要拆除鏈接,只能用于點對點的通信。它是一種可靠的數據流服務,采用“帶重傳的肯定確認”技術來實現傳輸的可靠性。該協議將包排序并進行錯誤檢查,數據包中包括序號確認,對未按照順序收到的包可以被排序,而損壞的包可以被重傳。以上的機制有效地保證數據傳輸的正確性[3]。本文是在以Kam500作為前端數據采集系統,經由網絡交換機對Kam500采集的飛行數據進行打包發送到數據記錄器,記錄器以PCAP格式對采集的網絡數據包進行記錄。
2 軟件的設計思路及結構框圖
2.1 軟件設計關鍵技術
因網絡數據包在網絡鏈路中傳輸可能出現時間滯后,數據順序打亂甚至丟包等問題。為了解決在數據解析當中,解析數據在時間上是順序,經過多次軟件調試試驗,選擇定長時間5 s為時間窗,對采集到的數據進行分析排序輸出,保證了因網絡延遲導致的采集數據點回跳的問題。對于第N個時間窗出現N-1個時間窗的時間點參數,本程序進行了剔除。在網絡數據包解析過程中,采用了內存映射技術,通過內存映射建立了原始網絡數據包到內存的映射,然后讀取原始數據進行提取分析處理。該方法因減少I/O操作時間,有效的提高了處理速度,能提高處理速度20%~30%。
2.2 軟件設計結構框圖
3 網絡包數據分析軟件設計
3.1 軟件主程序設計
4 軟件的測試
5 結 語
本文在VC軟件開發環境下實現了基于標準以太網傳輸的PCAP格式的網絡數據包分析處理軟件的設計。并對該軟件進行了軟件測試工作,經過設計和測試,該軟件能夠有效地處理分析基于以太網傳輸的采集的PCM數據,實現了網絡包形式的PCM數據解析,為飛行試驗中基于網絡采集的試飛數據處理提供了方便。
參考文獻
[1] 中國飛行試驗研究院.航空武器裝備飛行試驗指南[M].西安:中國飛行試驗研究院,2010.
[2] 彭國金.非機構化海量網絡數據處理技術研究[J].現代電子技術,2011,34(14):121?123.
[3] 付建民.計算機網絡技術[M].北京:中國水利水電出版社,2011.
[4] 白喬,左飛.把脈VC++[M].北京:電子工業出版社,2009.
[5] LIPPMAN S B, LAJOIE J, MOO B E. C++ Primer中文版[M].
4版.北京:人民郵電出版社,2006.
[6] 郭麗莉.捕獲網絡數據包技術淺析[J].中國新技術新產品,2012(5):36?37.