基于NS-2的無(wú)線(xiàn)網(wǎng)絡(luò )路由實(shí)驗設計
摘要:在計算機網(wǎng)絡(luò )教學(xué)過(guò)程中,構建具有相當規模的物理無(wú)線(xiàn)網(wǎng)絡(luò )實(shí)驗環(huán)境不切實(shí)際。因此,文中在NS-2網(wǎng)絡(luò )仿真器環(huán)境下,設計了3種典型的無(wú)線(xiàn)網(wǎng)絡(luò )路由協(xié)議驗證性實(shí)驗,仿真實(shí)驗直觀(guān)再現了無(wú)線(xiàn)網(wǎng)絡(luò )路由協(xié)議的工作原理,同時(shí)給出路由協(xié)議的性能評價(jià)指標,引導學(xué)生提出新的路由協(xié)議并進(jìn)行創(chuàng )新性實(shí)驗設計,培養學(xué)生的創(chuàng )新能力和科研素質(zhì)。
關(guān)鍵詞:NS-2;無(wú)線(xiàn)網(wǎng)絡(luò );實(shí)驗設計
移動(dòng)無(wú)線(xiàn)Adhoc網(wǎng)絡(luò )具有無(wú)基礎設施、分布式、自組織、自配置、自管理的特性,可在應急條件下快捷部署的計算機網(wǎng)絡(luò ),在軍事、搶險救災、突發(fā)事件應對等方面具有廣泛的潛在應用。移動(dòng)Adhoc網(wǎng)絡(luò )技術(shù)抽象復雜、難于理解,在教學(xué)過(guò)程中構建具有相當規模的實(shí)驗網(wǎng)絡(luò )不切實(shí)際。因此,設計基于NS-2網(wǎng)絡(luò )仿真軟件的實(shí)驗,讓學(xué)生在個(gè)人電腦上完成,深刻理解Adhoc網(wǎng)絡(luò )技術(shù)的原理、學(xué)會(huì )評價(jià)其性能,針對目前已提出的Adhoc路由技術(shù)的不足,探索一些創(chuàng )新性實(shí)驗設計方案,改進(jìn)或者提出更優(yōu)的路由技術(shù)。
1 無(wú)線(xiàn)移動(dòng)Adhoe網(wǎng)絡(luò )路由
路由的任務(wù)是把數據分組從源節點(diǎn)經(jīng)過(guò)中間網(wǎng)絡(luò )節點(diǎn)送達到目的節點(diǎn),是移動(dòng)Adhoc網(wǎng)絡(luò )組網(wǎng)的關(guān)鍵技術(shù),影響著(zhù)網(wǎng)絡(luò )延時(shí)、吞吐量等性能的優(yōu)劣。由于無(wú)線(xiàn)移動(dòng)Adhoc網(wǎng)絡(luò )拓撲動(dòng)態(tài)變化、資源限制等特點(diǎn),給路由技術(shù)的設計帶來(lái)了巨大的困難,在數據包的傳輸過(guò)程中,中間節點(diǎn)主要涉及2個(gè)基本行為,即確定最佳路徑和數據包的轉發(fā),數據包的轉發(fā)較為簡(jiǎn)單,路由選擇較為復雜,目前典型的路由技術(shù)有DSDV、DSR、AODV等。
1.1 目的節點(diǎn)序列距離矢量協(xié)議(DSDV)
DSDV是基于Belhnan-Ford算法表驅動(dòng)的平面路由協(xié)議,每個(gè)節點(diǎn)都存儲維護一張路由表,記錄網(wǎng)絡(luò )的全局視圖。路由表記錄著(zhù)目的節點(diǎn)、跳數、下一條節點(diǎn)和目的節點(diǎn)序列號標識,序列號標隱含了路由的時(shí)間信息來(lái)區分新舊(過(guò)時(shí)的)路由,同時(shí)避免環(huán)路的產(chǎn)生。路由信息的建立維護過(guò)程是每個(gè)節點(diǎn)周期性地與鄰節點(diǎn)交換路由表信息,以維持所有節點(diǎn)都擁有完整的路徑信息,同時(shí),節點(diǎn)路由信息發(fā)生改變時(shí)也觸發(fā)路由信息的重新建立。作為先應式路由的DSDV路由協(xié)議,再發(fā)送數據之前已建立好整個(gè)網(wǎng)絡(luò )的路由信息,數據可以立即傳輸,因此適用于實(shí)時(shí)性應用環(huán)境中,但是網(wǎng)絡(luò )拓撲變化頻繁時(shí),維護路由信息的代價(jià)很高,因此不適合移動(dòng)性強和大規模的網(wǎng)絡(luò )環(huán)境中。
1.2 動(dòng)態(tài)源路由協(xié)議(DSR)
和先應式表驅動(dòng)路由不同,DSR是一種按需(On_demand)平面路由協(xié)議,當一個(gè)節點(diǎn)需要發(fā)送數據報文時(shí),首先檢查路由緩沖,是否存在從源節點(diǎn)到目的節點(diǎn)的一條路由,如果存在,就啟動(dòng)該路由通往的節點(diǎn)轉發(fā)信息,其他非參與節點(diǎn)睡眠以節省能量等資源。如果不存在通往目的節點(diǎn)的路由,該節點(diǎn)則啟動(dòng)路由搜索,路由搜索過(guò)程:源節點(diǎn)通過(guò)泛洪方式廣播路由請求分組給鄰居節點(diǎn),鄰居節點(diǎn)收到路由請求分組后,檢查自己的地址是否在路由請求分組中,如存在,就不轉發(fā)路由請求分組,如不存在,就把自己的地址添加到路由請求分組,并轉發(fā)補充了自己地址的的路由請求分組,這個(gè)過(guò)程持續到有一個(gè)路由請求分組到達目的節點(diǎn),當路由請求分組到達目的節點(diǎn)時(shí),節點(diǎn)要返回一個(gè)路由應答分組通知節點(diǎn)己收到該路由請求。到達目的節點(diǎn)的的路由請求分組包含從源節點(diǎn)到目的節點(diǎn)的路由,目的節點(diǎn)就可以選擇利用反向路由來(lái)發(fā)送路由應答,從源節點(diǎn)到目的節點(diǎn)可能在多條路由,一個(gè)源節點(diǎn)可能從目的節點(diǎn)那收到很多個(gè)路由應答,DSR協(xié)議把這些路由緩存在路由緩存中以備將來(lái)所用。DSR協(xié)議主機不需要周期性的發(fā)送路由發(fā)現報文,支持主機睡眠。但是數據收發(fā)的每個(gè)報文都需要攜帶完整的路由信息,降低了網(wǎng)絡(luò )帶寬的利用率,在大規模的網(wǎng)絡(luò )中也不適用。
1.3 按需平面路由協(xié)議(AODV)
AODV路由協(xié)議結合DSR的優(yōu)點(diǎn),改進(jìn)DSDV,在需要時(shí)才建立路由信息,允許節點(diǎn)獲得多條路徑到達目的節點(diǎn)且不要求節點(diǎn)維護這些路由信息,因此其收斂速度快、計算量小、存儲資源消耗小、對網(wǎng)絡(luò )帶寬占用小。節點(diǎn)需要數據發(fā)送時(shí)也同DSR路由協(xié)議一樣,啟動(dòng)路由搜索過(guò)程,也采用節點(diǎn)序列號避免環(huán)路的產(chǎn)生。
2 無(wú)線(xiàn)網(wǎng)絡(luò )路由實(shí)驗設計
UC Berkeley開(kāi)發(fā)的NS-2是開(kāi)源的網(wǎng)絡(luò )仿真軟件,用戶(hù)可根據問(wèn)題定義,是否需要修改源碼,編寫(xiě)TCL模擬腳本和結果分析3個(gè)過(guò)程完成研究任務(wù)。筆者在計算機網(wǎng)絡(luò )專(zhuān)業(yè)課程教學(xué)中,設計了NS-2仿真環(huán)境下的無(wú)線(xiàn)網(wǎng)絡(luò )路由實(shí)驗,讓學(xué)生在自己的個(gè)人電腦上完成該試驗。
2.1 實(shí)驗目的
組建物理無(wú)線(xiàn)網(wǎng)絡(luò )實(shí)驗環(huán)境不切實(shí)際,因此在NS-2網(wǎng)絡(luò )仿真器環(huán)境下,設計3種典型的無(wú)線(xiàn)網(wǎng)絡(luò )路由協(xié)議驗證性實(shí)驗,使學(xué)生理解表驅動(dòng)路由協(xié)議和按需路由工作原理的基礎上,引導學(xué)生提出性能評價(jià)體系對比已提出的無(wú)線(xiàn)網(wǎng)絡(luò )路由協(xié)議優(yōu)缺點(diǎn)和適用場(chǎng)合,從而改進(jìn)或者提出新的路由協(xié)議并進(jìn)行創(chuàng )新性實(shí)驗設計,培養學(xué)生的創(chuàng )新能力和科研素質(zhì)。
2.2 實(shí)驗設計
實(shí)驗采用確定無(wú)線(xiàn)網(wǎng)絡(luò )結構、編寫(xiě)TCL仿真代碼和設定trace文件記錄網(wǎng)絡(luò )事件,利用Gawk和gnuplot工具對網(wǎng)絡(luò )事件數據統計分析,得出網(wǎng)絡(luò )性能評價(jià)的過(guò)程進(jìn)行。
2.2.1 拓撲結構
為了直觀(guān)觀(guān)測路由收斂和工作原理,實(shí)驗采用如圖1所示的拓撲結構,共有8個(gè)Adhoc節點(diǎn),節點(diǎn)間的距離設置為200 m,每個(gè)節點(diǎn)的通信范圍設置為250 m。節點(diǎn)7向節點(diǎn)6發(fā)送恒定速率(CBR)的數據流,同時(shí)節點(diǎn)7在仿真10 s后開(kāi)始向節點(diǎn)5的正上方移動(dòng)。
2.2.2 仿真實(shí)現
1)編碼
2)運行演示
編寫(xiě)好仿真腳本后,啟動(dòng)xwin窗口,使用ns*.tlc命令,*為仿真文件名。運行過(guò)程用nam動(dòng)畫(huà)演示,節點(diǎn)發(fā)送的廣播以圓圈逐步擴散,數據分組以小黑點(diǎn)按路由傳輸,不能及時(shí)傳送的分組進(jìn)入隊列緩存,如滿(mǎn)則丟棄。
2.2.3 實(shí)驗結果分析
1)trace文件解讀 仿真運行完成后,截取其中建立9條鏈路的開(kāi)始一段trace文件,如下所示:
Trace文件的記錄共有21欄,其中(1)表示事件類(lèi)型,共有4類(lèi)事件:s分組的發(fā)送事件,r分組接收事件,d分組丟棄,f分組轉發(fā);(2)時(shí)間發(fā)生時(shí)間;(3)處理事件的節點(diǎn);(4)Trace名稱(chēng);(5-6)分隔符;(7)分組ID;(8)分組類(lèi)型;(9)分組大??;(10-13)MAC層的信息;(14-17)分隔符;(18-21)IP層的信息。
2)路由協(xié)議性能評價(jià) 設計“優(yōu)良”的adhoc無(wú)線(xiàn)網(wǎng)絡(luò )路由協(xié)議是目前無(wú)線(xiàn)組網(wǎng)的關(guān)鍵技術(shù)之一,“優(yōu)良”需要完整的評價(jià)體系,一般采用定性分析和定量相結合的方式進(jìn)行。定性分析可以從適應動(dòng)態(tài)拓撲、控制開(kāi)銷(xiāo)、分布式操作、基于需求的操作、先應操作、“睡眠”周期操作、路由方式和路由更新方式等方面進(jìn)行,可以得出路由協(xié)議的適應性。定量指標包括數據包成功接收率、端到端平均時(shí)延、路由開(kāi)銷(xiāo)、分組數據的丟包率、第一個(gè)封包的接收時(shí)間等指標,可以統計Trace文件得到。
2.2.4 實(shí)驗結果分析
通過(guò)本實(shí)驗,學(xué)生可直觀(guān)的觀(guān)測無(wú)線(xiàn)網(wǎng)絡(luò )數據分組的傳送過(guò)程,分析trace文件,可以全面理解網(wǎng)絡(luò )行為同時(shí)從網(wǎng)絡(luò )延遲、丟包率、吞吐量等各個(gè)方面理解評價(jià)網(wǎng)絡(luò )性能,全面理解無(wú)線(xiàn)網(wǎng)絡(luò )路由的工作原理,但是上面的實(shí)驗由于拓撲結構簡(jiǎn)單,而無(wú)線(xiàn)adhoc網(wǎng)絡(luò )一般范圍大,節點(diǎn)移動(dòng)性強,為了仿真真實(shí)的應用場(chǎng)景,可以用NS-2下的cbr工具生成多條業(yè)務(wù)流,用setdest工具生成更加真實(shí)的應用場(chǎng)景進(jìn)行仿真。下面是仿真時(shí)間為100 s,暫停時(shí)間設為0 s,也就是節點(diǎn)在仿真時(shí)間內一直移動(dòng),設置CBR流,最大的連接數為10條,每秒發(fā)出10個(gè)封包。在500 m*500 m的范圍內節點(diǎn)數分別設為100、150、200、250、300、400對3種典型路由協(xié)議進(jìn)行仿真統計出的平均延時(shí)。
在節點(diǎn)數量較小時(shí),平均傳輸延遲相當,隨著(zhù)節點(diǎn)數量的增加,DSDV比DSR和AODV大,說(shuō)明DSDV路由表建立后,隨著(zhù)節點(diǎn)移動(dòng)和節點(diǎn)數的增加,需要更新路由表次數更頻繁,影響包傳送的時(shí)間。
3 結束語(yǔ)
無(wú)線(xiàn)網(wǎng)絡(luò )技術(shù)是目前計算機網(wǎng)絡(luò )教學(xué)的重點(diǎn)和研究的熱點(diǎn)問(wèn)題,原理抽象,不易理解,難以掌握,同時(shí)面向實(shí)際應用還有一些需要解決的問(wèn)題,在教學(xué)過(guò)程中,結合教學(xué)內容的特點(diǎn),設計一些研究性實(shí)驗,使學(xué)生面對問(wèn)題、分析問(wèn)題進(jìn)而提出解決問(wèn)題和采用方便的手段就行驗證,從而提高教學(xué)質(zhì)量。
評論