隨著網(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ò)的運行過程。網(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ù)。
筆者主要研究不同網(wǎng)絡(luò)拓撲對IP網(wǎng)絡(luò)性能的影響,選用網(wǎng)絡(luò)模擬軟件NS2進行仿真分析。通過對四種典型網(wǎng)絡(luò)拓撲的延時、抖動、丟包率和吞吐量等關(guān)鍵性能指標的提取,進而進行相應(yīng)的研究和探討。
1 網(wǎng)絡(luò)仿真軟件NS2
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等以及路由隊列的管理機制如DropTa il,RED和CBQ等。同時,NS2可以進行無線通信網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)的仿真,以及多播和MAC層上協(xié)議的仿真。
NS2具有一個模擬時鐘,同時又有一個“調(diào)度器”類,負責(zé)記錄當前的時間,調(diào)度事件隊列中的事件,提供所需函數(shù)產(chǎn)生新的事件,并指定事件發(fā)生的時間。
NS2采用分裂對象模型開發(fā)機制,采用兩級體系結(jié)構(gòu),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ò)的仿真也分為兩個層次:一個是基于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ù)并對其進行分析。
2 IP網(wǎng)絡(luò)及其性能指標
2.1 IP網(wǎng)絡(luò)簡介
IP是英文Internet Protocol的縮寫,即網(wǎng)絡(luò)之間互連的協(xié)議,中文簡稱為“網(wǎng)協(xié)”,也就是為計算機網(wǎng)絡(luò)相互連接實現(xiàn)通信及數(shù)據(jù)傳輸而設(shè)計的協(xié)議。IP網(wǎng)絡(luò)就是指傳輸通信采用TCPIP協(xié)議族的通信網(wǎng)絡(luò)。在因特網(wǎng)中,TCP/IP協(xié)議族是使網(wǎng)上的所有計算機網(wǎng)絡(luò)實現(xiàn)相互通信的一套規(guī)則,規(guī)定了計算機在因特網(wǎng)上進行通信時應(yīng)當遵守的規(guī)則。
2.2 IP網(wǎng)絡(luò)性能參數(shù)的定義及選取
隨著網(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ò)性能:端點到端點的延時、延時變化、吞吐量、丟包率。
2.3 影響IP網(wǎng)絡(luò)性能的因素
現(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ò)傳輸性能的影響。
3 仿真實驗的結(jié)果分析
3.1 實驗概述
本次實驗主要對上文所述的四種網(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。
3.2 實驗結(jié)果分析
對于仿真實驗的結(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ù)雜,延時較低,延時抖動較大,吞吐量和丟包率也都保持在一個中等水平上。
4 結(jié)束語
隨著網(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ā)展的需求。
作者:趙吉波 周宇 周紅瓊 來源:電子設(shè)計工程