一種基于信標(biāo)的地理信息位置路由協(xié)議的改進(jìn)
摘要:空洞問題一直是無線傳感器網(wǎng)絡(luò)中基于地理信息位置路由協(xié)議研究的一個(gè)熱點(diǎn)。文章對ITGR算法提出了改進(jìn)措施,通過逆路由路徑方向?qū)ふ倚碌男艠?biāo)節(jié)點(diǎn)更新ITGR算法中的信標(biāo)節(jié)點(diǎn),從而擴(kuò)大ITGR算法的目標(biāo)陰影區(qū)域范圍,減少算法繞空洞時(shí)迂回路徑的長度。OMNeT++4.0仿真表明,改進(jìn)算法可以降低ITGR算法繞空洞的路由路徑的平均跳數(shù)和長度。
關(guān)鍵詞:無線傳感網(wǎng)絡(luò);路由協(xié)議;地理信息位置路由;信標(biāo)
0 引言
近年來,隨著低功耗、微型化GPS的發(fā)展,以及三邊測量等定位技術(shù)的日趨成熟,使得基于地理信息位置的路由算法日益成為研究的熱點(diǎn)。而且在無線傳感網(wǎng)絡(luò)中,很多應(yīng)用都與節(jié)點(diǎn)的位置信息有關(guān),甚至某些應(yīng)用必須知道節(jié)點(diǎn)的位置信息后,傳感器節(jié)點(diǎn)采集的信息才有真正的價(jià)值和意義。例如,在環(huán)境監(jiān)測中,需要知道被監(jiān)測點(diǎn)的位置信息;在森林火災(zāi)監(jiān)測和煤礦安全事故監(jiān)測中,需要知道發(fā)生險(xiǎn)情的位置信息;在跨海大橋橋梁安全監(jiān)測中,橋梁擺動(dòng)的幅度需要精確知道其位置偏移信息。以地理信息位置為導(dǎo)向的路由同時(shí)具有很強(qiáng)的路由導(dǎo)向性。以往傳統(tǒng)的路由需要存儲(chǔ)大量的路由表或者在整個(gè)網(wǎng)絡(luò)內(nèi)泛洪路由請求數(shù)據(jù)包來尋找數(shù)據(jù)包發(fā)送的路徑,而基于地理信息的位置路由,可以縮減路由請求的泛洪區(qū)域,甚至取消泛洪,大大降低整個(gè)網(wǎng)絡(luò)的能耗、擁塞,使得網(wǎng)絡(luò)的生存時(shí)間得以提高、網(wǎng)絡(luò)的規(guī)模得以提升。
1 相關(guān)算法研究
在基于地理信息位置路由算法依靠單跳鄰居節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的位置信息來確定路由,路由選擇比本節(jié)點(diǎn)更接近于目標(biāo)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)。但當(dāng)網(wǎng)絡(luò)中存在空洞的時(shí)候,該種貪婪算法有可能失效。對此,很多文章提出繞過空洞的解決方法,這些算法大體可以分為三類:局部泛洪機(jī)制、消息回退機(jī)制和面路由機(jī)制。其中以GPSR算法應(yīng)用最為基礎(chǔ)和廣泛。
GPSR算法結(jié)合了貪婪轉(zhuǎn)發(fā)路由和周邊路由,源節(jié)點(diǎn)先用貪婪轉(zhuǎn)發(fā)策略發(fā)送數(shù)據(jù)包,當(dāng)數(shù)據(jù)包到達(dá)局部最小節(jié)點(diǎn)時(shí),算法進(jìn)入周邊模式,即節(jié)點(diǎn)采用右手法則選擇下一跳節(jié)點(diǎn)。在周邊模式中如果一個(gè)節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的距離小于局部最小節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的距離,則在此算法由周邊模式恢復(fù)到貪婪算法模式中,依次重復(fù)直到到達(dá)目標(biāo)節(jié)點(diǎn)。
雖然當(dāng)源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)存在連接的時(shí)候,GPSR算法總能保證數(shù)據(jù)包的發(fā)送,但GPSR算法存在三角路由問題和盲目路由問題。對此GLR算法將算法由周邊模式恢復(fù)到貪婪轉(zhuǎn)發(fā)模式的節(jié)點(diǎn)稱為信標(biāo)節(jié)點(diǎn)(landmark),源節(jié)點(diǎn)在知道到達(dá)目標(biāo)節(jié)點(diǎn)的信標(biāo)節(jié)點(diǎn)位置信息后,可以直接將數(shù)據(jù)發(fā)送到目標(biāo)節(jié)點(diǎn)而不經(jīng)過局部最小節(jié)點(diǎn),從而優(yōu)化三角路由問題。同時(shí)信標(biāo)節(jié)點(diǎn)的發(fā)現(xiàn)過程采用前向發(fā)現(xiàn)與后向發(fā)現(xiàn)相結(jié)合的方式,避免盲目路由問題時(shí)數(shù)據(jù)包繞整個(gè)網(wǎng)絡(luò)轉(zhuǎn)發(fā)的情況。
相對于GLR一個(gè)目標(biāo)節(jié)點(diǎn)對應(yīng)一個(gè)信標(biāo)緩存的情況,ITGR算法提出目標(biāo)陰影區(qū)域的概念。通過一次信標(biāo)發(fā)現(xiàn)過程,發(fā)現(xiàn)到目標(biāo)節(jié)點(diǎn)路徑上的信標(biāo)節(jié)點(diǎn)和局部最小節(jié)點(diǎn)后;通過源節(jié)點(diǎn)、局部最小節(jié)點(diǎn)、信標(biāo)節(jié)點(diǎn)的平面直線方程不等式組劃定目標(biāo)節(jié)點(diǎn)陰影區(qū)域的范圍,一個(gè)信標(biāo)節(jié)點(diǎn)對應(yīng)目標(biāo)陰影區(qū)域范圍內(nèi)的所有節(jié)點(diǎn)。ITGR算法大大降低信標(biāo)緩存的大小,并且減少信標(biāo)發(fā)現(xiàn)過程,降低了控制開銷。
2 基于信標(biāo)的地理信息位置路由協(xié)議的改進(jìn)
本文在ITGR算法基礎(chǔ)上提出信標(biāo)后退算法,試圖擴(kuò)大目標(biāo)節(jié)點(diǎn)的陰影區(qū)域,讓一次信標(biāo)發(fā)現(xiàn)過程發(fā)現(xiàn)更大的目標(biāo)節(jié)點(diǎn)陰影區(qū)域,讓更多的節(jié)點(diǎn)使用信標(biāo)節(jié)點(diǎn)作為間接目標(biāo)節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù),并減少算法進(jìn)入周邊模式的次數(shù),縮短路由路徑。
下面我們通過舉例來說明如何擴(kuò)大目標(biāo)節(jié)點(diǎn)陰影區(qū)域范圍。在圖1中,S為源節(jié)點(diǎn),D為目標(biāo)節(jié)點(diǎn),陰影區(qū)域?yàn)閂OID區(qū)域(由于陰影區(qū)域中存在障礙物等原因,網(wǎng)絡(luò)無法通過此區(qū)域通信),P為局部最小節(jié)點(diǎn),B1為ITGR算法的信標(biāo)節(jié)點(diǎn),實(shí)線為源節(jié)點(diǎn)S按照ITGR算法發(fā)送數(shù)據(jù)包到目標(biāo)節(jié)點(diǎn)D的路徑,虛線為更新信標(biāo)節(jié)點(diǎn)后的路徑。
ITGR和GLR算法中定義信標(biāo)節(jié)點(diǎn)為路由算法由周邊模式恢復(fù)到貪婪轉(zhuǎn)發(fā)模式的節(jié)點(diǎn)。假設(shè)用DISTANCE(X,Y)來代表X與Y點(diǎn)之間的距離,B代表信標(biāo)節(jié)點(diǎn),則信標(biāo)節(jié)點(diǎn)B滿足公式(1)。由圖1可以發(fā)現(xiàn),不僅僅在信標(biāo)節(jié)點(diǎn)B滿足公式(1),按照數(shù)據(jù)包所走的路徑往后推,E、C、N、B2點(diǎn)都滿足公式(1),直到到達(dá)M點(diǎn),M點(diǎn)并不滿足公式(1)。所以在B2同時(shí)滿足公式(2)與公式(3)
DISTANCE(B,D)DISTANCE(P,D)……(1)
DISTANCE(N,D)DISTANCE(B,D)……(2)
DISTANCE(B,D)DISTANCE(M,D)……(3)
評(píng)論