AODV協議的路由管理和點評
在AODV協議的一些文章中,我們已經掌握了它的基本概念和原理以及相應的運行過程。現在我們來對它的其他方面進行一下探討。首先我們來了解一下有關于AODV協議的路由表管理的一些內容。希望大家能從中找到參考的資料。
AODV路由表管理
節點的路由中除了存儲源和目的節點的序列號外,還存儲了其他有用的信息,這些信息成為有關路由項的軟狀態。與反向路由相關的是路由請求定時器,這些定時器的目的是清除一定時間內沒有使用的反向路由項。定時器的設置依賴于自組網的規模大小,與路由表相聯系的另外一個重要的參數是路由緩存時間,即在超過這個時間之后,對應的路由表就變為無效。
此外,在每一個路由表中,還要記錄本節點用于轉發分組的活躍鄰居。如果節點在最近一次活躍期間(Active-Timeout)發起或轉發了到某個目的節點的分組,那么就可以稱這個節點為活躍節點。這樣,當到達某一個目的節點的鏈路有問題時,所有與這條鏈路有關的活躍節點都可以被通知到。一個路由表還有活躍鄰居在使用,就可以認為是有效的。通過各個活躍路由項所建立的源節點到目的節點的路徑,也就是一條活躍路徑。路由表中的目的節點序列號,正如在DSDV路由協議中所使用的那樣,可以在無序分組的傳送和節點高度移動的極端條件下避免路由環路的產生。
移動節點為每一個相關的目的節點維護了一個路由表。每一個路由表包含以下一些信息:目的地址、下一跳地址、跳數、目的序列號及路由項的生存時間。路由表在每一次被用來傳送一個分組時,它的生存時間都要重新開始計算,也就是用當前時間加上Aetive-Route-Timeout。如果一個移動節點被提供了到達某一個目的節點的新路由,那么它就會把這個新路由的目的序列號與自己路由表中己有的目的序列號做比較,并將目的序列號大的作為到達目的節點的路由表。如果目的序列號相同,則采用到目的節點所經過的節點數(跳數)最少的那個路由。
AODV協議路由維護
如果節點的移動不是沿著活躍路徑進行的,那么就不會影響己經建立的路由。如果一個源節點在活躍路徑上移動,它就要向目的節點重新發起一次路由發現過程。如果移動的節點是中間節點或目的節點,那么一個特殊的RREP分組將轉發到那些受移動影響的源節點。周期性發送的Hello分組可以用來確保鏈路的對稱性,并檢測不能用的鏈路。如果不用Hello分組,也可以采用鏈路層通告機制來報告鏈路的無效性,這樣可以減少延遲。此外,節點在嘗試向下一跳節點轉發分組失敗后,也能檢測出鏈路的不可用性。
一旦一個節點的下一跳節點變得不可達,這時它就要向利用該損壞鏈路的活躍上游節點發送未被請求的RREP(RERR)分組,這個RREP(RERR)分組帶有一個新的序列號(即在目的序列號上加1),并將跳數值設置為二。收到這個RREP(RERR)分組的節點再依次將RREP(RERR)分組轉發到它們各自的活躍鄰居,這個過程持續到所有的與損壞鏈路有關的活躍節點都被通知到為止。源節點在收到斷鏈的通知后,如果它還要與目的節點聯系,它就需要再次發起新的路由發現過程。這時,它將會廣播一個RREQ分組,這個RREQ分組中的目的序列號要在源節點已知的***目的序列號之上加1,以確保那些還不知道目的節點***位置的中間節點對這個RREQ分組做出響應,從而能保證建立一條新的、有效的路由。#p#
AODV協議評價
總之,AODV是一種距離矢量路由協議,采用的算法克服了以前提出的一些算法(如DSDV)的缺點,具有如下優點:
(a)基于傳統的距離向量路由機制,思路簡單、易懂。
(b)支持中間節點應答,能使源節點快速獲得路由,有效減少了廣播數,但存在過時路由問題。
(c)節點只存儲需要的路由,減少了內存的需求和不必要的復制。
(d)快速響應活躍路徑上斷鏈。
(e)通過使用目的序列號來避免路由環路,解決了傳統的基于距離向量路由協議存在的無限計數問題。
(f)具有網絡的可擴充性。
(g)需要周期性地廣播分組,需要消耗一定的電池能源和網絡帶寬。與DSDV以及其他持續存儲更新路由信息的算法相比,AODV需要相對較長的路由建立時延,不過AODV協議采取了以下的一些措施來加以改善。
(a)到某個目的節點的路由可以由知道路由的中間節點進行響應。
(b)鏈路失效能夠被立即報告,這樣路由可重新建立。
(c)不活躍的路由在一定時間后會被刪除。