AODV路由協議方案優化問題
AODV路由協議在自組織網絡中,是如何使用的呢?在前面的文章,這個問題我們已經解答過了。那么今天我們主要講述一下如何進行優化。那么首先我們還是了解一下網絡之中存在的問題。
Ad-hoc網絡是由一組帶對等的無線移動終端組成的一個網絡,這些移動終端本身具有路由功能,所以不需要依靠固定的通信網基礎設施就能實現互相通信,現已成為商業領域的一種新興的無線技術。Ad-hoc網絡有著這樣一些特點如:全無線多跳轉發、移動以及帶寬及能量受限等。因此在設計適合于立Ad-hoc網絡高效可靠的路由協議時必須要有目的地針對Ad-hoc網絡的主要問題來進行,近年來,研究人員提出了多種不同的路由協議,AODV路由協議就是其中的一個經典。
AODV路由協議是一種基于“最小跳數"的按需路由協議,它不用周期的維護路由表,只需在需要的時候才進行路由的建立,從而大幅的減少控制流量開銷。但是因為其“最小跳數"的選路準則,很容易就造成網絡中間節點負載過高,從而影響了網絡的性能。本文主要針對AODV路由協議的缺點,提出一種基于時延控制的AODV優化方案。
1 問題的提出
AODV(Ad-hocOn-DemandDistanceVectorRouting)是一種按需的改進的距離向量路由協議,與表驅動路由協議不同,按需驅動路由協議只有當源節點需要到目的節點的路由或者當某個節點希望加入一個多播組時才尋找路徑。當源節點需要一條通往目的節點的路徑時,它在網絡中發起一次路徑發現過程,它并不需要周期的交互路由信息和更新路由表。正是由于這個特性,可以大幅度的減少控制流量開銷,這在無線網絡中時非常有用的。雖然AODV協議有著這種種的優點,但是由于其基于“最小跳數"作為路由度量的特點,會導致在很多情況下會導致網絡的中間節點被多條鏈路公用,而網絡的邊界節點卻使用頻率較低,這不單造成網絡資源浪費,而且容易發生擁塞,從而影響網絡的端對端時延以及網絡吞吐量。
尤其是針對于大型的Ad-hoc網絡,負載較高的情況下,會造成中間節點的嚴重負載過量,形成熱點,從而影響經過這些節點的業務,增加其端到端延時,減少業務的吞吐量從而導致網絡性能急速下降。由于AODV路由協議中選路是通過“最小跳數"為依據的,所以在S1尋找的D1的路徑時,由于節點S1到節點1再到節點D1最短,它會選擇這條路徑來進行傳輸業務;而從S2尋找到D2的時候,由于節點S2到節點1再到節點D2最短,所以該鏈路也會選擇這條路,這樣就很顯然的看到節點1同時作為兩條鏈路的中間節點,就會出現負載較高的現象,而節點2,節點4,節點3,節點5,卻一直沒有被用到。這樣明顯的浪費了很多網絡資源,是很不合理的。
所以如何來針對不同的業務來進行對AODV協議的改進,以便能更為出色的完成業務的相應業務的傳輸,有著非常重要的意義,下一張將根據對端到端時延有較高要求的業務提出一種改進方法。
2 基于時延控制的AODV路由協議擴展協議
改進思想
在網絡中,端到端時延是由傳輸時延以及節點處理時延組成的,而傳輸時延只是與鏈路中的空間距離有關,對于無線Ad-hoc網絡來說是很小的,同時節點的處理時延也是由節點處理單個分組的時延和分組排隊等待時延組成的,同樣節點處理單個分組的時延基本上是穩定的,所以網絡中的鏈路端到端時延往往由業務分組的排隊時延來決定的,尤其是在網絡業務量較高的情況下,在節點在網絡負載較高的時候,排隊時延起到了決定作用。因此,可以利用這一特性來建立較短時延的鏈路來完成業務的轉發。
通過考慮節點的時延,來控制RREQ分組的發送時間,當節點排隊時延較大,則會對收到的路由請求RREQ分組進行較大時延延遲然后再把它更新轉發出去,以此通過一系列的轉發下去,這樣,在目的節點中收到的第一個RREQ分組,基本上能保證是通過時延鏈路最短的一個鏈路到達的,目的節點可以根據收到的第一個RREQ分組的信息建立一條目的節點到源節點的路由,并將將RREP分組按原路返回,在源節點收到RREP分組時,可以根據RREP分組信息,建立一條源節點到目的節點時延最短的路由,進行相應業務的發送,這樣一來,可以減少網絡的端到端時延。
AODV路由協議擴展路由方法
首先,節點將周期的統計本節點的分組時延,其統計方法如下:其中iT為本周期內第i個數據分組通過節點k的時延,kT為周期內通過節點k的所有節點的時延之和。
其中maxS為節點最大隊列長度。當網絡中某節點S需要獲得到達另一節點D的路由時,該節點S將向周圍節點廣播路由求RREQ分組。中間節點收到該路由請求RREQ分組后,根據本節點先判斷本節點是否已經收到過該RREQ分組,如果已經收到,將不再處理,如果之前沒有收到夠過,則進行處理:先更新該節點到源節點的反向路由,然后根據本節點的節點時延進行延遲*kaT時間后再進行轉發該路由請求。目的節點收到路由請求后,判斷是否是新的RREQ分組,將建立一條到源節點的反向路由,并給源節點回復RREP分組,如果已經收到過該RREQ分組,將不做處理。如此,源節點S通過路由回復即可獲得到目的節點D的路徑以及路徑的質量信息。最后,節點S將路徑以及路徑質量信息添加到路由緩存中,并查看數據緩存中是否由數據需要發送。