張美燕,蔡文郁,鄭曉丹,周麗萍
(1.浙江水利水電學院 電氣工程系,杭州 310018;2.杭州電子科技大學 電子信息學院,杭州 310018)
隨著海洋資源勘探與環境調查需求的不斷升級,近幾年來,水下無線傳感器網絡UWSNs(Underwater Wireless Sensor Networks)的研究與應用逐漸表現出了快速增長的趨勢[1]。水下無線傳感器網絡可為研究全球二氧化碳循環、全球氣候變暖、海流環流規律、海底地震監測、軍事反潛等應用提供技術支撐,因此受到了廣大學者和工業界的關注[2]。相比較于陸地無線通信環境,具有水體信道復雜多變、水聲通信受限較多等約束,因此設計拓撲可擴展和能量高效均衡的水下無線傳感器網絡路由服務具有非常大的挑戰性[3]。
無線電通信在水中具有快速衰減性,因此在水下環境中通常采用聲通信方式,但是水聲通信具有通信帶寬小、傳輸速度低、傳播時延大等缺點。而且,除了一些固定在水面或錨定在海底的節點,水下傳感器節點往往會隨著水流/海流的影響而被動移動,從而導致了高度動態的三維網絡拓撲結構。在此環境下,傳統的無線傳感器網絡路由協議需要定期更新路由信息,從而導致過高的通信開銷。再者,水下傳感器節點幾乎都是由電池供電的,在水下惡劣環境中幾乎不可能重新充電或更換電池,因此水下無線傳感器網絡的數據傳輸服務必須考慮傳感器節點的能耗效率[4-5]。綜上所述,水下無線傳感器網絡的以上特殊特性使得設計高效合適的路由協議異常困難。
目前有很多適用于陸地無線傳感器網絡的路由協議,但是由于水下介質特性使得這些現有協議不適合水下環境,目前國內外一些學者針對水下環境的挑戰提出了適用于水下環境的高效路由。VBF(Vector Based Forwarding)算法[6]采用了“虛擬管道”技術實現數據包的定向傳輸,文獻[7]提出了一種基于水下節點地理位置的隨機性路由協議GEDAR,適用于水下三維空間動態網絡拓撲環境。但是由于在水下環境無法通過GPS進行定位,依靠超短基線定位獲取節點的精確位置信息非常困難[8],因此上述兩種基于地理位置的路由算法實用性局限過大。VAPR(Void Aware Pressure Routing)協議[9]采用基于地理位置的路由協議中固定的信標機制來避免路由空洞現象,但是其路徑復雜,僅僅只解決了空洞問題的轉發回路問題。近年來提出的DBR(Depth Based Routing)[10]協議采用了一種新型的網絡模型,DBR協議無需水下傳感器網絡知道節點的位置信息,只需要各個節點的深度信息,利用傳感器節點的深度信息將數據傳輸至浮標節點,浮標節點利用無線射頻通信方式快速地傳輸到Sink節點,最終實現整個網絡的數據采集。由于深度信息通過壓力傳感器就可獲取,相比較于位置信息容易獲取得多,因此DBR協議在實際水下傳感器網絡中更加容易得到應用。
近幾年也出現了一些研究成果,對DBR協議進行了一些改進[11-12]。文獻[11]提出了一種考慮網絡惡意攻擊的PRP協議,數據包加入了秘鑰機制實現數字簽名。Hydrocast協議[12]主要針對DBR路由協議存在的隱藏終端和局部路由空洞現象,在轉發節點集的選擇策略中考慮了如何避免隱藏終端現象,并提出了局部更低深度節點優先路由恢復機制。但是Hydrocast協議同樣會出現多個轉發節點傳遞同一個數據包的現象,造成信息的冗余發送和節點能量的浪費。除此之外,也有一些研究對水下傳感器節點的深度信息進行了優化調整。文獻[13-15]提出了一些針對水下無線傳感器網絡的拓撲控制策略,不僅僅考慮深度信息,而且還通過對傳感器節點深度位置的調整,對水下無線傳感器網絡進行拓撲優化,以提高數據包傳輸成功率。但是這種方法要求所有水下傳感器節點都配備深度調節裝置,這些嚴格限制條件不一定適合所有的應用場合。最新文獻[16]為DBR協議開發了一款基于AquaSim-Next Generation的仿真平臺。
DBR協議只考慮了深度信息的確定性路由算法,對于節點能量消耗及其均衡性并沒有考慮。為了克服這些問題,本文從節點能量耗費均衡和數據包傳輸時延優化的角度,根據傳感器鄰居節點的深度值及剩余能量水平決定各個鄰居節點的轉發概率,研究了一種DBR協議的優化改進策略——基于能量均衡與時延優化的隨機深度路由協議。
考慮深度信息的水下無線傳感器網絡模型如圖1所示,網絡模型中存在兩類節點:一種是水下傳感器節點,具有環境感知能力與水聲通信能力,部署在水下三維監測區域內;另一種是浮標節點,部署在水面,具有水聲通信功能和無線射頻通信功能。除此之外,水下傳感器節點都配備有深度傳感器,可以獲知自身的深度數據。水下傳感器節點通過多跳通信方式將數據發送至浮標節點,浮標節點利用射頻通信方式將數據發往Sink節點。

圖1 考慮深度信息的水下傳感器網絡模型
DBR協議以此模型作為研究對象,由于浮標節點之間的無線射頻通信較為簡單,DBR協議只考慮了水下傳感器節點與浮標節點之間的通信路由,不考慮浮標節點與Sink節點之間的通信方式。如圖1所示,傳感器節點Ni將數據發送到具有較小深度值的傳感器節點Nj,節點Nj再將傳感數據發往具有較小深度值的另一個節點,最終發送到某一個浮標節點。
DBR協議關鍵思想是網絡中所有節點數據包的轉發取決于節點深度信息。DBR協議屬于一種貪婪算法,利用貪婪尋優機制將數據包從數據源節點傳遞到某一個浮標節點。DBR協議的核心原理如下:轉發節點的深度在數據包接近目標節點時逐漸減少,如果在每個步驟中減少轉發節點的深度,則可以將數據包傳送到水面。因此在DBR協議中,傳感器節點基于其自身的深度值和先前發送者的深度值來分布式地決定分組轉發策略。
由于DBR協議采用了貪婪算法進行局部尋優,因此適合于節點密度較高的網絡,但在節點較稀疏網絡效率相對較低,同時也會因貪婪策略失敗造成的“空洞”區域[9]。目前通過引入后續路由恢復算法可提高數據成功傳輸率,但是并沒有考慮由于節點能耗過多或者不均衡引發的空洞現象。通過獲取剩余能量和到鄰居節點的距離估計,有助于做出全網優化的路由決策,進一步降低能耗并延長網絡生命周期。
本文所研究的網絡模型假設如下:水下傳感器節點隨機分布在長寬高為W×L×H的三維空間內,考慮深度信息的水下傳感器網絡中有N個傳感器節點(S1,S2,…,SN)和M個浮標節點(B1,B2,…,BM),傳感器節點的通信半徑為Rc,第i個傳感器節點的深度值和剩余能量分別表示為di和ei,傳感器節點的移動模型遵從Kinematic運動模型[17]。DBR協議只是盡量向深度值較小的傳感器節點轉發,并沒有考慮轉發節點的能耗性能,因此無法保證水下無線傳感器網絡的整體性能。
本文所研究的能量均衡與時延優化深度路由協議數據轉發機制的原理如圖2所示,綜合考慮了節點的剩余能量和數據包發送的延時特性。傳感器節點Ni的深度值為d0,其一跳鄰居范圍內存在三個傳感器節點S1,S2和S3,其深度值和剩余能量值分別為d1,d2,d3和e1,e2,e3。傳感器節點Ni一跳鄰居集合內的傳感器節點通過廣播方式交互自身信息,包括深度數據和剩余能量值。本文提出的改進DBR協議的數據包內含有目的地址、源地址、上一跳節點的深度、上一跳節點的能耗,因此收到數據包后可通過比較當前節點深度和上一跳節點深度進行轉發方向的判斷。
相比較于無線射頻通信,水聲通信的速度低、延時較大,因此數據傳輸時延可考慮水下水聲通信的延時,水聲通信數據傳輸的延時又直接與數據包傳輸路徑的距離成正比。從DBR協議的仿真結果[10]可以發現,數據包傳輸所需的延時值可以通過提高每一跳的深度提升值來提高。為了簡單起見,本文利用通信路徑的距離來表征數據傳輸時延大小。
為了兼顧傳感器節點能耗均衡和時延優化,本文引入了轉發概率函數來表征選擇下一跳傳感器節點的概率。在一跳鄰居范圍內,節點Sk作為下一跳節點的轉發概率函數定義為:
(1)
式中:Δdk為傳感器節點Sk與傳感器節點Ni的深度差,Δdk=dk-d0;δ是深度差閾值,只有當深度差大于深度差閾值時,才會選擇向這些傳感器節點轉發;λ∈(0,1)為權重系數,表示能量耗費與時延優化的相對權重。根據上述定義函數,傳感器節點Ni可計算出其所有鄰居傳感器節點的轉發概率值,并向各個鄰居節點進行廣播,鄰居節點根據此轉發概率值進行數據包的轉發。因此,本文定義的轉發概率函數保證了數據包向剩余能量較大的或深度差較大的傳感器節點轉發。

圖2 改進DBR協議數據包轉發機制
本文研究算法的節點隊列緩存管理、數據包廣播策略等與原始DBR協議保持一致。深度差閾值的引入使得改進DBR協議避免由于較小深度差引發的多余路徑轉發,從而節省不必要的能量耗費。改進DBR協議的主要步驟如下所示:
Step 1 每個傳感器節點在一跳鄰居范圍廣播Hello數據包,包含深度信息與剩余能量值;
Step 2 每個傳感器節點接收所有鄰居節點的剩余能量和深度信息并進行本地存儲;
Step 3 對于收到數據包的傳感器節點Si,根據自身的深度數據di和數據包中的深度數據dj計算差值Δdi=dj-di。
Step 4 判斷是否轉發:如果Δdi<δ,那么傳感器節點Si直接丟棄該數據包;反之進入下一步;
Step 5 計算傳感器節點Si一跳鄰居范圍內所有傳感器節點的轉發概率:
Step 6 傳感器節點Si產生一個隨機數ξk,根據隨機數落入的概率區間選擇下一跳轉發節點,實現數據包隨機性概率最大轉發策略。
Step 7 下一個收到數據包的傳感器節點重復Step 3~Step 7的工作流程,直到該數據包成功傳輸到Sink節點。

圖3 網絡仿真拓撲結構
本文的仿真場景設計如下:假設N=200個水下傳感器節點和M=50個浮標節點隨機部署在范圍為500 m×500 m×500 m的三維區間內,傳感器節點的通信半徑Rc=50 m/100 m/150 m,數據轉發深度閾值設置為δ=5/10 m。為了平衡考慮水下傳感器網絡的能量效率和按深度信息轉發產生的延時因素,改進DBR協議中權重系數設置為λ=0.5。仿真輪數設置為200輪,每輪隨機選擇20%的傳感器節點發送數據到浮標節點。每輪數據傳輸過程中假設傳感器節點都是靜止不動的,當數據傳輸結束后所有傳感器節點將按照Kinematic運動模型進行位置變動。由于傳感器節點的深度值是由本身的浮力和重力所決定的,整個仿真過程中改變值很小,因此運動模型中假設傳感器節點的深度值保持不變。仿真所采用的能耗模型如文獻[18]所示,為了簡單起見,傳感器節點能耗只考慮發送數據所需的能耗,而忽略數據接收所需要的能耗。
本文從數據成功傳輸率、平均剩余能量、網絡生存周期三方面指標來驗證本文算法的性能。數據成功傳輸率定義為成功傳輸到浮標節點數據包占所有傳輸數據包的比例,數據成功傳輸率越高說明算法的包傳輸性能越好。平均剩余能量定義為每一輪仿真后所有傳感器節點的平均剩余能量,平均剩余能量越高說明算法的節能性能越好。網絡生存周期定義為出現至少一個傳感器節點因為能量耗盡而失效的仿真輪數,網絡生存周期越大說明算法的能耗均衡性越好。仿真結果采用多次仿真取平均值的方式,仿真次數設置為100次。圖3為本文仿真所采用的三種不同連通性拓撲場景,其中Rc=50 m時節點連通性不夠,表征為欠連通,Rc=50 m為較為適合的節點密度,Rc=150 m時節點連通過密,表征為過連通。
數據成功傳輸率、平均剩余能量、網絡生存周期的仿真結果分別如圖4~圖6所示,隨著水下傳感器節點數量的增加,相比較于傳統的DBR協議,可以發現改進DBR協議的數據成功傳輸率有明顯的增加。從圖4分析比較可見,在Rc=100 m和Rc=150 m仿真場景下,可以明顯地提高數據包成功傳輸率,但在Rc=50 m的欠連通場景下效果不佳。這是因為改進DBR協議采用了隨機性概率方式獲取轉發路由,因此可以克服DBR協議中貪婪算法陷入局部最優的缺陷。從圖5可見,三種仿真場景下節點平均剩余能量都有所下降,從圖6長達1 000輪的網絡生存周期比較結果可以發現,改進DBR協議的能量均衡性有所提高,從而驗證本文算法可以有效地將網絡能耗較平均分配給各個水下傳感器節點。

圖4 數據包成功傳輸率比較

圖5 傳感器節點平均剩余能量比較

圖6 網絡生存周期比較
水下傳感器網絡的平均傳輸時延采用了單位米聲波傳輸時延為單位進行衡量,也就是1 m距離水聲傳輸的時長,理論計算值為:1/C,在典型海水(25 ℃)中C=1 500 m/s。仿真結果如圖7所示,可見在Rc=100 m和Rc=150 m仿真場景下,可以明顯地降低平均傳輸時延,但在Rc=50 m的欠連通場景下效果不佳。
綜合以上結果,可以驗證改進DBR協議相比原始DBR協議,可以提高數據包成功傳輸率,降低整體網絡節點的平均能耗,從而較大幅度地提高網絡生存周期。

圖7 平均傳輸時延比較
本文從水下傳感器網絡能耗有效性和數據包傳輸時延優化的角度,提出了一種基于傳統深度路由(DBR)的改進算法,根據水下傳感器節點的深度值以及剩余能量來計算中繼節點的轉發概率。仿真結果驗證了改進型DBR協議在數據傳輸成功率和能耗均衡性能等方面均優于傳統DBR協議。下一步的研究工作將算法運算范圍擴展到2跳鄰居范圍集合,解決由于搜索范圍過小導致局部容易優化,但是全局不能達到最優的問題。