劉 艷 趙冬會
(1.大連大學大連市環(huán)境感知與智能控制重點實驗室 大連 116622)(2.大連大學信息工程學院 大連 116622)
ZigBee 是應用于無線監(jiān)測與控制應用的全球性無線通信標準,通過將無線通信技術與教育、醫(yī)療、娛樂、軍事、工業(yè)控制、環(huán)境監(jiān)測等多個領域的有效融合,逐步提升了人們生活的便利化程度[1]。然而,實際應用中ZigBee無線傳感器網絡(WSN)的拓撲結構常因設備故障、節(jié)點的移動性和其它因素而發(fā)生改變,甚至會導致嚴重的后果,例如在遠程醫(yī)療監(jiān)護系統(tǒng)中,如果病人出現(xiàn)緊急狀況,而家庭ZigBee 無線傳感器網絡卻未能及時向醫(yī)院發(fā)出報警,后果將是災難性的。因此,了解ZigBee 網絡的基本行為特性對確定它在各種應用場合下的適用性十分重要,尤其是網絡節(jié)點移動性對ZigBee路由協(xié)議的影響,因為多數(shù)應用中ZigBee無線傳感器網絡節(jié)點的移動性是不可避免的[3~4]。
然而沒有模擬仿真技術的支持,分析和評價具有移動節(jié)點的ZigBee 網絡泛在通信能力是十分困難的。目前主要使用的仿真工具是OPNET 和NS-2,NS-2 開發(fā)效率較低,且沒有節(jié)點模型,OPNET 因擁有強大的模型庫、能逼真再現(xiàn)真實的網絡環(huán)境而備受青睞。
在OPNET中ZigBee網絡建模方面,目前多數(shù)文獻聚焦于靜態(tài)節(jié)點ZigBee網絡建模研究,鮮有考慮移動節(jié)點的動態(tài)網絡建模。此外ZigBee標準中AODV協(xié)議無法區(qū)分ZigBee設備類型,致使數(shù)據路由階段為終端設備廣播冗余RREQ數(shù)據包,加劇了網絡阻塞。
近幾年,基于OPNET 國內外學者在網絡性能分析、評價方面取得了一些研究成果,早期主要使用OPNET 對ZigBee 網絡三種拓撲結構進行性能仿真分析與評價[6~8],沒有考慮節(jié)點的移動性。文獻[9]在三種拓撲結構下研究了移動節(jié)點對網絡的數(shù)據丟包、吞吐量、端到端延遲性能的影響,但未考慮移動節(jié)點的數(shù)量變化因素。文獻[10~12]在分析評價網絡性能中,雖然考慮了移動節(jié)點的數(shù)量變化,但未涉及移動節(jié)點速度對網絡MAC 負載、MAC 延遲、端到端延遲性能的影響分析研究。
為此,本文首先基于OPNET構建具有移動Zig-Bee 節(jié)點的三種拓撲結構ZigBee 網絡模型,改進其自帶ZigBee節(jié)點網絡層進程域模型,創(chuàng)建狀態(tài)轉移過程,模擬節(jié)點動態(tài)入網特性;改進平面距離向量路由協(xié)議(AODV)與Tree 路由結合機制,改善網絡節(jié)點組網能力。其次,仿真研究移動節(jié)點數(shù)量和移動節(jié)點速度對三種拓撲結構ZigBee 網絡MAC 負載、MAC 延遲、端到端延遲性能的影響,旨在分析評估三種拓撲結構ZigBee網絡的環(huán)境適應性。
如圖1 所示,本文采用網絡域、節(jié)點域、進程域三層建模機制,基于OPNET 仿真平臺構建了星型拓撲結構、簇狀拓撲結構、網狀拓撲結構的移動ZigBee 節(jié)點網絡仿真模型。圖中虛線為模型仿真之后可視化的無線連接。通過設置協(xié)調器屬性Network Parameters 為Default Star Network 、Default Tree 或Mesh Network 可實現(xiàn)三種不同網絡拓撲結構之間的切換。

圖1 ZigBee網絡仿真模型
如圖2 所示,本文所建ZigBee 網絡的節(jié)點模型采用OPNET 模型庫自帶ZigBee 節(jié)點域模型結構,從上至下分為應用層、網絡層、MAC 層以及底層無線收發(fā)狀態(tài)機模塊,保留OPNET 模型庫自帶Zig-Bee 節(jié)點應用層、底層的原有功能,重點對其網絡層進程進行了改進,旨在監(jiān)控ZigBee網絡節(jié)點動態(tài)入網過程及數(shù)據路由信息,這對醫(yī)療監(jiān)控、獨居老人監(jiān)護等應用中實施及時救護至關重要。

圖2 ZigBee節(jié)點域模型
為監(jiān)控網絡中移動節(jié)點的動態(tài)入網及數(shù)據路由過程,本文在OPNET 的ZigBee 節(jié)點模型網絡層進程域中,利用狀態(tài)轉移圖描述節(jié)點進程。如圖3所示,用init、wait、set_network、active、route 五個狀態(tài)模擬協(xié)調器節(jié)點網絡層進程行為特性,用狀態(tài)init、wait、join_network、active、route模擬非協(xié)調器節(jié)點網絡層進程行為特性。其中,狀態(tài)init 描述節(jié)點初始化過程,wait 描述協(xié)調器組網或是節(jié)點入網等待過程,set_network 描述組網過程,join_network 描述入網過程,active描述數(shù)據采集傳輸?shù)然顒舆^程,route 描述數(shù)據路由過程。同時,對原ZigBee 路由協(xié)議進行如表1 所示的改進,實現(xiàn)了移動節(jié)點的動態(tài)入網和數(shù)據路由,不僅減少了節(jié)點入網所需路由器數(shù)量,而且增強了網絡的組網能力、降低網絡堵塞率。

圖3 ZigBee_network進程域模型

表1 原ZigBee協(xié)議與改進ZigBee協(xié)議對比
2.2.1 移動節(jié)點的入網實現(xiàn)
ZigBee網絡節(jié)點部署完畢后,所有節(jié)點都進入網絡初始化過程,分別被賦予協(xié)調器節(jié)點、路由器節(jié)點和傳感器節(jié)點功能。為給相應節(jié)點賦予移動特性,本文創(chuàng)建進程狀態(tài)active 后,在header block中加入如下代碼并調用NODE_MOBILE。


為監(jiān)控移動節(jié)點的動態(tài)入網及實時監(jiān)測數(shù)據傳輸過程,本文給圖3 中的協(xié)調器節(jié)點set_network狀態(tài)設一個狀態(tài)轉移函數(shù)(SCAN_SUCCESS)/wpan_zigbee_set_network()進行網絡配置;給非協(xié)調器節(jié)點join_network 設三個狀態(tài)轉移函數(shù)(PK_FROM_MAC)/wpan_handle_join_response()、(WAIT_TIMER_DONE)/wpan_handle_wait_response()、(SCAN_SUCCESS)/wpan_zigbee_join_network()分別實現(xiàn)子節(jié)點處理父節(jié)點回復的響應幀過程、子節(jié)點計時等待父節(jié)點回復響應幀過程、子節(jié)點成功入網過程。在計時器范圍內子節(jié)點收到父節(jié)點回復響應幀,則節(jié)點加入網絡進入active狀態(tài);若未收到父節(jié)點回復,則子節(jié)點入網失敗,對此設轉移函數(shù)(NODE_FAILURE)/wpan_restart_scan 實現(xiàn)重新掃描尋找合適的父節(jié)點入網。節(jié)點動態(tài)入網流程如圖4所示。

圖4 節(jié)點入網過程實現(xiàn)
2.2.2 數(shù)據路由的優(yōu)化設計
為優(yōu)化移動節(jié)點數(shù)據路由過程,增強組網能力,降低網絡阻塞,進一步優(yōu)化AODVjr與Tree路由結合機制,配置參數(shù)進行路由策略選擇。優(yōu)化的數(shù)據路由使節(jié)點具有動態(tài)維護和修復路由表的能力,當移動路由節(jié)點在網絡中出現(xiàn)故障時,無需再為路由節(jié)點分配初始網絡地址后更改其網絡地址。移動節(jié)點全部接入網絡所需路由器少,一定程度上提升路由節(jié)點的組網能力。對圖3 中active、route 設狀態(tài)轉移函數(shù):(HELLO_TIMER_EXPIRY)/aodvjr_rte_rrep_hello_message_send()、(PK_FROM_APP)/wpan_handle_app_pk ( ) 、(PK_FROM_MAC)/wpan_handle_mac_pk ( ) 、(WAIT_RESPONSE)/wpan_wait_route_response()、(PK_FROM_MAC)/wpan_handle_routing_response()、(ROUTE_DISCOVERY)/route_discovery_timeout()分別實現(xiàn)廣播信息計時等待路由選擇過程、處理來自應用層數(shù)據包過程、處理來自MAC 層數(shù)據包過程、等待路由回應過程、處理路由回應過程、路由發(fā)現(xiàn)過程。對于一個終端節(jié)點發(fā)送數(shù)據,啟動執(zhí)行(START_ROUTING)/wpan_start_route()轉移到route狀態(tài)根據Tree 路由將數(shù)據包發(fā)送給其父節(jié)點,父節(jié)點收到MAC 層數(shù)據包后立即搜索路由表,若路由表中有可用路由,發(fā)送數(shù)據至下一跳路由,若路由表中無可用路由,將AODVjr 與Tree 路由結合(ROUTE_DISCOVERY)/route_discovery_timeout()進行初始路由發(fā)現(xiàn),創(chuàng)建路由。在整個數(shù)據傳輸過程中,路由器起到建立路由路徑與轉發(fā)數(shù)據的功能。路由節(jié)點會定期廣播消息維護自己的路由,確保路由建立后的有效性。數(shù)據路由流程設計如圖5所示。

圖5 數(shù)據路由流程
本文以200×200m2區(qū)域為應用場景,搭建節(jié)點隨機分布的三種拓撲結構ZigBee 網絡。實驗仿真環(huán)境為OPNET Modeler14.5,主要參數(shù)設置如下,物理層主要參數(shù):工作頻段2.4GHz,數(shù)據速率250kbps,傳輸功率Pt=0.05mw;MAC 層主要參數(shù):最小退避指數(shù)3,最大退避次數(shù)4;網絡層主要參數(shù):最大子節(jié)點數(shù)Cm=7,子節(jié)點中最大路由器數(shù)Rm=5,網絡最大深度Lm=5;應用層:以bernouli(1.0s)為數(shù)據包到達時間間隔進行發(fā)送。
圖6 是節(jié)點移動過程仿真圖,圖中coordinator組建了星型拓撲結構PAN1 子網,coordinator_0 組建了簇狀拓撲結構PAN2 子網,移動節(jié)點mobile_node_0 最初由PAN1 子網a 處位置沿著本文設定的軌跡線開始移動,仿真運行30s 后節(jié)點離開PAN1 子網進入PAN2 子網,此時移動節(jié)點只向PAN2 子網的設備發(fā)送數(shù)據信息,表明移動節(jié)點完成了PAN1、PAN2 子網的切換動作,由此驗證所建進程模型具有支持節(jié)點移動的有效性。

圖6 節(jié)點的移動性仿真
為驗證改進數(shù)據路由協(xié)議的性能,對OPNET自帶節(jié)點進程模型和本文設計的節(jié)點進程模型進行仿真對比實驗。因網狀ZigBee網絡最為復雜,故本文以網狀ZigBee 網絡來建立網絡模型組網對比仿真,實驗節(jié)點數(shù)選11個,其中協(xié)調器1個,移動節(jié)點10 個(移動路由節(jié)點兩個,移動終端節(jié)點8 個),如圖7 仿真結果顯示本文模型只需兩個路由11 個節(jié)點即可全部入網,而OPNET 自帶ZigBee 模型中有兩個子節(jié)點未成功入網。隨著移動節(jié)點數(shù)量的增加,本文模型和OPNET 自帶ZigBee 模型全部節(jié)點入網所需的路由器數(shù)量都在增加,但同等規(guī)模網絡本文模型所需路由器數(shù)量比OPNET 自帶ZigBee模型少,且網絡節(jié)點數(shù)越多,該優(yōu)勢越明顯,試驗結果數(shù)據統(tǒng)計如表2所示。

圖7 移動節(jié)點接入網絡所需路由器數(shù)對比

表2 不同規(guī)模網絡需要路由器數(shù)
為評估三種拓撲結構ZigBee 網絡的環(huán)境適應性,基于本文改進模型分析移動節(jié)點數(shù)量及速度變化對三種拓撲結構ZigBee 網絡性能的影響。星型ZigBee 網絡中移動節(jié)點全部是終端節(jié)點,簇狀Zig-Bee 網絡、網狀ZigBee 網絡中移動節(jié)點分別為20%的路由節(jié)點和80%的終端節(jié)點,在移動節(jié)點數(shù)量由10、30 至50,節(jié)點速度0.2m/s、0.4 m/s、0.6 m/s、0.8 m/s、1.0 m/s 下進行每組10 次仿真試驗,仿真結果以ZigBee網絡MAC負載、MAC延遲、端到端延遲為性能指標取10次均值進行分析。
MAC 負載表示網絡中所有WPAN 節(jié)點較高層發(fā)送給802.15.4 MAC層的特定PAN的總負載。

圖8 三種拓撲結構ZigBee網絡MAC負載
MAC 延遲表示網絡中所有WPAN 節(jié)點的802.15.4 MAC 接收并轉發(fā)到更高層的所有數(shù)據包的延遲。
圖9 為不同移動節(jié)點數(shù)量在不同速度下三種拓撲結構ZigBee 網絡的MAC 延遲,隨著節(jié)點數(shù)量的增加,三種拓撲結構的MAC 延遲均有所增加,隨著節(jié)點速度的增加,由于節(jié)點流動性的加快網絡流量得到均勻分配,MAC延遲有所下降。

圖9 三種拓撲結構ZigBee網絡MAC延遲
端到端延遲是傳播延遲,擁塞延遲,訪問延遲,排隊延遲,分組/緩沖延遲和傳輸延遲的總和。

圖10 三種拓撲ZigBee網絡端到端延遲
本文對OPNET 自帶ZigBee 節(jié)點網絡層進程域模型進行改進,利用狀態(tài)轉移過程模擬節(jié)點移動進程特性,優(yōu)化節(jié)點路由協(xié)議,改善基于OPNET 的ZigBee 無線傳感器網絡模型組網能力及網絡阻塞狀況,為進一步評價不同ZigBee網絡拓撲結構的環(huán)境適應性提供了有效支撐。不同移動節(jié)點數(shù)量、移動節(jié)點速度下三種拓撲結構ZigBee 網絡性能仿真結果表明:簇狀ZigBee 網絡能夠承受更好的負載,星型ZigBee網絡在延遲方面具有突出優(yōu)越性,綜合考慮負載和延遲兩方面性能,網狀ZigBee網絡具有更大的優(yōu)勢。