AODV

AODV

AODV(Ad hoc On-demand Distance Vector Routing)是一種源驅動路由協議。當一個節點需要給網路中的其他節點傳送信息時,如果沒有到達目標節點的路由,則必須先以多播的形式發出RREQ(路由請求)報文。RREQ報文中記錄著發起節點和目標節點的網路層地址,鄰近節點收到RREQ,首先判斷目標節點是否為自己。如果是,則向發起節點發送RREP(路由回應);如果不是,則首先在路由表中查找是否有到達目標節點的路由,如果有,則向源節點單播RREP,否則繼續轉發RREQ進行查找。

定義


在網路資源充分的情況下,AODV協議可以通過定期廣播hello報文來維護路由,一旦發現某一個鏈路斷開,節點就發送ERROR報文通知那些因鏈路斷開而不可達的節點刪除相應的記錄或者對已存在的路由進行修復。RREQ和RREP的查找方式分別如圖2和3所示。
圖3
圖3

AODV特點


(1)AODV屬於網路層協議。每次尋找路由時都要觸發應用層協議,增加了實現的複雜度。
(2)IEEE 802.15.4規定的幀大小為127位元組,MAC頭部及尾部校驗最多使用了25位元組,IPv6頭部與UDP頭部佔用
48位元組,只剩下54位元組的空餘。
(3)LR—WPAN中,拓撲結構相對簡單,網路的規模相對較小,節點的位置不固定,對它的設計首先要考慮的因素是簡單、節能等問題。AODV的路由框架和報文設計並沒有考慮這些問題
無線自組網按需平面距離矢量路由協議(Ad hoc On-Demand Distance Vector Routing,AODV),是應用於無線網狀網路(也稱作無線mesh網路)中進行路由選擇的路由協議,它能夠實現單播和多播路由。該協議是Ad Hoc網路中按需生成路由方式的典型協議。

實現技術

它是反應式路由協議,也就是說當向目的節點發送包時,源節點才在網路中發起路由查找過程,找到相應的路由。相反的,很多普通的網際網路路由協議都是先驗式的,也就是說它們查找路由是不依賴於路徑上的節點是否要發包,而是每個節點維護一張包含到達其它節點的路由信息的路由表。節點間通過周期性的交換路由信息來不斷更新自身的路由表,以便能夠及時的反映網路拓撲結構和變化,以維護一致的、及時的、準確的路由信息。正如協議的名字所示,無線自組網按需平面距離矢量路由協議是一種平面距離矢量路由協議。
在AODV中,整個網路都是靜止的除非有連接建立的需求。這就是說一個網路節點要建立連接時才廣播一個連接建立的請求。其他的AODV節點轉發這個請求消息,並記錄源節點,和回到源節點的臨時路由。當接收連接請求的節點知道到達目的節點的路由時,就把這個路由信息按照先前記錄的回到源節點的臨時路由發回源節點。於是源節點就開始使用這個經由其他節點並且有最短跳數的路由。當鏈路斷掉,路由錯誤就被回送給源節點,於是源節點就重新發起路由查找的過程。
大多數協議的複雜性在於為了保證網路性能而減少消息數量。例如,每個路由請求都會有一個序號,節點使用這個序號以避免它們重複轉發這個路由請求。路由請求有一個“生存時間”數,這將減少他們被重傳的次數。還有就是如果路由請求失敗,其他的路由請求將會在先前的路由請求消息超時后的兩倍的“生存時間”之後,才被發送。

相關的路由協議

AODV對在這方面有多種解決方法。還有一種路由協議是動態源路由協議(DSR),這個路由協議充分最優化網路的通信量。另外就是優化的鏈路狀態路由協議(OLSR)也是解決這方面問題。OLSR不斷地收集節點之間能相互通信的數據,並對每個節點保持一個最優化的路由表。所以連接可以很快的建立。但是OLSR是一個相對比較大而且複雜,它要求大型複雜的計算機、很大的內存和計算。同時頻繁進行網路其他節點的發現過程是一個巨大的負擔。對於其他可選擇的方法可以參照無線自組網協議列表。