唐建清 鄒國霞



摘要:本文針對無線Mesh網絡主干網部署變動少的特性,設計了多信道無線Mesh網絡中DSDV路由算法,利用OMNeT++5.3對DSDV路由原算法和改進后算法進行仿真對比,在仿真時間、消息數量、網絡傳輸參數相同情況下,主要從丟包數量情況進行統計,仿真結果證明當消息都發往同一個地址時,算法改進前后沒有太大差別,當消息發往全網任意一個地址時,改進后的多信道DSDV算法丟包量明顯少于改進前的DSDV算法,而且在同等條件下,消息緩存容量大的丟包量會明顯減少。
關鍵詞:Mesh;DSDV路由;多信道;丟包量
中圖分類號:TP273 文獻標識碼:A 文章編號:1007-9416(2019)07-0122-03
0 引言
無線Mesh網絡(Wireless Mesh Network,WMN)骨干網絡節點基本靜止并且節點沒有能量限制,因此無線Mesh網絡與移動Ad hoc網絡(Mobile Ad hoc Network,MANET)與無線傳感器網絡(Wireless Sensor Network,WSN)有所不同,造成MANET和WSN中的路由技術無法直接應用于WMN,為此研究者提出了很多WMN路由協議。比如文獻[1]基于物理信道質量、流間和流內干擾的影響提出了EPBW(Expected Path Bandwidth),并在EPBW基礎上設計了一種分布式路由協議EPBWR(Expected Path Bandwidth Routing),在吞吐量和網絡的動態性的適應方面進行了仿真。文獻[2]提出了RHCA(Routing based on Hybrid Channel Assignment,RHCA),該算法是針對多射頻多信道的一種分布式路由算法。主要考慮網絡負載及節點位置實時變化等實際場景。
針對DSDV路由協議改進并應用于無線Mesh網絡只搜索到文獻[3],其他大部分是DSDV路由在無線Mesh網絡中的應用或幾種路由仿真分析,如文獻[4-5]。其中文獻[3]基于DSDV提出了一種跨層路由設計方案,并從吞吐量,延時方面進行了仿真,仿真結果表明方案改進很好,但是由于增加了跨層功能,所以路由算法實現優點復雜。本文將從丟包率和多信道方面改進DSDV路由算法。
1 經典DSDV路由算法
WMN骨干網絡節點基本靜止并且節點沒有能量限制[1]。本文主要考慮網絡拓撲變化不大的Mesh網絡,因此采用表驅動協議,而在表驅動協議中,DSDV(Destination-Sequenced Distance-Vector )路由是比較經典而且執行效率高的協議。
DSDV路由協議中,每個節點保存一個路由表,路由表維護著本節點到網絡內部所有可達目的節點的路由。路由表條目(目的節點IP,目的節點序列號,距離目的節點的路由跳數)中的節點序列號更新基于以下原則:當一個節點同時接收到多個不同序列號更新時,首選路由為序列號大的路由,序列號相同時,首選路由為跳數少的路由[4]。
2 用于多信道的改進DSDV算法
2.1 多信道
早期的無線Mesh網絡是基于單信道的,在單信道無線Mesh網絡中,會出現“饑餓”現象,即當跳數大于4跳以上,節點吞吐量為0。這樣就容易造成節點響應不公平和系統吞吐量小的問題。現在Mesh 路由器多采用多射頻多信道技術,可以有效減少碰撞和干擾,通過同時在不同信道上通信,可以提高響應速度和提升系統性能[7]。
多信道是將信道頻率帶寬分割成若干個更窄的子信道頻率帶寬,為了能夠在不同的子信道上同時傳輸數據,鄰近的無線路由器需要工作在互不重疊的信道,如此可有效避免信道重疊造成的相互干擾。例如IEEE 802.16a工作于2~11GHz的公開波段,2.4G頻段的工作頻率為2.4-2.4835GHz,將83.5MHz頻帶劃分為13個子信道,各子信道中心頻率相差5MHz,向下向上分別擴展11MHz,信道帶寬22MHz,相近無線路由器應選擇互不重疊的信道工作,如(1、6、11),(1、7、13),最多可用的正交信道為3條[8]。
2.2 改進算法思想
本文主要針對無線Mesh網絡的骨干網,網絡中每個節點具有多個射頻通信接口,采用靜態信道分配,依據具體的網絡規模以及節點間的邏輯連接關系,對每條邏輯無線鏈路進行信道分配。這樣Mesh網絡中每個節點就有多個邏輯無線鏈路。設計的改進DSDV算法中,每個節點需要維護一個路由表,路由表條目為:(目的節點IP,轉發的邏輯無限鏈路編號,目的節點序列號,距離目的節點的路由跳數)其中“轉發的邏輯無限鏈路編號”決定了數據的流向,數據從哪一個信道進行傳輸。當有n個信道時,就相當于有n個數據流向。這樣會大大提高網絡的利用效率。
3 改進算法性能仿真
3.1 邏輯網絡拓撲圖(圖1)
網絡采用3*9個節點,每個節點有四個信道,網絡延遲0.1ms, 數據傳輸率1Gbps。包大小4096 bytes。
3.2 仿真結果對比
3.2.1 消息隊列緩存為20時,網絡丟包情況對比
(1)當包都發往節點0時如圖2,圖3。
(2)當目的地址為網絡中任意節點時如圖4,圖5。
3.2.2 隊列緩存為5個消息時
(1)目的地址為0節點如圖6,圖7。
(2)目的為任意地址如圖8,圖9。
4 仿真結果分析
上圖中Mesh表示原始的DSDV路由算法,Mesh_ DSDV表示改進的DSDV路由算法。
當緩存為20時,圖2和圖3可以看出由于都往節點發送信息,因此造成了瓶頸,改進前后差別不多;圖4和圖5可以看出,當目的地址為任意節點時,改進后的算法丟包數量非常少,相對于原始DSDV路由網絡性能安全很多。
當緩存為5時,圖6和圖7由于目的節點固定一個,所以改進前后差別不大;圖8和圖9可以看出,當目的地址為任意節點時,改進后的算法丟包數量相對于原始DSDV路由減少很多。
在不同緩存下,同樣的算法性能也會不同,緩存小時網絡丟包量比較多。
5 結語
根據多信道原理,對DSDV算法進行改進,通過在原DSDV算法基礎上增加邏輯無限鏈路編號信息,采用OMNeT++5.3仿真,從改變緩存大小方面進行測試原DSDV和改進DSDV的丟包情況,仿真結果表明,無論在那種緩存情況下,改進DSDV路由性能比原DSDV要好,同時緩存越大網絡丟包情況越少。
參考文獻
[1] 鄧曉衡,劉強,李旭,陳志剛.鏈路質量與負載敏感的無線Mesh網絡路由協議[J].計算機學報,2013,36(10):2109-2118.
[2] 鐘朗,李廣軍,楊學敏,楊云樂.無線Mesh網絡中一種分布式路由方案[J].電子技術應用,2015,41(7):81-84.
[3] 張博,羅衛,賈方.基于DSDV的無線Mesh網絡跨層路由設計[J].計算機工程,2009,35(5):91-93.
[4] 潘麗君,李厚民.戰術分隊網絡中DSDV與AODV協議應用仿真[J].系統仿真學報,2014,26(10):2476-2480+2485.
[5] 陳珊珊,姚善化.礦災管理系統中DADV與AODV協議的仿真對比[J].煤礦安全,2013,44(5):120-122.
[6] 裴廷睿,曾文麗,張朝霞.基于無線Mesh網絡的路由協議性能比較分析[J].湘潭大學自然科學學報,2009,31(4):115-119.
[7] 王繼紅,石文孝,李玉信.無線Mesh網絡部分重疊信道分配綜述[J].通信學報,2014,35(5):141-154.
[8] 魏振春,吳亞偉,張本宏.一種用于多信道無線Mesh網絡的信道分配方法[J].電子測量與儀器學報,2015,29(8):1144-1150.