自組織網(wǎng)絡Ad Hoc之AODV協(xié)議詳解

一、AODV 概念
AODV 是按需路由協(xié)議,當一個節(jié)點需要給網(wǎng)絡中的其他節(jié)點傳送信息時,如果沒有到達目標節(jié)點的路由,則必須先以多播的形式發(fā)出 RREQ 報文,鄰居節(jié)點收到 RREQ,首先判斷目標節(jié)點是否是自己,如果是,則向發(fā)起節(jié)點發(fā)送 RREP,如果不是,首先在路由表中查找是否有到達目標節(jié)點的路由,如果有,則向源節(jié)點單播 RREP,否則繼續(xù)轉(zhuǎn)發(fā) RREQ 進行查找。
在網(wǎng)絡資源充分的情況下,AODV 協(xié)議可以通過定期廣播 HELLO 報文來維護路由,一旦發(fā)現(xiàn)某一個鏈路斷開,節(jié)點就發(fā)送 ERROR 報文通知那些因為鏈路斷開而不可到達的節(jié)點,刪除相應的記錄或者對已經(jīng)存在的路由修復。
AODV 特點如下:
-
節(jié)點只存儲需要的路由
-
盡量減少廣播的需要
-
減少內(nèi)存需求和不必要的重復
-
對活動路由中鏈路斷裂的快速響應
-
使用目標序列號維護的無循環(huán)路由
-
可擴展到大量節(jié)點群
二、AODV 功能
AODV 是在多個移動節(jié)點中建立和維護一個動態(tài)的、自啟動的、多跳路由的專屬網(wǎng)絡,使得移動節(jié)點能夠快速獲得通向新的目的節(jié)點的路由,并且節(jié)點僅需要維護通向鄰居節(jié)點的路由,更遠節(jié)點的路由信息則不需要維護。
其路由表字段包括:
- 目的節(jié)點IP地址
- 目的節(jié)點序列號
- 目的節(jié)點序列號的有效標志位
- 下一跳節(jié)點IP地址
- 本節(jié)點到達目的節(jié)點的跳數(shù)
- 前驅(qū)節(jié)點列表
- 生存時間
- 網(wǎng)絡層接口
- 其他的狀態(tài)和路由標志位(比如:有效,無效,可修復,正在修復)。
路由表特征如下:
-
路由表每項只記錄下一跳路由信息,而不是整條路由信息,簡化了路由表的建立和維護。
-
源節(jié)點和目的節(jié)點都維護各自的序列號,序列號是用來標識路由信息新舊程度,當源節(jié)點發(fā)起路由請求RREQ或者目的節(jié)點返回路由應答RREP時,都要更新各自的序列號。
-
中間節(jié)點依據(jù)序列號的大小判斷路由的新舊。
三、AODV 術(shù)語
-
發(fā)起節(jié)點:發(fā)出 AODV 路由請求消息的節(jié)點
-
轉(zhuǎn)發(fā)節(jié)點:愿意為其他節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)包的節(jié)點,轉(zhuǎn)發(fā)節(jié)點會將數(shù)據(jù)包轉(zhuǎn)發(fā)給下一個節(jié)點。
-
目的節(jié)點:當一個節(jié)點看到自己的 IP 地址和數(shù)據(jù)包 IP 頭特定字段的 IP 地址一樣時,認定自己是數(shù)據(jù)包的目的節(jié)點。
-
活躍路由:能夠有效通向目的節(jié)點的路由,只有活躍路由能夠轉(zhuǎn)發(fā)數(shù)據(jù)包
-
返回路由:用于轉(zhuǎn)發(fā)回復包的路由,就是從目的節(jié)點返回到發(fā)起節(jié)點的路由。
-
無效路由:有效路由失效以后,會作為無效路由在路由表中保存一段時間,并不能轉(zhuǎn)發(fā)數(shù)據(jù)包。
四、AODV 消息格式
AODV 有三種基本的協(xié)議報文類型:RREQ(路由請求)報文、RREP(路由應答)報文和 RRER(路由錯誤)報文。
4.1 RREQ 路由請求報文
在兩個節(jié)點之間的路由有效,通信正常的情況下,AODV 路由協(xié)議不起任何作用,只有當源節(jié)點 S 需要向目的節(jié)點 D 發(fā)送數(shù)據(jù)包,但是又沒有 D 節(jié)點的路由入口時,才會發(fā)起路由請求(RREQ)。
當 RREQ 在網(wǎng)絡中傳播時,中間節(jié)點會更新各自到源節(jié)點的路由,稱為反向路由,RREQ 請求報文中包含源節(jié)點以前記錄的到目的節(jié)點的序列號,但是此序列號可能不是最新的,中間節(jié)點如果有到目的節(jié)點的路由時,只有該節(jié)點記錄的目的節(jié)點的序列號比 RREQ 中目的節(jié)點序列號更大,才認為這條路由是有效的。
報文格式說明:
- Type:1
- J:加入標志,為多播保留。
- R:修復標志,為多播保留。
- G 免費路由回復標志:是否向目標節(jié)點IP地址域指定的節(jié)點發(fā)一個免費路由回復消息。
- D 僅允許目的節(jié)點回復標志:標志位則僅允許目的節(jié)點回復本條路由請求。
- U 未知序列號:指的是目標節(jié)點序列號未知。
- Reserved:填充0,接收端忽略此字段。
- 跳數(shù):從發(fā)起節(jié)點到處理該請求的節(jié)點的跳數(shù)。
- 路由請求標識:這是一個序列號,用它和源節(jié)點IP可以唯一標識一個RREQ消息。
4.2 RREP 路由應答報文
當 RREQ 最終到達目的節(jié)點時,目的節(jié)點通過向該反向路由(RREQ 傳播路線)發(fā)送 RREP 應答報文,建立通向目的節(jié)點的前向路由。
只有以下的情況節(jié)點才會產(chǎn)生 RREP 報文:
-
該節(jié)點本身就是目的節(jié)點。
-
該節(jié)點為中間節(jié)點,但是它有通向目的節(jié)點的活躍路徑。
當 RREP 傳播到源節(jié)點時,中間節(jié)點根據(jù)該 RREP 更新他們各自指向目的節(jié)點的路由信息。節(jié)點只對第一次收到的 RREQ 發(fā)送 RREP 應答報文。
報文格式說明:
- Type:2
- R:修復標志,用于多播
- A:需要確認
- Reserved:填充0,接受端忽略此字段。
- Prefix Size:前綴長度,如果非零,代表下一跳節(jié)點可以作為任有具有相同路由前綴的節(jié)點被請求時的目的節(jié)點。
- 跳數(shù):從發(fā)起節(jié)點到目的節(jié)點的跳數(shù)。
- 生命期:路由生命時間,在這個時間內(nèi),接收RREP的節(jié)點會認為這條路由是有效的。
4.3 RERR 路由錯誤報文
報文格式說明:
- Type:3
- N:不必刪除標志,當一個節(jié)點已經(jīng)對這條連接做了本地修復時,上游的幾點就不用刪除這條路由。
- Reserved:保留字段,填充0,接收端不做處理。
- DestCount:本消息內(nèi)包含的不可達的目的節(jié)點的數(shù)目,至少為1。
- Unreachable Destination IP Address:因為連接斷開而不可達的目的節(jié)點的IP地址。
- Unreachable Destination Sequence Number:路由表項里不可達目的節(jié)點的序列號。
五、AODV 工作過程
5.1 AODV 工作流程圖
5.2 路由發(fā)現(xiàn)過程
-
廣播 RREQ 路由請求幀。
-
中間節(jié)點更新各自到源節(jié)點的路由表。
-
如果收到 RREQ 的節(jié)點不是目的節(jié)點,并且沒有到達目的節(jié)點的更新的有效路由,則轉(zhuǎn)發(fā)該 RREQ。
-
中間節(jié)點維護指向路由源節(jié)點的反向路由。
-
目的節(jié)點或存在到目的節(jié)點有效路由的中間節(jié)點產(chǎn)生 RREP 路由應答幀。
-
RREP 通過之前建立的反向節(jié)點單播至源節(jié)點。
-
源節(jié)點收到 RREP 應答幀,至此源節(jié)點可以向目的節(jié)點發(fā)送數(shù)據(jù)包。
5.3 路由發(fā)現(xiàn)算法
源節(jié)點:應用層有數(shù)據(jù)發(fā)送請求,并且指向目的節(jié)點的路由有效,直接通過該路由發(fā)送數(shù)據(jù)包,如果沒有到達目的節(jié)點的有效路徑,則產(chǎn)生 RREQ 廣播幀,RREQ 的序列號、ID 字段加1,將源節(jié)點的 IP,序列號、目的節(jié)點的 IP、序列號等信息添加到 RREQ 中,廣播至網(wǎng)絡。
中間節(jié)點:如果中間節(jié)點路由表中記錄的到目的節(jié)點的路由有效,并且記錄的目的節(jié)點的序列號大于或者等于 RREQ 中的目的節(jié)點序列號,則該中間節(jié)點可以產(chǎn)生路由應答幀。如果該中間節(jié)點不產(chǎn)生應答幀,更改RREQ 中的目的節(jié)點序列號至當前最大,跳數(shù)字段加1,然后轉(zhuǎn)發(fā)。
目的節(jié)點:目的節(jié)點的序列號加1,產(chǎn)生 RREP 應答幀(包括源節(jié)點 IP、目的節(jié)點 IP 和更新后的序列號),單播發(fā)送至源節(jié)點。
5.4 路由維護算法
Hello 消息:Hello 消息幀就是 TTL=1時的 REEP 幀,Hello 消息幀用于檢測活躍路徑上相鄰節(jié)點的鏈接狀況。只有當某節(jié)點位于某活躍路徑之上時,他才能發(fā)送 Hello 消息幀?;钴S路徑節(jié)點以 HELLO_INTERVAL 為周期發(fā)送 Hello 消息。
-
在DELETE_PERIOD的時間內(nèi)沒有收到來自鄰居節(jié)點的Hello消息,則認為 該鏈路失效;發(fā)起一次指向該鄰居節(jié)點的局部修復。
-
路由修復超時以后,路有錯誤信息RERR向源節(jié)點和目的節(jié)點發(fā)送。
-
RERR在傳播過程中,各中間節(jié)點刪除該失效路徑上相應的路由信息。
5.5 路由信息新舊判斷
AODV 依賴網(wǎng)絡中每個節(jié)點維護自身的序列號,源節(jié)點在廣播路由請求幀 RREQ 之前要更新自己的序列號,即將序列號加1,目的節(jié)點在產(chǎn)生 RREP 應答幀之前也要將自身的序列號加1,每個節(jié)點在對各自的序列號加1的時候,是將其視為無符號數(shù)進行的。
通過比較來自目的節(jié)點路由控制幀中的序列號 SN1 和本節(jié)點維護的目的節(jié)點的序列號 SN2,就可以確定本鏈路的新舊程度。如果 SN2-SN1<0(有符號數(shù)相減),說明路由表中的維護信息已過時,應將路由信息更新至路由控制幀最新的路由信息。
六、擁塞控制
源節(jié)點在發(fā)送 RREQ 后,在規(guī)定的時間內(nèi)沒有收到來自目的節(jié)點的RREP時,他可以選擇再次發(fā)送 RREQ 路由請求幀。
在嘗試了 RREQ_RETRIES 次之后,如果依舊收不到 RREP,則在路由表中標記該目的節(jié)點不可達,通知應用層。每次在重新發(fā)送 RREQ 請求幀時,等待 RREP 應答幀的時間要在原來時間的基礎上乘以2,避免擁塞。
到此這篇關(guān)于自組織網(wǎng)絡Ad Hoc之AODV協(xié)議詳解的文章就介紹到這了,更多相關(guān)AODV協(xié)議內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
三大網(wǎng)絡管理協(xié)議:SNMP、NETCONF、RESTCONF介紹
本文將詳細介紹三種主要的協(xié)議:SNMP(Simple Network Management Protocol)、NETCONF(Network Configuration Protocol)和RESTCONF,需要的朋友可以參考下2024-02-13- 常見的網(wǎng)絡協(xié)議有:TCP/IP協(xié)議、UDP協(xié)議、HTTP協(xié)議、FTP協(xié)議等,本文就詳細的介紹一下常見的網(wǎng)絡協(xié)議,通過這些具體的協(xié)議更深刻的認識整體網(wǎng)絡的傳輸流程及相關(guān)網(wǎng)絡原理,2023-05-30
- 本文主要介紹了L2TP和PPTP的區(qū)別,主要的前區(qū)別在于用途不同、使用要求不同,下面就來介紹一下L2TP和PPTP的聯(lián)系與區(qū)別,感興趣的可以了解一下2023-05-30
自組織網(wǎng)絡Ad Hoc之OLSR 協(xié)議詳解
這篇文章主要介紹了自組織網(wǎng)絡Ad Hoc之OLSR 協(xié)議詳解,需要的朋友可以參考下2023-05-08自組織網(wǎng)絡Ad Hoc之AODV協(xié)議詳解
這篇文章主要介紹了自組織網(wǎng)絡Ad Hoc之AODV協(xié)議詳解,需要的朋友可以參考下2023-05-08自組織網(wǎng)絡Ad Hoc 網(wǎng)絡基礎知識
自組織網(wǎng)絡(Ad Hoc)是一種移動通信和計算機網(wǎng)絡相結(jié)合的網(wǎng)絡,是移動計算機網(wǎng)絡的一種,用戶終端可以在網(wǎng)絡內(nèi)隨意移動而保持通信2023-05-08- 瀏覽器輸入一個URL回車后,會發(fā)生什么呢?這里就為大家分享一下,需要的朋友可以參考下2022-10-19
- 本篇主要是對網(wǎng)絡協(xié)議進行一個歸納總結(jié),方便后續(xù)查閱及復習,當然如有新的認知或新的理解,也會持續(xù)更新2022-10-19
- 今日回顧網(wǎng)絡知識時,發(fā)現(xiàn)自己專門整理過一篇關(guān)于日常生活中常見的網(wǎng)絡協(xié)議知識以及作用的梳理,特發(fā)此一貼,也當給自己鞏固網(wǎng)絡知識了,如有錯誤,望各大佬指正2022-10-19
- HTTP即超文本傳輸協(xié)議,是一種實現(xiàn)客戶端和服務器之間通信的響應協(xié)議,它是用作客戶端和服務器之間的請求,需要的朋友可以參考下2022-10-19