Ad Hoc 貳 AODV 協議詳解

2021-10-03 21:02:21 字數 2571 閱讀 5079

aodv 是按需路由協議,當乙個節點需要給網路中的其他節點傳送資訊時,如果沒有到達目標節點的路由,則必須先以多播的形式發出 rreq 報文,鄰居節點收到 rreq,首先判斷目標節點是否是自己,如果是,則向發起節點傳送 rrep,如果不是,首先在路由表中查詢是否有到達目標節點的路由,如果有,則向源節點單播 rrep,否則繼續** rreq 進行查詢。

在網路資源充分的情況下,aodv 協議可以通過定期廣播 hello 報文來維護路由,一旦發現某乙個鏈路斷開,節點就傳送 error 報文通知那些因為鏈路斷開而不可到達的節點,刪除相應的記錄或者對已經存在的路由修復。

aodv 特點如下:

aodv 是在多個移動節點中建立和維護乙個動態的、自啟動的、多跳路由的專屬網路,使得移動節點能夠快速獲得通向新的目的節點的路由,並且節點僅需要維護通向鄰居節點的路由,更遠節點的路由資訊則不需要維護。

其路由表字段包括:

路由表特徵如下:

aodv 有三種基本的協議報文型別:rreq(路由請求)報文、rrep(路由應答)報文和 rrer(路由錯誤)報文。

在兩個節點之間的路由有效,通訊正常的情況下,aodv 路由協議不起任何作用,只有當源節點 s 需要向目的節點 d 傳送資料報,但是又沒有 d 節點的路由入口時,才會發起路由請求(rreq)。

當 rreq 在網路中傳播時,中間節點會更新各自到源節點的路由,稱為反向路由,rreq 請求報文中包含源節點以前記錄的到目的節點的序列號,但是此序列號可能不是最新的,中間節點如果有到目的節點的路由時,只有該節點記錄的目的節點的序列號比 rreq 中目的節點序列號更大,才認為這條路由是有效的。

報文格式說明:

當 rreq 最終到達目的節點時,目的節點通過向該反向路由(rreq 傳播路線)傳送 rrep 應答報文,建立通向目的節點的前向路由。

只有以下的情況節點才會產生 rrep 報文:

該節點本身就是目的節點。

該節點為中間節點,但是它有通向目的節點的活躍路徑。

當 rrep 傳播到源節點時,中間節點根據該 rrep 更新他們各自指向目的節點的路由資訊。節點只對第一次收到的 rreq 傳送 rrep 應答報文。

報文格式說明:

報文格式說明:

源節點:應用層有資料傳送請求,並且指向目的節點的路由有效,直接通過該路由傳送資料報,如果沒有到達目的節點的有效路徑,則產生 rreq 廣播幀,rreq 的序列號、id 欄位加1,將源節點的 ip,序列號、目的節點的 ip、序列號等資訊新增到 rreq 中,廣播至網路。

中間節點:如果中間節點路由表中記錄的到目的節點的路由有效,並且記錄的目的節點的序列號大於或者等於 rreq 中的目的節點序列號,則該中間節點可以產生路由應答幀。如果該中間節點不產生應答幀,更改rreq 中的目的節點序列號至當前最大,跳數字段加1,然後**。

目的節點:目的節點的序列號加1,產生 rrep 應答幀(包括源節點 ip、目的節點 ip 和更新後的序列號),單播傳送至源節點。

hello 訊息:hello 訊息幀就是 ttl=1時的 reep 幀,hello 訊息幀用於檢測活躍路徑上相鄰節點的鏈結狀況。只有當某節點位於某活躍路徑之上時,他才能傳送 hello 訊息幀。活躍路徑節點以 hello_interval 為週期傳送 hello 訊息。

aodv 依賴網路中每個節點維護自身的序列號,源節點在廣播路由請求幀 rreq 之前要更新自己的序列號,即將序列號加1,目的節點在產生 rrep 應答幀之前也要將自身的序列號加1,每個節點在對各自的序列號加1的時候,是將其視為無符號數進行的。

通過比較來自目的節點路由控制幀中的序列號 sn1 和本節點維護的目的節點的序列號 sn2,就可以確定本鏈路的新舊程度。如果 sn2-sn1<0(有符號數相減),說明路由表中的維護資訊已過時,應將路由資訊更新至路由控制幀最新的路由資訊。

源節點在傳送 rreq 後,在規定的時間內沒有收到來自目的節點的rrep時,他可以選擇再次傳送 rreq 路由請求幀。

在嘗試了 rreq_retries 次之後,如果依舊收不到 rrep,則在路由表中標記該目的節點不可達,通知應用層。每次在重新傳送 rreq 請求幀時,等待 rrep 應答幀的時間要在原來時間的基礎上乘以2,避免擁塞。

aodv協議功能

在ns2.27中,aodv路由協議主要包括以下幾個元件 1 協議實體 2 路由表 3 定時器 1 廣播定時器 2 週期hello報文廣播定時器 3 用於鄰居管理的定時器 4 用於路由快取的定時器 5 用於本地修復的定時器 6 快取廣播id的定時器 4 日誌記錄器 5 路由快取佇列 首先來看協議從接收...

AODV協議分析

1 aodv簡介 aodv ad hoc on demand distance vector routing 是由nokia研究中心的charles e.perkins和加利福尼亞大學的elizabeth m.belding roryer等共同開發,已經被 ietf manet工作組於2003年7月...

AODV路由協議的路由快取佇列詳解

aodv路由協議的使用往往在一些複雜的程式當中。那麼我們如何理解這些協議的使用和一些 函式的含義呢?下面我們就來闡述一下這方面的問題。首先了解一下在ns2.27中,aodv路由協議主要包括以下幾個元件 1 協議實體 2 路由表 3 定時器 1 廣播定時器 2 週期hello報文廣播定時器 3 用於鄰...