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