韓雪松,楊 鵑
(承德石油高等專科學校計算機與信息工程系,河北 承德 067000)
Zigbee井下監控系統基于zigbee射頻通信技術,主要用于環境參數檢測、人員定位和統計、異常報警。Zigbee網絡節點采用電池的供電方式,節點能量有限,井下的復雜工作環境,例如粉塵、噪聲、濕度和溫度等多方面的因素影響著射頻信號在信道中的傳輸[1],提高網絡傳輸的效率、減少節點的功耗是路由協議研究的重要內容。本系統的網絡路由協議基于地理路由協議(GPSR),該協議的主旨是減少路由長度、減少路由開銷等,最初由哈佛大學的Brad Karp和H.T.Kung在2000年的ACM移動計算和網絡會議上提出的貪婪周邊無狀態路由協議,它利用節點的地理位置信息,根據GPSR轉發策略進行路由的傳遞。
節點間通過廣播方式獲取鄰居節點的地理位置信息,網絡拓撲圖按照RNG和GG平面圖規劃出多區域。節點轉發模式分為貪婪轉發和邊界轉發兩種。貪婪轉發下,當前節點將距離目的節點最近的一個鄰居節點作為下一跳節點,直到目的節點或是遇到路由空洞進入邊界轉發模式。節點處于轉發模式時,節點與目的節點的連線做參考,在逆時針方向上選擇第一條轉發數據包,知道數據包到達目的節點或者發現距離目的節點更近的鄰居節點重新進入貪婪轉發模式。
當網絡節點密度較低或是網絡節點布置不合理時,貪婪轉發策略找不到比自己距離目的節點更近的節點,便出現了路由空洞。距離目的節點最近的節點由于經常轉發節點信息,造成節點能量損耗過大,導致網絡過早死亡,此類節點被稱作為熱點路由節點[2]。針對GPSR存在的路由空洞和熱點路由問題,國內外學者給出了多種改進方案。GRA協議建議當遇到路由空洞時,用泛洪機制搜素到目的節點的路由,然后在路由表中保持該路由,以減少將來可能發生的路由查找過程[3]。該算法的缺點是泛洪機制的添加會浪費節點大量的能量,減少了網絡的生命周期。文獻[4]作者提出了路由算法IGPSR-2,將前向區域劃分為四個子區域,選擇節點能量方差最小的子區域作為路由選擇區域,然后在此區域中用概率機制選擇下一跳,有效地均衡了網絡節點的能量消耗。GPSR熱點路由問題導致有些節點過早死亡,造成網絡生存時間的縮短,文獻[5]提出了隨機性選擇路由和確定性選擇路由兩種策略,在選擇路由時對節點的能量狀態加以考慮,延長了網絡生存時間。
路由協議在進行報文轉發之前,需根據路由節點所處的位置來調整路由策略,路由協議初始化流程如圖1所示。


空洞區域的確認如圖2所示。
節點B0和節點D分別為網絡的源節點和目的節點,虛線圓表示目的節點的通信范圍,實線圓表示源節點的通信范圍,兩個圓形的交叉區域就是空洞區域,空洞區域內的路由節點被稱之為空洞節點。
網絡中的節點周期性的發送信號檢測自己是否為空洞節點,最先檢測到自己為空洞節點的B0,按右手定則向下一跳鄰居節點發送空洞邊界檢測包,檢測包內包含節點的ID和坐標值,收到檢測包的節點將自己的節點的ID和坐標值續寫到檢測包內部,繼續按右手定則轉發,直到檢測包發送給B0,此時空洞邊界檢測完成,取空洞區域的邊界節點連線的最大值的中心點,以中心點O到邊界節點的最大距離為半徑r,劃分空洞覆蓋區域。
空洞區域確認好后,節點B0將向以O為圓心、以b×r為半徑的區域廣播空洞發現報文,內容包括空洞區域的報文ID值、B0的ID值、,中心點坐標、半徑、參數b、區域內所有空洞邊界節點的ID值。空間內收到報文的網絡節點首先確認自己的ID值是否在報文內,如果存在這節點確認為感知節點,將報文內容保存并進行轉發。從而建立了以O為原點、以b×r為半徑的感知區域。當數據包轉發到感知區域的網絡節點后,選擇路由轉發策略,建立一條最優的路徑。
本文對該轉發過程進行改進,將左手法則和右手法則結合使用[6],確認數據包的下一跳的具體位置,縮短轉發路徑。首先對感知域進行分區,假設S為進入感知域的節點,D為目標節點為兩節點的連接線段,將感知域劃分為兩部分。沿向量方向,左側區域定義為右手法則區,右側區域為左側法則區,區域轉發協議按照以下算法進行。
1)首先根據右手法則,確定S節點的下一跳節點位置。
2)如果進入到右手法則區,則采用左手法則進行轉發。反之,如果進入左手法則區,則采用右手法則進行轉發。
3)邊界轉發過程中,當前節點距離目標節點的距離小于邊界閾值時,路由轉發策略轉為貪婪轉發模式。
所有節點都維護著鄰居表,鄰居表內存儲著單跳鄰節點的ID和坐標。GPSR協議的數據包頭字段如表1所示,以M字段表征目前數據包的發送模式。

表1 GPSR協議的數據包頭字段
源節點準備向目的節點轉發報文時,首先判定節點是否處于感知區域,如果處于感知區域則采用右手守則執行下一跳。在每次轉發到下一跳節點時,都應首先判定與目的節點的距離,小于閾值則進入貪婪模式,否則進入左右判定的區域轉發模式。基于左右手規則的路由轉發協議的流程如圖3所示。

貪婪模式的路由轉發,應注意熱點路由的問題,選擇下一跳網絡節點考慮因素除了要考慮網絡節點距離目的節點的距離,還要考慮節點自身的能量因素,選擇通往目的地已知代價最小的鄰居節點作為下一跳。協議需建立和維護節點的已知代價值h(S,D),S代表當前節點,D代表下一跳節點,已知代價采用鄰居節點M的已知代價最小來實現,按照公式(1)進行定義。

節點選擇價值最小的鄰節點作為下一跳節點,節點S設置自己的已知代價值如公式(2)所示。

貪婪模式的缺點在于數據在區域內轉發時采用泛洪方式,造成了更多的能量消耗。在網絡規模增大時,路由空洞出現的概率升高,隨著路由空洞的擴大,網絡的連通性就無法保證,也會縮短網絡生存時間[7]。基于左右手法則的GPSR區域轉發恰好可以彌補貪婪模式造成的缺點,提高了網絡的應用性。
為了驗證路由協議的有效性,采用NS-2仿真平臺對本文的路由協議進行建模仿真。仿真環境的設置如表2所示。

表2 仿真環境的設置
1)路由成本。仿真結果如圖4所示。根據仿真的結果發現,基于左右手法則的GPSR協議比基于右手法則的路由成本低,這是由于改進后的協議解決了原協議繞行的可能,有效降低了路由轉發的成本。


2)網絡生存時間。網絡生存時間對比如圖5所示。由圖5可以看出,隨著通信流的增加,改進后的路由協議相比于傳統的GPSR協議生存時間有了明顯的提高。當通信流數量增加時,數據在感知區域傳輸的概率增加,能量開銷增加,但是由于采用了基于能量和距離的貪婪模式轉發,靠近目的節點的熱點路由選用了均衡能量的方式,能量消耗比較均衡。
本文主要針對GPSR協議研究了路由空洞和熱點路由的問題,對于路由空洞采用左右法守則處理區域路由空洞的問題,對于熱點路由采用能量均衡的方法予以解決。協議的改進經仿真實驗表明,改進后的協議無論從路由成本還是網絡生存時間方面都有了很大的提高,未來應將研究的重點集中在如何減少泛洪通信確定感知區域。
[1]楊鵑,韓雪松.無線傳感網絡節點定位技術[J].承德石油高等專科學校學報,2014,16(4):53-56.
[2]丁心體.zigbee協議棧及WSN路由協議的研究[D].太原:太原理工大學,2013.
[3]Jain R,PuriA,Sengupta R.Geographical RoutingUsing Partial Information forWireless AdHoc Networks[J].Personal Communication,2001,80(4):48 -57.
[4]吳三斌,柳強,李成博,等.基于能量均衡的無線傳感器網絡路由算法[J].計算機應用研究,2012,29(4):1465-1470.
[5]劉宇,趙志軍,沈強,等.能量感知的GPSR動態路由負載均衡[J].計算機工程與應用,2011,47(6):23-25.
[6]王麗娟.基于地理位置的貪婪無邊狀態路由算法理論及應用研究[D].太原:太原理工大學,2013.
[7]魏剛.一種基于地理位置信息的高能效的WSN路由協議的研究[D].沈陽:東北大學,2008.