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在多段調速系統中的應用
主站蜘蛛池模板: 欧美日韩一区二区在线播放| 爱爱影院18禁免费| 久久综合结合久久狠狠狠97色 | 亚洲国产一区在线观看| 日韩无码视频播放| 人妻熟妇日韩AV在线播放| 久久无码av一区二区三区| 亚洲人成网站在线播放2019| 99精品国产高清一区二区| 国产免费久久精品99re不卡| 国产在线一区二区视频| 日本a级免费| 亚洲成av人无码综合在线观看| Jizz国产色系免费| 久久综合伊人 六十路| 中日无码在线观看| 免费视频在线2021入口| 国产欧美日本在线观看| 亚洲高清在线天堂精品| 国产成人一区免费观看| 免费看一级毛片波多结衣| 亚洲天堂免费| 波多野结衣在线一区二区| 国产美女自慰在线观看| 91www在线观看| 国产一级毛片高清完整视频版| 亚洲最大在线观看| 亚洲欧美另类久久久精品播放的| 国产精品免费久久久久影院无码| 久久成人18免费| 性视频久久| 欧美日韩精品一区二区视频| 深夜福利视频一区二区| 精品久久香蕉国产线看观看gif| 免费国产小视频在线观看| 亚洲制服中文字幕一区二区| 欧美在线综合视频| 国产欧美一区二区三区视频在线观看| 无码综合天天久久综合网| 欧美成人综合视频| 国产va在线| 欧美翘臀一区二区三区| 国产精品免费露脸视频| 91视频99| 最新国产成人剧情在线播放 | 国产高清在线精品一区二区三区| 尤物视频一区| 国产免费黄| 性色在线视频精品| 日韩黄色大片免费看| 国产又粗又猛又爽视频| 亚洲一区无码在线| 精品人妻一区二区三区蜜桃AⅤ| 激情六月丁香婷婷四房播| 日本成人精品视频| 亚洲国产综合精品一区| 色妞www精品视频一级下载| 理论片一区| 国产福利在线观看精品| 手机在线国产精品| 成人亚洲天堂| 3D动漫精品啪啪一区二区下载| 五月天综合网亚洲综合天堂网| 国产精品综合久久久| 在线看片中文字幕| 免费在线不卡视频| 激情综合婷婷丁香五月尤物| 亚洲资源站av无码网址| 67194亚洲无码| 国产福利免费在线观看| 人妻丰满熟妇啪啪| 久久成人国产精品免费软件| 国产精品人人做人人爽人人添| 一级爆乳无码av| 热九九精品| 欧美区一区二区三| 亚洲欧洲自拍拍偷午夜色| 午夜视频免费试看| 国产欧美日韩va另类在线播放 | 强乱中文字幕在线播放不卡| 国产精品女同一区三区五区| 色成人亚洲|