摘要:無線自組織網絡由不需要任何基礎設施的一組具有動態組網能力的節點組成,因此網絡可以通過節點路由發現機制轉發分組,并進行路由維護。這種網絡適應了軍事和商用中對網絡和設備移動性的要求,而引起了人們的關注,并在20世紀90年代以后獲得了廣泛的研究和發展。文章對DSR(動態源路由協議)的路由發現過程進行了優化,并采用OPNET仿真軟件對基于DSR協議的Ad Hoc網絡的路由開銷和時延等關鍵參數進行了仿真統計,分析了改進后的路由協議對網絡質量的影響。
關鍵詞:Ad hoc網絡;動態源路由協議;網絡仿真;路由發現過程
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)23-915-03
Research and Realization of DSR Route Protocol of MANET based on OPNET
WU Ying
(Xiangtan in Hunan Vocational College of Technology, Xiangtan 411100, China)
Abstract: Ad hoc networks are envisioned to have dynamic, sometimes rapidly-changing, random, multihop topologies which are likely composed of relatively bandwidth-constrained wireless links. The Dynamic Source Routing protocol (DSR) is a simple and efficient routing protocol designed specifically for use in multi-hop wireless ad hoc networks of mobile nodes, however, due to mobility and line broken, the route information stored in the cache will be easily invalidated. In order to solve the problem, this paper introduces a new mechanism to optimize the process of route request in DSR router protocol. Two metrics were used to evaluate the performance: sent/received traffic and end-to-end delay, respectively. And two scenarios were analyzed showing the improvement of the network performance with respect to the original DSR protocol.
Key words: ad hoc network; DSR (dynamic source routing); network simulation; route request |
1 概述
Ad hoc網絡是一組具有無線收發裝置的移動節點組成的一個多跳的臨時性的自組織系統,具有以下一些主要特征:動態拓撲,即網絡中的節點可以任意移動,因此,網絡的拓撲結構也可能會變化;鏈路帶寬受限、容量時變,由于拓撲動態變化導致每個節點轉發的非自身作為目的地的業務量隨時間而變化,因此與有線網絡不同,它的鏈路容量表現出時變特征;動力受限,能量受限,由于網絡節點的移動特征,其中大多數節點以電池作為動力,在進行系統設計時節能就成為一個非常重要的指標;物理上安全有限,移動網絡比固定網絡(有線和無線)更易受到安全威脅,需要克服無線鏈路的安全弱點及移動拓撲所帶來的新的安全隱患,因此,傳統的用于固定網絡的路由協議不適用于Ad hoc網絡。
Ad Hoc無線網絡具有自身的特殊性,在組建實際使用的無線工作網絡時,必須充分考慮網絡的應用規模和擴展性,以及應用的可靠程度及實時性要求,選擇合適的網絡拓撲結構。另外,由于Ad Hoc網絡自身結構的特殊性,設計或組建網絡時應充分考慮Ad Hoc無線網絡的特點,有助于我們設計出適合特定網絡結構的路由協議,最大限度地發揮整個網絡的工作性能。
2 DSR協議
DSR采用路由緩存技術,用于存儲源路由信息,當得到新的路由時修改路由緩存內容。包括路由發現和路由維護兩部分。
1)路由發現:當節點要傳送數據分組時,源節點先檢查緩存中是否有到信宿的路由信息,若有非過期的路由則可直接采用,否則泛洪廣播發送路由請求分組。每個節點接收后,判斷是否有到目的節點的路由,若無,則將自己的地址加入分組的路由記錄并轉發給鄰節點。若是目的節點就返回應答,源節點接收到路由回復后,則路由發現過程結束。
2)路由維護:源節點通過路由維護機制可以檢測出網絡拓撲的改變,從而知道到目的節點的路由是否可用。路由維護探測到某條使用中的路由出現了問題,就會發送RERR(路由錯誤報文)給源節點。源節點在收到該RERR后,就會從它的路由緩存中刪除所有包含有該故障鏈路的路由。
DSR的優點:(1)節點僅需要維護與之通信的節點的路由,減少了協議開銷;(2)使用路由緩存技術減少了路由發現的耗費;(3)一次路由發現過程可能會產生多條到目的點的路由。
DSR的缺點:(1)每個數據報文的頭部都需要攜帶路由信息,數據包的額外開銷較大;(2)路由請求消息采用泛洪方式,相鄰節點路由請求消息可能發生傳播沖突并可能會產生重復廣播;(3)由于緩存,過期路由會影響路由選擇的準確性。
3 基于DSR協議的路由發現過程中轉發節點的處理優化
在DSR協議的路由發現過程中,中間節點在收到源節點的路由請求報文后,會按照以下步驟處理報文:
1)如果路由請求報文的<源節點地址,請求ID>存在于本節點的序列對列表中,表明此報文已經收到過,節點不處理該請求;否則轉步驟2);
2)如果該節點的地址已在路由記錄字段中,節點不處理該請求;否則轉步驟3);
3)如果請求報文的目的節點就是本節點,則路由記錄中的節點地址序列構成了從源節點到目的節點的路由。節點將該路由拷貝到“路由響應”報文中,并向源節點發送,否則轉步驟4);
4)該節點是中間節點。將節點地址附在報文的“路由記錄”字段后,同時向鄰節點廣播該路由請求。
通過這種辦法,路由請求報文將最終到達目的節點。
3.1 DSR協議路由發現過程中存在的問題
在上述的路由發現過程中,需要注意一個問題。
上圖中,節點D有可能會同時收到節點C和E的路由請求消息,造成消息碰撞,反而收不到正確的路由請求,因此在Ad hoc網絡中,廣播并非完全可靠。而一般的解決辦法是采用某種策略來避免這種情況發生,如節點隨機延時發送,或者節點間采用證實機制等。但是,節點隨機延時發送并不能夠保證找到最優化的路由選擇,而節點間的證實機制則需要發送更多的路由控制報文,耗費更多的網絡資源,加重了網絡負載。
在此,引入一種新的機制來在一定程度上解決或者緩解以上問題。
3.2 數據包長度比對法
新方法是在采用節點隨機延時機制避免消息碰撞的基礎上進行的改進。
由于采用了延時機制,所以C和E的路由請求消息會在不同時刻到達D節點,在正常情況下,D節點的路由記錄中會出現兩條到達F節點的路由選擇,這就發生了冗余。
而在引入新的機制以后,D節點會首先緩存到達該節點的路由請求信息,在等待△t(設為1秒)的時間之后,從緩存中取出請求信息,比較路由信息中到達D節點的數據包長度大小,選取數值最小的路由請求,放入路由記錄中,并刪除其他路由請求信息。
從上圖可以比較清晰的看出新方法的工作流程。
其中,op_intrpt_schedule_call (time, code, procedure, state_ptr)是仿真軟件OPNET自帶的核心函數,其功能是提供一種非常方便的機制,它能夠在指定的仿真時間激活用戶所編寫的函數。一般來說,這個核心函數是作為外部庫文件,或者是用戶自行編寫的程序的仿真接口。使用這個函數的用意就是在不超過△t的時間內,激活數據包長度比對處理函數。
而激活數據包長度比對處理函數dsr_pkt_support_route_request_ process(total_packet)則是為了引入新的節點處理機制而另外編寫的函數,其主要功能是計算若干個具有相同目的節點的路由請求信息,從中選取長度最短的路由記錄,并刪除其他數據包,釋放存儲空間。
其中,基于Ad hoc路由協議的特殊性,Δt數值大小的確定十分關鍵。因為若將等待時間設置過大,則網絡的傳輸效率會降低很多,而設置過小,則無法體現改進后的DSR協議對網絡性能的影響,而且隨著網絡規模的擴大,節點移動速度的增加,網絡拓撲變化的加快,不理想的Δt數值會產生不適當的額外時延,不利于實時業務的傳輸。
在本文中,改進的DSR采用了一種類似TCP重傳機制的時間計算方法。這種算法首先設置Δt的初始值(設為1秒),然后記錄每一次的路由發現時間RDT(Router Discovery Time),將各個路由發現時間的樣本加權平均,就得出平均的路由發現時間RDT。每記錄一個新的時間樣本,就按下式重新計算一次RDT:
RDT=α×(舊的RDT)+(1-α) (1)
在上式中,0≤α≤1。若α很接近于1,表示新算出的RDT與原來相差不大,新記錄的RDT更新較慢。若α接近于零,則表示加權計算的RDT受新的樣本值的影響較大,RDT更新較快。
這樣,得出的平均路由發現時間就是Δt的值,可以看出,Δt的值是在不斷變化的。
4 路由仿真及其結果分析
實驗采用OPNET仿真軟件,網絡規模為20個節點,隨機分布在1000m×1000m范圍,節點采用DSR路由協議來實現分組交換,節點間通信距離為250m,仿真時間為600s,實驗的目的是通過仿真來對比分析引入改進的節點處理機制之后,DSR協議對網絡性能的影響。
仿真實驗分為兩個場景:senario1和senario2,分別對應改進后的DSR協議和DSR協議,仿真從負載以及延遲兩方面分析協議優化前后的異同,結果如下圖。
從圖3和圖4可以看出,經過優化的DSR路由協議在降低開銷,減小負載方面,還是起到了一定的作用。但是,從圖5中可以得出結論,引入新的節點處理機制之后,DSR在網絡延遲方面的表現不盡如人意。
5 結論
Ad hoc網絡中的DSR協議每個數據報文的頭部都需要攜帶路由信息,數據包的額外開銷較大,為了改善這一狀況,本文在DSR路由發現過程中,引入了一種新的節點處理機制,經過仿真實驗表明,這種優化在降低開銷,減小網絡負載方面起到了一定作用,但是在減小網絡延遲方面還有缺陷,所以,下一步的研究工作就是提出更加有效的方法來改善Ad hoc網絡的網絡質量。
參考文獻:
[1] 陳敏.OPNET網絡仿真[M].北京:清華大學出版社,2004.
[2] 王文博,張金文.OPNET Modeler與網絡仿真[M].北京:人民郵電出版社,2003.
[3] 王金龍,王呈貴.Ad hoc移動無線網絡[M].北京:國防工業出版社,2004:1-25.
[4] Mobile Ad hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations (RFC 2501).
[5] The Dynamic Source Routing Protocol(DSR)for Mobile Ad Hoc Networks for IPv4 (RFC 4728).
[6] Maltz D,Johnson D.Dynamic Source Routing Protocol for Mobile Ad Hoc Networks[J].IETF Draft,1996.
[7] Johnson D,Routing in Ad Hoc Networks of Mobile Hosts[J].Proceedings of the Workshop on Mobile Computing Systems and Application, IEEE Computer Society,1994.
[8] 趙志峰,鄭少仁.Ad hoc網路體系結構研究[J].電信科學,2001,17(1):14-17.