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

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

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

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

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

 


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

 仿真結(jié)果表明,隨著網(wǎng)絡(luò)持續(xù)運(yùn)行,網(wǎng)絡(luò)深度較低的節(jié)點(diǎn)頻繁轉(zhuǎn)發(fā)數(shù)據(jù),能量消耗逐漸增大。改進(jìn)算法引入跳數(shù)限制和鄰居表,將節(jié)點(diǎn)剩余能量進(jìn)行網(wǎng)絡(luò)深度動(dòng)態(tài)劃分,選擇局部最小路由跳數(shù)的路徑進(jìn)行傳輸數(shù)據(jù),避免把數(shù)據(jù)傳送給能量較低的節(jié)點(diǎn),從而達(dá)到節(jié)省能量的目的。
 在初始階段,每個(gè)節(jié)點(diǎn)的能量都處于能量充足區(qū)域,沒(méi)有死點(diǎn)產(chǎn)生。隨著時(shí)間推移,改進(jìn)算法能夠平衡節(jié)點(diǎn)剩余能量,所以出現(xiàn)死點(diǎn)的時(shí)間最晚,添加深度影響因子能更有效避開(kāi)剩余能量低的節(jié)點(diǎn),繼而選擇能量多的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),避免網(wǎng)絡(luò)深度較低的節(jié)點(diǎn)過(guò)早死亡。
 針對(duì)ZigBee網(wǎng)絡(luò)AODVjr算法所產(chǎn)生的RREQ洪泛,提出一種改進(jìn)路由算法,引入鄰居表限定RREQ傳輸范圍和父子節(jié)點(diǎn)的傳遞方向,計(jì)算路由代價(jià)并根據(jù)節(jié)點(diǎn)剩余能量動(dòng)態(tài)劃分所處的能量區(qū)域,根據(jù)3種能量區(qū)域進(jìn)行差異化路由發(fā)現(xiàn),動(dòng)態(tài)回避剩余能量較低的節(jié)點(diǎn)并發(fā)現(xiàn)能量較高的節(jié)點(diǎn)。收集所有FFD節(jié)點(diǎn)能量,將節(jié)點(diǎn)最小剩余能量匹配到網(wǎng)絡(luò)深度進(jìn)行動(dòng)態(tài)調(diào)整,并動(dòng)態(tài)更新能量區(qū)域以優(yōu)化死點(diǎn)出現(xiàn)頻率,根據(jù)所處能量區(qū)域選擇路由策略。
參考文獻(xiàn)
[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].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(2):397-400.
[7] 班艷麗,柴喬林,王琛.基于能量平衡的ZigBee網(wǎng)絡(luò)樹(shù)路由算法[J].計(jì)算機(jī)應(yīng)用,2008,28(11):2791-2794.
[8] 謝川.基于ZigBee的AODVjr算法研究[J].計(jì)算機(jī)工程,2011,37(10):87-89.

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