董 繪 ,王曉喃
(1.蘇州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215000;2.常熟理工學(xué)院 計算機科學(xué)與工程學(xué)院,江蘇 常熟 215500)
路由協(xié)議是網(wǎng)絡(luò)的關(guān)鍵和核心問題之一[1].路由器是互聯(lián)網(wǎng)的重要組成部分,它通過路由協(xié)議實現(xiàn)路徑的配置[2],根據(jù)數(shù)據(jù)包附帶的信息來判斷網(wǎng)絡(luò)條件,以確定數(shù)據(jù)的傳輸路徑.數(shù)據(jù)的傳輸路徑分為單路徑與多路徑,與此對應(yīng)的路由協(xié)議是單路徑路由協(xié)議和多路徑路由協(xié)議.
一般來說,單路徑路由協(xié)議在鏈路斷裂的情況下需要進行路由修復(fù),因此會造成傳輸時延長,丟包率高等一些問題[3].采用多路徑路由協(xié)議傳輸數(shù)據(jù)會克服上述問題,達到理想的預(yù)期效果.因此,本文采用NS-2對單路徑路由協(xié)議與多路徑路由協(xié)議進行了性能分析.
路由協(xié)議劃分為兩類:靜態(tài)路由協(xié)議和動態(tài)路由協(xié)議.由于靜態(tài)路由協(xié)議不能及時適應(yīng)網(wǎng)絡(luò)狀態(tài)的變化,所以互聯(lián)網(wǎng)的路由協(xié)議主要是動態(tài)路由協(xié)議.動態(tài)路由協(xié)議分為距離向量路由協(xié)議和鏈路狀態(tài)路由協(xié)議[4].本次實驗是對距離向量路由協(xié)議的仿真.
距離向量路由協(xié)議DVRP(Distance Vector Routing Protocol)是為小型網(wǎng)絡(luò)環(huán)境設(shè)計的.在大型網(wǎng)絡(luò)環(huán)境下,這類協(xié)議在學(xué)習(xí)路由及保持路由將產(chǎn)生較大的流量,占用過多的帶寬.距離向量路由協(xié)議的特征是:即使拓撲結(jié)構(gòu)不發(fā)生變化,也會定時將路由更新發(fā)布出去.每臺路由器的路由協(xié)議維護本地計時器,當(dāng)計時器為0時,就發(fā)送路由更新.這些更新包括全部或者部分路由表[5].這樣,路由器就能從其他路由器獲取網(wǎng)絡(luò)設(shè)備列表,以便進行路由選擇.距離向量路由協(xié)議使用跳數(shù)作為度量值來計算到達目的地的路徑長度.路由器的鄰居為同一鏈路上并配置相同路由協(xié)議的路由器[6].
DVMRP(Distance Vector Multicast Routing Protocol)是一種互聯(lián)網(wǎng)路由協(xié)議.DVMRP為互聯(lián)網(wǎng)的主機組提供了一種面向無連接信息組播的有效機制[7].DVMRP協(xié)議采用“擴散和剪枝”技術(shù)來廣播數(shù)據(jù).對于每一個數(shù)據(jù)源節(jié)點,DVMRP剛開始總是將要傳送的數(shù)據(jù)通過網(wǎng)絡(luò)進行擴散.路由器將上游路由器剪枝信息進行傳輸.當(dāng)有新的節(jié)點需要接收數(shù)據(jù)時,原先已經(jīng)被剪掉的分支仍然可以通過嫁接而重新回到分布樹.
圖1 網(wǎng)絡(luò)仿真拓撲圖
在NS-2環(huán)境下,用于分析DVRP和DVMRP兩個協(xié)議性能的網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖1所示.
圖1中,網(wǎng)絡(luò)拓撲結(jié)構(gòu)包含4個路由器和2個主機,數(shù)據(jù)流采用CBR形式.拓撲結(jié)構(gòu)中所有節(jié)點通過雙向鏈路連接,所有鏈路的隊列管理機制都采用DropTail方式,鏈路的參數(shù)如表1所示.
在上述環(huán)境下,我們對DVRP和DVMRP的傳輸時延、吞吐量和丟包率進行了分析和比較.
網(wǎng)絡(luò)的傳輸時延(delay)是指數(shù)據(jù)從網(wǎng)絡(luò)的源端傳送到目的端所需的時間[8].圖2為DVRP和DVMRP的傳輸時延曲線.可以看出,采用多路徑路由協(xié)議時的傳輸時延明顯低于單路徑路由協(xié)議下的傳輸時延且多路徑路由協(xié)議下的時延曲線波動較小.原因是DVMRP采用一種逆向轉(zhuǎn)發(fā)的機制構(gòu)造一棵以Router1為根的傳播路徑樹(如圖1所示),并且該協(xié)議還維護一個父子節(jié)點的關(guān)系數(shù)據(jù),發(fā)送節(jié)點根據(jù)此數(shù)據(jù)確定最佳傳輸路徑,節(jié)約了尋路時間,從而呈現(xiàn)出圖1所示的時延曲線.相比之下,DV算法是基于鄰居節(jié)點的路由信息計算自己的最佳路由,所以當(dāng)鄰居節(jié)點的鏈路狀態(tài)發(fā)生改變時需要一定的延遲進行路由修復(fù),從而增加了傳輸時延.
表1 鏈路參數(shù)表
圖2 傳輸時延對比
網(wǎng)絡(luò)的吞吐量(throughput)是指在不丟包的情況下單位時間內(nèi)節(jié)點接收的數(shù)據(jù)量[8].圖3為DVRP和DVMRP吞吐量的比較曲線.可以看出,從0.1 s到1.0 s之間DVRP的吞吐量曲線呈水平,這是因為CBR從0.1 s開始啟動,在這期間的鏈路狀態(tài)沒有發(fā)生任何變化,路由器router1可以進行正常的數(shù)據(jù)傳輸.從1.0 s開始,有鏈路斷開,導(dǎo)致吞吐量大幅度下降.DVMRP吞吐量的曲線從0.6 s開始呈指數(shù)型增長,這是因為從0.6 s到1.6 s增加了兩個接收節(jié)點n3和n4,DVMRP發(fā)現(xiàn)n3和n4是鄰居路由器,因此路由表中添加了兩條路徑信息:n0-n1-n3-n5和n0-n1-n4-n5,因此鏈路的吞吐量快速增加.從1.9 s開始,DVMRP采用“剪枝”技術(shù)刪除之前增加的接收節(jié)點,導(dǎo)致吞吐量的增長速度減慢,到4.3 s時,增加的接收節(jié)點全部被刪除,吞吐量開始逐漸減小.
丟包率(packet loss rate)定義了傳輸期間網(wǎng)絡(luò)丟失數(shù)據(jù)包的數(shù)量,這里是指丟失的數(shù)據(jù)包占傳輸?shù)臄?shù)據(jù)總量的比例[8].圖4為DVRP和DVMRP丟包率的比較曲線.從圖4中可以看出,DVRP的丟包率遠高于DVMRP的丟包率,且DVMRP的丟包率幾乎為零.原因是當(dāng)有鏈路斷開時,DVRP要進行路由修復(fù),而在路由修復(fù)過程中會持續(xù)發(fā)生丟包現(xiàn)象.由于DVMRP記錄了路徑樹上的路由信息,當(dāng)鏈路發(fā)生變化時,它會選擇記錄中的其他路徑傳輸數(shù)據(jù),所以有效降低了丟包率.
圖3 吞吐量對比
圖4 丟包率對比
本文在相同的網(wǎng)絡(luò)條件下對多路徑路由協(xié)議和單路徑路由協(xié)議的性能進行了比較分析,分析結(jié)果表明多路徑路由協(xié)議的性能優(yōu)于單路徑路由協(xié)議.但是,多路徑路由協(xié)議建立和維護多條路由路徑的代價高于單路徑路由協(xié)議,所以要根據(jù)具體的應(yīng)用情況確定使用何種路由協(xié)議.
[1]FarazShamim,ZaheerAziz.IP路由協(xié)議疑難解析[M].盧澤新,白建軍,朱培棟,等,譯.北京:人民郵電出版社,2008.
[2]James Macfarlane.Network Routing Basics[M].吉林:吉林長白山出版社,2007:07.
[3]王元亮,賈力.計算機網(wǎng)絡(luò)通信與數(shù)據(jù)傳輸[M].昆明:云南科學(xué)技術(shù)出版社,2002.
[4]謝希仁.計算機網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2008.
[5]Kenneth D Reed.協(xié)議分析[M].孫坦,譯.北京:電子工業(yè)出版社,2004.
[6]齊小剛,劉立芳,劉三陽.基于距離向量深度的多約束路徑選擇算法[J].電子學(xué)報,2009,37(1):175-179.
[7]方路平,劉世華,陳盼,等.NS-2網(wǎng)絡(luò)模擬基礎(chǔ)與應(yīng)用[M].北京:國防工業(yè)出版社,2008.
[8]黃化吉,馮穗力.NS網(wǎng)絡(luò)模擬和協(xié)議仿真[M].北京:人民郵電出版社,2010.