移動無線Adhoc網絡具有無基礎設施、分布式、自組織、自配置、自管理的特性,可在應急條件下快捷部署的計算機網絡,在軍事、搶險救災、突發事件應對等方面具有廣泛的潛在應用。移動Adhoc網絡技術抽象復雜、難于理解,在教學過程中構建具有相當規模的實驗網絡不切實際。因此,設計基于NS-2網絡仿真軟件的實驗,讓學生在個人電腦上完成,深刻理解Adhoc網絡技術的原理、學會評價其性能,針對目前已提出的Adhoc路由技術的不足,探索一些創新性實驗設計方案,改進或者提出更優的路由技術。
1 無線移動Adhoe網絡路由
路由的任務是把數據分組從源節點經過中間網絡節點送達到目的節點,是移動Adhoc網絡組網的關鍵技術,影響著網絡延時、吞吐量等性能的優劣。由于無線移動Adhoc網絡拓撲動態變化、資源限制等特點,給路由技術的設計帶來了巨大的困難,在數據包的傳輸過程中,中間節點主要涉及2個基本行為,即確定最佳路徑和數據包的轉發,數據包的轉發較為簡單,路由選擇較為復雜,目前典型的路由技術有DSDV、DSR、AODV等。
1.1 目的節點序列距離矢量協議(DSDV)
DSDV是基于Belhnan-Ford算法表驅動的平面路由協議,每個節點都存儲維護一張路由表,記錄網絡的全局視圖。路由表記錄著目的節點、跳數、下一條節點和目的節點序列號標識,序列號標隱含了路由的時間信息來區分新舊(過時的)路由,同時避免環路的產生。路由信息的建立維護過程是每個節點周期性地與鄰節點交換路由表信息,以維持所有節點都擁有完整的路徑信息,同時,節點路由信息發生改變時也觸發路由信息的重新建立。作為先應式路由的DSDV路由協議,再發送數據之前已建立好整個網絡的路由信息,數據可以立即傳輸,因此適用于實時性應用環境中,但是網絡拓撲變化頻繁時,維護路由信息的代價很高,因此不適合移動性強和大規模的網絡環境中。
1.2 動態源路由協議(DSR)
和先應式表驅動路由不同,DSR是一種按需(On_demand)平面路由協議,當一個節點需要發送數據報文時,首先檢查路由緩沖,是否存在從源節點到目的節點的一條路由,如果存在,就啟動該路由通往的節點轉發信息,其他非參與節點睡眠以節省能量等資源。如果不存在通往目的節點的路由,該節點則啟動路由搜索,路由搜索過程:源節點通過泛洪方式廣播路由請求分組給鄰居節點,鄰居節點收到路由請求分組后,檢查自己的地址是否在路由請求分組中,如存在,就不轉發路由請求分組,如不存在,就把自己的地址添加到路由請求分組,并轉發補充了自己地址的的路由請求分組,這個過程持續到有一個路由請求分組到達目的節點,當路由請求分組到達目的節點時,節點要返回一個路由應答分組通知節點己收到該路由請求。到達目的節點的的路由請求分組包含從源節點到目的節點的路由,目的節點就可以選擇利用反向路由來發送路由應答,從源節點到目的節點可能在多條路由,一個源節點可能從目的節點那收到很多個路由應答,DSR協議把這些路由緩存在路由緩存中以備將來所用。DSR協議主機不需要周期性的發送路由發現報文,支持主機睡眠。但是數據收發的每個報文都需要攜帶完整的路由信息,降低了網絡帶寬的利用率,在大規模的網絡中也不適用。
1.3 按需平面路由協議(AODV)
AODV路由協議結合DSR的優點,改進DSDV,在需要時才建立路由信息,允許節點獲得多條路徑到達目的節點且不要求節點維護這些路由信息,因此其收斂速度快、計算量小、存儲資源消耗小、對網絡帶寬占用小。節點需要數據發送時也同DSR路由協議一樣,啟動路由搜索過程,也采用節點序列號避免環路的產生。
2 無線網絡路由實驗設計
UC Berkeley開發的NS-2是開源的網絡仿真軟件,用戶可根據問題定義,是否需要修改源碼,編寫TCL模擬腳本和結果分析3個過程完成研究任務。筆者在計算機網絡專業課程教學中,設計了NS-2仿真環境下的無線網絡路由實驗,讓學生在自己的個人電腦上完成該試驗。
2.1 實驗目的
組建物理無線網絡實驗環境不切實際,因此在NS-2網絡仿真器環境下,設計3種典型的無線網絡路由協議驗證性實驗,使學生理解表驅動路由協議和按需路由工作原理的基礎上,引導學生提出性能評價體系對比已提出的無線網絡路由協議優缺點和適用場合,從而改進或者提出新的路由協議并進行創新性實驗設計,培養學生的創新能力和科研素質。
2.2 實驗設計
實驗采用確定無線網絡結構、編寫TCL仿真代碼和設定trace文件記錄網絡事件,利用Gawk和gnuplot工具對網絡事件數據統計分析,得出網絡性能評價的過程進行。
2.2.1 拓撲結構
為了直觀觀測路由收斂和工作原理,實驗采用如圖1所示的拓撲結構,共有8個Adhoc節點,節點間的距離設置為200 m,每個節點的通信范圍設置為250 m。節點7向節點6發送恒定速率(CBR)的數據流,同時節點7在仿真10 s后開始向節點5的正上方移動。

2.2.2 仿真實現
1)編碼



2)運行演示
編寫好仿真腳本后,啟動xwin窗口,使用ns*.tlc命令,*為仿真文件名。運行過程用nam動畫演示,節點發送的廣播以圓圈逐步擴散,數據分組以小黑點按路由傳輸,不能及時傳送的分組進入隊列緩存,如滿則丟棄。
2.2.3 實驗結果分析
1)trace文件解讀 仿真運行完成后,截取其中建立9條鏈路的開始一段trace文件,如下所示:

Trace文件的記錄共有21欄,其中(1)表示事件類型,共有4類事件:s分組的發送事件,r分組接收事件,d分組丟棄,f分組轉發;(2)時間發生時間;(3)處理事件的節點;(4)Trace名稱;(5-6)分隔符;(7)分組ID;(8)分組類型;(9)分組大小;(10-13)MAC層的信息;(14-17)分隔符;(18-21)IP層的信息。
2)路由協議性能評價 設計“優良”的adhoc無線網絡路由協議是目前無線組網的關鍵技術之一,“優良”需要完整的評價體系,一般采用定性分析和定量相結合的方式進行。定性分析可以從適應動態拓撲、控制開銷、分布式操作、基于需求的操作、先應操作、“睡眠”周期操作、路由方式和路由更新方式等方面進行,可以得出路由協議的適應性。定量指標包括數據包成功接收率、端到端平均時延、路由開銷、分組數據的丟包率、第一個封包的接收時間等指標,可以統計Trace文件得到。
2.2.4 實驗結果分析
通過本實驗,學生可直觀的觀測無線網絡數據分組的傳送過程,分析trace文件,可以全面理解網絡行為同時從網絡延遲、丟包率、吞吐量等各個方面理解評價網絡性能,全面理解無線網絡路由的工作原理,但是上面的實驗由于拓撲結構簡單,而無線adhoc網絡一般范圍大,節點移動性強,為了仿真真實的應用場景,可以用NS-2下的cbr工具生成多條業務流,用setdest工具生成更加真實的應用場景進行仿真。下面是仿真時間為100 s,暫停時間設為0 s,也就是節點在仿真時間內一直移動,設置CBR流,最大的連接數為10條,每秒發出10個封包。在500 m*500 m的范圍內節點數分別設為100、150、200、250、300、400對3種典型路由協議進行仿真統計出的平均延時。

在節點數量較小時,平均傳輸延遲相當,隨著節點數量的增加,DSDV比DSR和AODV大,說明DSDV路由表建立后,隨著節點移動和節點數的增加,需要更新路由表次數更頻繁,影響包傳送的時間。
3 結束語
無線網絡技術是目前計算機網絡教學的重點和研究的熱點問題,原理抽象,不易理解,難以掌握,同時面向實際應用還有一些需要解決的問題,在教學過程中,結合教學內容的特點,設計一些研究性實驗,使學生面對問題、分析問題進而提出解決問題和采用方便的手段就行驗證,從而提高教學質量。