劉洋
摘要:利用以CentOS為平臺的NS2網(wǎng)絡仿真軟件,對Ad Hoc網(wǎng)絡中典型的路由協(xié)議 DSDV、DSR 、AODV進行仿真與分析。仿真中選取丟包率這個指標對DSDV、DSR 、AODV進行性能評估。通過改變數(shù)據(jù)流速度、節(jié)點停留時間來分析比較這些參數(shù)的改變對這三個協(xié)議性能的影響。
關鍵詞:Ad Hoc 網(wǎng)絡;DSDV;DSR;AODV
0 引言
在Ad Hoc網(wǎng)絡中,各節(jié)點兼有主機和路由器的功能。移動節(jié)點之間通信是通過多路無線鏈路進行通信的,每個移動節(jié)點在必要時都要充當路由器的角色為其他節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)包。[1]由于移動Ad Hoc網(wǎng)絡的應用越來越廣泛,設計高效靈活的動態(tài)路由協(xié)議成為研究的重點。本文介紹幾種典型的路由協(xié)議,并通過仿真對其性能進行比較、分析。
1 Ad Hoc路由協(xié)議
1.1 DSDV
在DSDV(Destination Sequenced Distance Vector,目的節(jié)點序列距離矢量協(xié)議)協(xié)議中,每個節(jié)點周期性地廣播它當前的路由表。每個收到該廣播報文的節(jié)點將報文中的對應各目的節(jié)點的序列號與自身路由表中相應表項比較,如果報文中的序列號較高,則更新自己的路由表,將發(fā)送者指定為下一跳,并將距離增加一跳。在序列號相等但是報文中路由距離更小的情況下,節(jié)點也要更新自己的路由表。
當一個節(jié)點發(fā)現(xiàn)鏈路失效時,它將所有通過該節(jié)點轉(zhuǎn)發(fā)的路由的距離設為無窮并將其序列號加1。由于更新了序列號,因此這一消息會傳播到整個網(wǎng)絡。這樣所有這些目的路由指向的目的節(jié)點都有效地與此節(jié)點斷開,直到有新的序列號產(chǎn)生并包含新的路由信息。
1.2 DSR
DSR(Dynamic Source Routing, 動態(tài)源路由協(xié)議)是一種基于源路由的按需路由協(xié)議。每個尋路分組在其頭部攜帶完整分組所須經(jīng)過節(jié)點順序列表,發(fā)送方知道完整到達目的地路徑。在DSR中,節(jié)點有高速緩沖區(qū)用于存放所知目的節(jié)點所有路由。當要發(fā)送分組時,節(jié)點先查詢路由表。若目的節(jié)點和所需路由在路由表中,則使用這條路由;否則,廣播路由請求分組進行尋路。路由請求分組到達的每個節(jié)點都檢查自己路由表是否有到達目的節(jié)點路由。若有,就應答這個請求并提交這條路由。[2]
1.3 AODV
AODV(Ad Hoc On-Demand Distance Vector Routing,無線自組網(wǎng)按需平面距離向量路由協(xié)議)是一種隨選驅(qū)動路由協(xié)議。當一個節(jié)點需要給網(wǎng)絡中另外一個節(jié)點傳送信息時,首先以廣播的形式發(fā)出RREQ(Route Request),其中記錄著發(fā)出的源節(jié)點和目的節(jié)點的地址,鄰近節(jié)點收到RREQ,首先判斷其中的目的節(jié)點是否就是自己,如果不是,再在記錄中查找是否有到目的節(jié)點的路由。如果滿足上邊的任何一條就發(fā)出RREP(Route Reply)給源節(jié)點。如果不能滿足就轉(zhuǎn)發(fā)RREQ繼續(xù)查找。對于每一條路由都對應著一個序列號,當路由更新時,序列號也隨著更新。
AODV協(xié)議的路由維護是通過定期的廣播hello報文來實現(xiàn)的。一旦發(fā)現(xiàn)某一個連接斷開,節(jié)點就發(fā)送RRER(Route Error)報文通知那些因連接斷開而不可達的節(jié)點刪除相應的路由記錄。
2 仿真與分析
2.1 NS2仿真流程
(1)利用setdest工具隨機生成所需的節(jié)點運動場景。
(2)利用cbrgen工具生成隨機數(shù)據(jù)流。
(3)編寫TCL仿真文件。
(4)運行TCL腳本。
(5)利用Gawk程序語言對Trace文件進行分析處理。 [3]
2.2 性能評估指標
丟包率,該指標是反映網(wǎng)絡衡量協(xié)議效率、可擴展性、在低帶寬或擁塞情況下的性能和能耗效率。
丟包率=(1-接受數(shù)據(jù)包數(shù)/發(fā)送數(shù)據(jù)包數(shù))*100%
2.3 仿真結果
2.3.1 數(shù)據(jù)流速度
仿真實驗參數(shù)設置:100個節(jié)點,每個節(jié)點最大連接數(shù)10個,數(shù)據(jù)流速度依次為20、30、40、50、60、70、80、90、100個/秒,節(jié)點停留時間10秒,節(jié)點移動速度10米/秒,仿真時間100秒,仿真環(huán)境大小500米*500米。
從圖1可以看出,隨著數(shù)據(jù)流速度的增大,三個協(xié)議的丟包率都逐漸增加,DSDV起點最高,但當數(shù)據(jù)流速度較大時丟包率中等,DSR起點最低,且丟包率一直最低。AODV當數(shù)據(jù)流速度較大時丟包率最大。
2.3.2 節(jié)點停留時間
仿真實驗參數(shù)設置:100個節(jié)點,每個節(jié)點最大連接數(shù)10個,數(shù)據(jù)流速度10個/秒,節(jié)點停留時間依次為10、20、30、40、50、60、70、80、90、100秒,節(jié)點移動速度10米/秒,仿真時間100秒,仿真環(huán)境大小500米*500米。
從圖2可以看出,DSDV的丟包率隨節(jié)點停留時間的增大而顯著下降,DSR和AODV沒有明顯變化且丟包率都很低。
3 結論
3.1 DSDV
當網(wǎng)絡中數(shù)據(jù)包傳輸量較小時,DSDV丟包率最大。當傳輸流量加大,DSDV丟包率在上升,但上升趨勢最弱。在網(wǎng)絡拓撲變化不明顯時,丟包率三者差不多。而當網(wǎng)絡拓撲變化明顯時,DSDV的丟包率逐漸加大。
因此,DSDV 適用于網(wǎng)絡拓撲較穩(wěn)定、傳輸數(shù)據(jù)量大的 Ad Hoc網(wǎng)絡。
3.2 DSR
當網(wǎng)絡中數(shù)據(jù)包傳輸量較小時,DSR丟包率最低。當數(shù)據(jù)流量增大,DSR的丟包率一直保持最低。網(wǎng)絡拓撲變化對DSR沒有明顯影響。
因此,DSR在三個路由協(xié)議中穩(wěn)定性最好。
3.3 AODV
當網(wǎng)絡中數(shù)據(jù)包傳輸量較小時, AODV丟包率中等。當傳輸流量加大,AODV丟包率逐漸變成三者中最大的。網(wǎng)絡拓撲變化對AODV沒有明顯影響。
因此,AODV適用于數(shù)據(jù)傳輸量不大的 Ad Hoc網(wǎng)絡。
4 結束語
文中使用NS2仿真軟件對Ad Hoc網(wǎng)絡中典型的路由協(xié)議DSDV、DSR 和AODV進行了仿真,通過改變網(wǎng)絡流量、網(wǎng)絡拓撲來分析這三個協(xié)議在不同環(huán)境下的運行效果,為之后的研究提供參考。
參考文獻
[1] 何昆鵬,李臘元.Ad Hoc網(wǎng)絡中按需路由協(xié)議的仿真與性能分析[J].計算機技術與發(fā)展,2008(03):81-84.
[2] 翁睿,任祥穎,錢松榮.基于NS2的Ad Hoc網(wǎng)絡路由協(xié)議性能比較分析[J].計算機應用與軟件,2007(11):130-132+197.
[3] 王玲,程靜.基于Ad hoc無線網(wǎng)絡的AODV路由協(xié)議仿真[J].成組技術與生產(chǎn)現(xiàn)代化,2014,31(03):54-57.