摘 要:Ad Hoc網(wǎng)絡(luò)路由協(xié)議的設(shè)計(jì)一直是Ad Hoc網(wǎng)絡(luò)中的熱點(diǎn)問(wèn)題。本文在AODV協(xié)議的基礎(chǔ)上,通過(guò)為RREQ消息設(shè)置時(shí)限,將節(jié)點(diǎn)的剩余生存周期和負(fù)載情況綜合考慮,提出了一種改進(jìn)的AODV協(xié)議。仿真結(jié)果表明,改進(jìn)后的協(xié)議提高了分組交換率,降低了網(wǎng)絡(luò)開(kāi)銷(xiāo),從而延長(zhǎng)了網(wǎng)絡(luò)生存時(shí)間并且提高了網(wǎng)絡(luò)性能。
關(guān)鍵詞:Ad Hoc網(wǎng)絡(luò);AODV;路由協(xié)議
1 引言
Ad Hoc源于拉丁語(yǔ),意思是“for this”[1]引申為“for this purpose only”,即“為某種目的設(shè)置的,特別的”意思,即Ad hoc網(wǎng)絡(luò)是一種有特殊用途的網(wǎng)絡(luò)。Ad Hoc網(wǎng)絡(luò)中沒(méi)有固定的基礎(chǔ)設(shè)施,沒(méi)有中心控制節(jié)點(diǎn)[2],所有的網(wǎng)絡(luò)節(jié)點(diǎn)都是動(dòng)態(tài)可變并且地位平等的。由于Ad Hoc網(wǎng)絡(luò)自身的特殊性,在傳統(tǒng)有線(xiàn)網(wǎng)絡(luò)或具有基礎(chǔ)設(shè)施的無(wú)線(xiàn)網(wǎng)絡(luò)上使用的路由協(xié)議在Ad Hoc網(wǎng)絡(luò)中不能被直接使用,需要根據(jù)其自身特點(diǎn)設(shè)計(jì)專(zhuān)用的路由協(xié)議和技術(shù)。目前,普遍得到認(rèn)可的Ad Hoc網(wǎng)絡(luò)路由協(xié)議主要有AODV、DSDV、DSR等。本文將以AODV的基本原理為基礎(chǔ),提出一種改進(jìn)的協(xié)議,以達(dá)到降低路由開(kāi)銷(xiāo),提高網(wǎng)絡(luò)吞吐量的目的。
2 AODV路由算法性能分析
AODV是一種源驅(qū)動(dòng)路由協(xié)議[3],當(dāng)一個(gè)源節(jié)點(diǎn)需要給網(wǎng)絡(luò)中的目的節(jié)點(diǎn)發(fā)送消息時(shí),如果沒(méi)有到達(dá)目的節(jié)點(diǎn)的路由,則它在Ad Hoc網(wǎng)絡(luò)中發(fā)起一次路徑發(fā)現(xiàn)過(guò)程。源節(jié)點(diǎn)通過(guò)洪范的形式發(fā)出RREQ路由請(qǐng)求報(bào)文。RREQ中包括源節(jié)點(diǎn)和目的節(jié)點(diǎn)的網(wǎng)絡(luò)層地址,鄰近節(jié)點(diǎn)收到RREQ后先判斷目的節(jié)點(diǎn)是否為自己,若是,則向源節(jié)點(diǎn)發(fā)送RREQ路由回復(fù)報(bào)文;若不是,首先在路由表中查找是否有到達(dá)目標(biāo)節(jié)點(diǎn)的路由,如果有,則向源節(jié)點(diǎn)單播RREP,否則繼續(xù)轉(zhuǎn)發(fā)RREQ進(jìn)行查找。
由于AODV協(xié)議存在路由開(kāi)銷(xiāo)較大的問(wèn)題,不適用于負(fù)荷較大的Ad Hoc網(wǎng)絡(luò)。此外Ad Hoc網(wǎng)絡(luò)的節(jié)點(diǎn)都是通過(guò)能量有限的電池支持運(yùn)行的,為了維持網(wǎng)絡(luò)穩(wěn)定性和連通性,節(jié)能問(wèn)題也是目前Ad Hoc網(wǎng)絡(luò)所面臨的一個(gè)重要問(wèn)題。
3 AODV路由協(xié)議的改進(jìn)
由于Ad Hoc網(wǎng)絡(luò)的動(dòng)態(tài)變化這一特性,使得一些路由無(wú)效,從而造成RREQ的重傳。如果源節(jié)點(diǎn)為RREQ設(shè)置一個(gè)生存時(shí)間TTL,通過(guò)減少RREQ重傳次數(shù)并降低TTL,則可以增加RREQ生存時(shí)間并且減少路由開(kāi)銷(xiāo)。本文在AODV協(xié)議的基礎(chǔ)上進(jìn)行進(jìn)一步改進(jìn),將優(yōu)化后的協(xié)議命名為NAODV算法。
選擇負(fù)載相對(duì)較輕的路由傳輸數(shù)據(jù),可以延長(zhǎng)鏈路存在時(shí)間,避免路由由于過(guò)早的能量耗盡而斷裂,從而提高網(wǎng)絡(luò)性能。改進(jìn)后的NAODV通過(guò)計(jì)算代價(jià)函數(shù)值,選擇代價(jià)函數(shù)值最小的一條路徑作為源節(jié)點(diǎn)到目的節(jié)點(diǎn)的最佳路徑。
節(jié)點(diǎn)生命的剩余生存時(shí)間可以通過(guò)節(jié)點(diǎn)的當(dāng)前能耗來(lái)估算,節(jié)點(diǎn)i的能耗情況可以按照(1)式來(lái)計(jì)算
其中,Ni表示節(jié)點(diǎn)i目前剩余的能量,Nimax表示支持節(jié)點(diǎn)i運(yùn)行的電池的最大容量。N的值越小表示節(jié)點(diǎn)的存在時(shí)間越短。
節(jié)點(diǎn)i的負(fù)載情況可以按照(2)式計(jì)算
其中,F(xiàn)i表示節(jié)點(diǎn)i自身數(shù)據(jù)緩存隊(duì)列中數(shù)據(jù)的長(zhǎng)度,F(xiàn)iman表示節(jié)點(diǎn)i自身數(shù)據(jù)緩存隊(duì)列的最大容量。F數(shù)值越大,當(dāng)前節(jié)點(diǎn)的負(fù)載越大。
當(dāng)源節(jié)點(diǎn)到目的節(jié)點(diǎn)有多條路徑時(shí),可根據(jù)代價(jià)函數(shù)Cost值選出最佳路徑。
其中,?∈[0,1],如果? 取不同值,則在代價(jià)函數(shù)的計(jì)算中,剩余生存時(shí)間和節(jié)點(diǎn)負(fù)載情況所占的比例將不同,d表示路徑的節(jié)點(diǎn)數(shù)。公式(3)綜合考慮了節(jié)點(diǎn)的剩余能量和網(wǎng)絡(luò)擁塞情況。
4 仿真與分析
在NS2仿真環(huán)境下進(jìn)行仿真實(shí)驗(yàn)的,試驗(yàn)場(chǎng)景:MAC層為IEEE802.11,在1200m*1200m的矩形區(qū)域拓?fù)鋬?nèi)隨機(jī)分布著50個(gè)節(jié)點(diǎn),節(jié)點(diǎn)在矩形區(qū)域內(nèi)任意移動(dòng),最大速度40m/s。
圖1反映了在不同的網(wǎng)絡(luò)連接數(shù)下,AODV和NAODV協(xié)議的網(wǎng)絡(luò)連接數(shù)和包投遞率之間的關(guān)系。仿真結(jié)果表明,NAODV協(xié)議在發(fā)送RREP前增加一個(gè)延遲時(shí)間,有效避免因緩存隊(duì)列滿(mǎn)而造成的丟包現(xiàn)象,包投遞率較AODV協(xié)議有所提高。
圖2反映了AODV和NAODV協(xié)議的網(wǎng)絡(luò)連接數(shù)和路由控制開(kāi)銷(xiāo)比之間的關(guān)系。隨著連接數(shù)增加,兩協(xié)議的路由控制開(kāi)銷(xiāo)比均呈現(xiàn)遞增趨勢(shì),但是NAODV協(xié)議的路由負(fù)載略低于AODV。
5 結(jié)論
傳統(tǒng)的AODV路由在節(jié)點(diǎn)發(fā)送報(bào)文的過(guò)程中不考慮當(dāng)前網(wǎng)絡(luò)的承受能力的同時(shí)沒(méi)有充分考慮節(jié)點(diǎn)的剩余能量,從而導(dǎo)致網(wǎng)絡(luò)的生存時(shí)間短,易斷裂。改進(jìn)后的NAODV增加了中間節(jié)點(diǎn)回復(fù)延遲時(shí)間和路由代價(jià)函數(shù)的計(jì)算,通過(guò)延遲發(fā)送回復(fù)報(bào)文和選擇路由代價(jià)較小的路徑來(lái)減少網(wǎng)絡(luò)擁塞,提高傳輸效率。仿真結(jié)果證明,改進(jìn)后的AODV協(xié)議在平均收包率,分組交換率以及網(wǎng)絡(luò)穩(wěn)定性等方面的效果有顯著提高。
[參考文獻(xiàn)]
[1]高圣國(guó),王漢星,胡細(xì).一個(gè)優(yōu)化的AODV路由協(xié)議[J].計(jì)算機(jī)工程與應(yīng)用,2007,(03):132-134.
[2]李平均,谷寧?kù)o.一種基于AODV協(xié)議的改進(jìn)協(xié)議[J].微電子學(xué)與計(jì)算機(jī),2006,(01):91-94.
[3]薛質(zhì),潘理.基于模糊RED算法的IP擁塞控制機(jī)制[J].計(jì)算機(jī)工程,2002,(03):60-61.