關學忠 張新城 尹廷武 王文峰 張 璐
(東北石油大學電氣信息工程學院,黑龍江 大慶 163318)
ZigBee路由算法及其在油田安全監測中的應用
關學忠 張新城 尹廷武 王文峰 張 璐
(東北石油大學電氣信息工程學院,黑龍江 大慶 163318)
對比分析AODV路由協議、Cluster-Tree路由協議、基于AODV路由協議與Cluster-Tree路由改進算法三者的區別,并對ZigBee技術在油田安全監測中的應用進行說明。
ZigBee網絡 無線局域網 AODV路由協議 Cluster-Tree路由協議 改進算法
隨著無線網絡技術的不斷發展,無線產品已逐漸進入到人們的日常生活中[1]。具有IEEE802.15.4標準的ZigBee網絡與其他無線網絡相比具有組網能力強、適應面廣、可靠性高及節能性好等突出優點[2]。現有的ZigBee路由協議算法有AODV路由協議和Cluster-Tree路由協議,兩種路由協議各有優缺點,組合在一起的ZigBee路由協議還需改進和完善。
利用ZigBee無線數據傳輸的特點可以通過無線方式更加方便地傳輸生產過程中所測得的裝置運行數據和人員定位信息,分析和研究ZigBee路由算法可以讓油田安全監測中的大規模數據能夠安全有效地進行無線傳輸。
無線傳感器網絡(Wireless Sensor Networks,WSN)技術是傳感器技術、無線通信技術、計算機技術及信息處理技術等的交叉融合,是當前國際學術界和產業界共同關注的前沿研究熱點[3]。許多功能上有差異的傳感器節點組成了無線傳感器網絡,每個傳感器節點都是由采集部分、處置部分、控制部分、通信和電源部分組成。不同的節點在網絡中扮演著不同的角色,有數據的采集,有數據的轉發和接收。在ZigBee無線傳感器網絡中,節點分3種類型:主節點、路由節點和終端節點[4]。ZigBee收發機必須進行組網并作為網絡節點,才能通過ZigBee協議實現各模塊節點之間的無線數據傳輸[5]。
ZigBee的媒體訪問控制層和物理層都是基于IEEE802.15.4協議,應用層和網絡層則都根據ZigBee聯盟制定。每層會向其上一層提供管理服務和數據服務。網絡對各層之間幀交換的方式和格式則由IEEE802.15.4/ZigBee協議規范,各層實際上都根據協議實現各項服務。對于在網絡中各層間傳遞的數據幀,上下層傳輸時都會去掉本層的首尾幀,然后把載荷傳遞給上一層。ZigBee路由算法主要有網絡層支持的AODV算法及簇樹算法等[6]。ZigBee的網絡層次可以分為物理層(PHY)、媒體訪問控制層(MAC)、網絡層(NWK)和應用層(APL),如圖1所示。

圖1 ZigBee的網絡架構
當前的路由算法種類繁多,適用于ZigBee技術的卻相對較少。ZigBee網絡層主要實現節點加入或離開網絡、接收或拋棄其他節點、路由查找及傳送數據等功能,但沒有給出組網的路由協議,這樣就為用戶提供了更為靈活的組網方式[7]。
2.1Cluster-Tree簇樹路由算法
路由算法網絡的調配運用分布式地址分配的方式,一個新的網絡被協調器建立后,其分配的網絡地址為0,深度Depth0=0。當參與網絡的節點為i,且與k節點相連,則k節點為i節點的父節點。依據Ak本身的地址和它的深度Depthk,k節點將為節點i調配地址Ai和深度Depthi=Depthk+1。和網絡地址分配有關的參數有:nwkMaxChildren(Cm)代表協調器和路由器對于相應網絡所允許擁有的最多子設備的數量;nwkMaxRouters(Rm)代表子節點中最多的路由器個數;nwkMaxDepth(Lm)代表最大的網絡深度。由此3個參數能夠計算出兄弟節點間地址的距離Cskip(d):
一個沒有路由功能的采集節點i,和協調器結合在一起作為協調器的第n個子節點。依據公式Ai=Ak+Cskip(d)·Rm+n,1≤n≤(Cm-Rm)和其深度d,k節點為i節點調配網絡地址。
對于新的路由器子節點,k父節點依據公式Ai=Ak+1+Cskip(d)·(n-1)為其調配網絡地址。
具備樹形拓撲結構的路由簡化成上行路由或下行路由。將DestAddr作為目的地址由一個路由器向其發送數據包,且路由器地址是LocalAddr,深度是d,有:
LocalAddr (1) 如果式(1)成立,則目的節點為自己的后代,也就是下行路由,相反為上行路由。對于能夠確定目的節點是自身的后代,則下一跳節點地址為: 相反,下一跳節點是其父節點。 Cluster-Tree簇樹路由適合于節點靜止或者移動較少的情況,屬于靜態路由。 2.2AODV路由算法 AODV是反應式路由協議,源節點只有在目的節點發送數據包的情況下才會在網絡中發起路由尋找。對于常見的比較成熟的因特網路由協議大部分為先驗式,它們不會通過路徑上節點的發送數據包查找對應的路由,通常是每個節點都會擁有一個到達除本身之外節點的路由信息表。通常會經常性地變換本身的路由表信息,才可以按時按照網絡拓撲結構的變化而發生對應的改變,用來保持統一的、精確的和快速的路由信息。 在沒有建立連接的請求時AODV路由算法中的網絡是動態變化的。當節點需要建立連接會發送請求包,除此節點外會發送本請求的消息,同時記錄返回到源節點的臨時路由。接收連接請求的節點把捕獲的到達目的節點的路由信息按照記錄的路徑信息發回至源節點。查找到的這個擁有最佳路徑的路由就可以被源節點利用,從而完成路由的連接。 2.3AODVjr算法 AODVjr算法是針對AODV算法的改進,考慮到節能及應用方便性等因素,簡化了AODV的一些特點,但仍然保持了AODV的原始功能[8]。具體的方法是傳播路由包然后據此記錄發起路由查找。兩個節點間在發送和接收路由包時,兩個節點中最短并且能量損耗最低的路徑將被記錄到路由表。節點在查找路由表之后,如果存在最優路徑,則會按照此路徑進行數據傳遞,相反則會啟動AODVjr查找模式,發出RREQ包查找路由。如果收到目標節點的RREP包,則最優路徑存在,就可以通過此路徑發送數據包。圖2為使用AODVjr算法時查找路由的模式,可以看到RREQ廣播和RREP回復的過程。 圖2 AODVjr查找路由的模式 為了實現低成本、低功耗與較高可靠性的目的,ZigBee路由算法采取了Cluster-Tree和AODVjr路由算法相結合的模式,分別結合了兩種算法各自的優點。通過對兩種算法的比較可知:Cluster-Tree網絡結構的優點在于可以增加網絡的覆蓋范圍,對于數據聚合非常有效[9]。ZigBee網絡主要支持AODVjr算法[10],在ZigBee路由算法中,節點尋找相應的數據傳送路徑時依據的是Cluster-Tree算法,當一個節點接收的數據分組并不是發送到自己的數據分組時,則該節點只可以把數據轉發至其父或子節點。減去了路由發現這個歷程,進而減少了路由節點能量的消耗和其路由的開銷,從而節省了資金的投入。 單一的路由算法也有一定的劣勢,即由Cluster-Tree路由算法建立的路徑很可能不是最佳的。通常會造成分組傳輸時延的增加,對于較小深度的網絡節點,就是離ZigBee協調器近的節點,業務量會非常得大,對于那些較大深度的節點,它們的業務量又相對較小,這樣就會造成網絡中的通信流量分配不均勻。ZigBee網絡中可以讓那些具備路由功能的節點利用AODVjr路由發現算法,讓那些具備路由功能的節點繞過依據父子關系的發送方法,直接把信息發送到它可以連接到的范圍之內的具有路由功能的節點,從而找到到達目的節點的最優路徑。 圖3、4分別為ZigBee路由算法在NS2上的仿真結果,設置的仿真場景為長寬分別為1 000、50m的移動場景區域,仿真時間300s,最大移動速度20m/s,節點的有效傳輸距離為15m。對10個和20個cbr業務源輕載和重載兩種情況分別進行仿真實驗。 圖3 ZigBee路由算法的分組投遞率和歸一化路由開銷仿真結果 圖4 ZigBee路由算法的路由發起頻率和平均延時的仿真結果 目前,自動控制在油田中的應用越來越廣泛,油田開發環境復雜多變,鉆井設備和采油設備的安全就極為重要。隨著油田現代化管理水平與技術的不斷提高和發展,對油田井場數據監控提出了新的要求[11,12]。各種設備復雜程度比較高,所以監測其運行安全的參數也比較多,在油田環境中用ZigBee無線通信技術構建油田安全監測系統優勢突出。ZigBee無線傳感器網絡具有部署方便、成本較低、結構靈活及抗毀性強等優點。圖5為基于ZigBee的油田安全監測系統示意圖,系統由采集節點、協調器、Ethernet/3G網絡和監測指揮中心組成。 許多采集節點分布在油田的各個檢測區域,它們通過ZigBee技術組成相應的無線通信網絡,采集節點采集油田設施的各項運行數據,當危險發生時盡可能地將事發地點的詳細數據和人員的定位發送到監測指揮中心,相比于正常運行,危險發生時需要將更多的數據準確而且及時地傳輸到指揮中心。大量的緊急數據要準確傳輸,網絡層的路由協議起著非常關鍵的作用。這時ZigBee技術就發揮了其強大的數據傳輸功能。目前,ZigBee網絡普遍采用Cluster-Tree和AODVjr相結合的路由算法,在兼顧傳輸效率的同時還消耗相對較少的能量,更適合在野外對各個節點的布置。 圖5 油田安全監測系統示意圖 [1] Meng S P,Yu C T.Quick Convergencast in ZigBeeBeacon-enabled Tree-based Wireless Sensor Networks [J].Computer Communications,2008,(31):999~1011. [2] 朱向慶,王建明.ZigBee網絡路由算法測試方案[J].電子測量技術,2006,29(5):142~147. [3] 于海斌,曾鵬.分布式無線傳感器網絡協議研究[J].通信學報,2004,25(10):102~110. [4] 朱斌,唐勇,譚勇,等.基于ZigBee的工控網數據采集傳輸系統設計[J].化工自動化及儀表,2010,37(4):81~85. [5] 錢丹浩,劉萍萍.基于ZigBee的工業現場數字溫度無線采集系統設計[J].化工自動化及儀表,2011,38(9):1119~1121. [6] 劉市生,張賢華.ZigBee網絡層的設計與實現[J].無線電工程,2008,38(11):7~9. [7] 蔣挺,趙成林.紫蜂技術及其應用[M].北京:北京郵電大學出版社,2006:50~100. [8] 顧瑞紅,張宏科.低速無線個域網中的IPv6路由實現[J].北京交通大學學報,2005,29(5):36~39. [9] 劉湘雯,侯惠峰,張霞,等.基于群樹結構的IPv6無線傳感器網絡的組網及路由協議[J].計算機科學,2007,34(5):28~31. [10] Chakeres I D,Klein-Berndt.AODVjr,AODV Simplified[J].Mobile Computing and Communication Review,2002,6(3):100~101. [11] 毛玉蓉.基于ZigBee技術的無線傳感器網絡研究[J].化工自動化及儀表,2010,37(10):91~94. [12] 周武斌,羅大庸.ZigBee路由協議的研究[J].計算機工程與科學,2009,31(6):12~14. TH865 B 1000-3932(2016)01-0089-04 2015-04-28(修改稿)

3 當前ZigBee使用的路由算法


4 ZigBee路由算法在油田安全監測中的應用
5 結束語
