胡 博,陳侃松,顧豪爽,阮玉龍
1(湖北大學(xué) 物理與電子科學(xué)學(xué)院,武漢 430062) 2(湖北大學(xué) 計(jì)算機(jī)與信息工程學(xué)院物聯(lián)網(wǎng)工程研究所,武漢 430062)
移動(dòng)自組網(wǎng)網(wǎng)絡(luò)(mobile ad-hoc network,MANET)[1,2]中,節(jié)點(diǎn)可以自由移動(dòng),具有很高的靈活性,網(wǎng)絡(luò)拓?fù)涞膭?dòng)態(tài)變化影響著通信鏈路的穩(wěn)定性,導(dǎo)致網(wǎng)絡(luò)的丟包率與端到端時(shí)延的增加.因此,移動(dòng)自組網(wǎng)的路由協(xié)議研究一直是無(wú)線傳感網(wǎng)絡(luò)領(lǐng)域的熱點(diǎn)問(wèn)題.針對(duì)MANET網(wǎng)絡(luò),路由協(xié)議按照發(fā)現(xiàn)機(jī)制可主要分為表驅(qū)動(dòng)型和按需路由型.其中按需路由協(xié)議拓?fù)浣Y(jié)構(gòu)和路由緩存是按需建立的,由于其路由開(kāi)銷(xiāo)及路由控制簡(jiǎn)單等特點(diǎn)使得在動(dòng)態(tài)變化的移動(dòng)網(wǎng)絡(luò)中應(yīng)用比按需路由協(xié)議更具優(yōu)勢(shì)[3].
目前MANET常用的按需路由協(xié)議有AODV[4,5](ad hoc on-demand distance vector routing)和DSR[6,7](dynamic source routing).這兩種路由協(xié)議都是主要由路由發(fā)現(xiàn)與路由維護(hù)兩部分組成,且不需要周期性維護(hù)路由表,減小了網(wǎng)絡(luò)資源消耗.為了進(jìn)一步優(yōu)化路由分組投遞率與時(shí)延,研究人員提出了許多對(duì)于路由協(xié)議的改進(jìn)方法,這些方法在網(wǎng)絡(luò)拓?fù)渥兓俣确€(wěn)定的環(huán)境對(duì)網(wǎng)絡(luò)性能均有一定的改善,但對(duì)于隨機(jī)性更強(qiáng)的動(dòng)態(tài)拓?fù)渚W(wǎng)絡(luò)需要進(jìn)一步的研究.為此,本文設(shè)計(jì)了一種基于網(wǎng)絡(luò)拓?fù)渥兓俣炔⒁朐绰酚傻陌葱杈嚯x矢量路由算法(AODV Routing based on dynamic source,DSODV),改進(jìn)后的協(xié)議通過(guò)分析網(wǎng)絡(luò)拓?fù)渥兓⒉扇〔煌穆酚砂l(fā)現(xiàn)機(jī)制,有效的降低了網(wǎng)絡(luò)的端到端時(shí)延并提高了網(wǎng)絡(luò)分組投遞率.
按需路由協(xié)議是在沒(méi)有路由緩存或者路由失效時(shí)才啟動(dòng),主要分為路由發(fā)現(xiàn)和路由維護(hù)兩個(gè)過(guò)程.其中,路由發(fā)現(xiàn)過(guò)程中源節(jié)點(diǎn)廣播RREQ分組,中間節(jié)點(diǎn)接收經(jīng)檢測(cè)后轉(zhuǎn)發(fā),到達(dá)目的節(jié)點(diǎn)后建立反向路由,目的節(jié)點(diǎn)或有到目的節(jié)點(diǎn)的中間節(jié)點(diǎn)產(chǎn)生路由應(yīng)答RREP.路由維護(hù)過(guò)程是源節(jié)點(diǎn)檢測(cè)到目的節(jié)當(dāng)前路由可用情況,當(dāng)網(wǎng)絡(luò)拓?fù)渥兓瘜?dǎo)致鏈路中斷時(shí),切換到另一條路由或重新發(fā)起路由發(fā)現(xiàn)[8].AODV與DSR的是基于此路由發(fā)現(xiàn)和維護(hù)機(jī)制的兩種應(yīng)用較為廣泛的兩種路由協(xié)議.
AODV路由協(xié)議路由發(fā)現(xiàn)過(guò)程是用廣播的方式實(shí)現(xiàn),在傳輸?shù)倪^(guò)程中包含3類(lèi)型的消息:路由請(qǐng)求(RREQ)、路由回復(fù)(RREP)和路由錯(cuò)誤(RERR).若由數(shù)組分組需要傳輸,當(dāng)前節(jié)點(diǎn)會(huì)檢查自己路由表是否有存到目的節(jié)點(diǎn)的路由,若不存在就會(huì)啟動(dòng)路由發(fā)現(xiàn)過(guò)程.首先向其鄰居節(jié)點(diǎn)廣播RREQ,接收到請(qǐng)求分組的節(jié)點(diǎn)會(huì)檢測(cè)自身是否是目的節(jié)點(diǎn)或其路由表中是否有到目的節(jié)點(diǎn)的路由,若其不是目的節(jié)點(diǎn)且路由表不存在到目的節(jié)點(diǎn)的路由時(shí)該節(jié)點(diǎn)會(huì)繼續(xù)轉(zhuǎn)發(fā)RREQ分組,直至源節(jié)點(diǎn)到目的節(jié)點(diǎn)建立一條可以通信的路由.AODV的路由維護(hù)方式有鄰居發(fā)現(xiàn)和鏈路層反饋兩種:鄰居節(jié)點(diǎn)發(fā)現(xiàn)是通過(guò)周期性廣播HELLO報(bào)文,維護(hù)與鄰居互連;鏈路層反饋是在轉(zhuǎn)發(fā)數(shù)據(jù)分組過(guò)程中,鏈路層檢測(cè)到下一跳節(jié)點(diǎn)路由信息無(wú)法到達(dá)目的節(jié)點(diǎn)時(shí),進(jìn)行本地恢復(fù)或廣播RERR操作.
動(dòng)態(tài)源路由協(xié)議DSR是一種低開(kāi)銷(xiāo)的快速響應(yīng)按需路由協(xié)議.源節(jié)點(diǎn)在要發(fā)送數(shù)據(jù)之前會(huì)先檢測(cè)路由表中是否存在到目的節(jié)點(diǎn)的路由,如果有,他會(huì)將此信息附加到數(shù)據(jù)分組首部,經(jīng)過(guò)的中間節(jié)點(diǎn)會(huì)按照順序轉(zhuǎn)發(fā),最終到達(dá)目的節(jié)點(diǎn);如果沒(méi)有,源節(jié)點(diǎn)啟動(dòng)路由發(fā)現(xiàn),以泛洪的方式廣播RREQ分組,轉(zhuǎn)發(fā)此分組的節(jié)點(diǎn)將自己的地址附在RREQ中并繼續(xù)向下轉(zhuǎn)發(fā),直至到目的節(jié)點(diǎn),則回復(fù)RREP分組.路由發(fā)現(xiàn)過(guò)程中會(huì)使得源節(jié)點(diǎn)存儲(chǔ)了到達(dá)目的節(jié)點(diǎn)的多條路由,當(dāng)鏈路發(fā)生中斷或路由信息過(guò)期,可以選擇另外的路由進(jìn)行數(shù)據(jù)發(fā)送,使得DSR協(xié)議降低了路由信息維護(hù)方面的開(kāi)銷(xiāo).但同時(shí)因此也會(huì)存在問(wèn)題,由于網(wǎng)絡(luò)拓?fù)涞念l繁變化,緩存的路徑會(huì)出現(xiàn)頻繁失效的現(xiàn)象,此時(shí)需要啟動(dòng)路由發(fā)現(xiàn)過(guò)程進(jìn)行新路徑搜尋,消耗額外的網(wǎng)絡(luò)資源.
目前的一些關(guān)于AODV路由協(xié)議改進(jìn)的文獻(xiàn),對(duì)AODV路由協(xié)議的研究和改進(jìn)主要集中在幾個(gè)方面:
1)降低路由控制開(kāi)銷(xiāo)
AODV路由發(fā)現(xiàn)過(guò)程是采用洪泛路由請(qǐng)求包進(jìn)行的,而Ad hoc網(wǎng)絡(luò)可用的網(wǎng)絡(luò)資源十分有限,降低路由控制開(kāi)銷(xiāo)可以減少對(duì)網(wǎng)絡(luò)資源的利用,提高數(shù)據(jù)傳輸效率.其中基于概率的方法最為簡(jiǎn)單.
2)提高鏈路的穩(wěn)定性
目前提高鏈路穩(wěn)定性的算法大致分為兩類(lèi),一是改進(jìn)路由修復(fù)過(guò)程,二是通過(guò)添加鏈路預(yù)測(cè)模型,提前將不穩(wěn)定的鏈路切換到穩(wěn)定性較好的鏈路上.
3)節(jié)能路由、功率控制、跨層優(yōu)化等其他方面
節(jié)點(diǎn)節(jié)能技術(shù)一直是Ad hoc網(wǎng)絡(luò)技術(shù)研究的重點(diǎn).傳統(tǒng)的路由優(yōu)化方法局限在網(wǎng)絡(luò)層單層協(xié)議上,跨層優(yōu)化方法可以使各協(xié)議層信息共享,從而使路由算法和網(wǎng)絡(luò)性能得到提升.
按需路由協(xié)議只在無(wú)路由或路由失效時(shí)啟動(dòng)路由發(fā)現(xiàn)與維護(hù),當(dāng)網(wǎng)絡(luò)拓?fù)浒l(fā)生變化,路由發(fā)現(xiàn)與維護(hù)頻繁發(fā)生,網(wǎng)絡(luò)資源的開(kāi)銷(xiāo)增大且穩(wěn)定性降低.為了提高在移動(dòng)自組網(wǎng)絡(luò)路由協(xié)議的性能,研究者們提出了很多改進(jìn).例如,李向麗等人[9]提出的ARB-AODV是通過(guò)檢測(cè)節(jié)點(diǎn)接收功率是否到達(dá)閾值判斷斷裂可能性,并在即將斷裂的鏈路添加節(jié)點(diǎn)來(lái)避免鏈路斷裂.Yadav等人[10]針對(duì)AODV提出了一種基于信號(hào)強(qiáng)度的鏈路可用性預(yù)測(cè)改進(jìn)方法,節(jié)點(diǎn)會(huì)預(yù)測(cè)鏈路斷開(kāi)時(shí)間,并基于這一信息提前進(jìn)行路由恢復(fù)或新的路由發(fā)現(xiàn),減少了端到端延時(shí)和數(shù)據(jù)包的丟失.孫友偉等人[11]提出的根據(jù)節(jié)點(diǎn)和鏈路穩(wěn)定性的ND_AODV協(xié)議,該協(xié)議根據(jù)節(jié)點(diǎn)間距離設(shè)置轉(zhuǎn)發(fā)等待時(shí)間,并根據(jù)鄰節(jié)點(diǎn)數(shù)設(shè)置轉(zhuǎn)發(fā)概率等方式選擇穩(wěn)定路由.杜海韜等人[12]通過(guò)獲取MAC與物理層獲取鏈路質(zhì)量和節(jié)點(diǎn)能量信息選取最優(yōu)路由路徑建立的路由協(xié)議LE-AODV,該協(xié)議通過(guò)對(duì)路徑的能量狀態(tài)和跳數(shù)限制的路徑選取機(jī)制,避免網(wǎng)絡(luò)中熱點(diǎn)的產(chǎn)生.李楠等人[13]提出了一種基于緩沖器DSR協(xié)議改進(jìn)方案,其中引入形成時(shí)間路由、生存時(shí)間路由和剩余生存時(shí)間路由三種參數(shù),并對(duì)路由緩沖和路由縮短方式作了改進(jìn).
DSR協(xié)議中的路由緩存機(jī)制相比于AODV協(xié)議不需要周期性地維護(hù)路由表,在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)簡(jiǎn)單的情形建立路由開(kāi)銷(xiāo)較小[14].并且其混雜監(jiān)聽(tīng)技術(shù)使得源節(jié)點(diǎn)的路由表中存儲(chǔ)了多條到目的節(jié)點(diǎn)的路徑,當(dāng)路由出錯(cuò)等情況出現(xiàn),可以根據(jù)需要更快的選擇一條到達(dá)目的節(jié)點(diǎn)的路由,使網(wǎng)絡(luò)具有更好的魯棒性.但隨著網(wǎng)絡(luò)結(jié)構(gòu)越來(lái)越復(fù)雜,源節(jié)點(diǎn)會(huì)存儲(chǔ)更多的路徑信息,此時(shí)需要花費(fèi)更多的資源在路由表中搜索需要的路由信息,并且緩存信息中存在錯(cuò)誤或者過(guò)期路由信息的數(shù)量會(huì)更大,最終導(dǎo)致分組投遞率下降,端到端延時(shí)增加[15].DSAODV協(xié)議根據(jù)網(wǎng)絡(luò)拓?fù)鋸?fù)雜性,采用高效的路由發(fā)現(xiàn)維護(hù)策略,使節(jié)點(diǎn)合理的使用網(wǎng)絡(luò)帶寬資源,降低了通信中平均通信時(shí)延,提高了分組投遞率.
網(wǎng)絡(luò)拓?fù)涞姆€(wěn)定性是決定本路由算法的重要因素,不同動(dòng)態(tài)拓?fù)洵h(huán)境下的網(wǎng)絡(luò)調(diào)節(jié)路由發(fā)現(xiàn)和路由維護(hù)機(jī)制,選擇鏈路更加穩(wěn)定的路徑進(jìn)行數(shù)據(jù)傳輸,減少了一些不必要的路由切換.下面給出本文路由協(xié)議采用的基于網(wǎng)絡(luò)拓?fù)浞€(wěn)定性的計(jì)算方法.假設(shè)網(wǎng)絡(luò)節(jié)點(diǎn)運(yùn)動(dòng)狀態(tài)隨機(jī),規(guī)定節(jié)點(diǎn)最大移動(dòng)速度vmax,并且獲得當(dāng)前節(jié)點(diǎn)的瞬時(shí)運(yùn)動(dòng)速度vc(t),節(jié)點(diǎn)上一刻的預(yù)測(cè)速度為v(t-1),則節(jié)點(diǎn)的速度預(yù)測(cè)更新公式按照式(1)進(jìn)行:
v(t)=ρ·v(t-1)+(1-ρ)·vc(t)
(1)
式中vc(t)=rand·vmax,rand為范圍為(0,1)的隨機(jī)數(shù),ρ是速度更新系數(shù),取值范圍為(0,1),ρ值越大節(jié)點(diǎn)速度矢量越穩(wěn)定.
假設(shè)兩節(jié)點(diǎn)i,j以各自的速度vi和vj在同一二維平面中運(yùn)動(dòng),節(jié)點(diǎn)i往目的位置的運(yùn)動(dòng)方向角是θi,節(jié)點(diǎn)j往目的位置的運(yùn)動(dòng)方向角是θj,位置分別為(xi,yi)和(xj,yj),并且都相互處于對(duì)方的通信范圍內(nèi),兩節(jié)點(diǎn)通信范圍均為r,如圖1,則鏈路持續(xù)時(shí)間通過(guò)以下公式計(jì)算[16]:
(2)
其中,
a=vicosθi-vjcosθj
b=xi-xj
c=visinθi-vjsinθj
(3)
d=yi-yj
當(dāng)vi=vj并且θi=θj時(shí),Ti,j為無(wú)窮大.通過(guò)獲取路徑中任意相鄰兩點(diǎn)鏈路的鏈路預(yù)測(cè)持續(xù)時(shí)間,并且取最小值可以得到完整路徑的預(yù)測(cè)持續(xù)時(shí)間.假設(shè)在某一運(yùn)動(dòng)狀態(tài)時(shí),兩節(jié)點(diǎn)的運(yùn)動(dòng)方向剛好相反,也就是θi與θj之差為π時(shí),則節(jié)點(diǎn)i,j之間的最短鏈路預(yù)測(cè)持續(xù)時(shí)間為:
(4)
圖1 節(jié)點(diǎn)相對(duì)運(yùn)動(dòng)模型Fig.1 Relative motion model of node
這里取所有節(jié)點(diǎn)在t=0的最短鏈路預(yù)測(cè)持續(xù)時(shí)間與鏈路持續(xù)時(shí)間的比值作為定量選取不同路由發(fā)現(xiàn)機(jī)制的速度系數(shù)來(lái)間接反映整個(gè)網(wǎng)絡(luò)的拓?fù)渥兓潭?設(shè)定一個(gè)鏈路拓?fù)渥兓俣乳撝?
vTH=γvmax
(5)
當(dāng)節(jié)點(diǎn)速度小于vTH時(shí),節(jié)點(diǎn)的路由構(gòu)建過(guò)程加入源路由發(fā)現(xiàn)機(jī)制,并將路由發(fā)現(xiàn)過(guò)程中產(chǎn)生的多條路徑記錄在路由表;當(dāng)節(jié)點(diǎn)速度大于vTH時(shí),節(jié)點(diǎn)進(jìn)行路由維護(hù)階段將采用周期更新機(jī)制.其中網(wǎng)絡(luò)拓?fù)渥兓俣认禂?shù)γ為:
(6)
提出的DSAODV中,當(dāng)源節(jié)點(diǎn)要發(fā)送數(shù)據(jù)時(shí),首先會(huì)檢測(cè)路由表中有無(wú)到達(dá)目的節(jié)點(diǎn)路由,若沒(méi)有或已經(jīng)過(guò)期失效,此時(shí)需要發(fā)起新一輪的路由發(fā)現(xiàn)過(guò)程:
a)源節(jié)點(diǎn)生成一個(gè)路由請(qǐng)求數(shù)據(jù)分組RREQ廣播給它所有的鄰居節(jié)點(diǎn),數(shù)據(jù)分組包括源節(jié)點(diǎn)IP、廣播ID、目的節(jié)點(diǎn)、跳數(shù)計(jì)數(shù)器的信息并附加當(dāng)前運(yùn)動(dòng)狀態(tài)轉(zhuǎn)b).
b)鄰居節(jié)點(diǎn)接收到RREQ后會(huì)判斷是否接受過(guò)此信息,避免路徑重傳,轉(zhuǎn)c).
c)取當(dāng)前節(jié)點(diǎn)的移動(dòng)速度vk并與vTH比較,當(dāng)移動(dòng)速度大于速度閾值時(shí),轉(zhuǎn)d),當(dāng)移動(dòng)速度小于速度閾值時(shí),轉(zhuǎn)e).
d)中間節(jié)點(diǎn)根據(jù)RREQ記錄下到源節(jié)點(diǎn)的逆向路徑,并檢查自己ID是否與RREQ中目的節(jié)點(diǎn)一致,檢測(cè)路由表存儲(chǔ)有到達(dá)目的節(jié)點(diǎn)ID,若不符合條件繼續(xù)進(jìn)行d)轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn)若符合條件轉(zhuǎn)e),轉(zhuǎn)發(fā)過(guò)程中節(jié)點(diǎn)會(huì)將自身ID附在RREQ中,接收到消息節(jié)點(diǎn)以此為上跳節(jié)點(diǎn).
e)目的或存在到目的節(jié)點(diǎn)的中間節(jié)點(diǎn)生成一個(gè)路由應(yīng)答數(shù)據(jù)分組RREP,通過(guò)反向路由轉(zhuǎn)發(fā)給源節(jié)點(diǎn),轉(zhuǎn)f.
f)源節(jié)點(diǎn)根據(jù)跳數(shù)和時(shí)間戳選取一條最佳路由路徑,添加源路由標(biāo)識(shí)O,路由發(fā)現(xiàn)過(guò)程完成.
g)中間節(jié)點(diǎn)檢查自己ID是否與RREQ中目的節(jié)點(diǎn)一致,檢測(cè)路由表存儲(chǔ)有到達(dá)目的節(jié)點(diǎn)ID,若不符合條件繼續(xù)進(jìn)行g(shù))轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn)若符合條件轉(zhuǎn)h).
h)目的或存在到目的節(jié)點(diǎn)的中間節(jié)點(diǎn)生成一個(gè)路由應(yīng)答數(shù)據(jù)分組RREP,源節(jié)點(diǎn)將接收并記錄從不同路徑傳來(lái)的RREP,并在此路徑信息添加源路由標(biāo)識(shí)S.
根據(jù)以上路由發(fā)現(xiàn)策略,根據(jù)不同的網(wǎng)絡(luò)拓?fù)洵h(huán)境在目的節(jié)點(diǎn)及中間節(jié)點(diǎn)記錄此過(guò)程中轉(zhuǎn)發(fā)的路由路徑,節(jié)點(diǎn)在發(fā)送數(shù)據(jù)過(guò)程中會(huì)根據(jù)不同標(biāo)識(shí)的路由路徑分別采取AODV最優(yōu)路徑傳輸機(jī)制或?qū)⒙酚尚畔⒏郊拥綌?shù)組分組的源路由機(jī)制,并且當(dāng)路由標(biāo)識(shí)為S時(shí),在路由維護(hù)的過(guò)程中會(huì)關(guān)閉在AODV中周期廣播HELLO分組的路由維護(hù)過(guò)程.
為了驗(yàn)證本文路由協(xié)議的綜合網(wǎng)絡(luò)性能得到了提高,采用NS2軟件對(duì)網(wǎng)絡(luò)進(jìn)行仿真.采用802.11作為MAC層協(xié)議,設(shè)置節(jié)點(diǎn)通信范圍為250 m,仿真時(shí)間為300秒,每秒鐘發(fā)送2個(gè)CBR數(shù)據(jù)流,每個(gè)數(shù)據(jù)分組長(zhǎng)度為512 byte,建立10對(duì)通信連接,節(jié)點(diǎn)運(yùn)動(dòng)停留時(shí)間1s.仿真實(shí)驗(yàn)主要是從不同節(jié)點(diǎn)最大移動(dòng)速度下平均分組投遞率和平均端到端延時(shí)兩個(gè)方面來(lái)評(píng)價(jià)改進(jìn)路由協(xié)議和原有的兩種協(xié)議的性能.平均分組投遞率是所有節(jié)點(diǎn)接收到的總分組數(shù)量與CBR流發(fā)送出的總分組數(shù)量的比值,這個(gè)參數(shù)反映了改進(jìn)協(xié)議的效率以及網(wǎng)絡(luò)傳輸?shù)目煽啃?平均端到端時(shí)延數(shù)據(jù)分組從源節(jié)點(diǎn)到目的節(jié)點(diǎn)之間消耗的平均時(shí)間,反映了路由發(fā)現(xiàn)過(guò)程中的尋徑效率.文章中的數(shù)據(jù)來(lái)源于NS2仿真,運(yùn)動(dòng)速度和方向均來(lái)源于NS2的setdest工具生成的隨機(jī)移動(dòng)場(chǎng)景.
圖2和圖3對(duì)比了3種路由協(xié)議在節(jié)點(diǎn)最大速度變化的情況下的性能.仿真模擬了一定數(shù)量的節(jié)點(diǎn)在固定的通信區(qū)域內(nèi)最大速度分別為5 m/s到40 m/s的場(chǎng)景.每種場(chǎng)景仿真30次,并綜合30次實(shí)驗(yàn)結(jié)果為平均性能指標(biāo),比較分析了AODV、DSR和DSAODV三種協(xié)議平均時(shí)延和平均分組投遞率,具體仿真參數(shù)見(jiàn)表1.
表1 節(jié)點(diǎn)最大速度變化仿真參數(shù)
Table 1 Simulation parameters of maximum velocity variation of nodes
參數(shù)取值仿真區(qū)域面積1000×1000m2節(jié)點(diǎn)數(shù)量50節(jié)點(diǎn)速度5 m/s ~ 40 m/s仿真時(shí)間300s傳輸范圍250m數(shù)據(jù)包尺寸512byte
從圖2可以看出,在節(jié)點(diǎn)移動(dòng)速度較低時(shí),所有節(jié)點(diǎn)組成的網(wǎng)絡(luò)拓?fù)渥兓淮?此時(shí)AODV協(xié)議的平均端到端時(shí)延由于其只緩存了一條最優(yōu)路由鏈路,當(dāng)鏈路失效時(shí)要重新建立,所以端到端時(shí)延要明顯高于其他協(xié)議.隨著移動(dòng)速度的增加,節(jié)點(diǎn)更容易相對(duì)移動(dòng)到自身的傳輸范圍之外,網(wǎng)絡(luò)拓?fù)渥兓^大,鏈路的穩(wěn)定性下降,三種路由協(xié)議的平均端到端時(shí)延都會(huì)隨之降低.但是本文改進(jìn)的方法在不同的網(wǎng)絡(luò)環(huán)境下分別采用了原兩種協(xié)議的路由發(fā)現(xiàn)與路由維護(hù)機(jī)制,故在仿真節(jié)點(diǎn)速度不斷變化的情況下,綜合平均端到端延時(shí)優(yōu)于原有的兩種協(xié)議.
圖2 不同最大移動(dòng)速度平均時(shí)延Fig.2 Average time delay of different maximum moving speed
圖3體現(xiàn)了最大移動(dòng)速度對(duì)分組投遞率的影響.分組投遞率是目的節(jié)點(diǎn)接收到數(shù)組分組的綜述和CBR產(chǎn)生數(shù)據(jù)分組總數(shù)之比.節(jié)點(diǎn)移動(dòng)速度較慢時(shí),鏈路相對(duì)穩(wěn)定,路由發(fā)現(xiàn)與路由重建較少,故分組投遞率高,隨著速度的增加,網(wǎng)絡(luò)拓?fù)渥兓l繁,進(jìn)行新的路由發(fā)現(xiàn)過(guò)程的報(bào)文增多,帶寬占用率也會(huì)增大,分組投遞率呈現(xiàn)出下降的趨勢(shì).其中DSR路由協(xié)議因?yàn)椴捎昧硕嗦窂铰酚煞绞?一旦當(dāng)前路由斷開(kāi),會(huì)立即使用緩存在路由表中的備用路由重新發(fā)送數(shù)據(jù)分組,而當(dāng)前路由上的路由分組丟失,而節(jié)點(diǎn)最大移動(dòng)速度直接影響著網(wǎng)絡(luò)拓?fù)渥兓俣?導(dǎo)致DSR協(xié)議在最大移動(dòng)速度增大到20 m/s時(shí)性能下降速率高于其他兩種協(xié)議.綜合比較DSR、AODV和DSAODV三種方法的平均分組投遞率分別為94.35%、94.77和96.04%,其中在節(jié)點(diǎn)最大移動(dòng)速度為40m/s時(shí)DSAODV比DSR投遞率高出3.9%;在節(jié)點(diǎn)最大移動(dòng)速度為10m/s DSAODV比AODV投遞率高出2.5%.說(shuō)明了DSAODV所采取基于拓?fù)渥兓穆酚砂l(fā)現(xiàn)機(jī)制是有效的,網(wǎng)絡(luò)在節(jié)點(diǎn)速度變化的條件下適應(yīng)性得到了明顯提升.
圖3 不同最大移動(dòng)速度平均分組投遞率Fig.3 Average packet delivery rate of different maximum moving speed
圖4和圖5對(duì)比了路由協(xié)議在不同網(wǎng)絡(luò)規(guī)模下的性能.仿真模擬了一定數(shù)量的節(jié)點(diǎn)在固定的通信區(qū)域內(nèi)最大節(jié)點(diǎn)數(shù)為10到90的場(chǎng)景.同樣綜合30次實(shí)驗(yàn)結(jié)果為平均性能指標(biāo),具體仿真參數(shù)見(jiàn)表2.
圖4說(shuō)明了網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)的大小對(duì)傳輸時(shí)延的影響.當(dāng)節(jié)點(diǎn)數(shù)小于40時(shí),在仿真區(qū)域?yàn)?000m×1000m范圍內(nèi)網(wǎng)絡(luò)節(jié)點(diǎn)密度較小,端到端的鏈路較少,最優(yōu)路徑的平均跳數(shù)增加,而且路由發(fā)現(xiàn)較慢,所以平均端到端時(shí)延較大,隨著節(jié)點(diǎn)的數(shù)目增加,網(wǎng)絡(luò)節(jié)點(diǎn)密度逐漸增加時(shí)延逐漸減少.當(dāng)節(jié)點(diǎn)數(shù)目繼續(xù)增加,路由發(fā)現(xiàn)過(guò)程中RREQ重傳加劇了網(wǎng)絡(luò)風(fēng)暴,數(shù)據(jù)分組競(jìng)爭(zhēng)激烈,占用了有效帶寬資源,傳輸時(shí)延又會(huì)上升,但是DSAODV在路由維護(hù)的過(guò)程中,會(huì)根據(jù)節(jié)點(diǎn)的拓?fù)渥兓俾蔬x取路由路徑,抑制了網(wǎng)絡(luò)中RREQ的報(bào)文,網(wǎng)絡(luò)使用帶寬更小,在保證可靠數(shù)據(jù)傳輸?shù)那闆r下,平均時(shí)延優(yōu)于原協(xié)議.
表2 節(jié)點(diǎn)數(shù)目變化仿真參數(shù)
Table 2 Simulation parameters of number of nodes
參數(shù)取值 仿真區(qū)域面積1000×1000m2節(jié)點(diǎn)數(shù)量10 ~ 90節(jié)點(diǎn)速度25m/s仿真時(shí)間300s傳輸范圍250m數(shù)據(jù)包尺寸512byte
圖4 不同節(jié)點(diǎn)數(shù)平均時(shí)延Fig.4 Average time delay of different node numbers
圖5提現(xiàn)了節(jié)點(diǎn)數(shù)與分組投遞率之間的關(guān)系.節(jié)點(diǎn)數(shù)目較小,此時(shí)網(wǎng)絡(luò)的吞吐量在單位時(shí)間內(nèi)少,鏈路在建立的過(guò)程中選擇也相應(yīng)少,路由發(fā)現(xiàn)緩慢.隨著節(jié)點(diǎn)數(shù)目的增大,路由發(fā)現(xiàn)過(guò)程中有更多較優(yōu)路徑選擇,分組投遞率也隨之上升.在節(jié)點(diǎn)數(shù)增大到一個(gè)閾值時(shí),隨著節(jié)點(diǎn)的鄰居節(jié)點(diǎn)數(shù)密度的增大,路由發(fā)現(xiàn)的RREQ分組使用更為頻繁,網(wǎng)絡(luò)重傳分組次數(shù)增加,導(dǎo)致分組投遞率呈下降的趨勢(shì).隨著節(jié)點(diǎn)數(shù)進(jìn)一步的增加到70以上,DSR協(xié)議由于其路由發(fā)現(xiàn)多鏈路支持機(jī)制,網(wǎng)絡(luò)帶寬資源占用上升,并且隨著網(wǎng)絡(luò)密度的增加,附在DSR協(xié)議分組首部的路徑信息也會(huì)隨路徑增加,使得DSR在復(fù)雜網(wǎng)絡(luò)中分組投遞率更小.
圖5 不同節(jié)點(diǎn)數(shù)平均分組投遞率Fig.5 Average packet delivery rate of different node numbers
本文針對(duì)MANET網(wǎng)絡(luò)中按需路由中存在的不同路由拓?fù)渥兓瘲l件下網(wǎng)絡(luò)適用性低的缺陷提出了有效的改進(jìn)方案,該方案通過(guò)建立網(wǎng)絡(luò)拓?fù)渥兓P?提出了網(wǎng)絡(luò)拓?fù)渥兓俣认禂?shù)并利用此系數(shù)選取合適的路由選取機(jī)制,使得源節(jié)點(diǎn)在路由發(fā)現(xiàn)的過(guò)程中選取更加高效的報(bào)文轉(zhuǎn)發(fā)方式,最終建立了一條穩(wěn)定性高的鏈路作為通信路由.通過(guò)建立NS2仿真環(huán)境在兩種不同的變化環(huán)境,比較了路由協(xié)議對(duì)于節(jié)點(diǎn)最大移動(dòng)速度以及網(wǎng)絡(luò)節(jié)點(diǎn)總數(shù)的端到端時(shí)延與分組投遞率.仿真實(shí)驗(yàn)驗(yàn)證了改進(jìn)后的協(xié)議在鏈路穩(wěn)定性不同環(huán)境下表現(xiàn)出更好的性能,更好的適應(yīng)于在不同網(wǎng)絡(luò)拓?fù)渥兓瘲l件下的動(dòng)態(tài)網(wǎng)絡(luò).