《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于能量優(yōu)化的ZigBee網(wǎng)絡(luò)路由算法
基于能量優(yōu)化的ZigBee網(wǎng)絡(luò)路由算法
來源:微型機與應(yīng)用2013年第3期
劉 政
(桂林航天工業(yè)學(xué)院 電子工程系,廣西 桂林 541004)
摘要: 針對AODVjr算法在路由發(fā)現(xiàn)過程中會產(chǎn)生RREQ洪泛,導(dǎo)致節(jié)點能量消耗過快的問題,提出了一種改進的ZigBee網(wǎng)絡(luò)路由算法。改進算法通過鄰居表限定RREQ傳輸范圍和父子節(jié)點的傳遞方向,計算路由代價并根據(jù)節(jié)點剩余能量動態(tài)劃分所處的能量區(qū)域,根據(jù)3種能量區(qū)域進行差異化路由發(fā)現(xiàn),動態(tài)回避剩余能量較低的節(jié)點并發(fā)現(xiàn)能量較高的節(jié)點。仿真實驗結(jié)果表明,改進算法能實現(xiàn)節(jié)點的能量動態(tài)平衡,有效控制網(wǎng)絡(luò)的總體能量消耗,減少死點個數(shù)和減緩死點出現(xiàn)的頻率。
Abstract:
Key words :

摘  要: 針對AODVjr算法在路由發(fā)現(xiàn)過程中會產(chǎn)生RREQ洪泛,導(dǎo)致節(jié)點能量消耗過快的問題,提出了一種改進的ZigBee網(wǎng)絡(luò)路由算法。改進算法通過鄰居表限定RREQ傳輸范圍和父子節(jié)點的傳遞方向,計算路由代價并根據(jù)節(jié)點剩余能量動態(tài)劃分所處的能量區(qū)域,根據(jù)3種能量區(qū)域進行差異化路由發(fā)現(xiàn),動態(tài)回避剩余能量較低的節(jié)點并發(fā)現(xiàn)能量較高的節(jié)點。仿真實驗結(jié)果表明,改進算法能實現(xiàn)節(jié)點的能量動態(tài)平衡,有效控制網(wǎng)絡(luò)的總體能量消耗,減少死點個數(shù)和減緩死點出現(xiàn)的頻率。
關(guān)鍵詞: ZigBee;能量平衡;剩余能量;路由代價

 ZigBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低速率和低成本的雙向無線通信技術(shù),主要用于距離短、功耗低且傳輸速率不高的各種電子設(shè)備之間進行數(shù)據(jù)傳輸以及典型的有周期性數(shù)據(jù)、間歇性數(shù)據(jù)和低反應(yīng)時間數(shù)據(jù)傳輸?shù)膽?yīng)用[1-2]。它可工作在2.4 GHz、868 MHz和915 MHz 3個頻段上,分別具有最高250 kb/s、20 kb/s和40 kb/s的傳輸速率,傳輸距離在10~75 m的范圍內(nèi)。
1 問題提出
 ZigBee支持AODVjr算法[3],該算法在路由發(fā)現(xiàn)過程中會產(chǎn)生冗余的RREQ,這些多余的RREQ無助于路由發(fā)現(xiàn),反而容易引起RREQ洪泛,增加網(wǎng)絡(luò)功耗。直接丟棄這些多余的RREQ就能有效避免RREQ洪泛[4-5]。
 與AODVjr算法相比,Clsuter-Tree算法僅考慮轉(zhuǎn)發(fā)節(jié)點與父節(jié)點和子節(jié)點之間的關(guān)系,忽略了鄰居節(jié)點的跳數(shù)優(yōu)化。這樣即使目的節(jié)點就在發(fā)送節(jié)點的一跳范圍之內(nèi),數(shù)據(jù)包也必須按照原始拓?fù)浣Y(jié)構(gòu)傳送到目的節(jié)點,而不能直接傳送到目的節(jié)點,導(dǎo)致RREQ疊加洪泛效應(yīng)非常嚴(yán)重。
 另外,距離中心協(xié)調(diào)器ZC越近的FFD節(jié)點,網(wǎng)絡(luò)深度越小,通信負(fù)擔(dān)越重,需要轉(zhuǎn)發(fā)的數(shù)據(jù)量越多,消耗的能量越多,節(jié)點電池能量會過早耗盡。當(dāng)節(jié)點剩余能量少于正常工作所需的能量時,節(jié)點自身就不能與其他節(jié)點通信,即產(chǎn)生死點,這樣,網(wǎng)絡(luò)斷開的可能性就大大增加。
 基于以上這些問題,本文提出了一種基于能量優(yōu)化的ZigBee網(wǎng)絡(luò)路由算法。
2 算法分析
2.1 路由代價

 路由代價是路由發(fā)現(xiàn)中當(dāng)前節(jié)點被選擇為新路由節(jié)點所消耗的能量。路由代價越大,消耗能量越大,成為路由節(jié)點的可能性就越低。
結(jié)合ZigBee網(wǎng)絡(luò),對FFD節(jié)點定義統(tǒng)一的路由代價[6],即:

2.3 差異化能量區(qū)域
 根據(jù)最小剩余能量、節(jié)點剩余能量和能量充足閾值的定義,劃分能量值為能量充足、能量低和能量報警3個區(qū)域。
 參考文獻[7]定義的最小剩余能量對節(jié)點網(wǎng)絡(luò)深度沒有進行區(qū)分,而網(wǎng)絡(luò)深度和能量消耗恰好成反比。深度越小的節(jié)點,轉(zhuǎn)發(fā)的數(shù)據(jù)量越多,消耗的能量越多,所以要為深度越小的節(jié)點預(yù)留更多的最小剩余能量。
假設(shè)節(jié)點初始能量為energy,定義任意節(jié)點i的最小剩余能量Emin residual:

 


 (5)更新路由代價、剩余能量值。
?。?)方向標(biāo)志位mark判斷。
 如果mark=0,說明目的節(jié)點位置處于當(dāng)前節(jié)點的后裔節(jié)點。如果當(dāng)前節(jié)點是上一節(jié)點的父節(jié)點,當(dāng)前節(jié)點立即丟棄RREQ;如果當(dāng)前節(jié)點不是上一節(jié)點的父節(jié)點,則判斷目的節(jié)點是否是當(dāng)前節(jié)點的后裔節(jié)點。如果是,當(dāng)前節(jié)點直接轉(zhuǎn)發(fā)RREQ,并更新自身Eresidual;如果不是,更新mark=1,當(dāng)前節(jié)點繼續(xù)轉(zhuǎn)發(fā)RREQ,并更新自身Eresidual。
 如果mark=1,說明目的節(jié)點位置處于當(dāng)前節(jié)點的父節(jié)點。如果當(dāng)前節(jié)點是上一節(jié)點的后裔節(jié)點,當(dāng)前節(jié)點立即丟棄RREQ;如果當(dāng)前節(jié)點不是上一節(jié)點的后裔節(jié)點,則判斷目的節(jié)點是否是當(dāng)前節(jié)點的父節(jié)點。如果是,當(dāng)前節(jié)點直接轉(zhuǎn)發(fā)RREQ,并更新自身Eresidual;如果不是,更新mark=0,當(dāng)前節(jié)點繼續(xù)轉(zhuǎn)發(fā)RREQ,并更新自身Eresidual。
?。?)按照上述流程繼續(xù)轉(zhuǎn)發(fā)RREQ,直到到達目的節(jié)點。
?。?)目的節(jié)點收到RREQ,不再判斷剩余能量在哪個能量區(qū)域,直接返回RREP。
 (9)源節(jié)點收到目的節(jié)點返回的RREP,即表示當(dāng)前路由發(fā)現(xiàn)成功,立即按照該路徑進行數(shù)據(jù)傳輸。
4 仿真實驗結(jié)果
 將改進算法與原AODVjr算法以及參考文獻[6]算法進行數(shù)據(jù)比對,得出網(wǎng)絡(luò)總體能耗以及死點個數(shù)比對數(shù)據(jù)。
 仿真試驗基于OMNET++平臺實現(xiàn),網(wǎng)絡(luò)覆蓋面積為100 m×100 m,網(wǎng)絡(luò)節(jié)點數(shù)為50個,節(jié)點隨機分布,網(wǎng)絡(luò)參數(shù)Cm=5,Rm=4,Lm=5,每個節(jié)點的初始能量為1 000 J。仿真實驗結(jié)果如圖2和圖3所示。

 仿真結(jié)果表明,隨著網(wǎng)絡(luò)持續(xù)運行,網(wǎng)絡(luò)深度較低的節(jié)點頻繁轉(zhuǎn)發(fā)數(shù)據(jù),能量消耗逐漸增大。改進算法引入跳數(shù)限制和鄰居表,將節(jié)點剩余能量進行網(wǎng)絡(luò)深度動態(tài)劃分,選擇局部最小路由跳數(shù)的路徑進行傳輸數(shù)據(jù),避免把數(shù)據(jù)傳送給能量較低的節(jié)點,從而達到節(jié)省能量的目的。
 在初始階段,每個節(jié)點的能量都處于能量充足區(qū)域,沒有死點產(chǎn)生。隨著時間推移,改進算法能夠平衡節(jié)點剩余能量,所以出現(xiàn)死點的時間最晚,添加深度影響因子能更有效避開剩余能量低的節(jié)點,繼而選擇能量多的節(jié)點進行數(shù)據(jù)轉(zhuǎn)發(fā),避免網(wǎng)絡(luò)深度較低的節(jié)點過早死亡。
 針對ZigBee網(wǎng)絡(luò)AODVjr算法所產(chǎn)生的RREQ洪泛,提出一種改進路由算法,引入鄰居表限定RREQ傳輸范圍和父子節(jié)點的傳遞方向,計算路由代價并根據(jù)節(jié)點剩余能量動態(tài)劃分所處的能量區(qū)域,根據(jù)3種能量區(qū)域進行差異化路由發(fā)現(xiàn),動態(tài)回避剩余能量較低的節(jié)點并發(fā)現(xiàn)能量較高的節(jié)點。收集所有FFD節(jié)點能量,將節(jié)點最小剩余能量匹配到網(wǎng)絡(luò)深度進行動態(tài)調(diào)整,并動態(tài)更新能量區(qū)域以優(yōu)化死點出現(xiàn)頻率,根據(jù)所處能量區(qū)域選擇路由策略。
參考文獻
[1] ZigBee Alliance. ZigBee specification 2008[DB/OL]. http://www.zigbee.org,2012-08-01.
[2] 瞿雷,劉盛德,胡咸斌.ZigBee技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007.
[3] AKKAYA K, YOUNIS M. A survey on routing protocols for wireless sensor networks[J]. Ad Hoc Networks, 2005, 3(3): 325-349.
[4] IEEE STD 802.15.4-2006, Wireless Medium Access Control (MAC) and Physical Layer(PHY) Specifications for Low Rate Wireless Personal Area Networks(WPANs)[S].
[5] FECHNER J. Using ZigBee for industrial control systems[C]. International Conference on Power Electronics Intelligent Motion and Power Quality, 2006:61-62.
[6] 李予東,黃宏光,向西西. 基于能量平衡的ZigBee路由算法優(yōu)化[J].計算機工程與設(shè)計,2011,32(2):397-400.
[7] 班艷麗,柴喬林,王琛.基于能量平衡的ZigBee網(wǎng)絡(luò)樹路由算法[J].計算機應(yīng)用,2008,28(11):2791-2794.
[8] 謝川.基于ZigBee的AODVjr算法研究[J].計算機工程,2011,37(10):87-89.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。