趙吉波,周 宇,周紅瓊
(寧波大學(xué) 信息學(xué)院,浙江 寧波 315211)
隨著網(wǎng)絡(luò)的不斷發(fā)展,網(wǎng)絡(luò)的研究也越來越受到人們的關(guān)注,一方面需要不斷研究新的網(wǎng)絡(luò)協(xié)議和各種算法,滿足現(xiàn)有網(wǎng)絡(luò)存在的不足,提升性能,為網(wǎng)絡(luò)發(fā)展做出前瞻性的研究;另一方面也要考慮如何整合、利用現(xiàn)有的網(wǎng)絡(luò)資源,完善網(wǎng)絡(luò)結(jié)構(gòu),使現(xiàn)有網(wǎng)絡(luò)達到最高效能。IP網(wǎng)絡(luò)性能的分析是實現(xiàn)以上兩個方面的重要手段。
一般而言,在進行網(wǎng)絡(luò)性能分析的研究時一般有以下3種手段:分析方法、實驗方法和仿真方法。采用網(wǎng)絡(luò)仿真,網(wǎng)絡(luò)仿真就是用計算機程序?qū)W(wǎng)絡(luò)進行模型化,通過程序的運行模擬仿真網(wǎng)絡(luò)的運行過程[1]。網(wǎng)絡(luò)仿真利用數(shù)學(xué)建模和統(tǒng)計分析的方法模擬網(wǎng)絡(luò)行為,通過建立網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)鏈路的統(tǒng)計模型,模擬網(wǎng)絡(luò)流量的傳輸,從而獲取網(wǎng)絡(luò)設(shè)計及優(yōu)化所需要的網(wǎng)絡(luò)性能數(shù)據(jù)[2]。
筆者主要研究不同網(wǎng)絡(luò)拓撲對IP網(wǎng)絡(luò)性能的影響,選用網(wǎng)絡(luò)模擬軟件NS2進行仿真分析。通過對四種典型網(wǎng)絡(luò)拓撲的延時、抖動、丟包率和吞吐量等關(guān)鍵性能指標的提取,進而進行相應(yīng)的研究和探討。
NS2即Network Simulator Version 2,是由美國加州Lawrence Berkeley國家實驗室等單位開發(fā)的開源免費網(wǎng)絡(luò)仿真軟件。 NS2是一個面向?qū)ο蟆⒖蓴U展的離散事件驅(qū)動的網(wǎng)絡(luò)仿真器,其核心部分是一個離散事件模擬引擎。NS2仿真器具有強大的數(shù)據(jù)處理功能,可擴展性強,執(zhí)行效率高,且仿真結(jié)果的可靠性高。NS2支持TCP、UDP等網(wǎng)絡(luò)協(xié)議,可以模擬網(wǎng)絡(luò)數(shù)據(jù)傳輸如FTP、CBR等以及路由隊列的管理機制如DropTail,RED和CBQ等。同時,NS2可以進行無線通信網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)的仿真,以及多播和MAC層上協(xié)議的仿真[1]。
NS2具有一個模擬時鐘,同時又有一個“調(diào)度器”類,負責(zé)記錄當前的時間,調(diào)度事件隊列中的事件,提供所需函數(shù)產(chǎn)生新的事件,并指定事件發(fā)生的時間[3]。
NS2采用分裂對象模型開發(fā)機制,采用兩級體系結(jié)構(gòu)[4],NS2將數(shù)據(jù)通道與控制通道的實現(xiàn)相分離,事件調(diào)度器和大部分基本的網(wǎng)絡(luò)組件對象后臺使用C++實現(xiàn)和編譯,稱為編譯層,主要功能是實現(xiàn)對數(shù)據(jù)包的處理;NS2的前端可以說是Otcl的腳本解釋器,稱為解釋層,主要功能是對模擬環(huán)境的配置、建立。在NS2中,通過TclCL把C++和Otcl兩種語言中的對象和變量聯(lián)系起來,一個Otcl對象映射到一個C++對象上,呈現(xiàn)一一對應(yīng)的形式。
NS2對于網(wǎng)絡(luò)的仿真也分為兩個層次[5]:一個是基于OTcl編程的層次,也就是只需編寫OTcl腳本來進行仿真,無需改動C++定義的各種已有的網(wǎng)絡(luò)元素。另一個是基于C++和OTcl編程的層次,即如果在NS2中找不到仿真所需的網(wǎng)絡(luò)元素,則要對NS2進行擴展,包括使用C++添加新的類以滿足所需的網(wǎng)絡(luò)元素以及修改Otcl腳本,然后進行仿真。在仿真過程中同時開啟Trace跟蹤文件,記錄仿真過程中各種網(wǎng)絡(luò)元素的變化或出現(xiàn)的現(xiàn)象,以便仿真結(jié)束后利用各種分析工具提取追蹤文件中各種相關(guān)的參數(shù)數(shù)據(jù)并對其進行分析[6]。
IP是英文Internet Protocol的縮寫,即網(wǎng)絡(luò)之間互連的協(xié)議,中文簡稱為“網(wǎng)協(xié)”,也就是為計算機網(wǎng)絡(luò)相互連接實現(xiàn)通信及數(shù)據(jù)傳輸而設(shè)計的協(xié)議。IP網(wǎng)絡(luò)就是指傳輸通信采用TCP/IP協(xié)議族的通信網(wǎng)絡(luò)。在因特網(wǎng)中,TCP/IP協(xié)議族是使網(wǎng)上的所有計算機網(wǎng)絡(luò)實現(xiàn)相互通信的一套規(guī)則,規(guī)定了計算機在因特網(wǎng)上進行通信時應(yīng)當遵守的規(guī)則。
隨著網(wǎng)絡(luò)的發(fā)展和網(wǎng)絡(luò)技術(shù)的不斷進步,人們對網(wǎng)絡(luò)的要求越來越高。對于網(wǎng)絡(luò)性能的分析,成為研究人員對網(wǎng)絡(luò)進行評價的重要研究內(nèi)容,也是改善網(wǎng)絡(luò)性能的前提。一般按照屬性分類,性能指標可以分為連通性、吞吐量、帶寬、信道利用率、信道容量、帶寬利用率、包損失率、傳輸延時、延時抖動等。本文仿真實驗中主要對以下幾個性能參數(shù)進行測量來評估IP網(wǎng)絡(luò)性能:端點到端點的延時、延時變化、吞吐量、丟包率[7]。
現(xiàn)代網(wǎng)絡(luò)中,影響網(wǎng)絡(luò)性能的因素很多,包括網(wǎng)絡(luò)設(shè)備影響、人為因素影響等,本文主要研究網(wǎng)絡(luò)傳輸中的影響因素,重點分析總線型、星型、環(huán)型和網(wǎng)型這四種網(wǎng)絡(luò)拓撲類型對網(wǎng)絡(luò)傳輸性能的影響。
本次實驗主要對上文所述的四種網(wǎng)絡(luò)拓撲進行仿真分析。每種拓撲模型包含8個節(jié)點,總線型、星型、網(wǎng)型采用帶寬2 M,鏈路延時為10 ms,隊列管理機制為Droptail的雙向連接,環(huán)型采用帶寬2 M,鏈路延時為10 ms,隊列管理機制為Droptail的單向連接。
在對網(wǎng)絡(luò)性能分析之前,使用NAM工具演示4種不同網(wǎng)絡(luò)拓撲結(jié)構(gòu)的仿真過程,在該仿真實驗中,同時發(fā)送一個cbr數(shù)據(jù)流和兩個ftp數(shù)據(jù)流,性能參數(shù)的分析以cbr數(shù)據(jù)流作為研究對象。cbr本身是固定數(shù)據(jù)包大小的數(shù)據(jù)源,為了體現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)量的變化,在本次仿真實驗中,對cbr數(shù)據(jù)源進行了設(shè)置,使其在一定時間內(nèi)可以發(fā)生變化,初始速率為1mb/s,包大小為 1 000 B。在 2.0 s、3.0 s、4.0 s和 5.0 s這 4個時刻分別將 cbr數(shù)據(jù)源改變?yōu)? mb/s,包大小 1 000 B、0.5 mb/s,包大小 1 000 B、0.5 mb/s,包大小 4 000 B、0.5 mb/s包大小 2 000 B。
對于仿真實驗的結(jié)果分析,首先使用AWK語言編寫提取性能參數(shù),再使用Gnuplot工具繪制性能參數(shù)圖形。
4種不同網(wǎng)絡(luò)拓撲結(jié)構(gòu)的傳輸延時如圖1所示。從中可以看出,在網(wǎng)絡(luò)節(jié)點數(shù)目比較少的環(huán)境下,相對于星型與網(wǎng)型拓撲而言,總線型與環(huán)型拓撲傳輸延時明顯高出。這是因為星型拓撲中的所有節(jié)點都連接到同一個中心節(jié)點,連接訪問時只牽涉到一個節(jié)點和中心節(jié)點,控制訪問方法較簡單。網(wǎng)型拓撲的傳輸跟星型類似,不用經(jīng)過其他節(jié)點中轉(zhuǎn)。這樣一來,這兩種網(wǎng)絡(luò)的傳輸延時相對而言就比較小了。
在cbr數(shù)據(jù)流中加入ftp數(shù)據(jù)流或者cbr數(shù)據(jù)流自身傳輸速率及包大小發(fā)生變化時,4種網(wǎng)絡(luò)拓撲結(jié)構(gòu)的延時也都發(fā)生了變化,且星型和網(wǎng)型的變化更加明顯,波動也相對較大,說明這兩種網(wǎng)路拓撲結(jié)構(gòu)在網(wǎng)絡(luò)穩(wěn)定性方面不如總線型與環(huán)型拓撲。同時從總線型和環(huán)型拓撲延時中也可以看出,cbr數(shù)據(jù)流的傳輸速率對其傳輸延時的影響比包大小的影響更加明顯。而對于星型和環(huán)型拓撲來說,這兩者的影響幾乎相同。
4種不同網(wǎng)絡(luò)拓撲結(jié)構(gòu)的延時抖動如圖2所示。當只有cbr數(shù)據(jù)流時,4種拓撲結(jié)構(gòu)的延時抖動都接近為零。加入ftp數(shù)據(jù)流后,4種拓撲結(jié)構(gòu)的延時抖動都發(fā)生了明顯變化,其中環(huán)型拓撲的延時變化最不明顯,而總線型的延時變化最明顯,星型和網(wǎng)型的延時變化次之。同時,從圖中也很明顯地發(fā)現(xiàn),延時變化分為前后兩個階段,前一階段是cbr數(shù)據(jù)流傳輸速率在發(fā)生變化,后一階段是cbr數(shù)據(jù)包大小在發(fā)生變化,由此可知數(shù)據(jù)包大小對延時抖動的影響比數(shù)據(jù)傳輸速率對延時抖動的影響更為明顯。
4種網(wǎng)絡(luò)拓撲結(jié)構(gòu)的丟包率如圖3所示。從以上4個圖中很明顯地看出,在環(huán)型拓撲結(jié)構(gòu)中,至始至終其丟包率都為零,主要是環(huán)型網(wǎng)絡(luò)采用令牌網(wǎng)機制,只有擁有“令牌”的設(shè)備才能在網(wǎng)絡(luò)中傳輸數(shù)據(jù),在此過程中有UDP和TCP兩種不同數(shù)據(jù)流,UDP始終搶占網(wǎng)絡(luò)所以沒有丟包,但可以預(yù)見TCP肯定出現(xiàn)了丟包。其他3種拓撲結(jié)構(gòu)中,丟包現(xiàn)象主要發(fā)生在3 s之前,也就是cbr速率較高的時候,其中總線型拓撲的丟包率在2.7%左右,網(wǎng)型拓撲的丟包率在3.8%左右,而星型拓撲的丟包率最高,在4.2%左右。
4種網(wǎng)絡(luò)拓撲結(jié)構(gòu)的吞吐量如圖4所示。當只有cbr數(shù)據(jù)流時,吞吐量始終維持在1 000 kb/s上,當加入ftp數(shù)據(jù)流后,吞吐量發(fā)生明顯變化。環(huán)型拓撲結(jié)構(gòu)的吞吐量變化最不明顯,即其網(wǎng)絡(luò)吞吐量最穩(wěn)定。而總線型相對于其他3種網(wǎng)絡(luò)拓撲結(jié)構(gòu),其吞吐量始終維持在相對較低的水平上。星型和網(wǎng)型拓撲結(jié)構(gòu)的吞吐量變化比較相似,它們的吞吐量水平與環(huán)型拓撲相當,但并沒有環(huán)型的穩(wěn)定。
通過對總線型、星型、環(huán)型和網(wǎng)型這4種網(wǎng)絡(luò)拓撲結(jié)構(gòu)的性能分析,可以知道在網(wǎng)絡(luò)節(jié)點較少的網(wǎng)絡(luò)中,總線型拓撲結(jié)構(gòu)的網(wǎng)絡(luò)傳輸延時和延時抖動較大,但其網(wǎng)絡(luò)還比較穩(wěn)定,吞吐量和丟包率都保持在一個較好的水平上。星型拓撲結(jié)構(gòu)的網(wǎng)絡(luò),具有較小的延時并且吞吐量保持在一個較好的水平上,但其網(wǎng)絡(luò)不夠穩(wěn)定,延時抖動較大,丟包嚴重。環(huán)型拓撲結(jié)構(gòu)的網(wǎng)絡(luò)最穩(wěn)定,雖然傳輸延時較高,但其延時抖動和網(wǎng)絡(luò)吞吐量都比較穩(wěn)定,且具有很低的丟包率,保證了數(shù)據(jù)的完整傳輸。網(wǎng)型拓撲結(jié)構(gòu)的網(wǎng)絡(luò)最復(fù)雜,延時較低,延時抖動較大,吞吐量和丟包率也都保持在一個中等水平上。
圖1 不同拓撲結(jié)構(gòu)的傳輸延時Fig.1 Propagation delay of different network topology
圖2 不同網(wǎng)絡(luò)拓撲結(jié)構(gòu)的延時抖動Fig.2 Delay jitter of different network topologies
圖3 不同網(wǎng)絡(luò)拓撲結(jié)構(gòu)的丟包率Fig.3 Packet loss rate of different network topologies
圖4 不同網(wǎng)絡(luò)拓撲結(jié)構(gòu)的吞吐量Fig.4 Throughput of different network topologies
隨著網(wǎng)絡(luò)的不斷發(fā)展,網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,人們對網(wǎng)絡(luò)的要求也越來越高,隨之對網(wǎng)絡(luò)性能的分析也變得越來越重要。通過仿真的的方法模擬網(wǎng)絡(luò)從而了解網(wǎng)絡(luò)各個方面的性能,在此基礎(chǔ)上,研究人員就可以進一步對網(wǎng)絡(luò)資源進行改善,使網(wǎng)絡(luò)資源得到充分利用。同時也可以通過了解現(xiàn)有網(wǎng)絡(luò)資源及其存在的問題,從而研究和開發(fā)新的網(wǎng)絡(luò)協(xié)議,使網(wǎng)絡(luò)更加完善且能夠滿足人們不斷發(fā)展的需求。
[1]王輝.NS2網(wǎng)絡(luò)模擬器的原理和應(yīng)用[M].西安:西北工業(yè)大學(xué)出版社,2008.
[2]George X,George C P.TCP and UDP performance over a wireless LAN[J].Proceedings of the IEEE Infocom,1999:439-446.
[3]徐雷鳴.NS與網(wǎng)絡(luò)模擬[M].北京:人民郵電出版社,2001.
[4]李蓬.基于NS2的局域網(wǎng)性能仿真 [J].電腦與信息技術(shù),2008,16(1):16-18.
LI Peng.LAN performance simulation based on NS2[J].Computer and Information Technology,2008,16(1):16-18.
[5]王鐵君,吳辰文,鄔開俊,等.基于NS2的TCP性能仿真研究[J].蘭州理工大學(xué)學(xué)報,2006,32(5):100-103.
WANG Tie-jun,WU Chen-wen,WU kai-jun,et al.Simulation of TCP performance based on NS2[J].Journal of Lanzhou University of Technology,2006,32(5):100-103.
[6]王曉燕,鄭明春.基于NS2的網(wǎng)絡(luò)仿真研究與應(yīng)用[J].計算機仿真,2004,21(12):129-131.
WANG Xiao-yan,ZHENG Ming-chun.Study and application of network simulation technology based on NS2[J].Computer Simulation,2004,21(12):129-131.
[7]楊雅輝,李小東.IP網(wǎng)絡(luò)性能指標體系的研究 [J].通信學(xué)報,2002,23(11):1-7.
YANG Ya-hui,LI Xiao-dong.The study of a framework for IP network performance Metrics[J].Journal of China Institute of Communications,2002,23(11):1-7.