《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于鏈路中斷預(yù)測(cè)的AODV路由算法研究
基于鏈路中斷預(yù)測(cè)的AODV路由算法研究
來(lái)源:電子技術(shù)應(yīng)用2013年第7期
蔡小慶, 魯小利, 宋曉華, 陳曉芳
北京化工大學(xué) 北方學(xué)院,, 河北 廊坊065201
摘要: 在移動(dòng)自組網(wǎng)中,,節(jié)點(diǎn)的移動(dòng)導(dǎo)致拓?fù)鋭?dòng)態(tài)變化,已經(jīng)建立的路由時(shí)刻存在中斷的可能,而傳統(tǒng)的AODV路由協(xié)議中的路由修復(fù)方法開(kāi)銷大,、時(shí)延長(zhǎng),。針對(duì)這一問(wèn)題,,提出了一種基于鏈路中斷預(yù)測(cè)的改進(jìn)路由算法,。該算法在鏈路中斷之前啟用備用節(jié)點(diǎn),盡量避免路由修復(fù),;在鏈路中斷后,,首先在本地進(jìn)行鏈路修復(fù),不成功再逐層由上游節(jié)點(diǎn)發(fā)起路由搜索。仿真實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)AODV相比控制開(kāi)銷降低了40%,,端到端時(shí)延減少了25%,,提高了網(wǎng)絡(luò)性能。
中圖分類號(hào): TP393
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)07-0093-04
Research of AODV routing protocol based on route prediction
Cai Xiaoqing, Lu Xiaoli, Song Xiaohua, Chen Xiaofang
North College, Beijing University of Chemical Technology Information centres, Langfang 065201, China
Abstract: In mobile ad hoc networks (MANET), due to the changing topology and limited bandwidth, link break frequently occurs in mobile ad hoc networks. In traditional AODV, the source node broadcasts RREQ message to find a new route to the destination when the link break occurs. Control overhead and long packet delay are high. In this paper we propose an improved routing repair algorithm(RP-AODV). The intermediate node, which detects the link break, to repair the break route. Once the intermediate node cannot repair the route in time, the backward pre-hop node tends to find a new route instead. The simulation is done through network Simulator-2, Results show that RP-AODV performs better in terms of routing overhead, end to end delay than classic AODV. the control overhead ratio is decreased by 40% , and the end to end delay is decreased by 25%. RP-AODV is quite suitable for such a dynamic network.
Key words : mobile Ad Hoc networks; route repair; routing overhead

    Ad Hoc網(wǎng)絡(luò)是一種特殊的無(wú)線移動(dòng)網(wǎng)絡(luò),,網(wǎng)絡(luò)中的所有節(jié)點(diǎn)地位平等,,無(wú)需設(shè)置任何中心控制節(jié)點(diǎn),既可以快速,、自動(dòng)地組成一個(gè)獨(dú)立的網(wǎng)絡(luò)運(yùn)行,也可以作為當(dāng)前具有固定設(shè)施網(wǎng)絡(luò)的一種補(bǔ)充形式[1],。在軍事,、搶險(xiǎn)救災(zāi)等領(lǐng)域應(yīng)用前景廣闊。

    與現(xiàn)有的有線網(wǎng)絡(luò)和有基站的無(wú)線網(wǎng)絡(luò)有很大不同,,Ad Hoc網(wǎng)絡(luò)無(wú)中心,、自組織、動(dòng)態(tài)拓?fù)浜湍芰坑邢薜奶攸c(diǎn),,使得現(xiàn)有的路由協(xié)議(RIP,、OSPF)不再適應(yīng)Ad Hoc網(wǎng)絡(luò),因此路由技術(shù)一直是自組網(wǎng)的研究重點(diǎn)之一。目前主要有按需路由和表驅(qū)動(dòng)路由兩類[2],,其中按需路由協(xié)議不必維護(hù)到達(dá)所有節(jié)點(diǎn)的路由,有效地節(jié)省了網(wǎng)絡(luò)資源,,能夠較好地適應(yīng)節(jié)點(diǎn)移動(dòng)帶來(lái)的動(dòng)態(tài)拓?fù)鋯?wèn)題,得到了廣泛應(yīng)用,,其典型代表是AODV[3-4]協(xié)議,。本文在AODV路由協(xié)議的基礎(chǔ)上,提出基于鏈路中斷預(yù)測(cè)的路由算法(RP-AODV), 能夠降低廣播開(kāi)銷,提高網(wǎng)絡(luò)性能,。
1 研究現(xiàn)狀
    針對(duì)路由可能發(fā)生中斷的問(wèn)題,,路由修復(fù)算法被提出。最簡(jiǎn)單的修復(fù)算法是由源節(jié)點(diǎn)重新發(fā)起新的路由發(fā)現(xiàn)過(guò)程,,顯然這會(huì)帶來(lái)極大的網(wǎng)絡(luò)開(kāi)銷,。參考文獻(xiàn)[3]認(rèn)為路由斷裂時(shí),斷裂處上游的節(jié)點(diǎn)會(huì)率先發(fā)現(xiàn)路徑失效,,此時(shí)直接由該節(jié)點(diǎn)發(fā)起到目的節(jié)點(diǎn)的路徑修復(fù)過(guò)程,。如果收到目標(biāo)節(jié)點(diǎn)的應(yīng)答,,則說(shuō)明路徑重建成功;如果路由發(fā)現(xiàn)規(guī)定時(shí)間內(nèi)沒(méi)有收到目的節(jié)點(diǎn)返回的RREP,,則向其上游節(jié)點(diǎn)發(fā)送該目的節(jié)點(diǎn)的RERR,,直到通知到該路由的源節(jié)點(diǎn),然后再由源節(jié)點(diǎn)進(jìn)行新一輪的路由發(fā)現(xiàn),。
    參考文獻(xiàn)[5]提出一種兩跳范圍局部修復(fù)改進(jìn)算法,,當(dāng)節(jié)點(diǎn)A到節(jié)點(diǎn)B失效時(shí),在斷鏈的附近可能存在A、B的鄰居節(jié)點(diǎn),,因此由斷鏈的上游節(jié)點(diǎn)發(fā)送兩跳路由請(qǐng)求分組尋找下一跳節(jié)點(diǎn)B,,使得修復(fù)限制在兩跳范圍內(nèi),路由開(kāi)銷將會(huì)減少,,尋路時(shí)間減短,。
2 基于鏈路中斷預(yù)測(cè)的AODV路由算法設(shè)計(jì)
2.1 算法思想

    從降低開(kāi)銷的角度,最理想的是路徑不中斷,,但因?yàn)楣?jié)點(diǎn)的移動(dòng)性,,即使采用穩(wěn)定路由策略獲取的路由也會(huì)發(fā)生路徑中斷。而當(dāng)路徑中斷之后再去修復(fù),,都會(huì)帶來(lái)較大的額外開(kāi)銷,,同時(shí)增大時(shí)延。如果在路徑中斷之前,,能夠預(yù)測(cè)到即將中斷,,提前采取措施尋找備用路由,則可以實(shí)現(xiàn)平滑的路徑切換,,當(dāng)鏈路中斷不可避免時(shí),,不必返回源節(jié)點(diǎn)搜索,而是逐層由上游節(jié)點(diǎn)展開(kāi)局部搜索,,在保證傳輸時(shí)延的同時(shí)使得路由開(kāi)銷最小,。
    節(jié)點(diǎn)的移動(dòng)導(dǎo)致節(jié)點(diǎn)間鏈路中斷,但在較短時(shí)間內(nèi),,節(jié)點(diǎn)并不會(huì)走遠(yuǎn),,仍在原位置附近,在較短時(shí)間內(nèi)節(jié)點(diǎn)的活動(dòng)范圍也往往是以短途和小范圍為主[6-7],。同時(shí)鏈路中斷處也存在其他的鄰居節(jié)點(diǎn),。因此當(dāng)鏈路中斷時(shí)可以在斷點(diǎn)附近展開(kāi)鏈路修復(fù),沒(méi)必要全網(wǎng)重新開(kāi)始新的路由,。如圖1所示,,鏈路中斷一般有多種情況,圖1(a)中源節(jié)點(diǎn)S和目的節(jié)點(diǎn)D,經(jīng)由A,、B,、C三個(gè)中間節(jié)點(diǎn)組成一條鏈路。隨著節(jié)點(diǎn)的移動(dòng),,鏈路出現(xiàn)斷裂,,如圖1(b)所示,B節(jié)點(diǎn)移動(dòng)出了A的覆蓋范圍,,A與C之間失去了聯(lián)系,,但是存在E節(jié)點(diǎn)可以同時(shí)連接A和C,則可以選擇E取代B,。如果E節(jié)點(diǎn)不能同時(shí)覆蓋到A和C,,但可以覆蓋到A和B,如圖1(c)所示,,則可以在原鏈路中增加一個(gè)E節(jié)點(diǎn),,鏈路變?yōu)镾-A-E-B-C-D。如果B和E都移動(dòng)出了A的覆蓋區(qū)域,,如圖1(d)所示,,則A到下游節(jié)點(diǎn)的鏈路完全中斷了,必須由它的上游節(jié)點(diǎn)開(kāi)始新的鏈路搜索,。

    基于這樣一種思想,,將路由維護(hù)的過(guò)程分解為兩個(gè)步驟:(1)監(jiān)聽(tīng)路由中各個(gè)鏈路的聯(lián)通情況,判斷鏈路是否會(huì)中斷或者是否有更短鏈路的出現(xiàn),。(2)尋找保持鏈路聯(lián)通的備用節(jié)點(diǎn),當(dāng)鏈路出現(xiàn)中斷時(shí),,備用節(jié)點(diǎn)迅速啟動(dòng),。如果找不到可用路由,則逐層由更上游節(jié)點(diǎn)發(fā)起路由發(fā)現(xiàn)過(guò)程,,而并不是返回源節(jié)點(diǎn),。
2.2 算法設(shè)計(jì)
    鏈路的中斷是由節(jié)點(diǎn)的移動(dòng)導(dǎo)致的,但鏈路的中斷最終是由信號(hào)質(zhì)量下降引起,。因此判斷鏈路中斷最有效的方法是監(jiān)測(cè)鏈路信號(hào)質(zhì)量,。無(wú)線信號(hào)在傳輸過(guò)程中存在著慢衰落和快衰落,多種因素會(huì)引起信號(hào)質(zhì)量的起伏,,為了避免頻繁的鏈路切換,,可以取一個(gè)時(shí)間窗口,在這個(gè)窗口中取均值,,作為判斷依據(jù),。
    AODV的路由機(jī)制中上游節(jié)點(diǎn)路由表中存有下一跳節(jié)點(diǎn)的信息,而下游節(jié)點(diǎn)不知道上游節(jié)點(diǎn),這就決定了當(dāng)鏈路中斷時(shí),,只能由上游節(jié)點(diǎn)決定去尋找哪個(gè)節(jié)點(diǎn),。而不在原鏈路上的節(jié)點(diǎn)可以監(jiān)聽(tīng)到周圍鏈路的信號(hào)質(zhì)量,能夠知道自己是否可以修補(bǔ)鏈路 (如圖1(c)中的情況),,但是無(wú)法知道自己何時(shí)插入原鏈路,,也無(wú)法知道是否可以縮短原鏈路(如圖1(b)、圖1(e)的情況),。因此需要修改AODV協(xié)議中的路由表,,使之存有下面兩跳路由信息,即存放下游鏈路的兩個(gè)節(jié)點(diǎn),,這樣周圍節(jié)點(diǎn)可以通過(guò)檢測(cè)周邊鏈路信號(hào)情況,,判斷自己是否處在有用鏈路上。
    根據(jù)鏈路斷裂的不同情況,,路由維護(hù)分為以下幾類:
    (1)由周圍節(jié)點(diǎn)自己判斷是否能夠縮短原鏈路長(zhǎng)度,,如果能則由該節(jié)點(diǎn)主動(dòng)聯(lián)系上游和下游節(jié)點(diǎn),確認(rèn)后啟動(dòng)新鏈路,。
    (2)鏈路可能斷裂處的上游節(jié)點(diǎn)通過(guò)監(jiān)聽(tīng)反向路徑的信號(hào)質(zhì)量,,判斷鏈路當(dāng)前的狀況,然后向周圍節(jié)點(diǎn)發(fā)起備用節(jié)點(diǎn)查詢,,找到后確認(rèn)新鏈路,。
 (3)周邊沒(méi)有備用節(jié)點(diǎn)的情況,由上游節(jié)點(diǎn)向更上游節(jié)點(diǎn)發(fā)送斷鏈請(qǐng)求,,從而啟動(dòng)新的路由搜索過(guò)程,。在搜索備用節(jié)點(diǎn)的過(guò)程中,采用擴(kuò)展環(huán)的方法,,在網(wǎng)絡(luò)層分組的報(bào)頭部分設(shè)計(jì)一個(gè)字段TTL,,限定為3,表示分組可以被轉(zhuǎn)發(fā)的次數(shù),,收到該分組的節(jié)點(diǎn)每次將TTL值減1,,減至0則停止轉(zhuǎn)發(fā)。
2.3 算法流程
 路由維護(hù)的過(guò)程主要由鏈路上游節(jié)點(diǎn)和周邊節(jié)點(diǎn)完成,,通過(guò)監(jiān)聽(tīng)各個(gè)鏈路質(zhì)量,,判斷鏈路是否會(huì)中斷或者是否有更短鏈路的出現(xiàn),然后尋找保持鏈路聯(lián)通的備用節(jié)點(diǎn),,并迅速啟動(dòng),。找不到備用節(jié)點(diǎn)時(shí),鏈路會(huì)斷裂,,此時(shí)啟動(dòng)ERS算法在3跳之內(nèi)進(jìn)行局部路由修復(fù),。如果仍然不成功,,則由更上游的節(jié)點(diǎn)啟動(dòng)路由發(fā)現(xiàn)。算法流程描述如下:
    (1)節(jié)點(diǎn)從收到數(shù)據(jù)包中獲取下游兩跳節(jié)點(diǎn)路由信息;
    (2)監(jiān)聽(tīng)信號(hào)質(zhì)量,,更新時(shí)間窗口信息,,計(jì)算均值,并與設(shè)定的閾值比較,,判斷鏈路中斷概率;
    (3)上游節(jié)點(diǎn)判斷鏈路可能中斷則會(huì)啟動(dòng)ERS搜索,, 發(fā)起路由修復(fù)過(guò)程;
    (4)周邊節(jié)點(diǎn)判斷可以接續(xù)原鏈路或者縮短路由長(zhǎng)度,
則會(huì)向上下游節(jié)點(diǎn)發(fā)送應(yīng)答;
    (5)上游節(jié)點(diǎn)收到應(yīng)答信息,,則更新路由表,;在規(guī)定時(shí)間內(nèi)沒(méi)有收到應(yīng)答,則會(huì)向更上游中間節(jié)點(diǎn)發(fā)送重新路由請(qǐng)求,,啟動(dòng)新的路由發(fā)現(xiàn)過(guò)程,。
3 仿真分析
3.1 仿真模型

    用NS2作為仿真軟件進(jìn)行了模擬實(shí)驗(yàn),將本文提出的基于鏈路中斷預(yù)測(cè)的AODV算法(RP-AODV)與標(biāo)準(zhǔn)AODV協(xié)議進(jìn)行比較,,重點(diǎn)關(guān)注數(shù)據(jù)包投遞率,、歸一化路由開(kāi)銷和端到端的平均延遲等3個(gè)性能指標(biāo)。
    數(shù)據(jù)包投遞率:成功到達(dá)的數(shù)據(jù)包和全部發(fā)出數(shù)據(jù)包的比率,。
    歸一化路由開(kāi)銷:每發(fā)送一個(gè)DATA數(shù)據(jù)分組需要的控制消息分組數(shù),,其中路由分組每一跳的傳輸均認(rèn)為是一個(gè)新的控制消息分組,反映了網(wǎng)絡(luò)的擁塞程度和路由效率,。
    端到端的平均延遲:每個(gè)數(shù)據(jù)包從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)間的傳送時(shí)延,。
    在仿真場(chǎng)景中,100個(gè)節(jié)點(diǎn)隨機(jī)分布在1 500 m×1 000 m 的矩形區(qū)域內(nèi),,每個(gè)節(jié)點(diǎn)采用IEEE 802.11無(wú)線網(wǎng)絡(luò)接口,,無(wú)線傳輸半徑為250 m,單一增益的全向天線,,信道容量為2 Mb/s,。每次仿真隨機(jī)選擇10對(duì)源-目的節(jié)點(diǎn)傳輸數(shù)據(jù),通信源是CBR流,,數(shù)據(jù)包大小為512 B,每秒發(fā)送2個(gè)包,,隊(duì)列長(zhǎng)度為50,。采用Random Way Point 運(yùn)動(dòng)模型, 節(jié)點(diǎn)最大移動(dòng)速度Vmax分別為5 m/s,、10 m/s,、15 m/s、20 m/s,、25 m/s,,暫停時(shí)間為30 s,實(shí)驗(yàn)反復(fù)運(yùn)行50次,每次仿真1 000 s,,實(shí)驗(yàn)結(jié)果取平均值,。
3.2 仿真結(jié)果分析
3.2.1歸一化路由開(kāi)銷

 由圖2可以看出,在不同的最大移動(dòng)速度下,,RP-AODV的路由開(kāi)銷最小,,總體上比AODV減低了40%。說(shuō)明通過(guò)新算法有效控制了鏈路中斷的次數(shù),,減小了路由發(fā)現(xiàn)的頻次,,從而降低了路由開(kāi)銷。在速度較低時(shí)路徑中斷的概率較小,,隨著速度的增加,,節(jié)點(diǎn)的移動(dòng)性增強(qiáng),路徑中斷概率增大,,路由修復(fù)過(guò)程出現(xiàn)頻繁,,路由開(kāi)銷都有所增加,但是RP-AODV優(yōu)勢(shì)顯現(xiàn),。當(dāng)節(jié)點(diǎn)移動(dòng)速度超過(guò)20 m/s以后,,優(yōu)勢(shì)縮小,主要是因?yàn)楣?jié)點(diǎn)的移定性增強(qiáng)之后,,鏈路預(yù)測(cè)和備份鏈路的選擇的準(zhǔn)確性也會(huì)隨之下降,,增加了路由開(kāi)銷??傮w上來(lái)看,,RP-AODV相比傳統(tǒng)AODV算法歸一化路由開(kāi)銷降低40%左右。

3.2.2 端到端平均時(shí)延
    圖3給出了平均端到端時(shí)延隨節(jié)點(diǎn)不同移動(dòng)速度的變化情況,。隨著節(jié)點(diǎn)移動(dòng)速度的增加,,RP-AODV和傳統(tǒng)AODV協(xié)議的端到端時(shí)延都在增加,其中AODV增加的幅度更為明顯,。這是因?yàn)楣?jié)點(diǎn)移動(dòng)速度增加以后,,鏈路斷開(kāi)的幾率增大,路由修復(fù)頻次增多,,而路由修復(fù)過(guò)程中數(shù)據(jù)傳輸中斷,,數(shù)據(jù)包端到端時(shí)延增加,RP-AODV算法通過(guò)鏈路預(yù)測(cè),,啟用備用節(jié)點(diǎn),,盡量減少路徑斷開(kāi)的幾率,即使鏈路斷開(kāi),,也會(huì)采用局部修復(fù)的方法,,降低了路由修復(fù)時(shí)間,,從而減小了端到端時(shí)延??傮w上來(lái)看,,RP-AODV相比傳統(tǒng)AODV算法端到端時(shí)延降低25%左右。

 

 

3.2.3 數(shù)據(jù)包投遞率
    從圖4中可看出,,與傳統(tǒng)AODV算法相比,,改進(jìn)的RP-AODV算法數(shù)據(jù)包投遞率有所提高,在節(jié)點(diǎn)最大移動(dòng)速度不大時(shí),,兩者相差不大,,這是因?yàn)楣?jié)點(diǎn)移動(dòng)較弱時(shí),鏈路斷開(kāi)的幾率較小,,發(fā)起路由修復(fù)次數(shù)較少,,數(shù)據(jù)包投遞率差別不大。當(dāng)最大移動(dòng)速度較大時(shí),,傳統(tǒng)AODV算法和算法投遞率都有所下降,,但RP-AODV仍然優(yōu)于傳統(tǒng)AODV。這主要是因?yàn)楣?jié)點(diǎn)移動(dòng)性提高之后,,鏈路斷開(kāi)的幾率增大,,路由修復(fù)頻次增多,修復(fù)不成功的幾率也隨之增加,,從而導(dǎo)致數(shù)據(jù)包投遞率有所下降,。在路由修復(fù)過(guò)程中,RP-AODV能夠快速地找到備用節(jié)點(diǎn),,盡最大可能地保持原路由有效,,減少了路徑中斷次數(shù),從而提高了數(shù)據(jù)包投遞率,。

    本文針對(duì)傳統(tǒng)AODV路由協(xié)議中的路由修復(fù)方法開(kāi)銷大,、時(shí)延長(zhǎng)這一問(wèn)題,設(shè)計(jì)了一種基于鏈路中斷預(yù)測(cè)的改進(jìn)算法,。通過(guò)監(jiān)測(cè)鏈路質(zhì)量,,預(yù)測(cè)鏈路中斷概率,及時(shí)啟用備用節(jié)點(diǎn),,盡量避免路由修復(fù),;而當(dāng)鏈路中斷時(shí),采用逐層由上游節(jié)點(diǎn)發(fā)起的局部路由搜索,,減小控制開(kāi)銷的波及范圍。算法在經(jīng)典的AODV協(xié)議上實(shí)現(xiàn)(稱之為RP-AODV),,并用NS2模擬軟件進(jìn)行了仿真,。仿真結(jié)果表明,,在多種場(chǎng)景下新算法都降低了路由開(kāi)銷,有效地提高了網(wǎng)絡(luò)性能,,與傳統(tǒng)AODV相比控制開(kāi)銷降低了40%,,端到端時(shí)延減少了25%。
參考文獻(xiàn)
[1] CHLAMTAC I,CONTI M,LIU JN. Mobile Ad Hoc networking: imperatives and challenges[J]. Ad Hoc Networks,2003,1(1):13-64.
[2] 李世寶, 洪利. 基于距離預(yù)測(cè)的移動(dòng)自組網(wǎng)路由發(fā)現(xiàn)算法[J].通信學(xué)報(bào),, 2010,31(11):180-187.
[3] PERKINS C, BELDING-ROYER E. AODV Ad Hoc Ondemand distance vector Routing[S]. The Internet Engineering Task Force, IETF, RFC 3561, 2003.
[4] NI S Y, TSENG Y C, CHEN Y S. The broadcast storm  problem in a mobile ad hoc network[A]. the Fifth Annual  ACM/IEEE International Conference on Mobile Computing  and Networking (MOBICOM 99)[C]. Seattle, Washington, 1999:151-162.
[5] 丁緒星,吳青,謝方方.AODV 路由協(xié)議的本地修復(fù)算法[J]. 計(jì)算機(jī)工程, 2010,36(6):126-127.
[6] GONZALEZ M C, HIDALGO CA, BARABASI A L. Understanding individual human mobility patterns[J]. Nature, 2008,453:779-782.
[7] RHEE I, SHIN M, HONG S, et al. On the levy walk nature of human mobility[A]. INFOCOM 2008:the 27th Conference on Computer Communications[C]. Phoenix, AZ, 2008:924-932.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。