李清平,劉清華,傅幼萍
(1.浙江育英職業技術學院 信息技術分院,浙江 杭州 310018) (2.杭州萬向職業技術學院 經濟貿易系,浙江 杭州 310023)
基于IEEE802.15.4標準的ZigBee是一種低功耗、近距離的WSN(Wireless Sensor Network,無線傳感器網絡)通訊技術,具有短時延、低復雜度、自組織、低功耗、免執照頻段等特點[1-4].作為一種新興的無線通信技術,ZigBee得到了越來越廣泛的關注和應用.由于ZigBee聯盟直到2005年6月才推出技術規范[5],因此對于IEEE802.15.4和ZigBee的研究仍處于活躍階段,目前主要存在以下幾方面的問題:(1)ZigBee的核心技術之一是動態組網,即網絡中的每個節點相隔一定時間,需要以無線信號交流的方式重新組網,這就涉及到網絡地址的分配機制問題;(2)由于ZigBee網絡中部署了大量微型無線傳感器,節點分布密集,每一個網絡節點除了自身作為信息采集點和執行來自中心的命令外,還承擔著來自網絡的數據中轉任務.當由于能量耗盡、傳感器損壞、環境變化等因素導致節點失效后,ZigBee網絡能否有效修復路由路徑、確保數據傳輸,也是技術瓶頸之一.
此外,ZigBee網絡節點能耗問題、數據傳輸時延問題以及傳輸距離問題,均為當前ZigBee技術實際應用亟待解決和完善之處[6-8].
ZigBee網絡的基本單元是節點,按功能可分為全功能設備(Full Function Device,FFD)和簡化功能設備(Reduced Function Device,RFD).FFD可用作網絡協調器,連接協調器或另一個通信設備,還能發現其它FFD和RFD并建立通信聯系.RFD按最少RAM和ROM資源設計成簡單的收/發節點,能搜索現有網絡,必要時傳輸數據,向協調器請求數據,多數時間處于休眠狀態以節省電池能耗[9].
(1)協調器(Coordinator):啟動和配置網絡的設備,具有最高權限,負責網絡正常工作以及保持與網絡中其它設備的通信并負責網絡ID的分配.一個ZigBee網絡只允許有一個ZigBee 協調器.
(2)路由器(Router):一種支持關聯的設備,能夠實現其它節點消息的轉發功能,同時還具有為其它子節點分配網絡ID的功能,這就意味著路由器和終端設備可以不依賴協調器而自行構成一個ZigBee網絡.
(3)終端設備(EndDevice):具體執行數據采集和傳輸的設備,不能轉發其它節點消息.
ZigBee網絡中的所有節點都有兩個地址:64位的IEEE地址(MAC地址)和16位的網絡地址.64位的MAC地址是全球唯一地址,由IEEE組織來分配和維護.16位網絡地址是節點加入網絡時動態分配的,用于設備識別和數據傳輸,僅在網絡內部使用,采用邏輯樹層次機制進行分配[9-10].
網絡地址是節點加入網絡時由其父節點動態分配的,彼此形成父子關系,所有的節點共同組成樹狀邏輯關系,邏輯樹中的每一個節點都擁有兩個參數:網絡地址A和網絡深度d,網絡深度表示僅僅采用父子關系的網絡中,一個數據分組發送到ZigBee協調器所傳遞的最小跳數[10-11].
Coordinator是整個ZigBee網絡的根節點,當Coordinator建立一個新網絡時,它將給自己分配網絡地址A0=0,網絡深度d0=0.如果節點i加入網絡,并且與節點k連接,那么父節點k將根據自身的網絡地址AK和網絡深度dk,為子節點i分配網絡地址Ai和網絡深度di=dk+1,網絡地址Ai的算法為[10-11]:
(1)如果加入的是沒有路由功能的RFD節點,則:Ai=AK+Cskip(di)×Rm+i, 1≤i≤Cm-Rm.
(2)如果加入的是具有路由功能的FFD節點,則:Ai=AK+1+Cskip(di)×(i-1), 1≤i≤Rm.式中
Cskip(d)=
(1)
式(1)中:Cskip(d)表示不同深度下父節點擁有的地址數;Cm表示父節點可以擁有的最大子節點數;Lm表示網絡最大深度;Rm表示父節點可以擁有的最大子路由節點數.
以圖1為例說明網絡地址的分配算法.協調器Coordinator節點的Cskip(d)=31,所以Coordinator關聯的第1個路由器節點Router1分配地址1,第2個路由器節點Router2分配地址1+31=32,第3個路由器節點Router3分配地址32+31=63,第4個路由器節點Router4分配地址63+31=94,各個子路由器節點的地址以此類推.由于終端節點的父節點Coordinator的Rm=4,所以第1個終端節點EndDevice1的地址為0+31*4+1=125,第2個終端節點EndDevice2的地址為0+31*4+2=126,可見網絡中所有同一父節點的終端設備的16位短地址都是連續的.

圖1 ZigBee網絡地址分配算法示意圖Fig.1 Diagram of address allocation algorithm of ZigBee network
路由協議是自組網體系結構的核心部分,ZigBee協議采用Cluster-Tree和AODVjr作為自身的路由算法,主要是發現和維護路由,選擇路由并轉發數據,監控網絡拓撲結構變化等,以達到成本低、功耗低、可靠性高的設計目標[11-12].
1)Cluster-Tree路由算法
Cluster-Tree算法按樹型結構分層遍歷,節點根據目的網絡地址計算下一跳.假設網絡地址為A,網絡深度為d的路由節點收到目的地址位為D的數據分組,則根據
A (2) 判斷是否為自己的子節點. 如果是自己的子節點,則轉發給子節點N.N由公式(3)確定,即 (3) 如果不是自己的子節點,則轉發給其父節點. 2)AODVjr路由算法 AODVjr(AODV Junior)算法是一種按需分配的路由協議,是對AODV(Ad-Hoc On Demand Distance Vector)算法的一種簡化改進.首先源節點以廣播的方式發送RREQ(Router Request,路由請求分組),具有路由功能的節點收到消息后,建立反向路由,轉發RREQ分組,并將源節點到此節點的路由開銷添加到路由搜索表和RREQ中,直到目的節點收到此RREQ.目的節點選擇開銷最少的反向路由,將RREP(Router Replies,路由回復分組)返回源節點,同時所有接收到此RREP分組的節點都將更新自己的鄰居表,最終建立各個節點的路由表. 按有無路由功能,ZigBee網絡節點可分為有路由功能的RN+節點(Coordinator設備、Router設備)和無路由功能的RN-節點(EndDevice設備).RN+節點有足夠的存儲空間和路由選擇能力,執行AODVjr路由算法;RN-節點存儲空間受限,不具備路由選擇能力,收到分組后只能采用Cluster-Tree算法處理[12-14].不同規模下結合兩種算法的ZigBee網絡節點轉發率和平均延時分別如圖2和圖3所示. 圖2 不同網絡規模的節點轉發率Fig.2 Forwarding rate of nodes of different network scale 圖3 不同網絡規模的平均延時Fig.3 The average delay of different network scale 圖2和圖3顯示,隨著網絡規模的擴大,ZigBee網絡轉發節點數占節點總數的比例整體上呈現不斷下降趨勢,平均延時逐漸減少,其原因在于隨著網絡規模的擴展,同一區域內的節點密度也隨之增加,使得網絡節點的轉發率不斷減小,平均延時因數據傳輸距離縮短,轉發效率提升而降低. 通過OPNET平臺,仿真ZigBee網絡的某個路由器節點失效后,其關聯的子節點如何重新找到路由路徑,從而體現ZigBee網絡在無需人工干預情況下的自組織功能,并分析和評估由此對整個網絡產生的影響. OPNET是一個能夠準確分析復雜網絡性能和行為的仿真平臺,提供Process(進程)、Node(節點)和Network(網絡)三層建模機制,三層模型完全對應實際的協議、設備和網絡層次,用戶通過OPNET平臺能完整而深入了解網絡的相關特征.采用離散事件驅動模擬機理和混合建模機制,把基于包的分析方法和基于統計的數學建模方法結合起來,在提高仿真效率的同時,可得到詳細的模擬結果[15-16]. 設置一個2 000m×1 750m的ZigBee網絡仿真場景,網絡中包含一個ZigBee協調器Coordinator、一個ZigBee固定路由器Fixed_Router,一個ZigBee可移動路由器Mobile_Router和兩個ZigBee終端節點EndDevice1、EndDevice2.終端節點EndDevice1、EndDevice2都無法直接與協調器Coordinator進行通信,必須通過各自關聯的父節點路由器轉發數據,EndDevice1通過Fixed_Router路由器接收轉發Coordinator傳送的數據分組,EndDevice2通過Mobile_Route路由器接收轉發Coordinator傳送的數據分組,如圖4所示的粗實線展示部分.當Mobile_Route路由器沿著設定的白色細實線軌跡移動到ZigBee網絡信號覆蓋范圍之外時,模擬該節點“失效”后EndDevice2的路由重發現和數據分組新的轉發路徑如圖4虛線展示部分. 圖4 ZigBee網絡路由失效前后數據分組轉發路徑拓撲圖Fig.4 Topological graph of data packet forwarding path before and after the routing failure of ZigBee network 設置ZigBee仿真場景中所有節點的PAN ID為1,信號傳輸頻段為2 450MHz,發射功率為3mW,接收靈敏度為-85dBm. dBm是無線網絡發射功率的絕對值,其計算公式為:10lg(p/1mW) 式中,p是以mW為單位的功率值. 場景中,仿真節點發射功率為3mW,求得p=10lg3=4.77dBm ;因此,發射功率減去接收靈敏度的差值為4.77-(-85)=89.77dB. 自由空間路徑損耗公式為 FSPL=32.45+20lgd(C)+20lgf (4) 式(4)中:FSPL(Free Space Path-Loss)單位為dB;d(C)為視距傳播距離,單位km;f為頻率,單位MHz. 已知f=2 450MHz,FSPL=89.77dB,由式(4)可得d(C)=0.299 80km=299.8m. 從部署的仿真場景可知Coordinator的坐標(1 871,1 263),EndDevice1的坐標(673,970),EndDevice2的坐標(640,1 422),由此可以計算EndDevice1、EndDevice2分別與Coordinator之間的直線距離D(E1-C)=1 233.31m、D(E2-C)=1 241.23m,兩者的值都大于視距傳播距離d(C),說明兩個終端節點接收的數據分組都無法通過協調器直接發送,且D(E1-C)和D(E2-C)兩者之間的直線距離D(E1- E2)=453.2m,也大于視距傳播距離d(C),說明彼此之間的信號區域不會覆蓋重疊[16-18].因此終端節點EndDevice1、EndDevice2必須通過各自的父節點進行數據轉發,這為模擬其中某一父節點失效后重新建立路由并轉發數據的實驗提供了可行性. 圖5顯示,Mobile_Route路由器沿著設定的軌跡移動,大約在12min后離開ZigBee網絡,節點的路由功能“失效”. 圖5 Mobile_Route節點路由功能變化情況Fig.5 The variation of routing function of Mobile_Route node 圖6顯示,開始階段所有節點啟動發送和接收工作,數據分組轉發速率明顯加大,幾分鐘之后趨于平穩,然后Mobile_Route路由器開始移動至約12min后離開ZigBee網絡而路由功能“失效”,EndDevice2節點的接收速率因此而產生抖動現象,在與Mobile_Route路由器失聯后,其數據接收中斷,但在較短時間內重新恢復了與Coordinator協調器之間的通信,驗證了網絡設備較強的自我修復功能,同時也顯示了ZigBee網絡良好的魯棒性. 圖6 EndDevice2節點自我修復情況Fig.6 Self-healing of EndDevice2 node 路由節點“失效”后,網絡數據傳輸的變化如圖7所示.由于受影響節點能夠在極短的時間內實現自我修復,重新恢復中斷的收/發路徑,因此從網絡節點的接收速率來看,路由節點的“失效”對整個ZigBee網絡的數據傳輸影響較小,顯示了ZigBee網絡良好的收斂性. 圖8為Coordinator節點到EndDevice2節點的延時曲線.開始時節點延時增大,隨后因Mobile_Route的移動引發延時曲線振蕩加劇,路由“失效”后,數據傳輸中斷,延時曲線陡然下降,但在很短時間內Coordinator就將數據分組通過Fixed_Router傳送給EndDevice2節點,此時點對點延時曲線趨向平穩,進一步驗證了ZigBee網絡的“失效”自修復能力. 圖7 ZigBee網絡各節點應用層數據分組接收情況Fig.7 Reception of the application layer data packet of each node in the ZigBee network 圖8 Coordinator節點到EndDevice2節點的延時情況Fig.8 Time delay from Coordinator node to EndDevice2 node 無線傳感器網絡WSN涉及嵌入式計算、無線傳感器、現代通信、分布式信息處理等交叉學科,為當前無線組網技術的重點研究領域.自組網能力強、自恢復能力強的無線自組網技術標準ZigBee發展迅速,已在部分智能傳感器場景中得到應用,智慧城市的建設和發展將進一步推動ZigBee產品的推廣應用和不斷更新. ZigBee網絡存在的問題主要體現在地址分配機制、節點能耗、數據傳輸時延、傳輸距離以及路由失效自修復等方面.邏輯樹分配機制說明ZigBee網絡中同一父節點的終端設備的16位短地址都是連續的,結合Cluster-Tree和AODVjr路由算法的RN+節點和RN-節點路由選擇策略,使得網絡轉發節點數占節點總數的比例隨網絡規模的擴大呈下降趨勢,平均延時逐漸減少,通過設置OPNET平臺的仿真場景和拓撲結構,分析了路由失效對數據傳輸、點對點延時等性能產生的影響,通過路由收斂性驗證了ZigBee網絡的自我修復能力和網絡的魯棒性. [1]AKYILDIZ I F, SU W, SANKARASUBRAMANIAM Y, et al. A survey on sensor networks[J]. IEEE Communications Magazine, 2002,40(8):102-114. [2]IEEE Std.15.4:Wireless Medium Access Control(MAC) and PhysicalLayer(PHY) Specifications for Low-Rate Wireless Personal AreaNetworks[S]. NewYork: IEEE, 2003. [3]RACHANA B S,RAJESH P.Comprehensive survey on effect of mobility over routing issues in wireless multimedia sensor networks[J].International Journal of Pervasive Computing and Communications, 2016,12(4):447-465. [4]MANJEET S,SURENDER K S.A comprehensive review of fuzzy-based clustering techniques in wireless sensor networks[J].Sensor Review,2017,37(3):289-304. [5] 郭昌飛.基于ZigBee的無線傳感器組網技術研究與應用[D].北京:北京信息科技大學,2012. [6] 潘恒曦,辛旺,范蟠果.ZigBee在無線傳感器網絡中的應用[J].機械與電子,2010(S1):245-248. [7] 劉承鵬.無線傳感器網絡定位算法研究[D].淄博:山東理工大學,2016. [8] 李冉.基于ZigBee無線傳感器網絡定位的研究[D].廣州:廣東工業大學,2016. [9] 楊春華.基于ZigBee技術的無線網絡協調器的研究[D].成都:西南石油大學,2011. [10] 李明.IEEE802.15.4MAC協議中能耗與時延均衡研究[D].廣州:暨南大學,2010. [11] 王月平,耿曉菊,劉春濤,等.IEEE802.15.4MAC協議低功耗研究[J].計算機技術與發展,2009,19(12):139-142,165. [12] 練云翔.無線傳感器網絡路由算法與能耗模型研究與仿真[D].蘭州:蘭州交通大學,2016. [13] 周登龍,陳碩.ZigBee網絡中不同路由性能的研究與仿真[J]無線互聯科技,2012(9):69-71. [14] 穆嘉松,劉開華,史偉光.ZigBee網絡中基于節點移動性的路由選擇策略[J].天津大學學報,2012,45(4):301-308. [15] 李清平.基于進程核心的網絡仿真建模及統計分析[J].武漢理工大學學報(信息與管理工程版),2012,34(6):681-683. [16] 陳敏.OPNET網絡仿真[M].北京:清華大學出版社,2004. [17] 范燕,俞洋,李永義,等.基于ZigBee 無線傳感器網絡的遠程監控系統[J].實驗室研究與探索,2016,35(1):80-84. [18] 王一棋,何麗莉,胡成全,等.基于ZigBee和Internet的無線智能家居網關系統[J].吉林大學學報(理學版),2015,53(2):302-306.2.2 ZigBee網絡路由策略


3 基于OPNET平臺的ZigBee網絡路由失效自修復仿真
3.1 OPNET仿真平臺簡介
3.2 場景設置及拓撲結構

3.3 仿真參數設置
3.4 仿真結果分析




4 結束語