IMAODV路由協(xié)議在高速移動(dòng)的網(wǎng)絡(luò)中的應(yīng)用
1.2.4 鏈路修復(fù)的改進(jìn)
由于IMAODV路由中每個(gè)節(jié)點(diǎn)對(duì)路由應(yīng)答包具有偵聽(tīng)功能,所以主路徑上節(jié)點(diǎn)的一跳鄰居都能夠偵聽(tīng)到此包,所以都能通過(guò)主路徑上的節(jié)點(diǎn)建立到目的節(jié)點(diǎn)的路由,這樣就形成了多個(gè)到目的節(jié)點(diǎn)的備份路由。當(dāng)主路由上的某條鏈路斷開(kāi)時(shí),便可以通過(guò)路由請(qǐng)求RREQ進(jìn)行局部修復(fù)。為了減小路由請(qǐng)求的開(kāi)銷(xiāo),本文設(shè)置了路由請(qǐng)求的生存期為2跳,中間節(jié)點(diǎn)收到路由請(qǐng)求時(shí),若路由生存期不為0,則查找自己是否有到目的節(jié)點(diǎn)的路由。若有,則按原AODV的方式進(jìn)行應(yīng)答,若沒(méi)有則繼續(xù)廣播路由請(qǐng)求消息,直到生存期變?yōu)?時(shí)丟棄包。當(dāng)局部修復(fù)失敗時(shí),節(jié)點(diǎn)再?gòu)V播路由錯(cuò)誤包。
1.2.5 IMAODV路由協(xié)議
IMAODV在路由請(qǐng)求、路由應(yīng)答以及路由表中添加metric字段,以記錄路徑上每個(gè)節(jié)點(diǎn)的累計(jì)路由度量值。當(dāng)源節(jié)點(diǎn)需要通信路由時(shí),先初始化metric為0,再?gòu)V播這個(gè)RREQ包啟動(dòng)路由發(fā)現(xiàn)過(guò)程。中間節(jié)點(diǎn)的路由表段中添加一個(gè)rt_metric,記錄從源節(jié)點(diǎn)到該節(jié)點(diǎn)路徑上的路徑度量最小值,中間節(jié)點(diǎn)收到非重復(fù)的RREQ包時(shí),將自身的metric值累加到路由RREQ中的rq_metric上,再繼續(xù)轉(zhuǎn)發(fā)。如果節(jié)點(diǎn)已經(jīng)收到了同一源節(jié)點(diǎn)相同的廣播ID的RREQ,且包的目的序列號(hào)大于路由表中序列號(hào),則直接更新路由,若相等就通過(guò)比較rq_metric與rt_metric,選較小者作為本路由表項(xiàng)中的rt_metric,即更新路由表項(xiàng)再轉(zhuǎn)發(fā)包。當(dāng)路由請(qǐng)求包到達(dá)目的節(jié)點(diǎn)時(shí),目的節(jié)點(diǎn)將選擇一個(gè)擁有較小metric的路由,發(fā)送路由回復(fù)RREP。路由應(yīng)答是以單播的方式傳送,接收到此包的節(jié)點(diǎn)時(shí),首先根據(jù)接收包中下一跳信息判斷本節(jié)點(diǎn)是監(jiān)聽(tīng)節(jié)點(diǎn)還是正常的路由應(yīng)答節(jié)點(diǎn),如下一跳ID不等于本節(jié)點(diǎn)ID,則本節(jié)點(diǎn)是監(jiān)聽(tīng)節(jié)點(diǎn),此時(shí)記錄到目的節(jié)點(diǎn)的路由后不再轉(zhuǎn)發(fā),否則是主路徑上的節(jié)點(diǎn),則按照傳統(tǒng)AODV路由應(yīng)答的方式進(jìn)行處理。圖3為IMAODV路由建立的流程。
在圖3中,路由建立或更新是根據(jù)路由序列號(hào)和路由度量值來(lái)決定的。如果是第一次收到路由請(qǐng)求包,則建立路由;若收到請(qǐng)求包中的目的節(jié)點(diǎn)序列號(hào)大于路由表中存儲(chǔ)的目的節(jié)點(diǎn)序列號(hào)或是等于路由表中存儲(chǔ)的目的序列號(hào),但路由表中的路由度量值大于請(qǐng)求包中的路由度量值,則更新路由?!笆欠窈雎浴睓z查是否收到重復(fù)的包,若是,則丟棄;否則更新路由表和請(qǐng)求包信息再轉(zhuǎn)發(fā)。
2 仿真分析
2.1仿真環(huán)境
仿真工具采用NS-2.30[7]版本,網(wǎng)絡(luò)的拓?fù)洵h(huán)境是一個(gè)包含50個(gè)移動(dòng)節(jié)點(diǎn)的網(wǎng)絡(luò)模型,節(jié)點(diǎn)隨機(jī)分布在1 000 m×1 000 m的正方形區(qū)域內(nèi),并設(shè)置節(jié)點(diǎn)的移動(dòng)速度在0 m/s~40 m/s之間,每個(gè)節(jié)點(diǎn)的無(wú)線接口帶寬為2 Mb/s,有效無(wú)線發(fā)射范圍為250 m,鏈路層采用無(wú)線802.11 MAC協(xié)議,在50個(gè)節(jié)點(diǎn)中隨機(jī)產(chǎn)生4對(duì)恒定比特率的CBR連接,每個(gè)分組的長(zhǎng)度為512 B,每秒發(fā)送4個(gè)包,為了考察改進(jìn)的協(xié)議在網(wǎng)絡(luò)仿真環(huán)境中的性能,本文將模擬節(jié)點(diǎn)速度在0~20 m/s時(shí)由于停留時(shí)間(pause time)、網(wǎng)絡(luò)中節(jié)點(diǎn)間最大連接數(shù)以及節(jié)點(diǎn)的速度的變化對(duì)網(wǎng)絡(luò)吞吐量的影響,還有節(jié)點(diǎn)移動(dòng)速度變化對(duì)網(wǎng)絡(luò)平均端到端延遲的影響,設(shè)置了在相同環(huán)境下與AODV作比較,給出了仿真結(jié)果。
2.2 仿真結(jié)果及性能分析
圖4顯示了端到端延遲與節(jié)點(diǎn)移動(dòng)速度的關(guān)系,由此可知IMAODV協(xié)議的平均端到端延遲隨節(jié)點(diǎn)移動(dòng)速度的增大優(yōu)于AODV協(xié)議,其原因是在路由度量中考慮了每一跳的延遲,且改進(jìn)的HELLO機(jī)制的發(fā)送頻率與節(jié)點(diǎn)移動(dòng)速度有關(guān),能較快地發(fā)現(xiàn)路由斷鏈情況并做出相應(yīng)處理。圖中節(jié)點(diǎn)最大速度為5 m/s時(shí),由于處于低速狀態(tài),IMAODV優(yōu)勢(shì)并不突出,較AODV的延遲大,但是隨著節(jié)點(diǎn)的移動(dòng)速度的增加,IMAODV的平均端到端延遲低于AODV;當(dāng)節(jié)點(diǎn)最大移動(dòng)速度達(dá)到40 m/s時(shí),IMAODV的延遲約為AODV延遲的1/2。從總體來(lái)看,隨著節(jié)點(diǎn)移動(dòng)速度的增加,IMAODV延遲有所下降。
圖5中IMAODV在路由度量值和HELLO消息機(jī)制中考慮到節(jié)點(diǎn)移動(dòng)速度的影響,并且節(jié)點(diǎn)具有偵聽(tīng)路由應(yīng)答的功能,使其具有多條到目的節(jié)點(diǎn)的路由。這樣在斷鏈的時(shí)候能夠及時(shí)地恢復(fù)路由,進(jìn)行數(shù)據(jù)傳輸,隨著節(jié)點(diǎn)速度的提高,IMAODV的吞吐量明顯優(yōu)于AODV,如圖5所示,在節(jié)點(diǎn)最大移動(dòng)速度為10 m/s和15 m/s時(shí),IMAODV能提供比AODV高29.4%和34.3%的網(wǎng)絡(luò)吞吐量。
圖6中反映了節(jié)點(diǎn)停留時(shí)間與吞吐量的關(guān)系,此時(shí)場(chǎng)景中節(jié)點(diǎn)的最大移動(dòng)速度為20 m/s,停留時(shí)間在40 s、50 s以及150 s時(shí),IMAODV的吞吐量較AODV略有下降,原因是這些場(chǎng)景中中間節(jié)點(diǎn)的移動(dòng)速度較小,由于新協(xié)議中路由度量是多個(gè)方面的折中考慮,所以在移動(dòng)速度不明顯的時(shí)候,IMAODV的優(yōu)越性就不太明顯,但總體性能較AODV好。
評(píng)論