劉峰
摘要摘要:對Ad Hoc中目的序列距離矢量協(xié)議(DSDV)、按需距離矢量路由協(xié)議(AODV)及動態(tài)源路由協(xié)議(DSR)進行理論分析和比較。在NS2平臺上實現(xiàn)3種路由協(xié)議的仿真,討論分組投遞率、平均端到端時延和歸一化路由開銷3項性能指標。通過Tcl編程給出圖示化結(jié)果,為不同應(yīng)用環(huán)境下的路由選擇提供思路。
關(guān)鍵詞關(guān)鍵詞:Ad Hoc網(wǎng)絡(luò);路由協(xié)議;平均端到端延時;NS2仿真
DOIDOI:10.11907/rjdk.161094
中圖分類號:TP393文獻標識碼:A文章編號文章編號:16727800(2017)001014903
引言
Ad Hoc 網(wǎng)絡(luò)[1]是一種多跳的無中心自組織網(wǎng)絡(luò),又被稱為多跳網(wǎng)或自組網(wǎng)。整個網(wǎng)絡(luò)沒有固定的基礎(chǔ)設(shè)施,網(wǎng)中的每個節(jié)點都是不定向運動的,并能夠相互保持消息同步與信息交流,但是消息同步與路由需要網(wǎng)絡(luò)協(xié)議的支持。目前,在Ad Hoc網(wǎng)絡(luò)中,典型的路由協(xié)議主要有DSDV、AODV、DSR等3種,本文將通過在網(wǎng)絡(luò)仿真平臺上對3種協(xié)議進行實驗來比較分析它們的使用場景和性能優(yōu)劣[2]。
1Ad Hoc典型路由協(xié)議
者到達一個中間節(jié)點,但它要包含到目的節(jié)點的路徑信息。然后該目的節(jié)點沿著這條路徑的反方向反饋一個路由應(yīng)答包,表明源節(jié)點發(fā)送的路由請求包已收到,這樣就建立起一條從源節(jié)點到目的節(jié)點的一條路由信息。在找到路由源節(jié)點發(fā)送數(shù)據(jù)時,會存在路由過時的問題,需要通過包序列號來解決,通過辨識包序列號的大小來確認路由的有效性。一般將包序列號大的那條路徑作為最新的路由,當(dāng)包序列號相同時,一般選擇經(jīng)過節(jié)點少的那條路徑作為最新路由,但也經(jīng)常存在鏈路中斷情況,這時源節(jié)點就需要重新啟動路由發(fā)現(xiàn)過程。
1.3動態(tài)源路由協(xié)議DSR
DSR(Dynamic Source Routing)是一種基于源路由的反應(yīng)式路由協(xié)議,其中主要包括路由發(fā)現(xiàn)和路由維護兩個過程。路由發(fā)現(xiàn)過程主要如下:當(dāng)源節(jié)點需要發(fā)送數(shù)據(jù)時,首先檢查自身的路由緩存表,看是否有到目的節(jié)點尚未過期的路由信息,若存在則按該路由進行數(shù)據(jù)的傳送;如沒有,則需要向網(wǎng)絡(luò)的周圍廣播一個路由請求包RREQ。在每個鄰居節(jié)點收到該請求包時,首先會檢查自身的路由表有無到該目的節(jié)點的路由信息,若有該節(jié)點則向源節(jié)點發(fā)送路由應(yīng)答包RREP,其中包含從源節(jié)點到目的節(jié)點的路由信息;若沒有,則依次向周圍節(jié)點廣播該數(shù)據(jù)包,直到目的節(jié)點收到,或直到目的節(jié)點路由的中間節(jié)點收到,至此路由發(fā)現(xiàn)過程完成。
正確建立路由后,源節(jié)點則按照此路由向目的節(jié)點傳輸數(shù)據(jù),在數(shù)據(jù)傳送中,還需要對已建立的路徑進行維護和更新,當(dāng)發(fā)現(xiàn)路由改變或中斷時,需要源節(jié)點及時更新路由表或者重新尋找路由。反應(yīng)式路由協(xié)議路由發(fā)現(xiàn)過程如圖1所示。
2.1網(wǎng)絡(luò)仿真工具NS2
NS[5] 是 Network Simulator的英文縮寫,又稱網(wǎng)絡(luò)仿真器。NS2的2是指網(wǎng)絡(luò)仿真平臺的第二版,它本質(zhì)上是一個離散事件驅(qū)動的模擬器,可以很好地模擬現(xiàn)實中的網(wǎng)絡(luò)環(huán)境。目前已經(jīng)驗證FTP、Telnet、CBR等協(xié)議仿真的正確性和可靠性,整個仿真過程主要分為3個部分:改源碼、Tcl腳本、分析處理結(jié)果[5]。
2.2實驗環(huán)境搭建
NS2是在UNIX系統(tǒng)上開發(fā)的,因此可以在FreeBSD、SunOSc、UNIX和類UNIX系統(tǒng)上安裝,在基于Windows平臺的Cygwin環(huán)境中進行仿真。 Cygwin是一個在Windows平臺上運行的模擬Linux環(huán)境,運行Cygwin后,會得到一個類似于Linux的Shell環(huán)境,還可以使用絕大部分Linux軟件和功能,如Gcc、Make、Vim、Emacs等。實驗在Windows + Cygwin + ns-allinone-2.34 環(huán)境下進行。
2.3仿真實驗
通過流量模型和移動模型的仿真環(huán)境設(shè)置,本文主要選取以下場景的性能進行分析,節(jié)點的移動速度為:對50個節(jié)點進行仿真,節(jié)點隨機分布在1000m x 800m 的矩形區(qū)域內(nèi),停留時間為1s,最大移動速度分別為 0m/s、5m/s、10m/s、15m/s、20m/s,仿真時間為300s,網(wǎng)絡(luò)流量采用CBR 數(shù)據(jù)源產(chǎn)生,最大連接數(shù) 10,分組發(fā)送率為每秒2個數(shù)據(jù)包,采用UDP無連接協(xié)議,仿真實驗參數(shù)如表1所示。
2.4結(jié)果分析
因為當(dāng)節(jié)點的移動速度增大時,節(jié)點的頻繁運動破壞了網(wǎng)絡(luò)的連通性,造成節(jié)點間路由的中斷,導(dǎo)致數(shù)據(jù)包不能被正確送達到目的地。其中,DSDV協(xié)議下的分組投遞率隨著節(jié)點移動速度增大下降最快,直到65%左右,這是由于DSDV是先驗式的路由協(xié)議,需要主動發(fā)起路由發(fā)現(xiàn)過程,與網(wǎng)內(nèi)其它節(jié)點實時交換路由信息,信息維護量較大,甚至不能及時更新路由表,導(dǎo)致分組被丟棄,造成DSDV的分組投遞率低,所以DSDV不適合在網(wǎng)絡(luò)拓撲快速變化的環(huán)境中使用。
從圖3 可以看出,當(dāng)節(jié)點移動速度增大時,3種協(xié)議的延時都有所增加,這是因為節(jié)點的頻繁運動導(dǎo)致網(wǎng)絡(luò)拓撲在不斷變化,以致路由經(jīng)常發(fā)生中斷,節(jié)點需要一直廣播路由更新包,增大了網(wǎng)絡(luò)的路由開銷,使分組的傳輸時間增大;而按需路由協(xié)議的節(jié)點需要重新發(fā)現(xiàn)路由,加大了分組的整體傳輸時間,故導(dǎo)致分組的平均端到端延時增加。其中,DSDV協(xié)議的平均時延在三者當(dāng)中最小,這是由于DSDV協(xié)議的路由表中存在到達目的節(jié)點的路由,節(jié)省了發(fā)現(xiàn)路由的過程。因此, DSDV協(xié)議適用于延時要求較高的網(wǎng)絡(luò)環(huán)境中。
從圖4可以看出,3種協(xié)議的歸一化路由開銷有明顯差別,DSR協(xié)議的路由開銷最小,DSDV協(xié)議最大。DSDV協(xié)議是主動式路由協(xié)議,需要對網(wǎng)絡(luò)鏈路的狀態(tài)實時監(jiān)測,及時維護和更新路由信息,需要大量廣播路由控制消息,所以DSDV協(xié)議的網(wǎng)絡(luò)開銷最大,需要較高的維護成本。
綜上所述,在分組投遞率上反應(yīng)式路由協(xié)議優(yōu)于主動式協(xié)議,在網(wǎng)絡(luò)環(huán)境較好的情況下甚至可達100%,在平均端到端時延上主動式路由協(xié)議DSDV有較大優(yōu)勢,在路由開銷方面主動式的路由協(xié)議比被動式的開銷要大。通過3種協(xié)議的仿真實驗得出以下結(jié)論:①按需路由協(xié)議適合在網(wǎng)絡(luò)拓撲快速變化的環(huán)境中使用;②DSDV由于具有時延較小的優(yōu)勢,故適合在實時業(yè)務(wù)中使用它;③在考慮到網(wǎng)絡(luò)運行和維護的費用上,適合使用反應(yīng)式的路由協(xié)議DSR和AODV。
3結(jié)語
本文主要對Ad Hoc網(wǎng)絡(luò)中DSDV、AODV、DSR協(xié)議進行理論分析和比較,并在NS2平臺上實現(xiàn)了3種路由的仿真,對其性能優(yōu)劣作了分析,給出3種協(xié)議的適用場景。目前,尚不存在一種協(xié)議能夠解決Ad Hoc 網(wǎng)絡(luò)中遇到的所有問題。因此,應(yīng)根據(jù)具體的網(wǎng)絡(luò)環(huán)境選擇最優(yōu)路由解決方案,Ad Hoc網(wǎng)絡(luò)中還存在安全、功率控制問題,這些均是后續(xù)研究的重點。
參考文獻:
[1]鄭少仁,王海濤,趙志峰等.Ad Hoc網(wǎng)絡(luò)技術(shù)[M].北京:人民郵電出版社,2005.
[2]向明尚,陳素麗,劉延軍等.NS2網(wǎng)絡(luò)仿真平臺的探討與實現(xiàn)[J].大慶石油學(xué)院學(xué)報,2005,12(2):8793.
[3]張遠,郭虹,劉洛琨.DSDV 算法實現(xiàn)及其性能分析[J].移動通信,2004,17(800) :1719.
[4]楊盤隆,鄭少仁.Ad Hoc網(wǎng)絡(luò)中的路由算法[J].軍事通信技術(shù),2001,22(4):4953.
[5]徐雷鳴,龐博,趙耀.NS與網(wǎng)絡(luò)模擬[M].北京:人民郵電出版社,2003.
[6]海德倫,王克文,常永英.Gnuplot軟件電力電子技術(shù)教學(xué)中的應(yīng)用[J].華北水利水電學(xué)院學(xué)報,2006,27(4):6971.