IMAODV路由協議在高速移動的網絡中的應用
傳統的AODV(Ad-hoc On-demand Distance Vector)路由協議只以路由跳數為度量,沒有考慮到鏈路穩定情況,因此,無法更好地適應節點高速移動的網絡環境。
本文引用地址:http://cqxgywz.com/article/157291.htm為此,提出了一種改進的AODV路由協議,即IMAODV(Improved AODV)路由協議。該協議主要從路由度量值、HELLO消息的發送頻率、鄰居節點的監聽方式等幾個方面對AODV進行改進,使之在移動網絡中具有較好的擴展性和魯棒性。仿真結果表明,IMAODV協議能夠較好地適應高速移動的網絡環境,并在一定程度上降低網絡時延和增加網絡吞吐量。
移動自組網(MANET)是由一系列移動終端組成的無固定基礎設施的多跳自組織網絡系統[1],其拓撲結構因為節點電量不足或是移動而變化,所以MANET的路由協議與傳統網絡的路由協議有著很大的區別。
目前,移動網絡中較成熟、較典型的路由協議有DSDV、DSR、AODV、ZRP等[2]。其中,AODV路由協議[3]是一種經典的按需路由協議,它在一定程度上比其他協議有較小的路由開銷和更好的擴展性能,但是這種路由協議在網絡拓撲頻繁變化的情況下,路由斷鏈的幾率很大,其網絡性能下降很快,無法保證較高要求的服務質量。
針對高速移動自組網的特性,本文提出一種基于AODV的改進路由協議,即IMAODV,它在路由度量值、斷鏈修復策略以及HELLO消息機制上做了修改,使之能有效地降低網絡延遲,提高網絡的吞吐量。通過NS2仿真可以看到,本文提出的IMAODV路由協議與傳統的AODV路由協議相比具有一定的優勢:它既能降低中高速移動自組網的網絡延時,又能在一定程度上提高網絡吞吐量;同時,IMAODV路由協議能夠較好地適應無線網絡環境,有效提高網絡性能。
1 IMAODV路由算法
1.1 AODV
傳統自組網路由協議可分為主動路由協議和按需路由協議[4],由于移動自組網存在著動態多變特性,主動路由協議應用在移動網絡中有著明顯的缺陷,所以實際中經常使用的都是按需路由協議[5]。
AODV是Ad-hoc網絡的經典路由協議,它是由路由發現和路由維護組成。路由發現過程如圖1所示。而在路由維護中,節點通過周期性地發送HELLO包維持與鄰居節點的連接,若一段時間后還未收到鄰居節點的HELLO包,則開始鏈路修復過程。若本節點離目的節點較近,則進行本地修復,發送RREQ進行路由重建,當中間節點有到不可達節點的有效路由或者不可達節點收到此RREQ后就發送一個路由回復RREP給源節點,這樣路由就得到了重建。若鏈路修復失敗,則節點向所有的鄰居節點廣播RERR包,RERR包中的不可達節點列表不僅包括了鏈路斷開的鄰居節點,還包括了以此鄰居節點作為下一跳的所有目的節點。通過RERR的廣播,其他節點便知道鏈路斷開了,當此包傳到源節點時,將進行新一輪的路由發現。

1.2 IMAODV路由算法
AODV雖然也能適應動態變化的網絡,但是它的機制并不靈活,不能根據網絡環境動態調節發送頻率,再者路由度量值僅僅考慮了跳數信息,且路由單一,所以不能滿足移動環境較為復雜或移動速度較高的網絡環境。為了更好地滿足移動自組網的服務要求,本文將針對高速移動環境提出的IMAODV,在AODV協議的基礎上做出以下改進,以改善網絡的吞吐量和平均端到端延遲。
1.2.1節點度量值的選取
以跳數為度量的AODV,容易造成大量數據通過少量節點傳輸引起網絡的阻塞,而導致分組延時過大,吞吐量下降[6]。為了緩解這種情況,本文在路由度量值的選取中將考慮以下因素:
節點移動速度:節點的移動速度越大,鏈路越不穩定,所以在選擇路由時要選移動速度較低的中間節點,避免因節點移動造成斷鏈的路由重啟過程,以降低網絡開銷。
延遲:路由過程中,延遲越小,數據傳輸才能顯示其時效性。
跳數:跳數越少,在某種程度上,所消耗的網絡資源越少。
考慮到節點的計算復雜度,路由度量值:

其中hop代表跳數,nodenum表示網絡總的節點數,delay代表上一跳節點到本節點的延遲,speed代表本節點的移動速度,max speed代表網絡中節點的最大移動速度,w1、w2和w3分別代表權值,其中,w1+w2+w3=1,本協議中w1、w2和w3的值分別取為0.7、0.2和0.1。當metric的值越小,路由鏈路的穩定度越高,網絡延遲越小。
1.2.2 節點功能的改進
傳統AODV中源節點只保留一條到目的節點的路由,當主路由上的鏈路斷開時,源節點重新開始進行路由發現幾率較大,容易造成過大的路由開銷和較大時延。為改善這種情況,本文提出的IMAODV,利用無線通信中廣播信道偵聽到的相鄰節點發給其他節點的RREP信息建立備用路由[7-8],通過增加節點的功能,使之具有監聽路由控制信息的能力。
1.2.3 Hello機制的改進
IMAODV中對HELLO消息做兩方面改進: (1)是為HELLO消息設置了一個標志。初始化為TURE,節點發送HELLO消息,當節點有路由或數據信息需要廣播時,標志設為FALSE。如果HELLO發送周期再次到來,先檢查標志,如果為FALSE,則改變狀態為TURE后不作任何處理,直至下一個周期的到來,再繼續檢查標志;當標志為TURE時,則發送HELLO消息,同時每個節點在接收路由包或是數據包的時候,要更新鄰居的生存時間,這樣可以降低發送HELLO消息的開銷。(2)由于節點的移動,會造成網絡拓撲的變化,HELLO消息的固定發送肯定不能有效地捕捉到網絡拓撲信息,為了保證鏈路的有效性,本文將根據節點自身的速度來調節HELLO包的發送頻率,發送頻率與節點的移動速度成正比,流程如圖2所示。









評論