AODV路由協議在使用中的改進
AODV路由協議在自組織網絡當中的使用從來都是一個核心的技術。那么對于科技的不斷發展和嚴謹。傳統路由協議得到了迅速的發展,新的拓撲方法誕生,解決了現存的不少問題。傳統的AODV路由協議因自組網中由于節點的移動性引起的拓撲快速變化,建立一個能使用的路由后,隨時會發生該路由中斷或某個節點離開網絡的現象,所以如果不具備適當、有效以及能夠快速進行路由修復的路由維護機制,則會導致路由時延的增加,因此影響網絡的性能。
盡管協議具有路由維護機制,但是由于節點的移動性,有的時候會發生路由修復的失敗,在這樣的情況下,上游節點只能向源節點重新運行路由發現過程來完成節點之間的通信。
AODV路由協議在源節點重建路由修復過程中,由于它采用的路由發現方式,洪泛方式和協議的原理,所以路由建立過程中,由于源節點采用的TTL值在大多數情況下,不能夠直接達到目的節點,所以還需要重新運行路由發現過程并且不斷地運行該過程直到最終找到目的節點位置。
在一次又一次運行路由發現過程中會大大增加路由時延和開銷率。因此研究人員提出了備份路由的技術,借鑒傳統電路交換網絡和分組網絡的思想,給源節點提供多條路徑到達目的節點。因此主路由發生路由中斷時,節點可以利用其中的其它備份路徑來完成通信。典型的備份路由技術有AODV-BR和AODV-ZHBR。
在認真分析研究了備份路由技術后,本文提出了一種改進方法,利用定時發送的改進hello消息來構造備份路由,在主路由發生斷路的時候數據包能從備份路由給出的路徑到達目的地,從而減少了丟包率和時延。
新的協議是在增加了Hello消息功能的基礎上工作的。經典AODV協議中Hello消息在AODV路由協議中的功能為檢測激活鏈路中斷情況,它構成AODV路由協議的連通性管理機制。
機制的工作過程為:節點維護一張列表,記錄與自相鄰而且處于通信狀態的節點,此列表稱為鄰居列表。正在進行通信的節點在一段時間內如果沒有發送任何數據,就主動在自己直接通信范圍內廣播Hello消息通知鄰節點自己的存在。收到該消息的節點延長相應鄰節點的生存時間,如果它來自一個新的鄰節點,則在鄰居列表中增加一個記錄。節點周期性檢測鄰節點的有效性,如果超時,則認為該節點離開了原來的位置。
本文提出了一種新方法,每當間隔時間到要發送Hello消息的時候,節點先從自己的路由表中查找生存期最長的路由選項,將AODV路由協議項中路由目的地址加入Hello消息中,這樣Hello消息中就包含了發送節點所包含的一個可達路由,鄰居節點收到Hello消息之后查找自己的路由表,如果沒有路由項則添加進自己的路由表,路由項的可達地址為發送節點所包含的可達路由,下一跳地址為發送節點。如果有該路由項則根據條件進行更新。由A到E的路由備份過程如圖1所示。
圖1hello消息產生的備份路由
當前有效路徑中斷時,在路由解析的時候節點向外發出一個跳數為1的廣播分組,這個廣播分組有個特殊的標志位標記它為主路由中斷廣播。然后再開始修復路由損壞機制。當周圍的節點收到這樣的廣播分組,如果自己的路由表中有到分組中的目的路由,則轉發該分組。如果沒有則忽略。因為有Hello消息產生的備份路由,斷路的節點周圍很可能有鄰居節點存在到目的地的路由,所以廣播分組發出后就會得到解析,沒有了延時。AODV路由協議緊接著開始了修復路由損壞機制,同樣因為有備份路由的存在,損壞的路由得到了修復,后續的分組就能順利的到達目的地。當B節點移動,B和C的鏈路中斷,經過路由修復重新產生到E的路由過程如圖2所示。
圖2利用備份路由發送數據并且修復過程