鄧海良



摘要:分析6LoWPAN網絡的特點及其對路由協議的要求。提出一種基于LOAD路由協議的多路徑改進方案OS-LOAD,引入按最優路由與次優路由的路由代價比實現多路徑傳輸數據的思想,并利用NS2對該方案進行仿真分析。結果表明,本方案在分組投遞率、傳輸時延、整網生存時間等方面具有更大的優勢。
關鍵詞:6LoWPAN;LOAD;OS-LOAD;NS2仿真
中圖分類號:TP393? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)22-0031-02
開放科學(資源服務)標識碼(OSID):
1? 引言
6LoWPAN[1,2](IPv6 over Low Power Wireless Personal Area Networks)是一種在IEEE802.15.4標準上傳輸IPv6數據包的網絡體系結構,旨在實現IPv6網絡與無線傳感器網絡WSN的無縫連接,被認為是未來WSN最有發展前途的主流技術之一。IETF的6LoWPAN工作組在原有的網絡體系結構中加入了適配層,負責對IPv6數據包進行分配與重組,其他很多技術還在探討之中,其中路由方案是亟待解決的問題之一。目前,適用于6LoWPAN的路由技術主要有兩種:Mesh-Under路由和Route-Over路由。Mesh-Under類路由協議運行在適配層,路由轉發在適配層進行,減少了IPv6報文的分片與重組、降低了節點的能耗、提高了轉發效率,但是它不具有IP化特征,不利于網絡的擴展和診斷維護;Route-Over類路由協議真正實現了IP化,但由于協議的復雜性和每個轉發節點都進行數據的分片與重組,使得這類協議對計算能力有限、帶寬資源不足、能量較低的WSN來說難以接受。
2? LOAD協議分析
LOAD[3](6LoWPAN Ad-Hoc On-demand Distance Vector Routing)是Mesh-Under路由協議,它是AODV的簡化版本。相對AODV來說,主要在以下方面進行了改進:AODV運行在傳輸層之上,而LOAD運行在適配層,對IPv6的網絡層完全透明;LOAD使用EUI-64位標識符或短地址結構,廣播的目的地址為0xFFFF;LOAD取消了AODV中使用的目的序號機制,只允許目的節點產生路由應答,以此來防止路由環路的產生;簡化了路由表,LOAD不再使用前驅列表,路由斷路時,該節點僅單播一個RRER報文給源節點,請求源節點重新啟動路由發現;不再使用Hello報文來進行路由維護,LOAD使用MAC層的ACK機制來對鏈路狀態進行監控;使用鏈路質量指標LQI(Link Quality Indication)以及源節點到目的節點的跳數作為路由代價,選擇弱鏈路總數WL(Weak Link)較少的路徑,減少了因鏈路斷鏈造成的重啟路由發現次數。
LOAD繼承了AODV的許多優點,比如按需路由、對網絡拓撲變化反應迅速等,但也存在一些不足之處,主要表現在:路由代價僅使用LQI,沒有考慮節點能量,也沒有考慮網絡的負載均衡問題。當某些節點頻繁進行轉發時,容易造成節點能量提前耗盡導致節點死亡,進而引起整網癱瘓,縮短整網使用壽命;LOAD仍然是采用單播方式進行數據轉發,只發現和維護一條活動路由,文獻[4,5]對LOAD進行了改進,使用了備用路由機制,但只有當活動路由失效時才啟動備用路由,數據轉發仍然是單播的。
3? 改進的LOAD路由協議—OS-LOAD
3.1 改進的基本思路
針對LOAD路由協議的不足之處,提出一種相應的改進方案—OS-LOAD。引入節點能量NE(Node energy)作為路由代價之一,使用(WL,NE,RC)作為總路由代價,并賦予相應的權重。在這種方案下,對自身剩余能量較低的節點能減少其轉發數據分片的次數,延長其使用壽命。修改LOAD的路由表和路由請求表,在路由發現過程中,根據路由代價選擇不相交的最優路由路徑和次優路由路徑,并寫入路由表。路由表加入路由代價字段,存儲最優和次優路由路徑的代價,當節點有數據發送需求時,根據最優和次優路由路徑代價之比,按比例發送數據包。這樣能在一定程度上均衡節點的負載,降低時延。當某條路由鏈路短鏈時,該節點發送RERR報文,源節點收到RERR報文后,將此路由的生存時間置零,如果該節點還有通信需求,則再次啟動路由發現過程。在新路由路徑形成之前,仍然可以利用上次建立的另一條路徑進行數據轉發。
3.2 OS-LOAD實現方案
3.2.1 路由表與路由請求表
如表1和表2所示,在OS-LOAD路由表中加入了路由代價字段,該字段是當前路由從源節點發送數據到目的節點的路由代價之和。為了最簡化路由表,刪除了LOAD路由表中原有的有效標志字段,直接用路由的生存時間來判斷該路由是否有效,每發送一次數據,生存時間置位,文獻[6]表明,每5秒更新一次路由表能夠保證路由表的有效性,因此這里的生存時間設為5秒。路由請求表用于在路由發現過程中存儲RREP和RREQ以及路由代價相關的信息。
3.2.2 OS-LOAD路由發現與數據轉發
源節點有數據發送需求時,先向其鄰居節點廣播RREQ,節點收到RREQ后,首先將RREQ中源節點地址與自己地址比較,如果相同,則丟棄,否則根據(路由請求ID,源節點地址)與自己的路由請求表比較,若有,則丟棄,否則建立到源節點的反向路由,并更新RREQ中的路由代價,然后繼續向其鄰居節點廣播,根據RREQ中的路由代價與路由請求表中的反向路由代價進行比較,選取最優的路由代價作為最優路由路徑,次優的路由代價作為次優路由路徑,并將路由代價寫入路由表中的路由代價字段中。當目的節點收到RREQ時,選擇最優路由路徑和次優路由路徑單播一個RREP給源節點,而不必進行廣播。當源節點收到RREP時,建立到達目的節點的正向路由。
當源節點發送數據時,先計算最優路由代價和次優路由代價之比,然后按該比例在兩條路由路徑上發送數據。
4 OS-LOAD協議仿真與分析
4.1 LOAD與OS-LOAD的仿真及結果
在NS2環境下,對LOAD與OS-LOAD進行仿真分析。仿真參數表如表3所示。分析對比分組投遞率、端到端平均時延、路由代價、存活節點個數等四個路由指標。6LoWPAN傳感器網絡是一種能量有限、移動速度較慢、帶寬資源不足、處理能力較弱的網絡,因此只仿真了低負載、低速率的情況,特別是為了測節點的生存時間,把節點能量都設成了30焦耳,節點接收能量閾值為10焦耳,當一個節點的能量小于接收能量閾值時,我們可以認為該節點已經死亡。仿真結果如圖1至圖4所示。
4.2 性能分析
從圖1、圖2可以看出,OS-LOAD的分組投遞率和平均端到端時延均比LOAD要高,這是因為OS-LOAD使用雙路徑進行數據傳輸,當一條活動鏈路斷鏈時,在啟動路由發現形成新的路徑期間,仍然有一條可用的活動路由。圖3表明,該方案的路由代價比LOAD要高,因為OS-LOAD同時維護了兩條路由,和LOAD一樣,默認沒有本地鏈路修復機制,只要有一條鏈路斷鏈,必須重新啟動路由發現,這使得路由分組相對LOAD要多。圖4可以看出,整個網絡的生存時間有提高,當仿真時間大于450秒時,使用LOAD路由協議的網絡中,存活節點基本上只有50%了,而使用OS-LOAD協議的網絡存活節點還有75%左右,這說明雙路徑路由在一定程度上起到了負載均衡的作用,減少了能量低的節點的轉發次數,延長了其使用壽命。
5 結束語
本文在分析LOAD路由協議的不足之基礎上,提出LOAD的改進方案—OS-LOAD。該方案使用最優和次優兩條路徑按比例進行數據傳輸,仿真結果表明,OS-LOAD在分組投遞率、時延、整網生存時間等方面較LOAD有優勢。但該方案的路由開銷增大了,可考慮在路由算法中加入本地鏈路修復機制,這值得進一步研究。
參考文獻:
[1] Oliveira Luis Miguel, Rodrigues Joel, de Sousa Amaro, et al. Networks Admission Control Solution for 6LoWPAN Networks Based on Symmetric Key Mechanisms [J]. IEEE transactions on industrial informatics, 2016, 12(99):2186-2195.
[2] Martinez Gerardo Santillan, Delamer Ivan M, Lastra Jose L. et al. A packet scheduler for realtime 6LoWPAN wireless networks in manufacturing systems [J]. Journal of Intelligent manufacturing, 2017(28):301-311.
[3] MONTENEGRO G, YOO S, KUSHALNAGAR N. 6LoWPAN Ad Hoc On-demand Distance Vector Routing (LOAD) [S]. IETF, Draft-daniel-6lowpanload-adhoc-routing-03,2007.
[4] 戴駿.基于6LoWPAN的無線傳感器網絡路由協議的研究與設計[D]. 浙江杭州:浙江工業大學, 2015.
[5] 李振超.6LoWPAN路由協議研究與優化[D]. 鄭州大學, 2014.
[6] LI L S, LEE G C, WANG W Z. A Root-based Strategy for constructing a Clustered MANET in 6LoWPAN Networks [J]. Computer Standards & Interface, 2009(31):699-706.
【通聯編輯:唐一東】