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

基于BATMAN adv協議的自組網系統研究與實現

2019-08-27 10:16:42王真真尹曉偉宋樹麗陳書旺
火控雷達技術 2019年2期
關鍵詞:系統

王真真 黃 濤 尹曉偉 宋樹麗 左 珺 陳書旺

(河北科技大學 石家莊 050018)

0 引言

無線自組織網絡相比于其它網絡具有系統靈活,自適應,抗故障,不需要基礎設施的優點,所以在上世紀70年代一些國家對無線自組網就進行了研究。路由協議是無線Mesh網絡的核心內容之一,高效、可靠的路由協議是系統正常運行的保證。本文使用BATMAN adv 路由協議實現了多跳的自組網系統。該協議路由算法在路徑選擇上遵循最優下一跳的原則,不需要掌握全網的拓撲結構,因其開源、輕量化、2.5層實現等特點,使其具備了提高網絡傳輸效率和降低能耗的優勢,從而受到科研開發的青睞而應用廣泛[1-2]。

1 無線自組織網絡的介紹

無線自組織網中的節點具有終端和轉發器的功能,是一種多跳,無中心,臨時的自治系統。多跳:節點發射功率是有限制的,當遠距離通信時,源節點和目的節點不能直接發送信息,需要通過中間節點作為中繼進行轉發。無中心:每個節點都是對等的,不需要控制中心。臨時性:適用于一些緊急場合,臨時構成網絡進行發送信息。常被用在商業,災害和軍事現場。它具有便捷和可移動的特性,是當今社會不可缺失的一種網絡形式[3]。

由于網絡系統經常用在突發場合,節點依靠電池進行供電,所以能量有限,如何利用有限的能量來進行數據最大的傳輸是當今最大的挑戰之一,通過對各種自組網路由協議的比較,使用這新型的路由協議—BATMAN adv,并且對該協議進行更優的配置,提高網絡的吞吐量,傳輸速率,降低了丟包率[4],使無線自組網的性能有了極大的提高,延長了系統的使用時間。

2 BATMAN adv路由協議的研究

2.1 路由協議原理

2.1.1 BATMAN adv介紹

BATMAN adv(Better Approach To Mobile Ad-Hoc Networking)是一種新型的無線路由協議。它是在BATMAN協議(工作在網絡層)上進行改進的一種協議,所以它仍然保存著第三層的功能[5]。BATMAN adv路由協議幀采用原始以太網幀進行傳輸,并且它還對數據流進行處理,封裝轉發數據報文,直接到達目的節點。如同一個虛擬的二層交換網絡,在無線自組網中使用這個協議,節點不需要保存整個網絡的拓撲結構,只保存最優下一跳節點的信息,使得該協議更加輕量化,收斂速度相比于其它協議更快,運行效率相比其它也更高。

BATMAN adv協議是基于減小功耗和提高鏈路連接的穩定性而產生的路由協議,以LINUX內核的方式在數據鏈路層上運行,所以當接收到數據包時,可以在內核空間直接進行處理,實現數據快速轉發,在很大程度上減少了CPU的內存。它工作在鏈路層,對網絡層是比較透明的,所以網絡層可以運行各種協議,系統靈活性更高[6]。

2.1.2 BATMAN adv數據包格式

BATMAN adv數據包有8種不同的格式,最主要的是BATADV_IV_OGM,它通常被稱為OGM包,用于節點發現和路由建立,同時根據接收到的OGM包來進行鏈路檢測。通常把OGM包代指BATMAN adv數據包,OGM報文幀格式如圖1所示。

類型版本生存時間標志位序列號源節點MAC地址(前4字節)源節點MAC地址后2字節上一跳MAC地址后2字節上一跳MAC地址(后4字節)保留字段TQTVLV長度

圖1OGM幀格式

有關內容說明如下:

1)類型是區分數據包的類型;

2)版本是協議的版本號;

3)序列號是為了辨別同一個OGMs是否被多處接收,區分OGM包的新舊,在路由選擇中至關重要;

4)存活時間(TTL)是生存周期,也就是最大轉發跳數;

5)TQ是鏈路傳輸質量,對于路徑的選擇起著至關重要的作用。

2.1.3 源節點數據結構

協議運行的主要目標是要維護網絡中所有可達的節點列表,用作之后的路由的依據。每個節點有多個網絡接口,為了減少網絡開銷,會選擇一個主接口,作為該節點的標識,當向外廣播數據包時,主接口發出的OGM的TTL為64,而其他接口為2。這樣只有主接口會向二個節點以外的進行廣播,減少了OGM洪泛的資源消耗。每個節點都有維護著一個結構batadv_orig_node,這個結構體中存儲路由信息,并且會隨著接收的OGM進行更新,下面介紹該結構體中的關鍵部分。

1)orig[ETH_ALEN]:本協議是第二層協議,所以代表源節點的MAC地址。

2) ifinfo_list:源節點網絡接口列表。每當從一個接口接收到OGM包,如果這個接口沒有在ifinfo_list列表中,會重新創建一個結構batadv_orig_ifinfo,每一個接口都有對應的結構體存儲所有到該源節點的信息。

該結構包含的主要內容有:if_outgoing(發送接口);router(源節點的下一跳的信息,代表的是最下一跳,并且代表一個batadv_neigh_node結構體);last_real_seqno(收到最近 OGM 的序列號); last_ttl (最近收到的OGM的TTL值,TTL代表生存時間,經過一跳它會減一)。

3)last_seen:最近一次收到來自本源節點的 OGM數據包的時間。

4)neigh_list:所有可以到達該節點的鄰居信息列表,就是中間所有能到達的鄰居節點,router是它中的最優的鄰居節點。每從一個新的鄰居接收該源節點的 OGM ,就會創建一個batadv_neigh_node 結構體,并把它加入鏈表中:從中找出最優的鄰居作為到達目的節點的下一跳。

5)bat_iv:里面的數據結構batadv_neigh_ifinfo_bat_iv,tq_avg是緩沖區里TQ的平均值。real_bits和real_packet_count用來計算該鄰居節點的TQ值。

2.1.4 滑動窗口

通過統計節點接收到的OGM幀的數量來判斷鏈路的質量,記錄的序列號的個數是檢測鏈路質量的準則。在網絡的傳輸過程中,可能有的OGM幀會丟失或者信息失效,那么這種OGM需要丟棄,所以滑動窗口會不斷進行更新,維護一組有效的序列號[7]。滑動窗口的原理如圖2所示。

圖2 滑動窗口機制

滑動窗口的大小是不變的,而窗口是隨著接收到OGM的序列號的更新進行變化。當接收到的OGM的序列號在滑動窗口的范圍內,僅記錄OGM的信息,同時將統計計數器加1,窗口不會發生移動;當序列號比窗口中任何序列號都小時,該包將被丟棄;當序列號比窗口中的任何值都大時,滑動窗口會將它設為最新的序列號之一,窗口會向右邊移動。

2.2 BATMAN adv協議算法

2.2.1 OGM的接收轉發

1)節點會周期性的向外廣播OGM包,它的主要功能有:告知源節點的存在,找出可能的下一跳路由;計算出可能下一跳路由的鏈路質量。

2)節點在收到來自其他節點的 OGM 數據包之后,按照一定的規則向外廣播,使得一個節點發出的 OGM 消息可以洪泛到全網所有節點。為了減少消息洪泛的開銷,對于同一個 OGM 數據包,每個節點只會接收一次。所以,一個 OGM 數據包的洪泛過程會在出現如下幾種情況中的一種后停止:全網的所有節點都至少接收了該OGM數據包一次;該 OGM 數據包在鏈路中全部丟失;該OGM數據包 TTL 值降到 0。

3)節點把自己的MAC地址放入到OGM的消息中,然后周期性地進行廣播。其它節點當收到OGM后,會根據里面的信息對該數據包進行處理。判斷丟棄數據包或者更新自己的節點列表,然后再把接收到的OGM包進行轉發。

2.2.2 BATMAN adv傳輸質量的計算

OGM消息是周期性地向外發送,那么可以通過OGM數據包進行路由度量,生成一條最優路徑。在BATMAN adv路由協議中,鏈路度量值稱為 TQ(Transmission Quality)[8]。路由度量包含本地鏈路質量和全局鏈路質量。一個節點會存儲到達目的節點的多條路徑的 TQ 值,當需要與其他節點進行通信時,選取擁有最大 TQ 值的傳輸路徑作為最佳路由向外發送。

1)本地鏈路質量如圖3所示:將發射鏈路質量除以接收鏈路質量來計算傳輸鏈路質量(TQ),向鄰居節點成功傳輸的概率。計算公式:

TQ=EQ/RQ

(1)

圖3(a)是RQ(接收鏈路質量):A節點參照滑動窗口記錄的從鄰居節點收到的OGM數據包的數量。

圖3(b)是EQ(發射鏈路質量):觀察自己的滑動窗口記錄的接收到經由相鄰節點轉發回來的自己的OGM的數量。

圖3 本地鏈路質量

2)全局鏈路質量如圖4:源節點廣播0GM包TQ值最大為255,接收到的OGM包的節點將自己本地的TQ(global)與接收到OGM中的TQ(received)相乘,作為轉發的TQ值,所以說節點收到的TQ就是該節點到其它節點整個鏈路的質量,可以根據TQ值的大小判斷最優下一跳,一次類推則可以求出整條鏈路的質量。

圖4 全局鏈路質量

B收到A傳來的TQ=100%,接收到的值與B處的TQ進行相成,得到的TQ(global)=100%*90%,用這個結果的TQ值進行數據的轉發,以此類推得到C點要轉發的TQ(global)=90%*80%,然后進行廣播。通過全局鏈路質量找出最優的鏈路進行數據的傳輸提高了整個系統的傳輸性能[9]。

2.2.3 BATMANadv路由切換的設計

在無線自組網絡系統中,當一個節點設備發生失靈或其中一個鏈路中斷的情況時,BATMAN adv協議會根據TQ值重新計算最優下一跳,切換路徑進行數據的傳輸,提高數據的傳輸速率。在不斷改變的路由場景中,由節點A、節點N、節點B和節點M組合成的一個自組織網絡,如圖5所示。在該網格中,節點A與節點N作為兩個相鄰節點,當A在網格中移動時,節點A從相鄰節點N的廣播范圍內移動到M的廣播范圍內,并且節點A作為節點M相鄰節點,在這種情況下,A和B之間的路線將盡可能快地恢復,提高數據鏈路的傳輸效率。

圖5 路由場景

3 系統配置

3.1 硬件和linux系統

選用樹莓派作為節點組成自組網系統.樹莓派就是小型計算機,所以它可以燒錄系統,并且可以運行Linux系統。該系統選用4.9Linux內核的Debian系統,無線網卡:支持2.4GHz和5GHz IEEE 802.11.b/g/n/ac無線局域網,在2.6.38以后的Linux內核版本中已集成BATMAN adv內核模塊并且Linux 內核可以實現 Ad Hoc 功能。

3.2 硬件配置

系統采用ARM處理器內核的Raspberrypi 3b作為自組織網絡的通信節點,以支持2.4GHz和5GHz信道的板載無線網卡配置成網絡模塊,選用Debian系統作為嵌入式系統,4.9Linux-kernel內核作為開發板搭配固件內核交叉編譯,可以直接載入系統運行,所以只要構建BATMAN adv協議應用程序編譯成內核樹模塊并運行在網卡芯片中,就可以實現自組網功能。運行自組織網絡程序開始時,先檢測是否有節點加入該自組織網絡,若是,則增加節點并且分配路由表,直接構建好自組織網絡。當每個節點都分配好路由表后,自組織網絡構建成功并提供給所有節點通信。

3.3 節點配置

Batctl為配置和調試batman-adv內核模塊進行設計的工具,通過此工具可以顯示出調試信息,如源節點列表,翻譯表以及調試日志等,于是該系統利用它來對網絡進行參數設置。與其他工具不同的是此工具包能夠在數據鏈路層提供與IP標準功能相似的命令。BATMAN adv工作在數據鏈路層,所以尋址使用的是數據鏈路層的地址。通過網絡工具包Batctl的使用在加上ifconfig,iwconfig等linux操作指令就可以對節點進行配置。配置之前把batctl工具在linux上進行交叉編譯。

然后搭建adhoc模式,運行BATMAN adv模塊,在/home/pi中創建一個batsetup-rpi3.sh的文件對系統進行配置,里面包含對個各功能的配置:

1)配置BATMAN adv路由協議的指令為sudo modprobe batman-adv,開機自動啟動BATMAN adv內核模塊;

2)網絡模式進行配置sudo iwconfig wlan0 mode ad-hoc,使網卡在Ad hoc模式下工作;

3)將mtu設置為1532指令為 sudo ifconfig wlan0 mtu 1532:

4)wlan0是無線網卡設備名,在不同的設備上,網卡名可能不同。my-mesh-network為無線網絡的服務集標識,用來區分不同的網絡,無線設備要實現互相連接,需要具有相同的 essid。指令為 sudo iwconfig wlan0 essid my-mesh-network。

配置好linux系統和BATMAN adv協議以后重新啟動樹莓派,基于BATMAN adv協議的自組網系統就搭建完成了。

4 系統測試

無線自組網系統的節點具有移動的特性,所以路徑切換,傳輸中選擇合適的路徑是系統必須研究的問題。路徑切換地快慢,受傳輸距離、環境和ogm包的發送間隔的影響,在配置中適當地改變OGM包周期進行測試。

實驗使用batctl工具,對路由協議進行配置,以及信息調試。可以實現數據鏈路層的ping,tr,tg等命令,對系統的傳輸質量、丟包情況、傳輸延遲、吞吐量進行了測試。通過batctl中的traceroute命令來檢測節點的傳輸路徑。由于自組網是用于自然災害等臨時場合,所以我們選擇在具有障礙物的教學樓內進行測試。表1為節點地址,圖6為四個樹莓派的分布圖。

圖6 四臺樹莓派測試結構圖

表1 節點地址

節點MAC地址設置的靜態IPAb8:27:eb:ba:f1:2e10.0.0.1Bb8:27:eb:74:7b:9910.0.0.2Cb8:27:eb:4f:97:f910.0.0.3Db8:27:eb:76:d1:c910.0.0.4

4.1 發現節點

給B,C,D三臺樹莓派上電,在樹莓派C中通過batctl工具包輸入sudo batctl tg命令,可以發現周圍的節B和D,并且以打印的形式把周圍其它兩個節點MAC地址打印出來。測試結果如圖7所示。

圖7 節點發現

4.2 相鄰節點單跳網絡

關閉A和B兩臺樹莓派,只開啟C和D并放在相鄰位置,C節點作為發送節點,使用ping命令與D進行連接,實驗結果如圖8所示,可以發現丟包率為0,平均時延為12s,平均時延與周圍的環境和兩臺距離相關。該節點是在有障礙物的大概12m的距離進行測試的。

圖8 單跳網絡

4.3 不相鄰節點的多跳網絡

在多跳網絡中,發起節點到目標節點的數據吞吐量測試,可達到2.15Mbps的傳輸效率,測試結果如圖9所示。

圖9 吞吐量測試

當A和D不在傳輸范圍內的時候,需要通過中間第二個節點作為中繼進行轉發,這里把B當作中繼,對A和D進行測試的結果如圖10所示。

圖10 測試結果

根據圖10照片可以發現,丟包率為0,最小時延為9ms,平均時延為15ms,可以發現比相鄰兩節點的傳輸時延變大,但是丟包率仍然都為0。

4.4 路徑切換的多跳網絡

1)如圖9所示,當節點A與D通信時,由B作為中間節點,當B突然間關閉,路徑的變化情況如圖11所示。

圖11 變化情況圖

由圖11可以發現剛開始把B當作中間節點進行轉發,當B發生損壞時,她會重新計算TQ值,尋找新的路徑,最后把C作為中間節點進行轉發。由圖可以發現A向D發送了57個包,但是只接收到30個,丟包率達到47%,平均時延為37ms,可見路徑的切換對路徑的傳輸效率有很大的影響。

2)添加滑動窗口保護機制的路徑切換

通過增加一種保護機制來提高路由的收斂速度。由于節點剛開始時,節點的本地鏈表信息由于沒有完成初始化,因此當接收到序列號信息并對其序列號值和本地存儲的最新序列號值做差值運算得到的值可能超出正常的窗口范圍,引起不必要的滑動窗口重置。進一步導致節點信息列表更新延時,降低路由的收斂速度。因此通過添加開關防止出現此情況。開關檢查節點的本地節點信息列表,如果為空則關閉滑動窗口保護機制,一旦成功接受到一個信息,并且本地節點信息表中有鄰居節點加入則開啟滑動窗口保護機制,這樣不僅防止節點的錯誤選路而且能在一定程度上提高路由的收斂速度。

圖12 切換變化圖

由圖12可知當路徑發生切換時,A向D發送了59個包,接收到了41個,相比于優化之前的丟包率有明顯的降低,達到了30%以內,平均時延也降低達到29ms,傳輸效率有了明顯的提高。

在已有研究基礎上對該協議進行了更加深入的研究,并通過搭建系統對其性能進行了驗證,由此發現丟包率和傳輸質量有很大的改善。由于BATMAN adv協議比較適合無線自組網拓撲結構的改變,所以在路徑切換上很明顯的優勢。并通過滑動窗口的保護機制,在系統丟包率,傳輸時延和吞吐量有了很大的改善。

5 結束語

本文為BATMAN adv協議的研究以及搭建基于BATMAN adv協議的自組網系統起到一定的借鑒作用。在系統中,降低了網絡的開銷,不需要掌握整個網絡的拓撲,就可以找出最優路徑,尋找出好的下一跳,不僅適用小型的無線自組網,而且適用于多節點的大型系統,所以選擇BATMAN adv協議作為自組網系統研究的路由協議,該系統是通過4個樹莓派構成的網絡進行的測試,下一步我們會增加系統的節點以模擬自然災害場景下的無線自組網絡系統,來對該路由協議進行進一步的測試研究。

猜你喜歡
系統
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在多段調速系統中的應用
主站蜘蛛池模板: 亚洲男人天堂网址| 久久a毛片| 亚洲无码久久久久| 亚洲第一在线播放| 91激情视频| 国产69囗曝护士吞精在线视频| 亚洲精品中文字幕无乱码| www.狠狠| 无码国内精品人妻少妇蜜桃视频| 国产尤物在线播放| 久久天天躁狠狠躁夜夜2020一| 美女一级毛片无遮挡内谢| 久久网综合| 久久这里只精品国产99热8| 99视频精品全国免费品| 国产一区二区三区在线观看视频 | 免费毛片网站在线观看| 国产精品黑色丝袜的老师| 久久精品娱乐亚洲领先| 免费国产好深啊好涨好硬视频| 国产成人无码久久久久毛片| 国产91精品最新在线播放| 亚洲中文字幕av无码区| 亚洲无码高清视频在线观看| 亚洲欧美日韩动漫| 在线免费无码视频| 67194亚洲无码| 日韩毛片基地| 国产精品丝袜在线| 在线视频亚洲色图| 成年A级毛片| 亚洲一区二区在线无码| 国产视频欧美| 国产一级在线观看www色| 色偷偷男人的天堂亚洲av| 成年女人18毛片毛片免费| 亚洲av无码久久无遮挡| 粗大猛烈进出高潮视频无码| 国产精品成人免费视频99| 国产精品入口麻豆| 国产一区二区三区在线观看视频| 毛片网站观看| 国产玖玖玖精品视频| 欧美性久久久久| 欧美一区二区精品久久久| 日韩在线欧美在线| 日韩黄色大片免费看| 毛片在线看网站| 亚洲无码一区在线观看| 一本大道视频精品人妻| 久久久久久久久久国产精品| 日本成人精品视频| 久久久久久午夜精品| 亚洲人成高清| 99久久这里只精品麻豆| 日韩一级二级三级| 国产一区自拍视频| 精品一區二區久久久久久久網站 | 亚洲香蕉在线| 精品国产Av电影无码久久久| 一级一级特黄女人精品毛片| 东京热高清无码精品| 高清欧美性猛交XXXX黑人猛交| a毛片免费观看| 久久永久免费人妻精品| av在线人妻熟妇| 在线亚洲天堂| 91麻豆精品国产高清在线| 国产日本欧美在线观看| 午夜人性色福利无码视频在线观看| 91久久偷偷做嫩草影院| 国产视频欧美| 91黄色在线观看| 国产精品一区不卡| 亚洲黄网视频| 免费欧美一级| 日韩中文字幕免费在线观看 | 国产精品视频免费网站| 久久福利片| 亚洲A∨无码精品午夜在线观看| 五月天福利视频| 99久久免费精品特色大片|