趙吉波,周 宇,周紅瓊
(寧波大學 信息學院,浙江 寧波 315211)
隨著網絡的不斷發展,網絡的研究也越來越受到人們的關注,一方面需要不斷研究新的網絡協議和各種算法,滿足現有網絡存在的不足,提升性能,為網絡發展做出前瞻性的研究;另一方面也要考慮如何整合、利用現有的網絡資源,完善網絡結構,使現有網絡達到最高效能。IP網絡性能的分析是實現以上兩個方面的重要手段。
一般而言,在進行網絡性能分析的研究時一般有以下3種手段:分析方法、實驗方法和仿真方法。采用網絡仿真,網絡仿真就是用計算機程序對網絡進行模型化,通過程序的運行模擬仿真網絡的運行過程[1]。網絡仿真利用數學建模和統計分析的方法模擬網絡行為,通過建立網絡設備和網絡鏈路的統計模型,模擬網絡流量的傳輸,從而獲取網絡設計及優化所需要的網絡性能數據[2]。
筆者主要研究不同網絡拓撲對IP網絡性能的影響,選用網絡模擬軟件NS2進行仿真分析。通過對四種典型網絡拓撲的延時、抖動、丟包率和吞吐量等關鍵性能指標的提取,進而進行相應的研究和探討。
NS2即Network Simulator Version 2,是由美國加州Lawrence Berkeley國家實驗室等單位開發的開源免費網絡仿真軟件。 NS2是一個面向對象、可擴展的離散事件驅動的網絡仿真器,其核心部分是一個離散事件模擬引擎。NS2仿真器具有強大的數據處理功能,可擴展性強,執行效率高,且仿真結果的可靠性高。NS2支持TCP、UDP等網絡協議,可以模擬網絡數據傳輸如FTP、CBR等以及路由隊列的管理機制如DropTail,RED和CBQ等。同時,NS2可以進行無線通信網絡和衛星網絡的仿真,以及多播和MAC層上協議的仿真[1]。
NS2具有一個模擬時鐘,同時又有一個“調度器”類,負責記錄當前的時間,調度事件隊列中的事件,提供所需函數產生新的事件,并指定事件發生的時間[3]。
NS2采用分裂對象模型開發機制,采用兩級體系結構[4],NS2將數據通道與控制通道的實現相分離,事件調度器和大部分基本的網絡組件對象后臺使用C++實現和編譯,稱為編譯層,主要功能是實現對數據包的處理;NS2的前端可以說是Otcl的腳本解釋器,稱為解釋層,主要功能是對模擬環境的配置、建立。在NS2中,通過TclCL把C++和Otcl兩種語言中的對象和變量聯系起來,一個Otcl對象映射到一個C++對象上,呈現一一對應的形式。
NS2對于網絡的仿真也分為兩個層次[5]:一個是基于OTcl編程的層次,也就是只需編寫OTcl腳本來進行仿真,無需改動C++定義的各種已有的網絡元素。另一個是基于C++和OTcl編程的層次,即如果在NS2中找不到仿真所需的網絡元素,則要對NS2進行擴展,包括使用C++添加新的類以滿足所需的網絡元素以及修改Otcl腳本,然后進行仿真。在仿真過程中同時開啟Trace跟蹤文件,記錄仿真過程中各種網絡元素的變化或出現的現象,以便仿真結束后利用各種分析工具提取追蹤文件中各種相關的參數數據并對其進行分析[6]。
IP是英文Internet Protocol的縮寫,即網絡之間互連的協議,中文簡稱為“網協”,也就是為計算機網絡相互連接實現通信及數據傳輸而設計的協議。IP網絡就是指傳輸通信采用TCP/IP協議族的通信網絡。在因特網中,TCP/IP協議族是使網上的所有計算機網絡實現相互通信的一套規則,規定了計算機在因特網上進行通信時應當遵守的規則。
隨著網絡的發展和網絡技術的不斷進步,人們對網絡的要求越來越高。對于網絡性能的分析,成為研究人員對網絡進行評價的重要研究內容,也是改善網絡性能的前提。一般按照屬性分類,性能指標可以分為連通性、吞吐量、帶寬、信道利用率、信道容量、帶寬利用率、包損失率、傳輸延時、延時抖動等。本文仿真實驗中主要對以下幾個性能參數進行測量來評估IP網絡性能:端點到端點的延時、延時變化、吞吐量、丟包率[7]。
現代網絡中,影響網絡性能的因素很多,包括網絡設備影響、人為因素影響等,本文主要研究網絡傳輸中的影響因素,重點分析總線型、星型、環型和網型這四種網絡拓撲類型對網絡傳輸性能的影響。
本次實驗主要對上文所述的四種網絡拓撲進行仿真分析。每種拓撲模型包含8個節點,總線型、星型、網型采用帶寬2 M,鏈路延時為10 ms,隊列管理機制為Droptail的雙向連接,環型采用帶寬2 M,鏈路延時為10 ms,隊列管理機制為Droptail的單向連接。
在對網絡性能分析之前,使用NAM工具演示4種不同網絡拓撲結構的仿真過程,在該仿真實驗中,同時發送一個cbr數據流和兩個ftp數據流,性能參數的分析以cbr數據流作為研究對象。cbr本身是固定數據包大小的數據源,為了體現網絡數據量的變化,在本次仿真實驗中,對cbr數據源進行了設置,使其在一定時間內可以發生變化,初始速率為1mb/s,包大小為 1 000 B。在 2.0 s、3.0 s、4.0 s和 5.0 s這 4個時刻分別將 cbr數據源改變為2 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。
對于仿真實驗的結果分析,首先使用AWK語言編寫提取性能參數,再使用Gnuplot工具繪制性能參數圖形。
4種不同網絡拓撲結構的傳輸延時如圖1所示。從中可以看出,在網絡節點數目比較少的環境下,相對于星型與網型拓撲而言,總線型與環型拓撲傳輸延時明顯高出。這是因為星型拓撲中的所有節點都連接到同一個中心節點,連接訪問時只牽涉到一個節點和中心節點,控制訪問方法較簡單。網型拓撲的傳輸跟星型類似,不用經過其他節點中轉。這樣一來,這兩種網絡的傳輸延時相對而言就比較小了。
在cbr數據流中加入ftp數據流或者cbr數據流自身傳輸速率及包大小發生變化時,4種網絡拓撲結構的延時也都發生了變化,且星型和網型的變化更加明顯,波動也相對較大,說明這兩種網路拓撲結構在網絡穩定性方面不如總線型與環型拓撲。同時從總線型和環型拓撲延時中也可以看出,cbr數據流的傳輸速率對其傳輸延時的影響比包大小的影響更加明顯。而對于星型和環型拓撲來說,這兩者的影響幾乎相同。
4種不同網絡拓撲結構的延時抖動如圖2所示。當只有cbr數據流時,4種拓撲結構的延時抖動都接近為零。加入ftp數據流后,4種拓撲結構的延時抖動都發生了明顯變化,其中環型拓撲的延時變化最不明顯,而總線型的延時變化最明顯,星型和網型的延時變化次之。同時,從圖中也很明顯地發現,延時變化分為前后兩個階段,前一階段是cbr數據流傳輸速率在發生變化,后一階段是cbr數據包大小在發生變化,由此可知數據包大小對延時抖動的影響比數據傳輸速率對延時抖動的影響更為明顯。
4種網絡拓撲結構的丟包率如圖3所示。從以上4個圖中很明顯地看出,在環型拓撲結構中,至始至終其丟包率都為零,主要是環型網絡采用令牌網機制,只有擁有“令牌”的設備才能在網絡中傳輸數據,在此過程中有UDP和TCP兩種不同數據流,UDP始終搶占網絡所以沒有丟包,但可以預見TCP肯定出現了丟包。其他3種拓撲結構中,丟包現象主要發生在3 s之前,也就是cbr速率較高的時候,其中總線型拓撲的丟包率在2.7%左右,網型拓撲的丟包率在3.8%左右,而星型拓撲的丟包率最高,在4.2%左右。
4種網絡拓撲結構的吞吐量如圖4所示。當只有cbr數據流時,吞吐量始終維持在1 000 kb/s上,當加入ftp數據流后,吞吐量發生明顯變化。環型拓撲結構的吞吐量變化最不明顯,即其網絡吞吐量最穩定。而總線型相對于其他3種網絡拓撲結構,其吞吐量始終維持在相對較低的水平上。星型和網型拓撲結構的吞吐量變化比較相似,它們的吞吐量水平與環型拓撲相當,但并沒有環型的穩定。
通過對總線型、星型、環型和網型這4種網絡拓撲結構的性能分析,可以知道在網絡節點較少的網絡中,總線型拓撲結構的網絡傳輸延時和延時抖動較大,但其網絡還比較穩定,吞吐量和丟包率都保持在一個較好的水平上。星型拓撲結構的網絡,具有較小的延時并且吞吐量保持在一個較好的水平上,但其網絡不夠穩定,延時抖動較大,丟包嚴重。環型拓撲結構的網絡最穩定,雖然傳輸延時較高,但其延時抖動和網絡吞吐量都比較穩定,且具有很低的丟包率,保證了數據的完整傳輸。網型拓撲結構的網絡最復雜,延時較低,延時抖動較大,吞吐量和丟包率也都保持在一個中等水平上。

圖1 不同拓撲結構的傳輸延時Fig.1 Propagation delay of different network topology

圖2 不同網絡拓撲結構的延時抖動Fig.2 Delay jitter of different network topologies

圖3 不同網絡拓撲結構的丟包率Fig.3 Packet loss rate of different network topologies

圖4 不同網絡拓撲結構的吞吐量Fig.4 Throughput of different network topologies
隨著網絡的不斷發展,網絡結構越來越復雜,人們對網絡的要求也越來越高,隨之對網絡性能的分析也變得越來越重要。通過仿真的的方法模擬網絡從而了解網絡各個方面的性能,在此基礎上,研究人員就可以進一步對網絡資源進行改善,使網絡資源得到充分利用。同時也可以通過了解現有網絡資源及其存在的問題,從而研究和開發新的網絡協議,使網絡更加完善且能夠滿足人們不斷發展的需求。
[1]王輝.NS2網絡模擬器的原理和應用[M].西安:西北工業大學出版社,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與網絡模擬[M].北京:人民郵電出版社,2001.
[4]李蓬.基于NS2的局域網性能仿真 [J].電腦與信息技術,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].蘭州理工大學學報,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的網絡仿真研究與應用[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網絡性能指標體系的研究 [J].通信學報,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.