韓雪松,楊 鵑
(承德石油高等??茖W(xué)校計算機與信息工程系,河北 承德 067000)
Zigbee井下監(jiān)控系統(tǒng)基于zigbee射頻通信技術(shù),主要用于環(huán)境參數(shù)檢測、人員定位和統(tǒng)計、異常報警。Zigbee網(wǎng)絡(luò)節(jié)點采用電池的供電方式,節(jié)點能量有限,井下的復(fù)雜工作環(huán)境,例如粉塵、噪聲、濕度和溫度等多方面的因素影響著射頻信號在信道中的傳輸[1],提高網(wǎng)絡(luò)傳輸?shù)男?、減少節(jié)點的功耗是路由協(xié)議研究的重要內(nèi)容。本系統(tǒng)的網(wǎng)絡(luò)路由協(xié)議基于地理路由協(xié)議(GPSR),該協(xié)議的主旨是減少路由長度、減少路由開銷等,最初由哈佛大學(xué)的Brad Karp和H.T.Kung在2000年的ACM移動計算和網(wǎng)絡(luò)會議上提出的貪婪周邊無狀態(tài)路由協(xié)議,它利用節(jié)點的地理位置信息,根據(jù)GPSR轉(zhuǎn)發(fā)策略進行路由的傳遞。
節(jié)點間通過廣播方式獲取鄰居節(jié)點的地理位置信息,網(wǎng)絡(luò)拓撲圖按照RNG和GG平面圖規(guī)劃出多區(qū)域。節(jié)點轉(zhuǎn)發(fā)模式分為貪婪轉(zhuǎn)發(fā)和邊界轉(zhuǎn)發(fā)兩種。貪婪轉(zhuǎn)發(fā)下,當(dāng)前節(jié)點將距離目的節(jié)點最近的一個鄰居節(jié)點作為下一跳節(jié)點,直到目的節(jié)點或是遇到路由空洞進入邊界轉(zhuǎn)發(fā)模式。節(jié)點處于轉(zhuǎn)發(fā)模式時,節(jié)點與目的節(jié)點的連線做參考,在逆時針方向上選擇第一條轉(zhuǎn)發(fā)數(shù)據(jù)包,知道數(shù)據(jù)包到達目的節(jié)點或者發(fā)現(xiàn)距離目的節(jié)點更近的鄰居節(jié)點重新進入貪婪轉(zhuǎn)發(fā)模式。
當(dāng)網(wǎng)絡(luò)節(jié)點密度較低或是網(wǎng)絡(luò)節(jié)點布置不合理時,貪婪轉(zhuǎn)發(fā)策略找不到比自己距離目的節(jié)點更近的節(jié)點,便出現(xiàn)了路由空洞。距離目的節(jié)點最近的節(jié)點由于經(jīng)常轉(zhuǎn)發(fā)節(jié)點信息,造成節(jié)點能量損耗過大,導(dǎo)致網(wǎng)絡(luò)過早死亡,此類節(jié)點被稱作為熱點路由節(jié)點[2]。針對GPSR存在的路由空洞和熱點路由問題,國內(nèi)外學(xué)者給出了多種改進方案。GRA協(xié)議建議當(dāng)遇到路由空洞時,用泛洪機制搜素到目的節(jié)點的路由,然后在路由表中保持該路由,以減少將來可能發(fā)生的路由查找過程[3]。該算法的缺點是泛洪機制的添加會浪費節(jié)點大量的能量,減少了網(wǎng)絡(luò)的生命周期。文獻[4]作者提出了路由算法IGPSR-2,將前向區(qū)域劃分為四個子區(qū)域,選擇節(jié)點能量方差最小的子區(qū)域作為路由選擇區(qū)域,然后在此區(qū)域中用概率機制選擇下一跳,有效地均衡了網(wǎng)絡(luò)節(jié)點的能量消耗。GPSR熱點路由問題導(dǎo)致有些節(jié)點過早死亡,造成網(wǎng)絡(luò)生存時間的縮短,文獻[5]提出了隨機性選擇路由和確定性選擇路由兩種策略,在選擇路由時對節(jié)點的能量狀態(tài)加以考慮,延長了網(wǎng)絡(luò)生存時間。
路由協(xié)議在進行報文轉(zhuǎn)發(fā)之前,需根據(jù)路由節(jié)點所處的位置來調(diào)整路由策略,路由協(xié)議初始化流程如圖1所示。
空洞區(qū)域的確認(rèn)如圖2所示。
節(jié)點B0和節(jié)點D分別為網(wǎng)絡(luò)的源節(jié)點和目的節(jié)點,虛線圓表示目的節(jié)點的通信范圍,實線圓表示源節(jié)點的通信范圍,兩個圓形的交叉區(qū)域就是空洞區(qū)域,空洞區(qū)域內(nèi)的路由節(jié)點被稱之為空洞節(jié)點。
網(wǎng)絡(luò)中的節(jié)點周期性的發(fā)送信號檢測自己是否為空洞節(jié)點,最先檢測到自己為空洞節(jié)點的B0,按右手定則向下一跳鄰居節(jié)點發(fā)送空洞邊界檢測包,檢測包內(nèi)包含節(jié)點的ID和坐標(biāo)值,收到檢測包的節(jié)點將自己的節(jié)點的ID和坐標(biāo)值續(xù)寫到檢測包內(nèi)部,繼續(xù)按右手定則轉(zhuǎn)發(fā),直到檢測包發(fā)送給B0,此時空洞邊界檢測完成,取空洞區(qū)域的邊界節(jié)點連線的最大值的中心點,以中心點O到邊界節(jié)點的最大距離為半徑r,劃分空洞覆蓋區(qū)域。
空洞區(qū)域確認(rèn)好后,節(jié)點B0將向以O(shè)為圓心、以b×r為半徑的區(qū)域廣播空洞發(fā)現(xiàn)報文,內(nèi)容包括空洞區(qū)域的報文ID值、B0的ID值、,中心點坐標(biāo)、半徑、參數(shù)b、區(qū)域內(nèi)所有空洞邊界節(jié)點的ID值??臻g內(nèi)收到報文的網(wǎng)絡(luò)節(jié)點首先確認(rèn)自己的ID值是否在報文內(nèi),如果存在這節(jié)點確認(rèn)為感知節(jié)點,將報文內(nèi)容保存并進行轉(zhuǎn)發(fā)。從而建立了以O(shè)為原點、以b×r為半徑的感知區(qū)域。當(dāng)數(shù)據(jù)包轉(zhuǎn)發(fā)到感知區(qū)域的網(wǎng)絡(luò)節(jié)點后,選擇路由轉(zhuǎn)發(fā)策略,建立一條最優(yōu)的路徑。
本文對該轉(zhuǎn)發(fā)過程進行改進,將左手法則和右手法則結(jié)合使用[6],確認(rèn)數(shù)據(jù)包的下一跳的具體位置,縮短轉(zhuǎn)發(fā)路徑。首先對感知域進行分區(qū),假設(shè)S為進入感知域的節(jié)點,D為目標(biāo)節(jié)點為兩節(jié)點的連接線段,將感知域劃分為兩部分。沿向量方向,左側(cè)區(qū)域定義為右手法則區(qū),右側(cè)區(qū)域為左側(cè)法則區(qū),區(qū)域轉(zhuǎn)發(fā)協(xié)議按照以下算法進行。
1)首先根據(jù)右手法則,確定S節(jié)點的下一跳節(jié)點位置。
2)如果進入到右手法則區(qū),則采用左手法則進行轉(zhuǎn)發(fā)。反之,如果進入左手法則區(qū),則采用右手法則進行轉(zhuǎn)發(fā)。
3)邊界轉(zhuǎn)發(fā)過程中,當(dāng)前節(jié)點距離目標(biāo)節(jié)點的距離小于邊界閾值時,路由轉(zhuǎn)發(fā)策略轉(zhuǎn)為貪婪轉(zhuǎn)發(fā)模式。
所有節(jié)點都維護著鄰居表,鄰居表內(nèi)存儲著單跳鄰節(jié)點的ID和坐標(biāo)。GPSR協(xié)議的數(shù)據(jù)包頭字段如表1所示,以M字段表征目前數(shù)據(jù)包的發(fā)送模式。
表1 GPSR協(xié)議的數(shù)據(jù)包頭字段
源節(jié)點準(zhǔn)備向目的節(jié)點轉(zhuǎn)發(fā)報文時,首先判定節(jié)點是否處于感知區(qū)域,如果處于感知區(qū)域則采用右手守則執(zhí)行下一跳。在每次轉(zhuǎn)發(fā)到下一跳節(jié)點時,都應(yīng)首先判定與目的節(jié)點的距離,小于閾值則進入貪婪模式,否則進入左右判定的區(qū)域轉(zhuǎn)發(fā)模式。基于左右手規(guī)則的路由轉(zhuǎn)發(fā)協(xié)議的流程如圖3所示。
貪婪模式的路由轉(zhuǎn)發(fā),應(yīng)注意熱點路由的問題,選擇下一跳網(wǎng)絡(luò)節(jié)點考慮因素除了要考慮網(wǎng)絡(luò)節(jié)點距離目的節(jié)點的距離,還要考慮節(jié)點自身的能量因素,選擇通往目的地已知代價最小的鄰居節(jié)點作為下一跳。協(xié)議需建立和維護節(jié)點的已知代價值h(S,D),S代表當(dāng)前節(jié)點,D代表下一跳節(jié)點,已知代價采用鄰居節(jié)點M的已知代價最小來實現(xiàn),按照公式(1)進行定義。
節(jié)點選擇價值最小的鄰節(jié)點作為下一跳節(jié)點,節(jié)點S設(shè)置自己的已知代價值如公式(2)所示。
貪婪模式的缺點在于數(shù)據(jù)在區(qū)域內(nèi)轉(zhuǎn)發(fā)時采用泛洪方式,造成了更多的能量消耗。在網(wǎng)絡(luò)規(guī)模增大時,路由空洞出現(xiàn)的概率升高,隨著路由空洞的擴大,網(wǎng)絡(luò)的連通性就無法保證,也會縮短網(wǎng)絡(luò)生存時間[7]?;谧笥沂址▌t的GPSR區(qū)域轉(zhuǎn)發(fā)恰好可以彌補貪婪模式造成的缺點,提高了網(wǎng)絡(luò)的應(yīng)用性。
為了驗證路由協(xié)議的有效性,采用NS-2仿真平臺對本文的路由協(xié)議進行建模仿真。仿真環(huán)境的設(shè)置如表2所示。
表2 仿真環(huán)境的設(shè)置
1)路由成本。仿真結(jié)果如圖4所示。根據(jù)仿真的結(jié)果發(fā)現(xiàn),基于左右手法則的GPSR協(xié)議比基于右手法則的路由成本低,這是由于改進后的協(xié)議解決了原協(xié)議繞行的可能,有效降低了路由轉(zhuǎn)發(fā)的成本。
2)網(wǎng)絡(luò)生存時間。網(wǎng)絡(luò)生存時間對比如圖5所示。由圖5可以看出,隨著通信流的增加,改進后的路由協(xié)議相比于傳統(tǒng)的GPSR協(xié)議生存時間有了明顯的提高。當(dāng)通信流數(shù)量增加時,數(shù)據(jù)在感知區(qū)域傳輸?shù)母怕试黾?,能量開銷增加,但是由于采用了基于能量和距離的貪婪模式轉(zhuǎn)發(fā),靠近目的節(jié)點的熱點路由選用了均衡能量的方式,能量消耗比較均衡。
本文主要針對GPSR協(xié)議研究了路由空洞和熱點路由的問題,對于路由空洞采用左右法守則處理區(qū)域路由空洞的問題,對于熱點路由采用能量均衡的方法予以解決。協(xié)議的改進經(jīng)仿真實驗表明,改進后的協(xié)議無論從路由成本還是網(wǎng)絡(luò)生存時間方面都有了很大的提高,未來應(yīng)將研究的重點集中在如何減少泛洪通信確定感知區(qū)域。
[1]楊鵑,韓雪松.無線傳感網(wǎng)絡(luò)節(jié)點定位技術(shù)[J].承德石油高等??茖W(xué)校學(xué)報,2014,16(4):53-56.
[2]丁心體.zigbee協(xié)議棧及WSN路由協(xié)議的研究[D].太原:太原理工大學(xué),2013.
[3]Jain R,PuriA,Sengupta R.Geographical RoutingUsing Partial Information forWireless AdHoc Networks[J].Personal Communication,2001,80(4):48 -57.
[4]吳三斌,柳強,李成博,等.基于能量均衡的無線傳感器網(wǎng)絡(luò)路由算法[J].計算機應(yīng)用研究,2012,29(4):1465-1470.
[5]劉宇,趙志軍,沈強,等.能量感知的GPSR動態(tài)路由負載均衡[J].計算機工程與應(yīng)用,2011,47(6):23-25.
[6]王麗娟.基于地理位置的貪婪無邊狀態(tài)路由算法理論及應(yīng)用研究[D].太原:太原理工大學(xué),2013.
[7]魏剛.一種基于地理位置信息的高能效的WSN路由協(xié)議的研究[D].沈陽:東北大學(xué),2008.