AODV路由協議在Ad Hoc網絡中的應用
前面我們介紹了一部分Ad Hoc路由協議的內容,現在我們再來進行一下補充。重點在AODV路由協議的相關解釋。希望對大家有所幫助。按需距離向量協議(AODV,Ad HocOn-Demand Distance Vector)。AODV是為具有幾十個到數千個移動節點的MANET網絡設計的。AODV路由協議中有三種類型的消息控制幀:路由請求RREQ,路由應答RREP和路由錯誤RRER。AODV主要包含路由發現、路由維護和鄰居管理等過程。
當源節點需要發送數據而又沒有到目的節點的有效路由時,就會啟動一個路由發現過程:向網絡廣播一個路由請求分組(RREQ),當收到請求的中間節點或目的節點有一條足夠新的路由到達目的地時,中間節點或者目的節點以單播的方式向源節點返回一個路由應答分組(RREP),源節點收到該RREP后則開始向對應目的節點發送數據。
在數據傳輸過程中,當中間節點檢測到一條正在傳輸數據的活動路由的下一跳鏈路斷開或者節點收到去往某個目的地節點的數據報文,而節點沒有到該目的地節點的有效路由時,中間節點向源節點單播或多播路由錯誤消息RERR,源節點收到RERR后就知道存在路由錯誤,并根據RERR中指示的不可到達目的地重新尋找路由。
AODV通過周期性廣播Hello報文來監視鏈路連通性。Hello包的生存時間TTL值為1,只能在相鄰節點間傳播。一個節點收到一個Hello包就可以新建一個鄰居條目或者知道一個鄰居節點與自己依然保持連接。如果在一定時間內收不到一個鄰居節點的Hello包,則認為該鄰居節點與自己不再連接,以這個節點為下一跳的路由都不能再用來傳送數據,因此將這些路由設置為無效狀態。
***傳輸速率的移動Ad Hoc路由協議
AODV協議和OLSR協議都沒有考慮各條鏈路的傳輸速率的差別,使用的關于路徑的評價標準是路徑的跳數。路由協議只是盡力而為地傳輸數據分組,沒有考慮網絡中間節點的擁塞情況和無線鏈路的實時狀態。
由于無線通信的非對稱性以及MAC層機制多速率機制的影響,使用跳數的路由度量往往不能構造一條性能良好的路徑。節點AB之間的距離能承受1Mbps的傳輸速率,AC和CB之間分別存在著5Mbps的鏈路,這樣在最小跳數的規則下,應該選擇A-B作為***路徑,這條路徑的***速率也不會超過1Mbps,而實際上路徑A-C-B由兩條高速而且誤碼率低的路徑組成,通常它的速率要大于1Mbps。
也就是由長距離鏈路組成的路由可以用較少的跳數到達目的節點,但是鏈路只能支持低速率通信,較長的實際距離會增加路徑的維護開銷,降低服務質量,并且路徑更容易斷裂;而由短距離鏈路組成的路由需要更多跳才能到達目的節點,但是鏈路能夠支持高速率進行通信。因此在多速率環境中無論是表驅動路由協議還是按需路由協議選擇的路由路徑會導致出現多跳低速的路徑,因此對網絡的吞吐量造成瓶頸。
結論
本文介紹了移動自組網的協議類型,分析了典型的表驅動路由協議OLSR和按需驅動路由協議AODV的工作原理,針對AODV協議和OLSR協議都沒有考慮各條鏈路的傳輸速率的差別,使用的關于路徑的評價標準是路徑的跳數的問題,本文提出選擇數據傳輸速率高的路徑。通過仿真實驗證明,采用傳輸速率高的路徑后協議的性能有所改善。