一種基于信標的地理信息位置路由協(xié)議的改進
因此我們可以在ITGR發(fā)現(xiàn)信標節(jié)點的路徑上逆向?qū)ふ业谝粋€DISTANCE(X,Y)的峰值,并將其稱為新信標節(jié)點。當知道更新過信標節(jié)點后,下次S點再發(fā)送數(shù)據(jù)包到D時,直接將數(shù)據(jù)包發(fā)送給B2,然后由B2轉(zhuǎn)發(fā)給D點。從圖1中可見,未更新信標節(jié)點前,數(shù)據(jù)包發(fā)送路徑為實線代表的路徑,共16跳;更新過信標節(jié)點后,數(shù)據(jù)包發(fā)送的路徑為虛線所代表的路徑,共12跳??梢姼逻^信標節(jié)點后,可以節(jié)省路由跳數(shù)。采用ITGR算法,S點第二次向D點發(fā)送數(shù)據(jù)時,先將數(shù)據(jù)發(fā)送給間接目標節(jié)點B1點,但在使用貪婪算法向B1點發(fā)送數(shù)據(jù)的時候,到達Z點遇到空洞問題,此時Z點使用周邊模式向B1轉(zhuǎn)發(fā)數(shù)據(jù)包。而如果采用了更新信標算法,S點第二次向D點發(fā)送數(shù)據(jù)的時候直接將數(shù)據(jù)包發(fā)送給B2,此時,路由路徑不需要進入周邊算法模式,從S到B2和B2到D點都可以直接使用貪婪算法轉(zhuǎn)發(fā)。本文引用地址:http://m.ptau.cn/article/160706.htm
假設X為射線SB2上的一點,Y為射線SB1上的一點,Z為射線SP上的一點。則ITGR算法中目標節(jié)點陰影區(qū)域為YB2PZ,如圖2中的斜線區(qū)域;更新信標節(jié)點后,目標節(jié)點陰影區(qū)域為XB2PZ,如圖中的網(wǎng)狀區(qū)域。由圖2可見區(qū)域XB2PZ比區(qū)域YB2PZ更大,說明采用新信標節(jié)點可以擴大目標節(jié)點陰影區(qū)域范圍。
改進后的路由算法描述如下:源節(jié)點向目標節(jié)點發(fā)送數(shù)據(jù)時,按照ITGR算法將數(shù)據(jù)包轉(zhuǎn)發(fā)到B1點,在B1點按照ITGR算法數(shù)據(jù)發(fā)送模式由周邊算法模式恢復到貪婪算法模式中。我們在此加入LBD(landmark backward discovery)算法,即信標節(jié)點后向推移算法。根據(jù)ITGR算法,路由模式mode在B1點將變?yōu)镚REEDY,此時節(jié)點將采用LBD算法轉(zhuǎn)發(fā)數(shù)據(jù),算法偽代碼如表1所示。LBD首先判斷信標節(jié)點的上一跳節(jié)點是否比信標節(jié)點到目標節(jié)點的距離更遠。如果不是,則直接繼續(xù)按ITGR原來算法運行;如果是,則更改數(shù)據(jù)包模式并將數(shù)據(jù)包發(fā)送給上一跳節(jié)點,然后按照左手法則依次向回查找距離目標節(jié)點,直到查找到新的信標節(jié)點或者回傳數(shù)據(jù)包到局部最小節(jié)點。
評論