張大亮,陳 濤,黃 琳
(湖北師范學院 計算機科學與技術學院, 湖北 黃石 435000)
Ad hoc網絡以其自組織性,其路由不能采用傳統的internet路由算法。到目前為止,已有許多種類的協議,AODV和DSR是其中具有代表性的兩種典型的路由協議。兩種協議既有相似之處又各有其特點。
DSR(動態源路由協議)是一種按需路由協議。在該協議中,節點在發送數據時才開始尋找路由。發送出去的數據包本身會攜帶至目的節點所經過節點的地址信息。整個傳送的過程中數據包會按照數據包中攜帶的地址信息逐跳至目的節點。
DSR路由協議主要包括路由發現和路由維護兩部分[1]。路由發現過程是為了當源節點發送數據包時能獲得完整的至目的節點的路由信息。當Ad Hoc網絡中的節點由于關機或者由于網絡拓撲結構發生變化時不能繼續轉發數據包,源節點如果按照以前的路由則無法使得數據包到達目的節點,這時路由維護算法會及時發現,并發起新的路由發現和建立的過程。
信源在開始發送數據包的時候即路由發現過程開始的時候,信源首先向其所有鄰節點洪泛RREQ(路由請求)報文。RREQ中包括“信宿”、“信源”“路由記錄”以及“本分組ID”等字段。其中“路由記錄”字段將記下RREQ分組逐跳傳播時所順序經過的節點地址,從而完成路由發現的功能。<源節點地址,請求ID>序列這里稱為RREQ標識,以便于RREQ的接收處理以防止收到重復的路由請求。
中間各節點對RREQ請求分組的處理步驟如下:
1)如果最近收到的“歷史RREQ列表”中該RREQ標識已存在,則直接丟棄該分組。
2)如果“路由記錄”中包括本節點,丟棄該RREQ分組。
3)如果本節點就是RREQ指定的信宿,則發送RREP(路由回答分組)。RREP中包含了從信源至信宿所經過的所有節點地址信息。否則將節點地址附在報文的“路由記錄”后,同時繼續向鄰節點廣播更新后的RREQ。
信宿向信源會送RREP,如果信宿存在“反向路由”。RREP分組沿“反向路由”將路由信息傳輸到信源。否則,按RREQ中的“路由記錄”進行反向傳送。
Ad Hoc網絡由于節點的電源采用電池供電因此能量有限。如果采用傳統的計算機網絡來建立和維護路由,周期性的通過洪泛方式來建立和維護路由則會造成很大的開銷。而在DSR協議中,則不是通過周期性的廣播來發現路由和維護路由,只是需要發送報文的時候才來檢測路由的可用性。
DSR協議具有以下優點:
1)節點不需要存儲路由表,信源端需要發送報文時才開始建立到達信宿的路由。
2)信源存儲有多條路由,因此當發送數據包的時候有多條路由備選,當其中一條失效后還有其他的路由備用。
3)支持非對稱傳輸信道模式。
AODV(無線自組網按需平面距離矢量路由協議),也是Ad Hoc網絡中按需路由方式的典型協議。由C Perkins和E Royer于2000年首先提出來的[2]。在AODV協議中,路由中的每個節點都維護路由表。
AODV路由協議也主要由路由發現和路由維護兩部分組成。與DSR協議不同AODV的數據包到達信宿要靠中間所經過的節點來進行路由的查找和維護,數據包的頭部不再帶有完整的路由信息。信源在發起路由建立過程的時候首先向所有的臨近節點廣播RREQ。RREQ中會攜帶以下字段:<信源地址,信源序列號,廣播ID,信宿地址,信宿序列號,跳數計數器>。序列對<信源地址,廣播ID>用來標識此RREQ。
AODV協議下中間節點路由表的建立過程如下:
1)創建一個表項,先不分配有效序列號,用于記錄反向路徑。
2)如果己收到一個具有相同標識的RREQ分組,則拋棄該分組,不作任何處理。否則對上述表項做以下處理:首先將信宿序列號設置為該RREQ的信源序列號,然后向周圍節點廣播該RREQ,接著將跳數設置為該RREQ的跳數計數器的值,最后設置該表項的過時定時器。
3)若果該節點的地址與RREQ中信宿地址相同而且表項的信宿序列號大于RREQ中的信宿序列號則形成反向路由。
AODV不同于DSR協議,報文到達信宿的過程中所經過的每個節點都會指定報文的下一跳地址因此數據報文頭部不再需要攜帶完整的路由節點地址信息,減少了數據報文頭部路由信息對信道的占用,協議的帶寬利用率高。另外也避免了路由環路現象的發生。但是AODV協議中源節點不能緩存多條完整的路由,因此在中間節點發現路徑中斷時,AODV只能將分組丟棄[3]。
OPNET最早是在1986年由麻省理工大學的兩個博士創建,于1998年進入中國。并被廣泛地被設備制造領域和國防領域廣泛采用。在OPNET各種產品中,Modeler幾乎包含其他產品的功能,在不同領域能展現出不同的用途,有著與實際情況相比非常準確的仿真數據[4]。
本仿真使用Modeler自帶的模型通過設置場景、節點參數。定義仿真場景如下:
1)仿真區域: 100M×100M的辦公室區域;
2)節點發射功率為0.005W,數據率為11Mbps,且發送速率按照均勻分布在整個過程中發送的速率都維持恒定;
3)仿真節點: 20個隨機分布的節點組成無線Ad Hoc網絡。如圖1所示;

圖1 Ad Hoc網絡拓撲圖
4)每個節點的運動軌跡為隨機的,運動速度為5m/s;
5)跳數限制: 在仿真中我們對從節點14到節點5所經過的最大節點數作了限制,設定最大跳數為7,如果路由過程中超過了此跳數的數據包則丟棄,因為跳數過多會導致網絡性能的下降。
6)信源和信宿:信源為節點14,信宿為節點5;
7)發送方分組發送采用均勻分布,分組大小1024bit;
8)節點之間采用802.11b協議來進行通信和傳輸數據。
網絡運行一小時應用Opnet分別對AODV以及DSR協議情況下時延的仿真,其結果如圖2以及如圖3.發和送方的發送速率、接收方的接收速率進行仿真,其結果如圖4以及如圖5.

圖2 AODV協議下時延 圖3 DSR協議下時延
從仿真結果的對比可以看出相同的環境下DSR協議比AODV總的來說時延要大,但是時延抖動要小。通過兩種協議下發送速率和接受速率的對比中也可以看出相同的發送速率前提下,在DSR協議下,接收方的接收速率要高于AODV協議,同時比AODV協議的接收效果要穩定。

圖4 AODV協議下發送方和接收方的速率 圖5 DSR協議下發送方和接收方的速率
[1]汪 濤.無線網絡技術導論[M].北京:清華大學出版社,2008.
[2]孫寶林,桂 超,李 媛,等.移動Ad Hoc網絡路由技術研究[M].武漢:湖北人民出版社,2008.
[3]鄭少仁,王海濤,趙志峰,等.Ad Hoc網絡技術[M].北京:人民郵電出版社,2005.
[4]陳 敏.Opnet網絡仿真[M].北京:清華大學出版社,2004.