王春玲,孟 丹,蔣 麒,佘佐彬(北京林業大學信息學院,北京100083)
ZigBee路由算法在古樹名木監控中的應用*
王春玲,孟丹,蔣麒,佘佐彬
(北京林業大學信息學院,北京100083)
從最大化網絡壽命的角度出發,對系統中的ZigBee路由算法進行改進。利用系統中數據傳輸方向固定的特點,對RREQ報文的傳輸方向進行控制,減少不必要的RREQ報文,降低因RREQ泛洪造成的節點能量損耗。通過對節點劃分不同的能量區域,均衡使用各節點能量,避免低能量節點的過度使用,延長網絡的生存時間。NS—2仿真結果表明:網絡中傳輸的RREQ報文數量明顯減少和節點存活率提高,有效提高了古樹名木監控系統的監控范圍和監控效率。
ZigBee;古樹名木;監控管理;路由算法;算法仿真;NS—2
將ZigBee技術[1,2]運用到古樹名木監控管理系統中,實時傳輸對古樹名木的各類監控信息,有效避免了傳統有線網絡安裝維護困難、受地理環境影響制約大等問題[3]。雖然ZigBee網絡的能耗低于普通的無線網絡,基本上2節5號電池就可以維持ZigBee節點工作6個月到2年左右的時間[4]。但是眾多場合下,除協調器采用常規供電之外,ZigBee網絡的節點沒有固定基礎設施支持,大都采用電池供電,故其電量使用情況成為制約ZigBee網絡壽命的關鍵因素。
無線傳感器網絡中,節點在發送和接收數據時消耗的能量遠大于采集和處理數據時消耗的能量[5]。因此,改進路由算法成為ZigBee網絡節能研究的熱點。Singh S等人從節點能量的角度提出了最小化路徑總能量、最大化網絡壽命等五種能量有效路由策略[6]。不同的能量有效路由策略適用于不同的應用場景,需要根據實際應用情況來選擇合適的能量有效路由算法。錢志鴻等人提出了一種基于分簇機制的混合路由改進算法[7]。針對ZigBee網絡樹路由算法中,某些節點可能會因為頻繁傳輸數據造成過早死亡,李濤提出了一種改進的基于能量優化的ZigBee網絡樹路由算法[8]。
本文從最大化網絡壽命的角度出發,結合古樹名木監控管理系統的實際應用特點,對系統的ZigBee路由算法進行了改進:一是利用網絡中數據傳輸方向固定的特點,控制AODVjr路由算法中RREQ報文的洪泛方向,減少不必要的能量耗損;二是通過劃分能量區域,減少低能量節點的過度使用,均衡使用各節點能量,避免過早出現網絡分割,延長網絡壽命。
ZigBee網絡層主要實現組建網絡、為新入網的節點分配地址、路由發現及維護等功能,可支持星型(star)、樹型(tree)和網狀型(mesh)三種網絡拓撲結構[9]。根據節點功能的不同,可分為全功能設備(FFD)和簡化功能設備(RFD)。根據節點在網絡中擔負作用的不同,可分為協調器(coordinator)、路由器(router)和終端節點(end device)。協調器和路由器只能是FFD。RFD只能作為終端節點,且僅能和FFD進行通信[10]。在古樹名木監控管理等覆蓋范圍較大的場合,可以組建樹型ZigBee網絡,通過路由器實現多跳的數據傳輸。
1.1Cluster-Tree路由算法
使用Cluster-Tree路由算法的網絡采用分布式地址分配機制。每個設備都被分配有唯一的16位短地址。假設網絡的最大深度為Lm,父節點最多能夠連接的子節點數為Cm,這些子節點中路由節點最多為Rm,Cskip(d)是網絡深度為d的父節點為其子節點分配的地址之間的偏移量,它們滿足如下關系[11]

只有當Cskip(d)>0時,才允許新節點加入網絡。當一個節點加入網絡時,將按如下的地址分配方式獲得唯一的地址

式中An為第n個節點的地址,Ap為其父節點的地址。
在Cluster-Tree路由算法中,當一個節點接收到數據分組時,它將根據目的地址決定是接收數據還是轉發數據,并確定轉發的下一跳地址。
對于地址為A,深度為d的路由節點,如果地址為D的目的節點滿足下面的不等式

則說明目的節點是其子節點,此時節點將分組轉發給它的子節點,并且滿足下面的關系

如果目的節點不是其子節點,則將數據分組發送給其父節點。
Cluster-Tree路由算法原理簡單,不需要路由查找和維護路由表,降低了節點能量消耗。同時,對節點存儲能力的要求較低,降低了節點的成本[12]。但是該算法不夠靈活,發現的路徑可能不是最優路徑,易造成網絡中通信流量分配不均衡。
1.2AODVjr路由算法
AODVjr算法是一種簡化版本的AODV算法。其路由查找過程,如圖1所示[13]。

圖1 AODVjr路由算法Fig 1 AODVjr routing algorithm
當源節點S要向目的節點D發送或轉發數據時,首先檢查自己的路由表中是否有到達目的節點D的表項。若有,則轉發數據分組到下一跳地址;否則,通過向鄰居節點廣播RREQ進行路由查找,直到查找到目的節點D。在AODVjr路由算法中,節點只接收最先到達的RREQ報文,且只有目的節點可以回復RREP報文。基于此,目的節點只接收最先到達的RREQ,并通過回復RREP,建立到源節點S的反向路由。源節點根據RREP,建立到目的節點D的正向路由,并通過定期向D發送Keep-Alive,對正向路由進行維護。正向路由建立后,源節點S向目的節點D發送數據分組。
AODVjr路由算法查找的路徑是最優路徑,但存在信息爆炸問題,沒有考慮各節點的能量狀況,容易造成節點的過度使用[14]。
1.3ZigBee路由算法
基于低成本、低功耗、可靠性高等需求,ZigBee網絡采用Cluster-Tree與AODVjr相結合的路由算法,在簡化算法的同時,提高了路由效率,降低了分組傳輸延時。ZigBee路由算法將節點分為RN+和RN-兩種類型節點。RN+節點具有足夠的存儲空間和能力執行AODVjr路由算法,RN-節點存儲空間有限,不具備執行AODVjr路由算法的能力,只能執行Cluster-Tree路由算法。當節點接收到數據分組時,如果該節點為RN-節點,則按照Cluster-Tree路由算法進行路由查找,即只能將數據分組轉發給其父節點或者子節點;如果該節點為RN+節點,則按照AODVjr路由算法尋找最短路徑[15]。
2.1問題提出
古樹名木監控管理中普遍采用樹型網絡,以覆蓋較大的監控區域。在Cluster-Tree路由算法中,數據分組都是通過父節點來進行傳遞。路由器節點網絡深度越低,即越靠近協調器,其負擔越重,后代節點較多的路由器節點將很快耗盡電量,這樣會造成后代節點脫離網絡,提前出現網絡分割,極大地降低監控管理系統的監控區域。
AODVjr路由算法考慮的是最小化路徑總能量,它選擇開銷最低的路由成為最佳路徑,使路由效率最優。但是在選取最佳路徑時只考慮路徑總的鏈路質量,沒有對低能量節點采取保護措施。同時,路由算法中沒有控制的發送RREQ報文,會大量消耗節點能量,加速低能量節點的死亡。
可見,此ZigBee路由算法可以根據古樹名木監控管理的實際特點進行改進。在古樹名木監控管理中,節點周期性地向協調器傳輸溫度、濕度等監控數據。網絡中傳輸數據分組的目的地址都是協調器,根據數據的傳輸方向固定這一特點,對RREQ的傳輸方向進行控制,減少不必要的RREQ報文,有效避免RREQ洪泛造成節點能量的大量消耗。同時通過對節點劃分不同的能量區域,均衡使用各節點能量,避免低能量節點的過度使用,延長網絡的生存時間。
2.2路由改進策略
設節點的能量為E,初始能量為E0,將節點劃分為能量充足區、能量安全區、能量危險區。具體判定過程如下:
1)能量充足區:E>50%E0,節點接收到RREQ分組后,直接轉發。
2)能量安全區:10%E0<E≤50%E0,節點接收到RREQ分組后,延遲Tdelay秒轉發。其中,Tdelay滿足如下關系

3)能量危險區:E≤10%E0,節點接收到RREQ分組后,直接丟棄。
改進后的Zig Bee路由算法,其具體步驟如下:
1)節點在收到數據分組后,首先判斷有無到目的節點的有效路由。若有,則直接按有效路由進行數據傳輸;否則,進入第2步。
2)判斷當前節點類型,若為RN-類型節點,則按執行Cluster-Tree路由算法,將數據分組向其父節點傳輸;若節點為RN+類型節點,則按照改進的AODVjr路由算法的判定過程進行路由查找。
3)節點在收到RREQ報文后,首先判斷節點深度是否大于源節點,即節點是否遠離協調器。若是,則直接丟棄RREQ報文;否則,進入第4步。
4)節點將根據自己的能量狀況,對RREQ報文進行不同的處理。當節點處于能量充足區時,直接轉發;當節點處于能量安全區時,延遲Tdelay秒轉發;當節點處于能量危險區時,直接丟棄。
此時建立的路由,會對處于能量安全區和能量危險區的節點進行保護。路由建立后,節點將開始發送數據,并在數據發送結束后,檢查當前節點的能量狀況。當節點能量區域發生變化時,節點將會向源節點發送RERR報文,通知源節點重新進行路由查找,以建立新的能量狀況下的路由。
為了評估改進后算法的性能,本文利用開源的網絡模擬軟件NS—2[16],對改進前后的路由算法進行了仿真,網絡面積100 m×100 m,通信半徑10 m,節點數50個,節點初始能量100 J,數據流類型為CBR,數據流大小80 byte,仿真時間300 s,Cm=4,Rm=4,Lm=3。
圖2對算法改進前后RREQ發送數量進行了對比分析。明顯看出:改進后RREQ報文發送數量減少了,進而降低了網絡的整體能耗。

圖2 RREQ發送數量對比圖Fig 2 Comparison diagram of RREQ sending quantity
圖3對算法改進前后節點存活率進行了對比分析。仿真結果表明:改進后的算法中節點存活率高于原算法。

圖3 節點存活率對比圖Fig 3 Comparison chart of node survival rate
本文根據ZigBee無線傳感器網絡在古樹名木監控中網絡傳輸方向固定的特點,通過控制RREQ報文傳輸方向,減少不必要的RREQ報文傳輸,有效避免了因RREQ報文洪泛造成的能量損耗,相對于無向網絡傳輸節點而言,本研究的節點能量損耗有效降低;此外,研究根據不同的運用場景和實際情況,可以進行靈活的相關參數配置和時延,通過對節點劃分能量區域,均衡使用各節點能量,避免低能量節點的過度使用,提高節點生存周期。
仿真實驗結果表明:改進后的 ZigBee算法在控制RREQ報文發送數量和提高節點存活率方面達到了良好的預期效果,網絡的整體能耗降低,生存時間得到有效提高。本研究采用的方法和理論保證古樹名木監控系統的監控范圍和提高其監控效率,可為古樹名木和林地監控管理等相關領域研究提供了實際參考和借鑒意義。
[1]瞿累,劉盛德,胡咸斌.ZigBee技術及應用[M].北京:北京航空航天大學出版社,2007:1-8.
[2]劉外喜,胡曉,唐冬,等.基于ZigBee的無線溫度傳感器網絡的設計[J].傳感器與微系統,2009,28(4):69-71.
[3]龐娜,程德福.基于ZigBee無線傳感器網絡的溫室監測系統設計[J].吉林大學學報:信息科學版,2010,28(1):55-59.
[4]唐亮,周正,石磊,等.基于能量均衡的無線傳感器網絡壓縮感知算法[J].電子與信息學報,2011,33(8):1919-1923.
[5]易子軍.基于能量均衡的ZigBee網絡改進路由算法研究[D].廣州:華南理工大學,2013.
[6]Singh S,Woo M,Raghavendra C S.Powe-aware with routing in nobile Ad Hoc networks[C]∥Proceedings of Mobicom-1998, Dallas,TX,1998:181-190.
[7]錢志鴻,朱爽,王雪.基于分簇機制的ZigBee混合路由能量優化算法[J].計算機學報,2013,36(3):485-493.
[8]李濤.基于能量優化的ZigBee網絡樹路由算法研究[D].濟南:山東大學,2010.
[9]呂治安.ZigBee網絡原理與應用開發[M].北京:北京航空航天大學出版社,2008.
[10]賈海瑞,李眾立.基于鄰居表的ZigBee網絡能量損耗轉移算法[J].傳感器與微系統,2013,32(8):121-124.
[11] 由文凱.基于 ZigBee的無線傳感器網絡路由協議的研究[D].南京:南京郵電大學,2012.
[12] 賀玲玲.ZigBee傳感網絡 Cluster-Tree改進路由算法研究[J].傳感技術學報,2010,23(9):1303-1307.
[13]韓大衛.ZigBee網絡層AODVjr路由算法的節能研究[D].杭州:杭州電子科技大學,2011.
[14]杜煥軍,張維勇,劉國田.ZigBee網絡的路由協議研究[J].合肥工業大學學報,2008,31(10):1617-1621.
[15]袁安娜.基于ZigBee網絡的能量均衡路由算法研究[D].哈爾濱:哈爾濱理工大學,2014.
[16]王慶鳳,陳虹,王萍.基于NS2的網絡控制系統仿真平臺的設計與實現[J].系統仿真學報,2011,23(2):270-274.
Application of ZigBee routing algorithm in monitoring of ancient and famous trees*
WANG Chun-ling,MENG Dan,JIANG Qi,SHE Zuo-bin
(School of Information Science&Technology of BJFU,Beijing 100083)
Combined with actual application of ZigBee in monitoring on ancient and famous trees,the ZigBee routing algorithm used in the system is improved from the view of maximizing lifetime of network.Using characteristic of data transmitssion in a fixed direction in system,control on transmission direction of RREQ packets to reduce unnecessary RREQ packets,and decrease losses of node energy caused by flooding of RREQ.By dividing nodes into different energy regions,it makes the energy of node can be used in balanced and avoids node in low energy being excessively used,so as to prolong survival time of network.Results of simulation using NS—2 show that numbers of RREQ packets in the network are significantly reduced and the rate of node survival is increased.It effectively improves monitoring range and efficiency of system.
ZigBee;ancient and famous trees;monitoring management;routing algorithm;algorithm simulation;NS—2
TP309
A
1000—9787(2016)06—0151—04
10.13873/J.1000—9787(2016)06—0151—04
2016—04—11
中央高校基本科研業務費專項資金資助項目(YX2013—38);“十二五”國家科技支撐計劃資助項目(2012BAC16B03)
王春玲(1975-),女,山東萊州人,副教授、碩士研究生導師,主研方向為物聯網技術、數據庫技術。