適合無線傳感器網(wǎng)絡(luò)的路由算法MSAODV
4.3產(chǎn)生路由應(yīng)答
RREQ經(jīng)過中間節(jié)點的轉(zhuǎn)發(fā)到達(dá)目的節(jié)點或者是直接到達(dá)目的節(jié)點后,目的節(jié)點要進(jìn)行相應(yīng)的處理。
目的節(jié)點收到RREQ請求包,首先會判斷是否已經(jīng)收到過此請求包,如果沒有收到過則更新自己相應(yīng)的路由表項,目的節(jié)點把該路由表項的目的IP更新為源節(jié)點的IP地址,下一跳IP為發(fā)給他RR衛(wèi)Q請求幀的節(jié)點IP,目的節(jié)點序列號填上源節(jié)點的序列號,該序列號在RREQ請求幀里,跳數(shù)直接從RREQ請求幀里拷貝。在確認(rèn)請求的節(jié)點就是自己后,目的節(jié)點要給源節(jié)點發(fā)送一個RREP應(yīng)答幀,接下來目的節(jié)點構(gòu)造一個RREP應(yīng)答幀并正確初始化該幀。類型字段為2,表示該幀是RREP應(yīng)答幀。跳數(shù)字段為0,因為是目的節(jié)點發(fā)起的RREP應(yīng)答幀。目的節(jié)點產(chǎn)生一個RREP應(yīng)答包之前,必需更新自己的序列號,更新值為當(dāng)前序列號與RREQ請求包中的目的序列號兩者中的最大值,目的序列號字段被初始化為這個最大值。源IP地址指的是發(fā)起RREQ請求幀的源節(jié)點的IP地址,而不是指目的節(jié)點的IP地址,同樣的,目的IP地址就是目的節(jié)點的IP地址,也就是發(fā)起RREP應(yīng)答幀的節(jié)點IP地址。
在目的節(jié)點構(gòu)造好RREP回應(yīng)幀后,就要把該幀以單播的形式沿著反向路由傳送,他的下一跳節(jié)點IP地址是發(fā)給他RREQ請求幀的節(jié)點地址,可能是某個中間節(jié)點,也可能是源節(jié)點。一切準(zhǔn)備就緒,目的節(jié)點按照退避算法發(fā)送該幀。
4.4接收和轉(zhuǎn)發(fā)路由應(yīng)答
由于無線網(wǎng)絡(luò)的特點,盡管目的節(jié)點是以單播的形式向源節(jié)點回送RREP回應(yīng)幀,但是網(wǎng)絡(luò)中的很多節(jié)點也能接收到該幀,當(dāng)然,這些節(jié)點只是簡單的丟棄該幀,只有反向路由上的節(jié)點才會接收該RREP回應(yīng)幀。反向路由上的節(jié)點會沿著反向路由順利的把RREP回應(yīng)幀傳給源節(jié)點,同時他們也根據(jù)此RREP回應(yīng)幀建立了前向路由。該節(jié)點下面要完成的工作就是把該RREP回應(yīng)幀轉(zhuǎn)發(fā)出去。他要知道下一跳節(jié)點的IP地址,以RREP回應(yīng)幀中的源節(jié)點IP地址為關(guān)鍵字查找路由表,得到下一跳節(jié)點的IP,這個表項是在建立反向路由時建立或更新的。該中間節(jié)點在完成上面的步驟后,以退避算法轉(zhuǎn)發(fā)該RREP回應(yīng)幀。與RREQ請求幀的轉(zhuǎn)發(fā)不同,R.REP回應(yīng)幀的轉(zhuǎn)發(fā)是單播的,他不會像R.REQ請求幀那樣可能被轉(zhuǎn)發(fā)多次,所以R.REP回應(yīng)幀的字段里不存在廣播ID。
4.5新節(jié)點加入
無線傳感器網(wǎng)絡(luò)中的節(jié)點在開機(jī)或重啟之后,會向網(wǎng)絡(luò)廣播一個RESET消息,網(wǎng)絡(luò)中的其他節(jié)點收到此RESET消息后會轉(zhuǎn)發(fā)該幀,最后主節(jié)點收到該幀。新節(jié)點在RESET消息幀里攜帶自己的IP地址,這樣當(dāng)主節(jié)點收到該幀后就可以知道是哪個節(jié)點重啟。
收到RESET消息幀的其他節(jié)點首先查找自己的路由表看是否有主節(jié)點的IP地址,如果有就以單播的形式發(fā)送該幀,反之則繼續(xù)廣播此RESET消息幀。每個節(jié)點都要保存上一次他收到的RESET消息幀中的源節(jié)點IP地址,下次再收到RESET消息幀首先要比較源IP地址是否和保存值相同,相同就不再轉(zhuǎn)發(fā)該幀,在經(jīng)過一段時間后,將保存值清零,這樣就避免了重復(fù)轉(zhuǎn)發(fā)同一個RESET消息幀,又避免了不再轉(zhuǎn)發(fā)下次的RESET消息幀。
4.6其他操作
除了前文描述的產(chǎn)生路由請求、處理和轉(zhuǎn)發(fā)路由請求、產(chǎn)生路由應(yīng)答、接收和轉(zhuǎn)發(fā)路由應(yīng)答、新節(jié)點加入等主要操作外,MSAODV路由算法余下的操作可以參考第二章介紹的AODV路由算法。
5 本文作者創(chuàng)新點
AODV路由算法應(yīng)用在無線傳感器網(wǎng)絡(luò)中有一定的局限性,不能很好得適合無線傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu)。以無線傳感器網(wǎng)絡(luò)與傳統(tǒng)移動無線網(wǎng)著重點不同為依據(jù),本文提出了適合無線傳感器網(wǎng)絡(luò)的路由算法MSAODV,并詳細(xì)敘述分析了MSAODV路由算法。
本文引用地址:http://2s4d.com/article/163641.htm linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論