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

超短波自組織網絡協議仿真

2015-12-23 00:55:04陳媛媛
計算機工程與設計 2015年8期
關鍵詞:用戶

陳媛媛,黃 煒,李 強

(1.電子科技大學 通信與信息工程學院,四川 成都611731;2.中國電子科技集團第五十四所研究所通信網信息傳輸和分發技術重點實驗室,河北 石家莊050000)

0 引 言

對超短波無線網絡進行網絡監測、協議識別和入侵檢測分析都須建立在獲取超短波自組織網數據流的基礎上。傳統的直接截獲超短波電臺通信信號獲取數據流的方法的弊端在于電臺傳輸的信息一般進行加密處理,內部的通信協議和編碼方式也未知,很難解調出原始的數據流。本文提出直接搭建承載自組織網絡協議的仿真平臺,設計了其具體實現方法,并設計網絡中的中心節點截獲全部通信節點的數據,為監測網絡提供完整的數據。

1 MIL-STD-188-220D協議分析

MIL-STD-188-220D協議的定義請參見文獻 [1]。

1.1 數據鏈路層

無線自組織網數據鏈路層協議在相鄰的兩個節點設備間運行,主要目的是實現數據在不可靠的無線環境中無差錯傳輸。主要功能包括[2,3]:幀同步、差錯控制、數據成幀、流量控制和鏈路管理。220D 協議定義3種類型的幀和3種鏈路幀結構[3]分別為:信息幀、無編號幀、監控幀、單字節尋址、4字節尋址和6字節尋址。本文主要討論單字節尋址的無編號幀幀格式,其它格式分析方法類似,圖1為單字節尋址的數據鏈路幀結構。

圖1 單字節尋址的數據鏈路幀結構

其中,傳輸頭在每一個數據鏈路幀之前傳送,用于鏈路控制,由起止標志、傳輸信域、幀校驗序列組成。傳輸信息域內容有信道編碼信息 (FEC、TDC、加擾)、版本信息、網絡訪問延長控制信息等。在進行糾錯編碼時,整個傳輸頭將進行格雷 (24,12)編碼 (FEC)和7×24 的交織編碼 (TDC)。

起止標志域是數據鏈路層的幀同步標志,是一個8比特的序列。本文使用的每一幀中的開始和結束標志為“01111110”。

地址域的作用是用來存放目的節點、源節點的鏈路層地址,本文主要討論8位地址協議。地址域包含一個源地址和多個目的地址組成,總的地址數量不超過16個。無編號信息幀的控制域為00010011。

信息域的最大長度不超過3345并且其長度必須是字節的倍數,不足的數可以加1-7個0來補足。它的作用是封裝來自網絡層的信息,目的是傳輸信息。

幀校驗序列是一個32比特的序列,用于差錯檢測。本文使用的幀校驗的產生多項式為:P(x)=x32+x26+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1。

1.2 網絡層

220D 協議的網絡層是Intranet層,也叫3a層,用于在同一廣播域中實現數據包從一個源地址到多個目的地址的路由。它也支持拓撲信息和網絡連接信息的交換,以實現中繼路由的發現。

Intranet Header是Intranet層的重點。其中,版本號(version number)代表當前使用的Intranet協議的版本,0代表220A、220B、220C,1 代表的是220D。Intranet Header的格式如圖2所示。

消息類型 (message type)指出Intranet包中數據域里的數據類型,共有0至15個值,其中有效值有9個,分別是1代表Intranet確認,2代表拓撲更新,3代表拓撲更新請求,4代表IPv4,5代表ARP,6代表等等。

Intranet頭長度 (intranet header length),用于指示Intranet頭的字節數,其值是3、5 或者大于等于9 的數。RFC 791IP TOS 域的值決定服務類型 (type of service)的值。

信息識別編號是一個0~255之間的值,在分段重組或者有中繼的情況下使用,每個傳輸的消息由其值和源地址一起唯一標識。其值由發送方指定。

圖2 Intranet Header格式

最大跳數 (maximum hop count)指定了Intranet數據包在無線網絡中可以被中繼的最大次數。它由源主機指定,每中繼一次減1,為值0則不轉發,進行本地處理。

1.3 數據鏈路層協議解析[4]

數據鏈路層的解析要完成基帶信號的處理和數據鏈路幀的字段分析。基帶處理包括解交織 (TDC 譯碼)、糾錯(FEC譯碼)、去擾等信道譯碼操作,根據標志序列完成數據鏈路幀的同步。完成幀同步后,進行0比特插入算法的逆操作——0比特刪除,復出原始數據鏈路幀的比特序列。按照220D 協議的數據鏈路幀結構,分析源目地址、控制域、幀校驗的字段信息是否符合規范。然后,檢測幀校驗序列是否正確,將幀校驗序列錯誤的幀丟棄,正確解析出數據鏈路幀后則進行網絡層的協議解析。數據鏈路層的協議解析流程,如圖3所示。

1.4 網絡層協議解析

網絡層協議解析要先后完成Intranet層解析和IP 層解析。其中,IP層解析與傳統網絡的IP層解析一樣,目的是通過檢測消息類型字段,確定IP數據包承載的上層協議是UDP還是TCP。

圖3 數據鏈路層協議解析

根據MIL-STD-188-220D的定義,Intranet的頭部的第一個字節的高4位指示了消息類型。在進行Intranet層解析時,首先檢查Intranet頭部的長度,確定其是否使用分段重組和中繼,再進一步解析上層承載的協議類型。Intranet層解析的第二步是通過消息類型字段的值來判斷上層協議類型。比如,消息類型字段的值為 ‘4’,則說明上層協議是IPv4協議,下一步將進入Intranet層協議解析。Intranet層的協議解析如圖1~圖4所示。

2 220D實驗平臺設計

2.1 實驗平臺的硬件組成

由于無法獲得軍用通信電臺搭建實驗平臺,又考慮到國家無線電規定,我們選用ISM 頻段的無線通信模塊搭建仿真平臺。該模塊主要由STM32 微處理器和SI4432 射頻模塊組成,工作在470 MHz頻段。在實時性和傳輸功率方面較其它無線模塊具有優勢。其通信模塊接口連接圖和內部連接如圖5,圖6所示。

2.2 實驗平臺的軟件設計

2.2.1 數據幀格式設計

220D 實驗平臺用于模擬220D 協議數據幀的端到端傳輸過程。220D 實驗平臺中使用的協議是簡化的220D 協議,使用單字節尋址方式,報文格式為固定的格式。實驗平臺中傳輸的消息是用戶數據經過IP 層、Intranet層和數據鏈路層逐層封裝形成的[4],如圖7所示。

按照Internet協議 (IP)在DARPA RFC791 中定義,IP報文格式較為復雜。在220D實驗平臺中,我們將IP報文的格式簡化為源IP地址,目的IP地址,用戶數據3個部分。

圖4 Intranet層解析

圖5 220D 實驗平臺節點的接口

圖6 通信模塊內部連接

圖7 220D 實驗平臺的數據封裝過程

根據Internet頭部的結構的定義,Intranet頭部最短為3個字節。在實驗平臺中消息類型的值是 “4”,表示承載IPv4協議;版本號的值是 “0”,表示220D;Intranet頭部長度為 “3”;服務類型為 “0”。

根據MIL-STD-188-220D 協議規定,鏈路層的數據鏈路幀結構定義如圖1所示。在220D 實驗平臺中,不進行幀校驗,幀校驗字段省略。這里使用的是單字節尋址。單字節源地址,消息指示為命令,命令響應比特的值為 “0”;單字節目的地址,無后續目的地址,擴展比特的值為 “1”。起止標識是 “01111110”;控制域是 “01110011”。

2.2.2 通信參數的設置

220D 協議標準的物理層定義了FSK、DPSK、CDP、ASK 和NRZ調制方式,速率是75bps~32kbps。SI4432射頻芯片支持GFSK、FSK 和ASK 這3種調制方式,支持的速率是1kbps~128kbps。因此,220D 實驗平臺選擇使用其中的FSK 調制方式,傳輸速率設置為75bps~32kbps范圍內的9.6kbps。

SI4432[4]可以從FIFO 模式和直接模式獲得調制數據。FIFO模式下STM32使用SI4432芯片的FIFO 來接收和發送數據。直接模式是將數據直接送到芯片的一個引腳,進行實時處理的。受通信模塊內部硬件連接的限制,不支持直接模式。因此,在程序設計中,我們只考慮SI4432以FIFO 模式來進行數據的收發。發送端模塊在上電后,首先對射頻芯片初始化,通過SPI接口復位射頻芯片的各寄存器,STM32微處理器通過SPI接口對SI4432的寄存器進行配置,進而控制通信頻率、工作模式、頻率偏差、調制方式等通信參數。STM32通過SPI讀操作,讀取SI4432寄存器的值,讀操作的參數包括起始寄存器地址、讀的字節數。其代碼實現是:

STM32通過SPI寫操作,配置SI4432寄存器參數,寫入操作包括起始寄存器地址、寫入的字節數和待寫入的數據。其代碼實現是:

220D 實驗平臺的通信參數設置如下:中心頻率470 MHz、調制方式FSK、傳輸速率9600bps、載波頻率間隔45kHz、發射功率20dBm,相應的寄存器設置見表1。

表1 通信參數相關的寄存器參數設置

2.2.3 發送端程序設計

在發送數據時,用戶數據通過計算機的串口調制助手進行輸入。來自計算機的用戶數據是以UART 中斷服務的方式發送給STM32。STM32通過UART 中斷服務程序的將來自計算機UART 數據接收下來,寫入到待發送的用戶數據Usr_data 中。中斷服務程序的流程如當檢測到UART 中斷時,進入UART 接收模式,清除中斷標志。等待數據接收完成后,將接收到的數據寫入到待發送的用戶數據Usr_data 中。如果有UART 數據發送,則進入UART 發送模式將數據從UART 發送出去。

發送端對用戶數據進行封裝,生成鏈路幀后,按照SI4432設置的包長度將其逐個發送出去。用戶數據的發送處理過程如圖8所示。發送端的主程序不斷地檢測UART中斷信號,當檢測到UART 中斷信號時說明有用戶數據要發送。延遲200 ms (9600bps的UART 速率,在200 ms可以傳輸240 字節的用戶數據[5]),等待用戶數據傳輸完成,確認沒有后續數據,再進入數據發送階段。首先,用戶數據按照2.2.1定義的報文格式進行封裝,生成最終發送的數據鏈路幀。將生成的數據鏈路幀按照SI4432初始化時設定的發送包長度進行分割,每個包依次寫入到SI4432的發送FIFO 中,逐個發送出去。SI4432 將一個包發送完一個包后,會產生nIRQ 中斷,向STM32指示該數據包已經發送完成。STM32檢測到nIRQ 中斷后,停止SI4432的發送狀態,清除發送FIFO,向發送FIFO 寫入下一個待發送的數據包,再重新進入發送狀態。不斷重復這個過程,直到將所有的用戶數據發送畢。

圖8 發送端主程序流程

2.2.4 接收端程序設計

接收端的程序流程如圖9所示。接收端在上電后,同樣要完成STM32 和SI44432 芯片的初始化,設置通信參數,將幀起始標志指示變量sta_flag置零 (0表示沒有檢測到起始標志,1表示檢測到起始標志)[6]。然后,關閉去了除了接收中斷以外的其它所有中斷,進入接收狀態,等待接收中斷 (中斷發生時nIRQ 引腳電平會拉低)。讀取中斷的狀態,將nIRQ的電平拉高。讀取SI4432的數據包長度寄存器4Bh,獲取到數據包的長度。從接收FIFO 中,讀取接收到的數據,關閉接收模式,進行幀起始標志“01111110”的檢測。當檢測到 “01111110”時,判斷sta_flag是否為1。當sta_flag不是1時,說明該 “01111110”是幀起始的標志,重新進行下一個包的檢測。當sta_flag是1時,說明此時的 “01111110”是幀結束標志,進行幀的解析,提取出用戶數據、源地址和目的地址信息,通過UART 傳輸給計算機的串口調試助手進行顯示,并將sta_flag置零。

3 性能測試和分析

開發環境使用IAR System 公司的IAR Embedded Workbench IDE嵌入式集成開發環境。該開發環境支持眾多的ARM 微處理器,也包括本文中使用的基于ARM Cortex-M3內核的STM32 處理器[6]。程序燒寫成功并設置完成后即可進行通信測試。

3.1 數據包解析測試

對實驗平臺的數據包傳輸和解析測試時,進行了兩組測試。第一組測試時使用的用戶數據是 “Packet test”,第二組測試使用的用戶數據是 “240 MHz~930 MHz”。兩組測試的結果分別如圖10所示。

由圖10 (a)的測試結果可以看出,接收端能夠對數據報文進行正確地解析,顯示出用戶數據、220D 鏈路層源地址和源IP地址,發送程序中設置的源地址一致。由圖10(b)看出,這組測試中出現了數據幀解析錯誤,只顯示了部分信息內容。經分析,原因是字符 ‘~’的ASCII值為0x7E與我們程序設計時的幀起止標識 “01111110”相同。用戶數據中包含這個 ‘~’字符時,就會認為是數據幀的起止標志,造成成幀失敗。數據解析時,從起始標志“01111110”開始到 ‘~’字符位置范圍內的數據,按照定義的幀格式解析,只能解析出部分的數據包信息。而后面的那部分內容,由于不符合定義的字段規范,會被丟棄。如果用戶數據中包涵多個 ‘~’字符,由于兩個 ‘~’字符所界定范圍內的信息不符合定義的數據幀格式,這部分內容也會被丟棄。原因是220D 協議中使用 “01111110”序列作為起止標志,其原因是其使用了差錯控制和0比特插入算法,有效地避免了數據幀中出現 “01111110”序列。目前,220D 實驗平臺的設計沒有使用差錯控制和0比特插入算法,不能直接使用 “01111110”作為標志。

圖9 接收端程序流程

圖10 數據包解析測試結果

因此,需要對我們的收發端程序的起止標志進行修改,起止標志設計為3 個 “01111110”序列。在接收端監測到連續3個0×7E時,才認為檢測到幀起止標識,界定出數據鏈路幀的范圍,解析出用戶數據和地址信息。

3.2 丟包率測試

在進行220D 實驗平臺的丟包率測試時,設計好程序燒寫到無線模塊中,通過計算機串口調試助手來控制數據的發送,不便于統計接收和發送的數據幀數量。丟包率統計時,將發送端的程序修改為直接發送已經寫入STM32內部的用戶數據 “packet loss test”,每次系統上電后發送6000次。接收端在檢測到一個數據包后,將接收數據包數量變量加1,并通過UART 端口輸出到計算機的串口調試助手進行接收到的數據包數量顯示。

對于 “packet loss test”用戶數據,經過封裝后的鏈路幀長度是36個字節,按照SI4432設置的9600bps無線發送速率,6000個36字節的數據大約需要180s。在進行一組測試時,先啟動接收端,再啟動發送端。發送端模塊上電啟動5 分鐘后 (5 分鐘足夠將6000 個測試數據發送完成),從接收端的串口調試助手讀取數據包數量值,將其作為接收到的數據包數量。

在空曠環境下對220D 實驗平臺的傳輸性能進行測試。改變通信距離,統計發送的數據幀和接收到的數據幀數量。按照以上描述的方法進行5組測試,通信距離分別是5m、20m、50m、100m。統計結果見表2。

表2 丟包率測試結果

可以看出,系統的丟包率隨著距離的增加而增大。當傳輸距離在20m 以內時,系統的丟包率為0。傳輸距離大于100m 時,系統的丟包率高于2.2%,與REXDP2 模塊標稱的2000m 可靠傳輸距離有較大差距。系統在傳輸距離增大到100m 后,丟包率增加的原因是通信距離[7]增大后系統信噪比降低,誤碼率增高,而軟件設計中沒有使用糾錯編碼,當誤碼造成起止標志發生差錯,或則誤碼使數據中出現起止標志相同的序列均會出現成幀失敗,而造成丟包。另外,平臺中各模塊之間導線連接的不穩定性,也會增加系統誤碼率,進而造成系統性能下降。

4 結束語

筆者所提出的利用無線模塊搭建超短波自組織網絡并在該網絡上承載典型自組織網絡協議幀格式進行通信的方法,雖然我們只提取協議中典型的字段進行了仿真研究,對于文獻 [8]中所提到的協議識別典型特征值比對已經能夠滿足要求,該方法相對于傳統的利用超短波電臺進行通信[9]的方法來進行協議識別或者入侵檢測[10]研究來說,具有簡單可行,成本低的優點。該方案降低了獲取超短波自組織網絡數據流的難度,整個實驗平臺能夠很好滿足自組織網絡的特點并且完成了通過編碼仿真使之承載典型自組織網絡協議幀格式進行通信。

[1]WANG Juan.MIL_STD_188_220Cprotocol standard analysis and improvement[J].Radio Engineering,2007 (5):1-3(in Chinese).[王娟.MIL_STD_188_220C 協議標準分析及改進 [J].無線電工程,2007 (5):1-3.]

[2]YU Quan.Tactical communication theory and technology [M].Beijing:Electronic Industry Press,2009 (in Chinese).[于全.戰術通信理論與技術[M].北京:電子工業出版社,2009.]

[3]Anon.Adaptive joint C4ISR node[J].Forcast International,2011,11 (9):1-5.

[4]WANG Ruizhi.Tactical data link layer protocol communication network simulation platform for research and implementation[D].Zhengzhou:PLA Information Engineering University,2011 (in Chinese).[王瑞芝.戰術通信網數據鏈路層協議仿真平臺研究與實現 [D].鄭州:解放軍信息工程大學,2011.]

[5]CAO Xin. Wireless sensor network node localization in STM32Wrealization [D].Xi’an:Xi’an University of Technology,2013 (in Chinese).[曹鑫.無線傳感器網絡節點定位在STM32W 上的實現 [D].西安:西安工業大學,2013.]

[6]SUN Shuying,CHEN Zhijia,KOU Chao.Developmentand application of a new generation of embedded microprocessor STM32F103 [J]. Microcomputer Applications,2010,31(12):59-63 (in Chinese).[孫書鷹,陳志佳,寇超.新一代嵌入式微處理器STM32F103開發與應用 [J].微計算機應用,2010,31 (12):59-63.]

[7]YU Yao.Research progress of U.S.military forces battlefield airborne communication node [J].Telecommunication Engineering,2014,54 (6):845-850 (in Chinese). [于耀.美軍戰場空中通信節點研究進展 [J].電訊技術,2014,54 (6):845-850.]

[8]XU Li,ZHAO Xi,ZHAO Qunfei,et al.Network application protocol identification based on statistical methods [J].Xi’an Jiaotong University,2009,43 (2):43-47 (in Chinese).[徐莉,趙曦,趙群飛,等.利用統計特征的網絡應用協議識別方法 [J].西安交通大學學報,2009,43 (2):43-47.]

[9]CHENG Kai.Study of FM radio integrated business network transmission technology [D].Xi’an:Xi’an University of Electronic Science and Technology,2013 (in Chinese). [程凱.超短波電臺綜合業務網絡傳輸技術研究 [D].西安:西安電子科技大學,2013.]

[10]Cheng Yuheng.Managing network security policies inTactical MANETs using DRAMA [C]//Proceedings of IEEE MILCOM.Orlando:IEEE,2010:960-964.

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 国产特级毛片aaaaaa| 九九九精品成人免费视频7| 国产成人精品高清在线| 成人午夜免费观看| 欧美午夜在线观看| 欧美自拍另类欧美综合图区| 国产欧美精品一区aⅴ影院| 99热这里只有精品5| 国产精品一区二区久久精品无码| 亚洲AⅤ波多系列中文字幕| 日韩乱码免费一区二区三区| 在线观看亚洲国产| 国产无人区一区二区三区| 国产精品观看视频免费完整版| 麻豆国产精品一二三在线观看| 毛片久久网站小视频| 国产精品浪潮Av| 亚洲无码视频喷水| 91人妻日韩人妻无码专区精品| 亚洲精品色AV无码看| 美女潮喷出白浆在线观看视频| 人妻无码AⅤ中文字| 一本一本大道香蕉久在线播放| h网址在线观看| 国产在线自乱拍播放| 久久中文电影| 精品乱码久久久久久久| 国产成人精品18| 毛片最新网址| 国产精品无码翘臀在线看纯欲| 欧美天天干| 999精品色在线观看| 亚洲精品大秀视频| 欧美日韩中文国产| 久久久久国产一级毛片高清板| 国产欧美网站| 国产在线第二页| 免费va国产在线观看| 亚洲Va中文字幕久久一区| 露脸国产精品自产在线播| 亚洲欧美另类中文字幕| 国产成人免费手机在线观看视频| 69视频国产| 日本精品中文字幕在线不卡| 欧美精品亚洲二区| 日本精品中文字幕在线不卡| 伊人久久综在合线亚洲2019| 综合色在线| 久久美女精品| 精品国产一二三区| 国产在线观看91精品亚瑟| 日韩欧美一区在线观看| 亚洲av成人无码网站在线观看| 国产永久免费视频m3u8| 国产无码精品在线播放| 国产一区二区三区在线无码| 欧美性久久久久| h网址在线观看| 日韩不卡高清视频| 最新日本中文字幕| 日韩123欧美字幕| 91在线精品免费免费播放| 在线看免费无码av天堂的| 亚洲中文字幕在线一区播放| 成人午夜天| 激情无码视频在线看| 国内精品小视频在线| 99热这里只有精品国产99| 4虎影视国产在线观看精品| 国产欧美日韩精品综合在线| 国产精品无码在线看| 免费在线播放毛片| 国产原创自拍不卡第一页| 欧美翘臀一区二区三区| 亚洲免费成人网| 久久久亚洲色| 在线国产综合一区二区三区| 青青青国产免费线在| 亚洲综合色吧| 国模沟沟一区二区三区| 免费看av在线网站网址| 国产亚洲精品yxsp|