999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于鏡像口抓包的數據采集記錄系統設計與實現

2021-07-27 01:53:52張紹澤李苑青
現代導航 2021年3期
關鍵詞:系統

程 翔,任 磊,張紹澤,李苑青

基于鏡像口抓包的數據采集記錄系統設計與實現

程 翔1,任 磊1,張紹澤1,李苑青2

(1 中國電子科技集團公司第二十研究所,西安 710068;2 西北工業大學航天學院,西安 710072)

在系統研制試驗過程中對數據進行采集記錄,不僅可以為系統功能性能評估提供數據源,也可以為重現戰場試驗態勢提供手段。本文針對此問題及工程中的實際需求設計了一種基于分布式時間機制、網絡監聽、數據抓包和多緩存記錄等關鍵技術的數據采集記錄系統,該系統設計包括系統組成與架構和關鍵技術的設計與實現。最后根據設計內容進行了仿真應用,針對系統研制試驗過程中的性能指標進行了測試和分析,結果表明該數據采集記錄系統不僅運行高效,且能夠很好地滿足系統研制試驗階段的要求。

鏡像口;抓包;數據采集;數據記錄

0 引言

軍用分布式作戰系統是當下研究的熱點,鑒于其系統運行復雜和功能性能指標眾多的特點,在研制和試驗全過程中需要實時采集并記錄系統各個節點產生、交互和處理的所有數據,并在后期可將存儲的數據進行解析和集中處理,為事后的試驗數據分析和系統功能性能評估提供數據源,為試驗過程的事后重現回顧提供手段。

由于分布式作戰系統具有多個作戰平臺,每個平臺又由多型設備共同構成,在系統工作時,不僅各節點產生和處理的數據量非常巨大,而且數據交互的過程也錯綜復雜;同時,作戰系統的研制成本很高,組織大型試驗需要多家單位協調,試驗數據極為珍貴。因此要求數據采集記錄系統必須具有高記錄帶寬、高可靠性和實時監控等功能性能指標。

本文提出的數據采集記錄系統利用分布式時間機制、網絡監聽、數據抓包和多緩存記錄等技術,可以滿足當前系統研制試驗階段對數據采集記錄的功能性能需求,可服務用于系統研制和試驗過程中的戰場態勢回放以及分析性能指標、數據合理性和誤差精度等工作。

1 系統組成及架構設計

1.1 軟件環境

系統開發選用VS2015C#語言,它是微軟公司發布的一種面向對象的、運行于.NET Framework上的高級程序設計語言。C#簡單、高效,將數學運算、字符和數據庫等多種復雜操作集合為面向對象的類,大大減少了編成人員的工作量;不使用指針,并提供了一種內存分配、垃圾回收、版本控制和類型安全機制,保證了程序的正確性和穩定性[1]。

1.2 硬件環境

1.2.1 計算機

選用計算機配置建議:處理器主頻2.26 GHz×4以上,內存8 GB以上,硬盤512 GB以上,獨立顯卡顯存2 GB以上,操作系統為Windows7×64位。

1.2.2 時碼卡

計算機搭載時碼卡用來保證分布式系統內各試驗平臺的時間保持一致。本文選用的時碼卡采用標準的PCI總線接口為計算機提供高精度的時間數據,可以讀取的時間精度為0.1 ms,可產生1PPS/20PPS/50PPS/100PPS中斷信號,并可選擇使用GPS信號或B碼信號。

1.2.3 交換機

具有可配置鏡像口和劃分虛擬局域網(Virtual Local Area Network,VLAN)等功能。

1.3 系統組成

數據采集記錄系統軟件設計采用模塊化和層次化編程思想。系統下按功能又劃分為數據通信、文件建立、數據捕獲、網絡協議解析、網絡數據存儲、文件記錄和界面顯示等模塊,各功能模塊又分解為子功能模塊。模塊之間相互獨立,按程序設定的通訊機制進行交互。主程序控制信息調用,與被調用模塊共同實現系統功能。具體的軟件功能組成如圖1所示。

圖1 系統功能模塊結構圖

2 設計與實現

2.1 分布式時間機制

為保證各分布式平臺對時間記錄的一致性,各平臺數據采集記錄軟件所搭載的計算機需統一安裝時碼卡設備,在數據記錄的時刻使用時碼卡時間在記錄報文內打上時戳。但由于每次獲取時碼卡時間都需要有一定的操作時間,雖然時間很短,但對于大數據量的記錄,便會極大地影響記錄效率,造成軟件卡頓,甚至造成記錄時刻有時延以及記錄丟包等現象。

在本文中,軟件直接獲取時碼卡的秒中斷,在獲取時刻對計算機板卡時間和時碼卡時間進行比對,獲得兩者的時差,這樣,在每次記錄數據時,只需在數據獲取時刻的計算機時間上補上時差,便可得到準確的時碼卡時間,從而在高效的記錄條件下保證了各分布式平臺對時間記錄的一致性。

2.2 鏡像口網絡監聽

在本文中,單平臺各設備間網絡通訊均采用用戶數據報協議(User Datagram Protocol,UDP),故各平臺的數據均需通過網絡交換機進行交互,由于以太網數據不能通過第三端直接引線實現數據記錄,因此采取鏡像口網絡監聽的方式進行數據采集。

網絡監聽是一種簡單、有效獲取被測網絡數據的方法。由于網絡監聽方式的數據采集主機只是被動接收在局域網上傳輸的信息,它不主動與其他主機交換信息,也不修改在網絡上傳輸的數據,故該方式不影響網絡系統的工作[2]。

要實現鏡像口網絡監聽,需對系統交換機進行相關配置。

2.2.1 配置網口

將交換機的某一個網口設置為監聽網口,另外某幾個網口設置為鏡像網口,其余預留一些網口不進行設置,為普通網口。其中鏡像網口可配置為進/出單向數據鏡像或雙向數據鏡像。為避免設備間數據傳輸導致的數據被重復記錄,一般將鏡像網口統一配置為進向數據鏡像,即鏡像從設備傳入交換機的所有數據。鏡像后的數據均會復制一份送到監聽網口,而不會影響原有數據的傳輸。

2.2.2 劃分VLAN

由于通過鏡像口的方式,監聽網口已經獲取了需要記錄的數據內容,但網絡中的廣播信息和匹配的組播信息本身就可以被監聽網口獲取到,這會造成數據的重復記錄,不僅影響記錄效率,而且還給事后的數據分析造成影響,因此需要劃分VLAN,將監聽網口與其他網口進行邏輯隔離,這樣監聽網口除了可以接收到鏡像數據外,不會再接收到其他的交換數據。

2.2.3 按需求連線

配置好網口后,即可按需求進行連線,將數據記錄設備連接到監聽網口,需記錄數據的設備連接到鏡像網口,無需記錄數據的設備連接到普通網口。這樣不影響系統內本身的數據交換,卻可以采集記錄到系統內需要的數據內容。

2.3 基于SharpPcap的數據抓包

SharpPcap的全稱是Sharp Packet Capture,是一種基于WinPcap驅動,用于.NET平臺,具備網絡流量捕獲、發送和分析的開發框架。SharpPcap包括兩個動態鏈接庫:SharpPcap.dll及PacketDotNet.dll,前者主要處理網絡部分,后者主要處理數據報文的解析與構造[3]。

本文基于SharpPcap的抓包步驟如圖2所示。獲取網卡設備列表并打開需要抓包的對應網卡;同時設置好過濾器、緩存區大小和線程優先級等其他參數;把網卡上的數據包復制到內核緩沖區中;通過上層的調用,把內核緩沖區中的數據包拷貝到用戶緩沖區中。經過一定的處理,再把數據包存放到硬盤上[4]。

圖2 數據抓包流程

其中,為了避免記錄重復的數據包,造成存儲過多的無用信息,對事后分析造成影響;或因記錄過多的無用數據致使單位時間內采集的數據量過大而導致關鍵數據的錯記或漏記,需在數據采集過程中就對數據信息進行過濾處理。由于SharpPcap自帶過濾功能,因此可通過SharpPcap過濾器進行采集階段的邏輯隔離,可以限定接收數據包的協議類型、網絡IP以及端口號等,例如:CapDev.CapDevice.Filter = "udp and (dst port 2000 or dst port 3000)",表示只接受UDP協議,并且只捕獲目的端口號是2000和3000的數據包,其余數據一概過濾,不進行捕獲。

2.4 緩存處理機制

由于采集記錄數據的過程需要中央處理器(Central Processing Unit,CPU)處理時間,當新數據包到來時,若系統底層分接器還在處理前一個數據包,新數據包就會被丟棄。另外,若內核緩沖區沒有足夠的空間來容納從網卡上復制過來的新數據包,或者內核緩沖區滿了,新數據包也會被丟棄。除此之外,若數據來源方式不同,就需要開多個線程來采集數據,在記錄數據的時候需要保證不同線程下數據的時序問題。

綜合考慮以上問題,需要設計一個緩存處理機制,保證采集到的數據即使無法立刻處理也不會被丟棄,而且可以按照采集到的順序按序記錄。

首先,定義一個隊列:

ConcurrentQueueExecuteQueue=newConcurrentQueue();

然后,將需進行緩存處理的事件添加到隊列中:

Action act = newAction(delegate

{

……//數據存儲事件

});

ExecuteQueue.Enqueue(act);

最后,單獨開辟一個線程,只要隊列中有內容,便按順序執行隊列中的事件:

publicvoidThread()

{

while(true)

{

//運行執行隊列

ExecuteQueue.TryDequeue(outAction action);

if (action != null)

action();

}

}

2.5 多緩存數據采集記錄

數據記錄模塊主要是將采集到的數據內容寫進文件內,形成統一的記錄文件。

首先,為更好地區分不同的記錄文件,文件名以“SSS_YYYYMMDDhhmmss_AA.n5r”的形式統一進行命名。其中“SSS”表示數據類型,例如當其為“System”時表示記錄的是系統網的數據,“Story”時表示記錄的是劇情網的數據;“YYYYMMDDhhmmss”表示記錄時刻的年月日時分秒;“AA”表示記錄數據的站點號;“*.n5r”為本文自定義儲存二進制數據的文件類型。文件記錄采取多數據塊緩存模式進行文件的記錄工作,記錄流程如圖3所示。其次開辟出多個數據存儲空間,并分配好每個存儲空間的最大存儲容量(暫設定為5個數據存儲空間,每個存儲空間的容量為10 M,可根據實際性能進行變動)。在文件記錄開始后,選擇一個存儲空間進行數據的記錄,文件記錄的格式如表1所示。當某一個存儲空間在記錄某一條報文后剛好超出了最大存儲容量,則立刻選擇一個空的存儲空間,將這條報文移至空間的起始位置開始新的存儲空間的存儲,而之前存儲空間的剩余部分用“0”填滿,進行寫文件的操作,在文件寫好后再將此存儲空間清空,進行存儲的備用。

圖3 數據記錄多緩存儲存機制

表1 信息數據文件記錄格式

而下一個存儲空間存滿后,采取同樣的操作——新選擇一個空的存儲空間進行存儲,同時將這個存儲空間的剩余部分用“0”填滿,然后將此空間的內容續寫在之前的文件后面。在數據記錄結束時,不管一個存儲空間是否存滿,都直接將已記錄的內容進行寫文件的操作,最終形成一個完整的記錄文件。文件的組成如圖4所示。

圖4 記錄文件組成示意圖

3 性能測試及分析

性能測試連接方式如圖5所示,一臺主機通過鏡像口給另一臺主機發送測試數據包,數據采集記錄設備在監聽口進行數據捕獲。

圖5 性能測試連接示意圖

為了驗證系統的數據采集記錄性能,在不同數據速率、不同數據發送長度和不同數據發送頻率下對其數據丟包率進行了測試,測試結果如表2所示。

表2 數據采集記錄性能測試

通過測試記錄可以看出,通過本文捕獲監聽的方式進行數據采集記錄,其丟包率非常低,在不同數據包長度和不同發送頻率下,均表現良好,只有數據包發送頻率過快時,丟包率才逐漸上升,而且通過本文捕獲數據包的方式也明顯優于通過UDP協議接收數據包方式的效率。

因此可以認為本文的數據采集記錄系統在較大帶寬的情況下依舊具有良好的可靠性,滿足設計要求。

4 結束語

本文提出了一種基于鏡像口抓包的數據采集記錄系統,該系統通過網絡監聽的方式,實時抓取網絡系統內的有用數據,而對本身的網絡系統不產生任何影響,并且可通過交換機編程及軟件配置靈活過濾數據內容,通過動態內存池及多線程技術提高了網絡數據記錄速度。經過仿真驗證及性能測試,證明此系統具有較高的記錄帶寬和可靠性,且能夠實時監控記錄全過程,可有效應用于各類分布式或集中式系統的網絡數據采集記錄。

[1] 李斌,任磊,王梟雄,等. 一種遠程分布式雷達組網數據回灌方法的設計與實現[J]. 現代導航,2019(4):304-307.

[2] 魏凱強,趙光磊. 機載以太網數據記錄系統設計與實現[J]. 電腦與信息技術,2018,26(3):64-67.

[3] 劉業,田琨瑋,劉林峰. 基于SharpPcap的網絡流量監控系統[J]. 計算機工程與設計,2013,34(7):2328-2332.

[4] 肖丹. 基于WinPcap的網絡封包數據實時采集技術[J]. 科技資訊,2011(6):20-21.

Design and Implementation of Data Acquisition and Recording System Based on Capturing Packet Through Port-Mirroring

CHENG Xiang, REN Lei, ZHANG Shaoze, LI Yuanqing

Collecting and recording data during system development and testing can not only provide data sources for the performance evaluation of system function, but also provide a means for reproducing the battlefield experimental situation. In the paper, based on distributed time mechanism, network monitoring, data capture, and multi-cache recording, a data acquisition and recording system are designed for the actual needs in projects. The system design includes the system composition and architecture, and the design and implementation of key technologies. Simulation application was carried out according to the design content, and the performance indicators during the system development test were tested and analyzed. Experimental results show that this data acquisition and recording system not only runs efficiently, but also satisfies the requirements during the system development test stage.

Port-Mirroring; Capturing Packet; Data Acquisition; Data Recording

TP393.11

A

1674-7976-(2021)-03-205-05

2021-01-13。程翔(1989.09-),陜西西安人,碩士,工程師,主要研究方向為系統仿真與建模、火力與指揮控制。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 欧美色99| 丁香六月综合网| 在线观看无码a∨| 国产午夜一级淫片| 沈阳少妇高潮在线| 精品国产一二三区| 色综合久久88色综合天天提莫| 国产爽歪歪免费视频在线观看| 亚洲日本中文字幕天堂网| 日韩精品一区二区三区大桥未久 | 成人小视频网| 又黄又湿又爽的视频| 99热国产这里只有精品9九| 四虎综合网| 五月婷婷伊人网| 精品自拍视频在线观看| 在线免费观看a视频| 国产高清精品在线91| 免费国产好深啊好涨好硬视频| 久久综合九色综合97婷婷| 国内精品九九久久久精品| 亚洲天堂啪啪| 97国产在线观看| 一级香蕉人体视频| 国产女人水多毛片18| 国产欧美在线观看视频| 亚洲成a∧人片在线观看无码| 精品久久久久久中文字幕女| 日韩成人在线一区二区| 色婷婷成人网| 亚洲午夜福利在线| 四虎成人精品在永久免费| 亚洲日韩高清在线亚洲专区| 亚洲伊人电影| 久久久受www免费人成| 亚洲免费黄色网| 午夜毛片免费观看视频 | 国产亚洲精品97AA片在线播放| 国产va在线观看免费| 97在线免费视频| 亚洲国产成人麻豆精品| 2022国产无码在线| 四虎成人精品| 九九香蕉视频| 重口调教一区二区视频| 精品视频一区在线观看| 国产精品福利尤物youwu| 四虎免费视频网站| 99热国产这里只有精品无卡顿"| 91小视频在线观看| 日韩精品欧美国产在线| 亚洲AV无码不卡无码| 国产成人a毛片在线| 亚洲视频二| 国产丝袜丝视频在线观看| 国产一级二级在线观看| 久久香蕉国产线| 亚洲国产日韩在线观看| 国产毛片网站| 丝袜国产一区| 第一区免费在线观看| 国产综合色在线视频播放线视| 白丝美女办公室高潮喷水视频| 喷潮白浆直流在线播放| a毛片基地免费大全| 国产精品免费福利久久播放| 91精品日韩人妻无码久久| 9cao视频精品| 国产精品视频公开费视频| 午夜日b视频| 亚洲经典在线中文字幕| 日韩无码视频专区| 久久国产高潮流白浆免费观看| 热伊人99re久久精品最新地| 国产精品网址你懂的| 精品无码一区二区三区在线视频 | 广东一级毛片| 国模粉嫩小泬视频在线观看| 在线看免费无码av天堂的| 久久综合伊人77777| 久久久久国色AV免费观看性色| 国产免费福利网站|