文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190884
中文引用格式: 任能. 基于YunSDR-Y450的BRNs網(wǎng)絡(luò)路由協(xié)議實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2019,45(9):71-76.
英文引用格式: Ren Neng. Implementation of BRNs routing protocol based on YunSDR-Y450[J]. Application of Electronic Technique,2019,45(9):71-76.
0 引言
無(wú)線網(wǎng)格網(wǎng)絡(luò)(Wireless Mesh Network)是基于Wi-Fi技術(shù)而發(fā)展出來(lái)的一種新型的無(wú)線城域網(wǎng)解決方案。這種網(wǎng)絡(luò)的特點(diǎn)是:自組織、自修復(fù)、自平衡以及自動(dòng)擴(kuò)展。
無(wú)線網(wǎng)格網(wǎng)絡(luò)是“多跳網(wǎng)絡(luò)”,任何無(wú)線設(shè)備節(jié)點(diǎn)均可同時(shí)作為AP(Access Point)與路由器,即每個(gè)節(jié)點(diǎn)都可以與一個(gè)或多個(gè)對(duì)等節(jié)點(diǎn)進(jìn)行直接通信,數(shù)據(jù)包會(huì)根據(jù)網(wǎng)絡(luò)情況路由到與之最近的下一個(gè)節(jié)點(diǎn)進(jìn)行傳輸,直到達(dá)到終點(diǎn)。多跳網(wǎng)絡(luò)在成本方面具有巨大優(yōu)勢(shì),免設(shè)AP減小成本,同時(shí)擴(kuò)大了網(wǎng)絡(luò)覆蓋范圍。而且由于集群內(nèi)所有節(jié)點(diǎn)均可作為網(wǎng)絡(luò)傳輸通道,網(wǎng)絡(luò)競(jìng)爭(zhēng)減少,網(wǎng)絡(luò)容量大大提高。在同時(shí)保留了分布式網(wǎng)絡(luò)所擁有的冗余機(jī)制和重新路由功能的情況下,該網(wǎng)絡(luò)應(yīng)對(duì)復(fù)雜狀況的能力更強(qiáng)大。同時(shí)無(wú)線網(wǎng)格網(wǎng)絡(luò)的缺點(diǎn)同樣顯而易見(jiàn),若通信范圍內(nèi)的節(jié)點(diǎn)數(shù)量稀疏,則很容易造成網(wǎng)絡(luò)中斷。由于缺少提前布線,網(wǎng)絡(luò)通信建立速度相比單跳網(wǎng)絡(luò)較為緩慢[1]。
隨著技術(shù)進(jìn)步與數(shù)字化水平提高,現(xiàn)代戰(zhàn)爭(zhēng)對(duì)通信網(wǎng)絡(luò)要求同樣提高,美軍針對(duì)數(shù)字化戰(zhàn)場(chǎng)提出“戰(zhàn)術(shù)互聯(lián)網(wǎng)”(Tactical Internet)概念。戰(zhàn)術(shù)互聯(lián)網(wǎng)的環(huán)境通常惡劣又復(fù)雜,網(wǎng)絡(luò)拓?fù)渥兓焖兕l繁且沒(méi)有集中的基礎(chǔ)設(shè)施。美國(guó)TrellisWare技術(shù)公司基于戰(zhàn)術(shù)通信需求開(kāi)發(fā)了一種新型的快速、穩(wěn)健、可擴(kuò)展的組播戰(zhàn)術(shù)互聯(lián)網(wǎng)——阻繼網(wǎng)絡(luò)(Barrage Relay Network,BRN)[2-3]。這種網(wǎng)絡(luò)利用無(wú)線廣播機(jī)制首先建立通信區(qū)域,然后在通信區(qū)域內(nèi)實(shí)現(xiàn)高速數(shù)據(jù)傳輸,適用于較低頻高容量通信需求。同時(shí)該網(wǎng)絡(luò)不依賴(lài)于網(wǎng)絡(luò)拓?fù)涞淖兓?,大大減小了網(wǎng)絡(luò)的延遲和開(kāi)銷(xiāo),具有良好的可擴(kuò)展性和魯棒性。
本文基于YunSDR-Y450射頻硬件主要實(shí)現(xiàn)BRNs 的路由協(xié)議。本文實(shí)現(xiàn)的方案依托時(shí)分多址技術(shù)、自主協(xié)同技術(shù)完成受控?cái)r截區(qū)域的建立,該過(guò)程通過(guò)傳輸路由控制消息(請(qǐng)求與回復(fù))來(lái)實(shí)現(xiàn)。在無(wú)異常情況下,接收到信息后,節(jié)點(diǎn)對(duì)消息中的關(guān)鍵值進(jìn)行保存、計(jì)算并最終通過(guò)判定公式確定該節(jié)點(diǎn)在受控?cái)r截區(qū)域中的傳輸屬性,形成封閉結(jié)構(gòu)后自動(dòng)結(jié)束路由建立過(guò)程,以供快速傳輸消息使用。因此,BRN協(xié)議的網(wǎng)絡(luò)延遲與沖突產(chǎn)生主要集中于受控?cái)r截區(qū)域的建立過(guò)程,BRN網(wǎng)絡(luò)協(xié)議具體實(shí)現(xiàn)中的難點(diǎn)便體現(xiàn)在受控?cái)r截區(qū)域建立過(guò)程的算法實(shí)現(xiàn)中。
1 Barrage Relay Networks網(wǎng)絡(luò)協(xié)議原理
1.1 概述
Barrage Relay Networks利用部分節(jié)點(diǎn)的阻斷功能將網(wǎng)絡(luò)劃分成若干個(gè)相互獨(dú)立的通信區(qū)域,從而實(shí)現(xiàn)更高效的數(shù)據(jù)傳輸。BRNs中控制消息在源與目的兩處廣播,節(jié)點(diǎn)通過(guò)記錄其到源和目的的跳數(shù)距離來(lái)確定自己的功能身份(中繼轉(zhuǎn)發(fā)節(jié)點(diǎn)或信息阻攔節(jié)點(diǎn)),構(gòu)建一個(gè)源到目的之間的數(shù)據(jù)流傳輸區(qū)域。該區(qū)域內(nèi)通信方式為單播,由于傳輸區(qū)域確定,區(qū)域內(nèi)節(jié)點(diǎn)可免除上層判斷直接傳輸消息,從而提高傳輸速率[4]。
1.2 自主協(xié)同通信
由于無(wú)線網(wǎng)絡(luò)的廣播特性,傳輸消息時(shí)難以避免多路徑傳輸情況,協(xié)同通信的使用可以產(chǎn)生顯著的性能改進(jìn)。然而,傳統(tǒng)的協(xié)同通信方法需要大量的節(jié)點(diǎn)間協(xié)調(diào)。這種協(xié)調(diào)通常包括團(tuán)隊(duì)形成、信道識(shí)別和碼本分配等。在具有高動(dòng)態(tài)拓?fù)涞木W(wǎng)絡(luò)中,將需要頻繁更新節(jié)點(diǎn)間協(xié)調(diào)信息,從而影響開(kāi)銷(xiāo)并增加數(shù)據(jù)包轉(zhuǎn)發(fā)所需的等待時(shí)間。
BRNs采用多路徑的協(xié)同傳輸方式,協(xié)同通信節(jié)點(diǎn)只需保證粗量級(jí)的TDMA時(shí)間同步,無(wú)需獲取額外交互信息,在同一時(shí)隙傳輸完全相同消息,接收節(jié)點(diǎn)處收到互為鏡像的內(nèi)容,既避免了沖突產(chǎn)生,又形成冗余提高傳輸安全性。
1.3 時(shí)間同步
BRNs采用時(shí)分多址技術(shù)(TDMA)進(jìn)行時(shí)間同步,以便參與自主協(xié)同通信的節(jié)點(diǎn)能夠在相同時(shí)間進(jìn)行傳輸。并且,BRNs依賴(lài)廣播機(jī)制,應(yīng)用TDMA可使路由建立環(huán)節(jié)易于調(diào)節(jié)控制。
需要特別注意的是,BRNs要求每個(gè)節(jié)點(diǎn)對(duì)每個(gè)數(shù)據(jù)包只轉(zhuǎn)發(fā)一次來(lái)避免產(chǎn)生環(huán)路以及網(wǎng)絡(luò)洪泛。
1.4 受控?cái)r截區(qū)域
受控?cái)r截區(qū)域(Control Barrage Region,CBR)的建立是BRNs網(wǎng)絡(luò)通信機(jī)制的核心技術(shù)。CBR本身是一個(gè)封閉的廣播區(qū)域,區(qū)域內(nèi)部消息透明共享,區(qū)域外部則與內(nèi)部完全無(wú)關(guān)。區(qū)域邊界由Buffer節(jié)點(diǎn)確定,廣播數(shù)據(jù)到達(dá)Buffer節(jié)點(diǎn)后遭到丟棄,使得Buffer節(jié)點(diǎn)的連線成為一條消息“封鎖線”,從而形成封閉邊界。采用CBR進(jìn)行路由的優(yōu)點(diǎn)在于:由于建立后的CBR內(nèi)部及其邊界處所有節(jié)點(diǎn)對(duì)之后收到消息的處理方式已經(jīng)確定,故而可在物理層對(duì)收到的消息直接做出相應(yīng)處理(轉(zhuǎn)發(fā)或丟棄)且無(wú)需判斷,這將有效提高CBR內(nèi)部的通信速度[5]。
2 基于YunSDR-Y450的開(kāi)發(fā)實(shí)現(xiàn)
2.1 硬件參數(shù)概述
YunSDR的板卡主要由ZYNQ嵌入式處理器、AD9371射頻前端和電源電路構(gòu)成。嵌入式處理器采用Xilinx集成可編程邏輯和CortexA9雙核處理器架構(gòu)的ZYNQ系列XC7Z035;射頻前端頻率范圍達(dá)300 MHz~6 GHz,支持半雙工全雙工,擁有TDD/FDD模式,接收端口最大100 MHz實(shí)時(shí)帶寬,發(fā)送端口最大250 MHz實(shí)時(shí)帶寬,集成功率放大器(14 dB@2 GHz),支持最高發(fā)射功率10 dBm(P1dB17dB)。
2.2 設(shè)計(jì)綜述
2.2.1 系統(tǒng)架構(gòu)
圖1展示了軟件系統(tǒng)架構(gòu)的三個(gè)方面。
firmware文件下主要分FPGA與linux_app兩部分。
FPGA配置與物理層相關(guān)的基礎(chǔ)設(shè)置與控制邏輯。其中包括配置射頻元件參數(shù)、調(diào)節(jié)硬件交互接口,以及通信時(shí)的組幀、解析等底層功能。FPGA模塊包含完整的硬件系統(tǒng),內(nèi)含pldma_test.cache/hw/ipdef/runs/sd -k/sim/srcs/tmp/xpr等工程文件,擁有工程編譯生成文件、邏輯軟件工程、硬件約束等。
linux_app模塊則與MAC層相關(guān),實(shí)現(xiàn)功能包括基本的通信接口(TCP/UDP套接字)、協(xié)議棧、調(diào)用物理層功能接口以及其他可擴(kuò)展功能(TDMA、TDD等)。在linux_app文件夾中包含三部分,app文件夾中儲(chǔ)存MAC層核心邏輯代碼,rfchip文件夾儲(chǔ)存所有MAC層與物理層接口API,而v3best文件夾則負(fù)責(zé)在MAC層初始化射頻模塊的設(shè)置。
app文件夾中主要包含以下文件:yunsdr_device.h,yunsdr_eth.h,command.h,yunsdr_main.c。其中yunsdr_device.h中聲明了所有物理層啟用的REG分別具有的功能,yunsdr_eth.h聲明以太網(wǎng)協(xié)議相關(guān)的標(biāo)準(zhǔn)協(xié)議頭及其字段定義,command.h設(shè)置了與上位機(jī)終端交互相關(guān)的函數(shù),而yunsdr_main.c則是MAC層邏輯核心代碼,所有MAC層進(jìn)行的邏輯控制均在該文件中編寫(xiě)。
host與sd_image分別管理上位機(jī)與硬件接口和固件信息。本文相關(guān)開(kāi)發(fā)中上位機(jī)交互主要通過(guò)MATLAB進(jìn)行,固件由Penta Linux軟件將firmware部分設(shè)計(jì)代碼導(dǎo)入后自動(dòng)生成,包含整體配置文件。
2.2.2 TDMA
BRNs應(yīng)用TDMA進(jìn)行時(shí)間同步,所有BRNs的消息基于時(shí)隙廣播。本方案中TDMA技術(shù)的建立應(yīng)用時(shí)戳同步方法,需在硬件系統(tǒng)配置時(shí)戳系統(tǒng)。
時(shí)間同步時(shí)將節(jié)點(diǎn)分為已同步與待同步兩個(gè)集合,同步操作對(duì)兩個(gè)節(jié)點(diǎn)進(jìn)行,同步對(duì)象為節(jié)點(diǎn)k與節(jié)點(diǎn)i,節(jié)點(diǎn)i為同步集群內(nèi)節(jié)點(diǎn),節(jié)點(diǎn)k為待同步節(jié)點(diǎn)。首先由節(jié)點(diǎn)k發(fā)起同步,接收信號(hào)后節(jié)點(diǎn)i根據(jù)本地時(shí)戳系統(tǒng)記錄接收信號(hào)時(shí)刻與其相應(yīng)時(shí)隙起始時(shí)刻的差值ΔTi,k;再由節(jié)點(diǎn)i將該差值返回給節(jié)點(diǎn)k,類(lèi)似地,節(jié)點(diǎn)k記錄ΔTk,i,同時(shí)節(jié)點(diǎn)k收到節(jié)點(diǎn)i記錄的ΔTi,k。
ΔTi,k與ΔTk,i的計(jì)算由圖2原理圖可得:
節(jié)點(diǎn)k對(duì)本地時(shí)戳系統(tǒng)引入Δδ的延遲即可進(jìn)入同步集群[6]。
在使用自主協(xié)調(diào)通信的情況下,BRN廣播中對(duì)TDMA的應(yīng)用如圖3所示。圖中應(yīng)用3-slot TDMA,其中時(shí)槽標(biāo)記為A、B和C。假設(shè)源節(jié)點(diǎn)在第一個(gè)TDMA幀的時(shí)槽A上發(fā)送數(shù)據(jù)包。由定義,成功接收該數(shù)據(jù)包的所有節(jié)點(diǎn)距離源節(jié)點(diǎn)一跳。然后,這些節(jié)點(diǎn)在時(shí)槽B上發(fā)送相同的包,從而轉(zhuǎn)發(fā)到距離源節(jié)點(diǎn)兩跳的節(jié)點(diǎn),這些節(jié)點(diǎn)又在時(shí)槽C上發(fā)送信息,依次傳遞下去。為了防止產(chǎn)生網(wǎng)絡(luò)環(huán)路,每個(gè)節(jié)點(diǎn)僅轉(zhuǎn)發(fā)給定分組一次。時(shí)槽的空間重用使得數(shù)據(jù)包可以被流水線化到源節(jié)點(diǎn)中以便每M個(gè)時(shí)槽傳輸。例如,在圖3中,一跳節(jié)點(diǎn)將不接收在第二個(gè)TDMA幀的時(shí)槽A期間由三跳節(jié)點(diǎn)發(fā)送的分組。因此,源節(jié)點(diǎn)可以在該時(shí)槽安全地發(fā)送第二分組。顯然要求M≥3才能允許這種空間流水線操作。當(dāng)然也可以選擇較大的M值以提高交換吞吐量并增強(qiáng)對(duì)拓?fù)渥兓聂敯粜浴?/p>
2.2.3 自主協(xié)同通信
BRNs應(yīng)用自主協(xié)同技術(shù)進(jìn)行沖突避免,同時(shí)提高消息傳輸?shù)目煽啃浴1痉桨钢凶灾鲄f(xié)同的實(shí)現(xiàn)依賴(lài)TDMA,基于時(shí)隙完成多路徑協(xié)同傳輸。
首先,網(wǎng)絡(luò)堆棧通常修改每個(gè)中繼節(jié)點(diǎn)處的協(xié)議報(bào)頭信息,使得即使兩個(gè)中繼節(jié)點(diǎn)發(fā)送相同的有效載荷數(shù)據(jù),所得到的廣播包也可以是不同的。為了支持自主協(xié)作,必須舍棄節(jié)點(diǎn)特定的分組變換:協(xié)議報(bào)文頭添加跳數(shù)字段,該字段記錄收到消息的節(jié)點(diǎn)距離源節(jié)點(diǎn)的跳數(shù)。與之配套的轉(zhuǎn)發(fā)處理方式為:節(jié)點(diǎn)轉(zhuǎn)發(fā)消息時(shí)不更改報(bào)文頭中源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)的內(nèi)容,僅對(duì)跳數(shù)字段做+1操作。
其次,協(xié)同節(jié)點(diǎn)必須在相同的時(shí)隙上轉(zhuǎn)發(fā)相同的數(shù)據(jù)包。傳統(tǒng)上,轉(zhuǎn)發(fā)決策是在網(wǎng)絡(luò)層進(jìn)行的,這便引入了不可預(yù)測(cè)且依賴(lài)于節(jié)點(diǎn)的處理延遲。為了最大限度地減少延遲并確保在同一時(shí)隙上發(fā)生轉(zhuǎn)發(fā),必須在物理層進(jìn)行轉(zhuǎn)發(fā)決策(通過(guò)建立CBR輔助實(shí)現(xiàn))。
2.2.4 CBR建立
BRNs采用受控?cái)r截區(qū)域技術(shù)建立路由,CBR的建立需要依賴(lài)TDMA與自主協(xié)同。CBR建立過(guò)程涉及路由請(qǐng)求與路由回復(fù)消息的傳輸以及途徑節(jié)點(diǎn)的相關(guān)處理行為。具體方法如下:
定義:標(biāo)記網(wǎng)絡(luò)拓?fù)錇镚=(V,E),v∈V表示節(jié)點(diǎn)的集合,(u,v)∈E表示節(jié)點(diǎn)u與節(jié)點(diǎn)v之間的無(wú)線連接。對(duì)于任意UV,G\U表示僅包含V\U節(jié)點(diǎn)的G的子圖。對(duì)于不相同的節(jié)點(diǎn)u,v,w∈V,d(u,v)定義為連接節(jié)點(diǎn)u和節(jié)點(diǎn)v的最短路徑長(zhǎng)度,d(u,v;w)定義為連接節(jié)點(diǎn)u和節(jié)點(diǎn)v但不經(jīng)過(guò)節(jié)點(diǎn)w的最短路徑長(zhǎng)度。設(shè)定寬度參數(shù)非負(fù)整數(shù)N。
節(jié)點(diǎn)設(shè)定:源節(jié)點(diǎn)S(Source)、目的節(jié)點(diǎn)D(Destination)、中繼節(jié)點(diǎn)R(Relay)、阻攔節(jié)點(diǎn)B(Buffer)、不可達(dá)節(jié)點(diǎn)U(Unreachable)。圖4為一個(gè)簡(jiǎn)單的CBR建立示意圖,初始條件為源節(jié)點(diǎn)S∈V,目的節(jié)點(diǎn)D∈V。算法如下:
(1)S節(jié)點(diǎn)向周?chē)鷱V播“請(qǐng)求發(fā)送數(shù)據(jù)包”(Request to Send,RTS):(S_ID,D_ID,d(S,v)[起始值為1,內(nèi)含跳數(shù)計(jì)數(shù)器])。
RTS發(fā)送時(shí)槽為:
(2)節(jié)點(diǎn)v∈V\{S,D}接收RTS并解碼,存儲(chǔ)a(v)=d(S,v;D),RTS跳數(shù)+1,并中繼轉(zhuǎn)發(fā)。
RTS接收時(shí)槽為:
(3)D節(jié)點(diǎn)接收到RTS,存儲(chǔ)δ=d(S,D);等待一定時(shí)槽t1后發(fā)送阻攔數(shù)據(jù)包BUF(收到BUF而未收到RTS即判定為B,接收后不轉(zhuǎn)發(fā));再等待一定時(shí)槽t2后向周?chē)鷱V播“清除發(fā)送數(shù)據(jù)包”(Clear to Send):(S_ID,D_ID,δ,d(D,v)[起始值為1,內(nèi)含跳數(shù)計(jì)數(shù)器])。
RTS接收時(shí)槽為:
(4)節(jié)點(diǎn)v接收CTS并解碼,首先驗(yàn)證v接收過(guò)S與D傳輸中的RTS,獲取b(v)=d(D,v;S)。而后根據(jù)a(v)、b(v)與δ的值執(zhí)行一個(gè)判定式,若滿足,v被判定為R,CTS跳數(shù)+1,并中繼轉(zhuǎn)發(fā);若不滿足,v被判定為B;
CTS接收時(shí)槽為:
(5)S節(jié)點(diǎn)接收到CTS,發(fā)送類(lèi)似的BUF數(shù)據(jù)包,上述過(guò)程中未參與節(jié)點(diǎn)均視為U。
CTS接收時(shí)槽為:
2.2.5 沖突避免
CBR建立過(guò)程中共有4個(gè)數(shù)據(jù)包被廣播,互相之間可能產(chǎn)生沖突的情況共兩類(lèi),本文采用等待退讓的方法避免沖突產(chǎn)生,由t1、t2、t3調(diào)控。
(1)第1類(lèi):D節(jié)點(diǎn)接收RTS并發(fā)送BUF的沖突和S節(jié)點(diǎn)接收CTS并發(fā)送BUF的沖突。兩者類(lèi)似,此處僅選取D節(jié)點(diǎn)相關(guān)沖突進(jìn)行討論。假設(shè)節(jié)點(diǎn)r為D節(jié)點(diǎn)的一跳節(jié)點(diǎn),為避免出錯(cuò),需要滿足ttx(D;BUF)>trx(r;RTS),于是t1≥N-1,又t1≥0,可知t1≥max(0,N-1)。
(2)第2類(lèi):某節(jié)點(diǎn)同時(shí)接收CTS與RTS的沖突。由于存在寬度參數(shù)N,對(duì)于CBR內(nèi)部節(jié)點(diǎn)可能存在同時(shí)接收CTS與RTS的沖突,假設(shè)該節(jié)點(diǎn)為r,滿足a(r)+b(r)=δ+ε(0<ε≤N),故要求t2≥ε,雖然這樣CBR外部節(jié)點(diǎn)仍然無(wú)法避免沖突,但對(duì)于CBR建立不存在影響,不予考慮。因?yàn)镃TS必須晚于BUF廣播,即t2>t1,所以t2≥max(1,N)。
2.2.6 硬件處理
數(shù)據(jù)包格式以802.11b協(xié)議格式為原型進(jìn)行修改。判定結(jié)果傳遞給物理層,R節(jié)點(diǎn)將在物理層直接轉(zhuǎn)發(fā)接收到的數(shù)據(jù)包,B節(jié)點(diǎn)將直接丟棄數(shù)據(jù)包。
2.3 測(cè)試
測(cè)試環(huán)境共4個(gè)測(cè)試節(jié)點(diǎn),可實(shí)現(xiàn)的網(wǎng)絡(luò)拓?fù)漭^為簡(jiǎn)單,如圖5所示,以下逐一列舉測(cè)試?yán)敖Y(jié)果。
測(cè)試結(jié)果1、2、3、4表明,在所有節(jié)點(diǎn)可連通情況下,源節(jié)點(diǎn)與目的節(jié)點(diǎn)傳輸最短路徑途經(jīng)的節(jié)點(diǎn)均被判定為中繼節(jié)點(diǎn),其余節(jié)點(diǎn)被判定為阻攔節(jié)點(diǎn),故中繼轉(zhuǎn)發(fā)節(jié)點(diǎn)與信息阻攔節(jié)點(diǎn)的判定無(wú)誤。
測(cè)試結(jié)果5、6表明,在網(wǎng)絡(luò)拓?fù)涑霈F(xiàn)中斷的情況下,與源節(jié)點(diǎn)可連通的節(jié)點(diǎn)可被正常判定,而與節(jié)點(diǎn)無(wú)連通的節(jié)點(diǎn)(包括目的節(jié)點(diǎn))均無(wú)法判定而視為不可達(dá),故不可達(dá)節(jié)點(diǎn)的判定無(wú)誤。
3 性能仿真
3.1 仿真環(huán)境
本文使用MATLAB軟件對(duì)DSR協(xié)議(Dynamic Source Routing)、OLSR協(xié)議(Optimized Link State Routing)和BRN協(xié)議進(jìn)行網(wǎng)絡(luò)性能仿真。仿真設(shè)置在1 000×1 000的環(huán)境中,隨機(jī)布置50個(gè)節(jié)點(diǎn),以5 Hz頻率發(fā)送大小均為512 B的數(shù)據(jù)包。
本文針對(duì)以下3個(gè)數(shù)據(jù)指標(biāo)仿真:
(1)端到端平均時(shí)延(Average Delay,AD):該指標(biāo)強(qiáng)調(diào)網(wǎng)絡(luò)延遲。AD=∑(接收包的時(shí)刻-發(fā)送包的時(shí)刻)/發(fā)送數(shù)據(jù)包的個(gè)數(shù);
(2)數(shù)據(jù)包投遞率(Packet Delivery Ratio,PDR):該指標(biāo)強(qiáng)調(diào)網(wǎng)絡(luò)傳輸可靠性。PDR=目的節(jié)點(diǎn)收到數(shù)據(jù)包個(gè)數(shù)/源節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的個(gè)數(shù);
(3)路由開(kāi)銷(xiāo)(Normalized Routing Load,NRL):該指標(biāo)強(qiáng)調(diào)網(wǎng)絡(luò)資源規(guī)模。NRL=轉(zhuǎn)發(fā)的數(shù)據(jù)包個(gè)數(shù)/目的節(jié)點(diǎn)接收到的路由個(gè)數(shù)。
3.2 仿真結(jié)果與分析
3.2.1 場(chǎng)景一
節(jié)點(diǎn)暫停時(shí)間為60 s,分別以0 m/s、5 m/s、10 m/s…45 m/s、50 m/s的速度移動(dòng),結(jié)果如圖6所示。
移動(dòng)速度的影響分析:
AD:DSR對(duì)移動(dòng)速度比較敏感且延遲較大;表驅(qū)動(dòng)的OLSR幾乎不受移動(dòng)速度影響;而B(niǎo)RN在移速不太大的情況下很穩(wěn)定,當(dāng)移速較大時(shí)開(kāi)始受到影響。
PDR:3個(gè)協(xié)議的PDR都隨著移速的增大明顯減小,移速越大導(dǎo)致源節(jié)點(diǎn)與目的節(jié)點(diǎn)無(wú)法聯(lián)通的情況越多,符合規(guī)律。其中BRN下降速度較緩,PDR一直保持最高,應(yīng)對(duì)拓?fù)渫蛔兊聂敯粜陨锌伞?/p>
NRL:DSR的最大優(yōu)勢(shì)在于低開(kāi)銷(xiāo),其路由開(kāi)銷(xiāo)基本不受移速影響;為了維護(hù)路由表,OLSR產(chǎn)生了較大開(kāi)銷(xiāo);BRN的開(kāi)銷(xiāo)增大源自CBR的擴(kuò)大,介于二者之間。
BRN在應(yīng)對(duì)節(jié)點(diǎn)隨機(jī)移動(dòng)的情況時(shí),在一定范圍內(nèi)保持了較高的性能與較低的開(kāi)銷(xiāo),綜合效果最優(yōu)。
3.2.2 場(chǎng)景二
節(jié)點(diǎn)向隨機(jī)方向以30 m/s的速度移動(dòng),暫停時(shí)間分別為0 s、10 s、20 s…160 s,結(jié)果如圖7所示。
暫停時(shí)間的影響分析:
AD:與移動(dòng)速度情況相似,DSR表現(xiàn)較差而OLSR穩(wěn)定且低時(shí)延;BRN在暫停時(shí)間小于60 s時(shí)敏感且時(shí)延偏高,暫停時(shí)間大于60 s時(shí)性能接近OLSR,原因在于BRN需要首先建立CBR,之后提供低時(shí)延的網(wǎng)絡(luò)。
PDR:OLSR的PDR穩(wěn)定分布在0.9附近,BRN在暫停時(shí)間大于60 s后也穩(wěn)定在0.9附近,DSR的PDR偶然誤差較大,整體呈上升趨勢(shì)。
NRL:3個(gè)協(xié)議的路由開(kāi)銷(xiāo)均對(duì)暫停時(shí)間不太敏感,隨暫停時(shí)間增大略有下降。其中OLSR開(kāi)銷(xiāo)最大,BRN次之,DSR最小。
BRN對(duì)網(wǎng)絡(luò)的穩(wěn)定性有一定要求。對(duì)于符合要求的網(wǎng)絡(luò)環(huán)境,BRN可以提供低時(shí)延、低開(kāi)銷(xiāo)與高數(shù)據(jù)包傳遞率。
仿真綜合分析知,OLSR作為典型的表驅(qū)動(dòng)路由協(xié)議,具有良好的穩(wěn)定性,同時(shí)低時(shí)延、高開(kāi)銷(xiāo)優(yōu)劣分明;相反地,按需驅(qū)動(dòng)路由協(xié)議DSR使用很少的開(kāi)銷(xiāo),但在網(wǎng)絡(luò)性能上偏差;BRN均衡二者的利弊,建立CBR的過(guò)程更接近DSR,而建立CBR之后的網(wǎng)絡(luò)性能更接近OLSR,綜合性能最佳。
4 結(jié)論
本文基于YunSDR-Y450硬件進(jìn)行路由協(xié)議開(kāi)發(fā),核心目標(biāo)為實(shí)現(xiàn)CBR的建立,其前提條件為網(wǎng)絡(luò)集群自主協(xié)同通信且TDMA時(shí)間同步。
針對(duì)BRN、DSR、OLSR進(jìn)行仿真模擬,通過(guò)對(duì)三者模擬結(jié)果的對(duì)比分析,進(jìn)一步印證了BRN的優(yōu)越性:應(yīng)對(duì)變化的網(wǎng)絡(luò)環(huán)境魯棒性高,使用較少開(kāi)銷(xiāo)換取更低的網(wǎng)絡(luò)時(shí)延。該協(xié)議值得進(jìn)一步研究開(kāi)發(fā)。
參考文獻(xiàn)
[1] BROWN T A,HALFORD T R,JOHNSON M L,et al.Method and system for global topology discovery in multihop ad hoc networks:U.S.patent Application 13/467,999[P].2013-11-14.
[2] TrellisWare Technologies,Inc..Methods for coordinating access to a barrage relay network:歐洲專(zhuān)利局,EP2856718(B1)[P].2017-09-27.
[3] TALARICO S,VALENTI M C,HALFORD T R .Controlled barrage regions: stochastic modeling,analysis, and optimization[C].MILCOM 2016-2016 IEEE Military Communications Conference(MILCOM),2016:466-472.
[4] 盧玲,王鉞,王劍,等.一種基于分簇的新型組播網(wǎng)絡(luò)[J].計(jì)算機(jī)仿真,2013,30(4):183-187.
[5] Ding Ying,Wang Yue,Yuan Jian.A blackhole attack analysis for barrage relay networks[C].2013 International Conference on Sensor Network Security Technology and Privacy Communication System(SNS & PCS 2013),18-19 May 2013,Harbin,China,2013:13-17.
[6] 劉慶剛,李大雙,朱家成.多跳TDMA組網(wǎng)同步的分布式控制方法[J].通信技術(shù),2012,45(5):26-28,32.
作者信息:
任 能
(清華大學(xué) 電子工程系,北京100089)