文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190884
中文引用格式: 任能. 基于YunSDR-Y450的BRNs網絡路由協議實現[J].電子技術應用,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 引言
無線網格網絡(Wireless Mesh Network)是基于Wi-Fi技術而發展出來的一種新型的無線城域網解決方案。這種網絡的特點是:自組織、自修復、自平衡以及自動擴展。
無線網格網絡是“多跳網絡”,任何無線設備節點均可同時作為AP(Access Point)與路由器,即每個節點都可以與一個或多個對等節點進行直接通信,數據包會根據網絡情況路由到與之最近的下一個節點進行傳輸,直到達到終點。多跳網絡在成本方面具有巨大優勢,免設AP減小成本,同時擴大了網絡覆蓋范圍。而且由于集群內所有節點均可作為網絡傳輸通道,網絡競爭減少,網絡容量大大提高。在同時保留了分布式網絡所擁有的冗余機制和重新路由功能的情況下,該網絡應對復雜狀況的能力更強大。同時無線網格網絡的缺點同樣顯而易見,若通信范圍內的節點數量稀疏,則很容易造成網絡中斷。由于缺少提前布線,網絡通信建立速度相比單跳網絡較為緩慢[1]。
隨著技術進步與數字化水平提高,現代戰爭對通信網絡要求同樣提高,美軍針對數字化戰場提出“戰術互聯網”(Tactical Internet)概念。戰術互聯網的環境通常惡劣又復雜,網絡拓撲變化快速頻繁且沒有集中的基礎設施。美國TrellisWare技術公司基于戰術通信需求開發了一種新型的快速、穩健、可擴展的組播戰術互聯網——阻繼網絡(Barrage Relay Network,BRN)[2-3]。這種網絡利用無線廣播機制首先建立通信區域,然后在通信區域內實現高速數據傳輸,適用于較低頻高容量通信需求。同時該網絡不依賴于網絡拓撲的變化,大大減小了網絡的延遲和開銷,具有良好的可擴展性和魯棒性。
本文基于YunSDR-Y450射頻硬件主要實現BRNs 的路由協議。本文實現的方案依托時分多址技術、自主協同技術完成受控攔截區域的建立,該過程通過傳輸路由控制消息(請求與回復)來實現。在無異常情況下,接收到信息后,節點對消息中的關鍵值進行保存、計算并最終通過判定公式確定該節點在受控攔截區域中的傳輸屬性,形成封閉結構后自動結束路由建立過程,以供快速傳輸消息使用。因此,BRN協議的網絡延遲與沖突產生主要集中于受控攔截區域的建立過程,BRN網絡協議具體實現中的難點便體現在受控攔截區域建立過程的算法實現中。
1 Barrage Relay Networks網絡協議原理
1.1 概述
Barrage Relay Networks利用部分節點的阻斷功能將網絡劃分成若干個相互獨立的通信區域,從而實現更高效的數據傳輸。BRNs中控制消息在源與目的兩處廣播,節點通過記錄其到源和目的的跳數距離來確定自己的功能身份(中繼轉發節點或信息阻攔節點),構建一個源到目的之間的數據流傳輸區域。該區域內通信方式為單播,由于傳輸區域確定,區域內節點可免除上層判斷直接傳輸消息,從而提高傳輸速率[4]。
1.2 自主協同通信
由于無線網絡的廣播特性,傳輸消息時難以避免多路徑傳輸情況,協同通信的使用可以產生顯著的性能改進。然而,傳統的協同通信方法需要大量的節點間協調。這種協調通常包括團隊形成、信道識別和碼本分配等。在具有高動態拓撲的網絡中,將需要頻繁更新節點間協調信息,從而影響開銷并增加數據包轉發所需的等待時間。
BRNs采用多路徑的協同傳輸方式,協同通信節點只需保證粗量級的TDMA時間同步,無需獲取額外交互信息,在同一時隙傳輸完全相同消息,接收節點處收到互為鏡像的內容,既避免了沖突產生,又形成冗余提高傳輸安全性。
1.3 時間同步
BRNs采用時分多址技術(TDMA)進行時間同步,以便參與自主協同通信的節點能夠在相同時間進行傳輸。并且,BRNs依賴廣播機制,應用TDMA可使路由建立環節易于調節控制。
需要特別注意的是,BRNs要求每個節點對每個數據包只轉發一次來避免產生環路以及網絡洪泛。
1.4 受控攔截區域
受控攔截區域(Control Barrage Region,CBR)的建立是BRNs網絡通信機制的核心技術。CBR本身是一個封閉的廣播區域,區域內部消息透明共享,區域外部則與內部完全無關。區域邊界由Buffer節點確定,廣播數據到達Buffer節點后遭到丟棄,使得Buffer節點的連線成為一條消息“封鎖線”,從而形成封閉邊界。采用CBR進行路由的優點在于:由于建立后的CBR內部及其邊界處所有節點對之后收到消息的處理方式已經確定,故而可在物理層對收到的消息直接做出相應處理(轉發或丟棄)且無需判斷,這將有效提高CBR內部的通信速度[5]。
2 基于YunSDR-Y450的開發實現
2.1 硬件參數概述
YunSDR的板卡主要由ZYNQ嵌入式處理器、AD9371射頻前端和電源電路構成。嵌入式處理器采用Xilinx集成可編程邏輯和CortexA9雙核處理器架構的ZYNQ系列XC7Z035;射頻前端頻率范圍達300 MHz~6 GHz,支持半雙工全雙工,擁有TDD/FDD模式,接收端口最大100 MHz實時帶寬,發送端口最大250 MHz實時帶寬,集成功率放大器(14 dB@2 GHz),支持最高發射功率10 dBm(P1dB17dB)。
2.2 設計綜述
2.2.1 系統架構
圖1展示了軟件系統架構的三個方面。
firmware文件下主要分FPGA與linux_app兩部分。
FPGA配置與物理層相關的基礎設置與控制邏輯。其中包括配置射頻元件參數、調節硬件交互接口,以及通信時的組幀、解析等底層功能。FPGA模塊包含完整的硬件系統,內含pldma_test.cache/hw/ipdef/runs/sd -k/sim/srcs/tmp/xpr等工程文件,擁有工程編譯生成文件、邏輯軟件工程、硬件約束等。
linux_app模塊則與MAC層相關,實現功能包括基本的通信接口(TCP/UDP套接字)、協議棧、調用物理層功能接口以及其他可擴展功能(TDMA、TDD等)。在linux_app文件夾中包含三部分,app文件夾中儲存MAC層核心邏輯代碼,rfchip文件夾儲存所有MAC層與物理層接口API,而v3best文件夾則負責在MAC層初始化射頻模塊的設置。
app文件夾中主要包含以下文件:yunsdr_device.h,yunsdr_eth.h,command.h,yunsdr_main.c。其中yunsdr_device.h中聲明了所有物理層啟用的REG分別具有的功能,yunsdr_eth.h聲明以太網協議相關的標準協議頭及其字段定義,command.h設置了與上位機終端交互相關的函數,而yunsdr_main.c則是MAC層邏輯核心代碼,所有MAC層進行的邏輯控制均在該文件中編寫。
host與sd_image分別管理上位機與硬件接口和固件信息。本文相關開發中上位機交互主要通過MATLAB進行,固件由Penta Linux軟件將firmware部分設計代碼導入后自動生成,包含整體配置文件。
2.2.2 TDMA
BRNs應用TDMA進行時間同步,所有BRNs的消息基于時隙廣播。本方案中TDMA技術的建立應用時戳同步方法,需在硬件系統配置時戳系統。
時間同步時將節點分為已同步與待同步兩個集合,同步操作對兩個節點進行,同步對象為節點k與節點i,節點i為同步集群內節點,節點k為待同步節點。首先由節點k發起同步,接收信號后節點i根據本地時戳系統記錄接收信號時刻與其相應時隙起始時刻的差值ΔTi,k;再由節點i將該差值返回給節點k,類似地,節點k記錄ΔTk,i,同時節點k收到節點i記錄的ΔTi,k。
ΔTi,k與ΔTk,i的計算由圖2原理圖可得:
節點k對本地時戳系統引入Δδ的延遲即可進入同步集群[6]。
在使用自主協調通信的情況下,BRN廣播中對TDMA的應用如圖3所示。圖中應用3-slot TDMA,其中時槽標記為A、B和C。假設源節點在第一個TDMA幀的時槽A上發送數據包。由定義,成功接收該數據包的所有節點距離源節點一跳。然后,這些節點在時槽B上發送相同的包,從而轉發到距離源節點兩跳的節點,這些節點又在時槽C上發送信息,依次傳遞下去。為了防止產生網絡環路,每個節點僅轉發給定分組一次。時槽的空間重用使得數據包可以被流水線化到源節點中以便每M個時槽傳輸。例如,在圖3中,一跳節點將不接收在第二個TDMA幀的時槽A期間由三跳節點發送的分組。因此,源節點可以在該時槽安全地發送第二分組。顯然要求M≥3才能允許這種空間流水線操作。當然也可以選擇較大的M值以提高交換吞吐量并增強對拓撲變化的魯棒性。
2.2.3 自主協同通信
BRNs應用自主協同技術進行沖突避免,同時提高消息傳輸的可靠性。本方案中自主協同的實現依賴TDMA,基于時隙完成多路徑協同傳輸。
首先,網絡堆棧通常修改每個中繼節點處的協議報頭信息,使得即使兩個中繼節點發送相同的有效載荷數據,所得到的廣播包也可以是不同的。為了支持自主協作,必須舍棄節點特定的分組變換:協議報文頭添加跳數字段,該字段記錄收到消息的節點距離源節點的跳數。與之配套的轉發處理方式為:節點轉發消息時不更改報文頭中源節點與目標節點的內容,僅對跳數字段做+1操作。
其次,協同節點必須在相同的時隙上轉發相同的數據包。傳統上,轉發決策是在網絡層進行的,這便引入了不可預測且依賴于節點的處理延遲。為了最大限度地減少延遲并確保在同一時隙上發生轉發,必須在物理層進行轉發決策(通過建立CBR輔助實現)。
2.2.4 CBR建立
BRNs采用受控攔截區域技術建立路由,CBR的建立需要依賴TDMA與自主協同。CBR建立過程涉及路由請求與路由回復消息的傳輸以及途徑節點的相關處理行為。具體方法如下:
定義:標記網絡拓撲為G=(V,E),v∈V表示節點的集合,(u,v)∈E表示節點u與節點v之間的無線連接。對于任意UV,G\U表示僅包含V\U節點的G的子圖。對于不相同的節點u,v,w∈V,d(u,v)定義為連接節點u和節點v的最短路徑長度,d(u,v;w)定義為連接節點u和節點v但不經過節點w的最短路徑長度。設定寬度參數非負整數N。
節點設定:源節點S(Source)、目的節點D(Destination)、中繼節點R(Relay)、阻攔節點B(Buffer)、不可達節點U(Unreachable)。圖4為一個簡單的CBR建立示意圖,初始條件為源節點S∈V,目的節點D∈V。算法如下:
(1)S節點向周圍廣播“請求發送數據包”(Request to Send,RTS):(S_ID,D_ID,d(S,v)[起始值為1,內含跳數計數器])。
RTS發送時槽為:
(2)節點v∈V\{S,D}接收RTS并解碼,存儲a(v)=d(S,v;D),RTS跳數+1,并中繼轉發。
RTS接收時槽為:
(3)D節點接收到RTS,存儲δ=d(S,D);等待一定時槽t1后發送阻攔數據包BUF(收到BUF而未收到RTS即判定為B,接收后不轉發);再等待一定時槽t2后向周圍廣播“清除發送數據包”(Clear to Send):(S_ID,D_ID,δ,d(D,v)[起始值為1,內含跳數計數器])。
RTS接收時槽為:
(4)節點v接收CTS并解碼,首先驗證v接收過S與D傳輸中的RTS,獲取b(v)=d(D,v;S)。而后根據a(v)、b(v)與δ的值執行一個判定式,若滿足,v被判定為R,CTS跳數+1,并中繼轉發;若不滿足,v被判定為B;
CTS接收時槽為:
(5)S節點接收到CTS,發送類似的BUF數據包,上述過程中未參與節點均視為U。
CTS接收時槽為:
2.2.5 沖突避免
CBR建立過程中共有4個數據包被廣播,互相之間可能產生沖突的情況共兩類,本文采用等待退讓的方法避免沖突產生,由t1、t2、t3調控。
(1)第1類:D節點接收RTS并發送BUF的沖突和S節點接收CTS并發送BUF的沖突。兩者類似,此處僅選取D節點相關沖突進行討論。假設節點r為D節點的一跳節點,為避免出錯,需要滿足ttx(D;BUF)>trx(r;RTS),于是t1≥N-1,又t1≥0,可知t1≥max(0,N-1)。
(2)第2類:某節點同時接收CTS與RTS的沖突。由于存在寬度參數N,對于CBR內部節點可能存在同時接收CTS與RTS的沖突,假設該節點為r,滿足a(r)+b(r)=δ+ε(0<ε≤N),故要求t2≥ε,雖然這樣CBR外部節點仍然無法避免沖突,但對于CBR建立不存在影響,不予考慮。因為CTS必須晚于BUF廣播,即t2>t1,所以t2≥max(1,N)。
2.2.6 硬件處理
數據包格式以802.11b協議格式為原型進行修改。判定結果傳遞給物理層,R節點將在物理層直接轉發接收到的數據包,B節點將直接丟棄數據包。
2.3 測試
測試環境共4個測試節點,可實現的網絡拓撲較為簡單,如圖5所示,以下逐一列舉測試例及結果。
測試結果1、2、3、4表明,在所有節點可連通情況下,源節點與目的節點傳輸最短路徑途經的節點均被判定為中繼節點,其余節點被判定為阻攔節點,故中繼轉發節點與信息阻攔節點的判定無誤。
測試結果5、6表明,在網絡拓撲出現中斷的情況下,與源節點可連通的節點可被正常判定,而與節點無連通的節點(包括目的節點)均無法判定而視為不可達,故不可達節點的判定無誤。
3 性能仿真
3.1 仿真環境
本文使用MATLAB軟件對DSR協議(Dynamic Source Routing)、OLSR協議(Optimized Link State Routing)和BRN協議進行網絡性能仿真。仿真設置在1 000×1 000的環境中,隨機布置50個節點,以5 Hz頻率發送大小均為512 B的數據包。
本文針對以下3個數據指標仿真:
(1)端到端平均時延(Average Delay,AD):該指標強調網絡延遲。AD=∑(接收包的時刻-發送包的時刻)/發送數據包的個數;
(2)數據包投遞率(Packet Delivery Ratio,PDR):該指標強調網絡傳輸可靠性。PDR=目的節點收到數據包個數/源節點發送數據包的個數;
(3)路由開銷(Normalized Routing Load,NRL):該指標強調網絡資源規模。NRL=轉發的數據包個數/目的節點接收到的路由個數。
3.2 仿真結果與分析
3.2.1 場景一
節點暫停時間為60 s,分別以0 m/s、5 m/s、10 m/s…45 m/s、50 m/s的速度移動,結果如圖6所示。
移動速度的影響分析:
AD:DSR對移動速度比較敏感且延遲較大;表驅動的OLSR幾乎不受移動速度影響;而BRN在移速不太大的情況下很穩定,當移速較大時開始受到影響。
PDR:3個協議的PDR都隨著移速的增大明顯減小,移速越大導致源節點與目的節點無法聯通的情況越多,符合規律。其中BRN下降速度較緩,PDR一直保持最高,應對拓撲突變的魯棒性尚可。
NRL:DSR的最大優勢在于低開銷,其路由開銷基本不受移速影響;為了維護路由表,OLSR產生了較大開銷;BRN的開銷增大源自CBR的擴大,介于二者之間。
BRN在應對節點隨機移動的情況時,在一定范圍內保持了較高的性能與較低的開銷,綜合效果最優。
3.2.2 場景二
節點向隨機方向以30 m/s的速度移動,暫停時間分別為0 s、10 s、20 s…160 s,結果如圖7所示。
暫停時間的影響分析:
AD:與移動速度情況相似,DSR表現較差而OLSR穩定且低時延;BRN在暫停時間小于60 s時敏感且時延偏高,暫停時間大于60 s時性能接近OLSR,原因在于BRN需要首先建立CBR,之后提供低時延的網絡。
PDR:OLSR的PDR穩定分布在0.9附近,BRN在暫停時間大于60 s后也穩定在0.9附近,DSR的PDR偶然誤差較大,整體呈上升趨勢。
NRL:3個協議的路由開銷均對暫停時間不太敏感,隨暫停時間增大略有下降。其中OLSR開銷最大,BRN次之,DSR最小。
BRN對網絡的穩定性有一定要求。對于符合要求的網絡環境,BRN可以提供低時延、低開銷與高數據包傳遞率。
仿真綜合分析知,OLSR作為典型的表驅動路由協議,具有良好的穩定性,同時低時延、高開銷優劣分明;相反地,按需驅動路由協議DSR使用很少的開銷,但在網絡性能上偏差;BRN均衡二者的利弊,建立CBR的過程更接近DSR,而建立CBR之后的網絡性能更接近OLSR,綜合性能最佳。
4 結論
本文基于YunSDR-Y450硬件進行路由協議開發,核心目標為實現CBR的建立,其前提條件為網絡集群自主協同通信且TDMA時間同步。
針對BRN、DSR、OLSR進行仿真模擬,通過對三者模擬結果的對比分析,進一步印證了BRN的優越性:應對變化的網絡環境魯棒性高,使用較少開銷換取更低的網絡時延。該協議值得進一步研究開發。
參考文獻
[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:歐洲專利局,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] 盧玲,王鉞,王劍,等.一種基于分簇的新型組播網絡[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組網同步的分布式控制方法[J].通信技術,2012,45(5):26-28,32.
作者信息:
任 能
(清華大學 電子工程系,北京100089)