王 彬, 武穆清, 羅大勇
(①北京郵電大學(xué) 信息與通信工程學(xué)院,北京 100876;②天津電力公司電力通信分公司,天津 300010)
移動Ad Hoc網(wǎng)絡(luò)是無線多跳網(wǎng)絡(luò),由一組無線移動節(jié)點組成,具有無中心,網(wǎng)絡(luò)拓撲動態(tài)變化的特點[1]。移動Ad Hoc網(wǎng)絡(luò)的路由協(xié)議則必須能夠適應(yīng)網(wǎng)絡(luò)拓撲動態(tài)變化的特點,而目前出現(xiàn)的幾種反應(yīng)式路由協(xié)議如AODV,DSR等,在鏈路監(jiān)測機制上,顯得都比較遲鈍。由于目前移動Ad Hoc網(wǎng)絡(luò)中普遍使用802.11作為鏈路層的協(xié)議[2],我們利用鏈路層的反饋作為監(jiān)測鏈路狀態(tài)的手段,大大加快路由協(xié)議對斷裂鏈路的感知。目前,人們雖然已經(jīng)在研究路由協(xié)議和MAC協(xié)議之間的交互,但迄今為止作者還沒有發(fā)現(xiàn)明確將鏈路層反饋機制作為MANET路由協(xié)議的鏈路監(jiān)測機制的文獻。
DYMO[3](Dynamic MANET On-demand) 協(xié)議是最新出現(xiàn)的反應(yīng)式路由協(xié)議,被當作目前MANET 工作組在按需路由研究方面的重要課題。它僅定義了反應(yīng)式路由所必需的最基本的元素,即路由發(fā)現(xiàn)和路由維護。
與AODV相比,DYMO借用了DSR路由發(fā)現(xiàn)過程中路由控制包攜帶更多路由信息的機制。與 DSR相比,DYMO采用了發(fā)現(xiàn)斷路后AODV的態(tài)度,通知全網(wǎng)中使用到該斷裂鏈路的節(jié)點,而不是僅僅通知某條路由的從斷路開始的上游部分;在路由發(fā)現(xiàn)過程中,使用路由控制包攜帶更多的路由信息。
從這個角度講,DYMO是AODV和DSR優(yōu)勢互補的結(jié)果。
AODV協(xié)議中規(guī)定了Hello包鏈路監(jiān)測機制:每個節(jié)點都定期地向周圍鄰居發(fā)送Hello包,以此來告知周圍鄰居自身的存在,如節(jié)點A收到來自節(jié)點B的Hello包,A認為B是A的鄰居,此時A與B之間的鏈路正常,并且認為未來N個周期內(nèi),A與B的鏈路是正常的,N值一般取3,也就是說如果未來N個周期的時間內(nèi),A又收到一個來自B的Hello包,那么A對于A與B之間鏈路的信任將會從A收到那個Hello包開始往后順延N個周期,但如果未來N個周期的時間內(nèi),A沒有收到來自B的Hello包,那么A將認定A與B之間的鏈路已經(jīng)斷裂。N越大,這種機制的靈敏度就越低,也就是說斷路感知時延越大。
802.11 DCF中,對于單播幀,都會嘗試重傳多次,但如果嘗試次數(shù)達到最大重傳次數(shù)后,仍然沒有獲得接入信道的機會,或者仍然沒有收到目的站點的確認,發(fā)送站點將會丟棄該幀。對于這種情況,我們在MAC協(xié)議丟棄該幀之前,確認如果幀里承載的上層數(shù)據(jù)包是IP數(shù)據(jù)包,則從幀中取出目的站點的MAC地址,進而得到IP包的下一跳IP地址,通知本節(jié)點的DYMO路由協(xié)議:下一跳節(jié)點不可達。這樣,就實時地使節(jié)點中的路由協(xié)議感知到了鏈路斷裂,進而通知全網(wǎng)該鏈路已斷裂。
我們將感知斷路的時延定義為,從鏈路真正斷裂到節(jié)點中運行的路由協(xié)議感知到該鏈路斷裂,并且將發(fā)送路由錯誤分組時的時間。我們通過對以往鏈路監(jiān)測機制的研究,發(fā)現(xiàn)它對拓撲快速變化的網(wǎng)絡(luò)中鏈路的斷裂表現(xiàn)得很“遲鈍”,大致的感知斷路時延為 1~2 s,而如果我們采用鏈路層反饋機制作為鏈路監(jiān)測手段,在不增加任何路由控制包的情況下,便可“實時”地感知到鏈路的狀態(tài),將感知斷路的時延降低到最小,進而能及早通知到全網(wǎng),使網(wǎng)絡(luò)中數(shù)據(jù)包的轉(zhuǎn)發(fā)不再使用已失效的路由。
我們可以利用 802.11對于單播幀進行確認的機制,來將下一跳不可達的IP地址回送給路由協(xié)議。但該機制有一個局限,就是必須上層向下一跳發(fā)送單播數(shù)據(jù)的時候,機制才能發(fā)揮作用,否則,上層是感知不到去往下一跳的鏈路狀況的。為了使上層在沒有向下一跳發(fā)送單播數(shù)據(jù)的時候也能夠感知到去往下一跳的鏈路狀況,我們依然沿用Hello包的發(fā)送機制來確認跟鄰居的鏈路狀況。此外,鏈路層反饋機制產(chǎn)生的鏈路斷裂感知時延應(yīng)該是與上層使用鏈路層發(fā)送單播數(shù)據(jù)的速率相關(guān)的。
仿真采用的軟件是OPNET 14.0版本,選用的節(jié)點模型為manet_station。
場景介紹:如圖1所示,所有節(jié)點運行DYMO協(xié)議,MAC協(xié)議使用802.11 DCF,mobile_node_0在仿真過程中向mobile_node_6發(fā)送CBR流,數(shù)據(jù)包大小為1024比特,每個節(jié)點無線信號的覆蓋范圍是250 m,也即信號的門限距離為250 s,仿真過程中,mobile_node_6沿著白色箭頭的方向,從坐標(0,500)開始,以5 m/s的速度勻速移動到坐標(1000,500)處,其余節(jié)點均靜止,仿真歷時200 s。
圖1 仿真場景
對于監(jiān)測鏈路狀態(tài)的機制,我們在Hello包機制的基礎(chǔ)上分別開啟和關(guān)閉鏈路層反饋機制,以評估和分析鏈路層反饋機制對鏈路斷裂的感知時間以及分組投遞率的影響。我們僅研究由于移動使收發(fā)節(jié)點之間的距離超過門限值后,產(chǎn)生的鏈路感知時延。
開啟鏈路層反饋的情況下,源節(jié)點發(fā)包速率為5個/秒時,鏈路斷裂感知時延如表1。
表1 鏈路斷裂感知時延
開啟鏈路層反饋的情況下,源節(jié)點發(fā)包速率為10個/秒時,鏈路斷裂感知時延如表2。
表2 鏈路斷裂感知時延
關(guān)閉鏈路層反饋的情況下,源節(jié)點發(fā)包速率為10個/秒時,鏈路斷裂感知時延如表3。
表3 鏈路斷裂感知時延
從表1和表2中的數(shù)據(jù)顯示兩者的共同點是,鏈路層反饋機制感知到的斷路數(shù)量與Hello包機制相比并不多,但是通過對場景的分析可以發(fā)現(xiàn),由于節(jié)點mobile_ node _6的移動而造成的斷路也頂多為3至4次,而恰恰鏈路層反饋機制感知到的斷路數(shù)量分別為2次和3次,也就是說由于移動造成的斷路中,鏈路層反饋機制平均以0.11 s和0.035 s的時延感知到斷裂的鏈路,而Hello包機制則平均以1.71 s和1.76 s的時延去感知這些斷路。Hello包所感知到的次數(shù)多達10次,我們認為主要由于Hello包維護的是雙向的鏈路。這一點應(yīng)該是Hello包機制相對于鏈路層反饋機制的優(yōu)點,也即在路由上沒有數(shù)據(jù)包發(fā)送的時候還可以維護路由。表1和表2中數(shù)據(jù)的不同點是:發(fā)包速率為10個/秒的場景中鏈路斷裂感知時延明顯要小于發(fā)包速率為5個/秒的場景,因而鏈路層反饋機制產(chǎn)生的鏈路斷裂感知時延是跟上層使用鏈路層發(fā)送單播數(shù)據(jù)的速率相關(guān)的,上層使用鏈路層發(fā)送單播數(shù)據(jù)的速率越快,鏈路層反饋機制產(chǎn)生的鏈路斷裂感知時延也就越小,反之則越大。
由表3可知,關(guān)閉鏈路層反饋后,對斷路的綜合感知時延平均值明顯變大,路由協(xié)議更加遲鈍。
發(fā)包速率為 10個/秒,打開和關(guān)閉鏈路層反饋的情況下,分組投遞情況如表4。
表4中統(tǒng)計的數(shù)據(jù)指出,在開啟鏈路層反饋機制后,對于本身丟包不是很嚴重的小流量場景中,丟失的數(shù)據(jù)包數(shù)量從60降低到2,減少了58個,分組投遞率由97.0%上升到99.9%,上升了將近 3個百分點,分析原因,我們認為單純地依靠Hello包機制,由于其機制的原因,必然不能及時地感知到斷裂的鏈路,這樣,路由協(xié)議還認為路由是正常的,所有的數(shù)據(jù)包依舊照常轉(zhuǎn)發(fā),但在Hello包機制感知到斷路的這段時間里,這條路由所轉(zhuǎn)發(fā)的數(shù)據(jù)包全部會丟失。但是,開啟鏈路層反饋機制后,會極大地降低路由協(xié)議對鏈路斷裂的感知時延,從而避免了通過已斷路由轉(zhuǎn)發(fā)數(shù)據(jù)包的情況,自然分組投遞率會提高。此外,我們認為仿真過程中,由于節(jié)點的移動而造成轉(zhuǎn)發(fā)數(shù)據(jù)的路由斷裂次數(shù)越多,鏈路層反饋機制表現(xiàn)出來的減少丟包的性能會更好。
表4 分組投遞
通過仿真,驗證了我們提出的鏈路層反饋機制確實可以降低鏈路斷裂感知的時延,從而降低了路由協(xié)議對已斷路由的繼續(xù)使用的概率,進而降低了由于使用已斷路由轉(zhuǎn)發(fā)數(shù)據(jù)包而丟失的數(shù)據(jù)包的數(shù)量,提高了分組投遞率。此外,開啟這種機制,不需要增加額外的路由控制包的開銷。
文章對小流量場景中由于移動性造成鏈路斷裂的感知時延的研究,我們準備下一步針對由于網(wǎng)絡(luò)擁塞造成的鏈路斷裂的情況下,研究開啟鏈路層反饋機制的表現(xiàn)。
[1] 郭中華,史浩山.Ad Hoc 網(wǎng)絡(luò)路由協(xié)議性能分析[J].通信技術(shù),2008,41(11):111-113.
[2] 宋璐璐,雒江濤.無線移動自組織網(wǎng)絡(luò)的發(fā)展及其技術(shù)概述[J].通信技術(shù),2007,40(01):35-39.
[3] Chakeres I, Perkins C G. draft-ietf-manet-dymo-17[EB/OL]. USA:MANET.[2009-3-8].http://tools.ietf.org/html/draft-ietfmanet- dymo-17#page-37.