【摘要】目前針對園區(qū)網(wǎng)的網(wǎng)絡(luò)性能測量和分析仍然屬于一個新型的研究領(lǐng)域,本文從園區(qū)網(wǎng)網(wǎng)絡(luò)的運營角度及園區(qū)網(wǎng)網(wǎng)絡(luò)性能的基本指標帶寬,時延等角度出發(fā),結(jié)合長春工業(yè)大學校園網(wǎng)網(wǎng)絡(luò)的實際,提出了一種網(wǎng)絡(luò)性能測量系統(tǒng)。之后提煉測量方案,利用現(xiàn)有的幾種性能測量的方法對長春工業(yè)大學校園網(wǎng)進行了網(wǎng)絡(luò)性能的測量,通過對測量結(jié)果的統(tǒng)計分析和數(shù)學建模,總結(jié)出各項性能參數(shù)和規(guī)律,通過分析比較找到誤差率最低的測量方法,為后續(xù)提出的改進的網(wǎng)絡(luò)性能測量方法提供強大的依據(jù)。
【關(guān)鍵詞】園區(qū)網(wǎng);網(wǎng)絡(luò)性能;帶寬;時延;性能測量系統(tǒng)
1.系統(tǒng)設(shè)計
系統(tǒng)框架設(shè)計:
該系統(tǒng)主要包括用戶界面管理模塊,業(yè)務處理模塊,數(shù)據(jù)包的發(fā)送模塊,數(shù)據(jù)包的捕獲模塊,協(xié)議解析模塊,存儲模塊等六大模塊。其系統(tǒng)設(shè)計結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)設(shè)計結(jié)構(gòu)圖
下面對各組成模塊做如下簡要說明:
(1)用戶界面管理模塊
該模塊的主要功能是能讓用戶手動輸入內(nèi)容并將查詢的內(nèi)容呈現(xiàn)給用戶。
(2)業(yè)務處理模塊
該模塊的主要功能是以業(yè)務邊界為限制,進行業(yè)務類的封裝。
(3)數(shù)據(jù)包的發(fā)送模塊
該模塊的主要功能是利用用戶界面管理模塊對各種協(xié)議的數(shù)據(jù)包進行封裝,還可以進行網(wǎng)絡(luò)性能探測數(shù)據(jù)包的封裝,構(gòu)造完成后進行數(shù)據(jù)包的發(fā)送。
(4)數(shù)據(jù)包的捕獲模塊
該模塊的主要功能是捕獲到所有經(jīng)過網(wǎng)卡的數(shù)據(jù)包,還可以根據(jù)過濾條件捕獲特定的網(wǎng)絡(luò)探測數(shù)據(jù)包。
(5)協(xié)議解析模塊。該模塊的主要功能是對捕獲的數(shù)據(jù)包進行解析,對特定的探測數(shù)據(jù)包進行數(shù)據(jù)的分析和統(tǒng)計并且計算網(wǎng)絡(luò)的帶寬和延遲。
(6)存儲模塊
該模塊的主要功能是存儲接收端接收到的網(wǎng)絡(luò)探測數(shù)據(jù)包并且對接收端計算的網(wǎng)絡(luò)帶寬和延遲也進行存儲,以便用戶對數(shù)據(jù)庫中的網(wǎng)絡(luò)帶寬的變化情況進行實時的跟蹤和了解。
2.系統(tǒng)功能介紹
對網(wǎng)絡(luò)協(xié)議發(fā)生器而言,該系統(tǒng)主要的操作對象是用戶,它們的操作主要包括協(xié)議構(gòu)造管理,數(shù)據(jù)包發(fā)送管理,數(shù)據(jù)包捕獲管理,數(shù)據(jù)包分析管理和存儲模塊這五大功能模塊。
2.1 協(xié)議構(gòu)造管理模塊
本軟件系統(tǒng)要求用戶可以構(gòu)造不同協(xié)議的數(shù)據(jù)包,還可以構(gòu)造能夠探測網(wǎng)絡(luò)性能的網(wǎng)絡(luò)探測數(shù)據(jù)包,用戶可以設(shè)置要發(fā)送的數(shù)據(jù)包各層協(xié)議首部的內(nèi)容。
2.2 數(shù)據(jù)包發(fā)送模塊
數(shù)據(jù)包發(fā)送模塊包括兩個部分,一部分是用戶可以任意構(gòu)造不同協(xié)議的數(shù)據(jù)包。另一部分是用戶必須嚴格按照網(wǎng)絡(luò)探測數(shù)據(jù)包的格式構(gòu)造數(shù)據(jù)包。
2.3 數(shù)據(jù)包捕獲模塊
數(shù)據(jù)包捕獲模塊也包括兩個部分,一部分是用戶可以捕獲所有經(jīng)過本網(wǎng)卡的數(shù)據(jù)包。另一部分是用戶可以篩選出滿足過濾條件的網(wǎng)絡(luò)探測數(shù)據(jù)包。
2.4 數(shù)據(jù)包分析模塊
數(shù)據(jù)包分析模塊也包括兩部分功能:一部分是可以對經(jīng)過網(wǎng)卡的所有數(shù)據(jù)包進行分析,按照TCP/IP協(xié)議棧的原理,對捕獲的數(shù)據(jù)包進行解析,從數(shù)據(jù)鏈路層開始。首先分析數(shù)據(jù)鏈路層的協(xié)議,如以太網(wǎng)協(xié)議等。其次在根據(jù)以太網(wǎng)的分析結(jié)果在分析網(wǎng)絡(luò)層的協(xié)議,如IP協(xié)議。分析了網(wǎng)絡(luò)層協(xié)議以后,就可以對應用層上的協(xié)議如TCP,UDP進行分析了。最后分析應用層的協(xié)議。
2.5 存儲模塊
存儲模塊的功能也包括如下兩個部分:一部分是用來存儲主機在某個時刻的流量信息(包括總的流量,上傳流量,下載流量)。另一部分用來存儲捕獲的網(wǎng)絡(luò)探測數(shù)據(jù)包的相關(guān)信息(包括:源IP地址,目的IP地址,數(shù)據(jù)包的類型,大小,發(fā)送的時間戳和接收的時間戳,計算的某段時間的網(wǎng)絡(luò)的帶寬和延遲等信息),形成圖表的形式以方便用戶查看某一時刻網(wǎng)絡(luò)的性能和主機的流量信息。
3.系統(tǒng)流程圖設(shè)計
數(shù)據(jù)包發(fā)送和捕獲技術(shù)是網(wǎng)絡(luò)協(xié)議發(fā)生器的關(guān)鍵技術(shù),如果在一個繁忙的網(wǎng)絡(luò)上進行數(shù)據(jù)包的發(fā)送和截獲,而不設(shè)置過濾器,那得到的數(shù)據(jù)包會非常多,導致我們的應用程序響應失敗,因此對于網(wǎng)絡(luò)協(xié)議發(fā)生器進行必要的性能優(yōu)化,考慮到用多線程來進行數(shù)據(jù)包的發(fā)送和數(shù)據(jù)包的捕獲操作,于是在程序中使用了兩個線程:一個線程是構(gòu)造數(shù)據(jù)包和數(shù)據(jù)包的發(fā)送線程。
另一個線程是過濾數(shù)據(jù)包和數(shù)據(jù)包的捕獲線程??紤]到能高速的發(fā)送數(shù)據(jù)包,我們應該將數(shù)據(jù)包發(fā)送線程的優(yōu)先級設(shè)置為高優(yōu)先級。下面通過流程圖來介紹我們的網(wǎng)絡(luò)協(xié)議發(fā)生器:
圖2 多線程系統(tǒng)流程圖
4.網(wǎng)絡(luò)性能測量系統(tǒng)的應用
我們利用這個網(wǎng)絡(luò)性能測量系統(tǒng)對現(xiàn)有的性能測量方法進行了實驗與數(shù)據(jù)分析,實驗的內(nèi)容由以下幾小節(jié)進行簡要的說明
4.1 VPS逐跳帶寬測量方法的實現(xiàn)
4.1.1 實驗平臺
圖3 網(wǎng)絡(luò)拓撲結(jié)構(gòu)
搭建如圖所示的網(wǎng)絡(luò)拓撲結(jié)構(gòu),計算機2號是背景流的發(fā)送端,計算機4號是背景流量的接收端,計算機1號是網(wǎng)絡(luò)探測數(shù)據(jù)包的發(fā)送端,計算機3號是網(wǎng)絡(luò)探測數(shù)據(jù)包的接收端。每段鏈路的帶寬如圖所示都為10Mb。
4.1.2 背景流下的精度分析
本實驗采用的是局域網(wǎng)流量產(chǎn)生器,通過設(shè)置產(chǎn)生數(shù)據(jù)包的大小和傳輸?shù)乃俾蕘砜刂坡窂降谋尘傲髁康拇笮?,我們讓它的背景流量分別為0Mb,1Mb,3Mb,5Mb,7Mb,9Mb。即背景流占鏈路帶寬容量的0%,10%,30%,50%,70%,90%。
VPS算法:
針對每次測量實驗中獲得的可用帶寬值的大小,分別計算出在各速率的背景流下的可用帶寬的大小(見表1)。
4.2 基于探測報文間隔模型的可用帶寬測量方法的實現(xiàn)
4.2.1 實驗平臺
圖4 網(wǎng)絡(luò)拓撲結(jié)構(gòu)
搭建如圖4所示的網(wǎng)絡(luò)拓撲結(jié)構(gòu),計算機2號是背景流的發(fā)送端,計算機4號是背景流量的接收端,計算機1號是網(wǎng)絡(luò)探測數(shù)據(jù)包的發(fā)送端,計算機3號是網(wǎng)絡(luò)探測數(shù)據(jù)包的接收端。計算機4號和計算機3號與路由器之間的帶寬為10Mb,既是緊鏈路又是瓶頸鏈路即窄鏈路,因為此算法在測量之前必須保證緊鏈路和窄鏈路是同一條路徑。背景流量的控制與VPS算法的是一致的。
4.2.2 Spruce算法
針對每次測量實驗中獲得的可用帶寬值的大小,分別計算出在各速率的背景流下的可用帶寬的大?。ㄒ姳?)。
4.3 基于自擁塞模型的可用帶寬測量方法的實現(xiàn)
4.3.1 實驗平臺
圖5
圖6
背景流量的控制與VPS算法的是一致的。
4.3.2 PathLoad算法
針對每次測量實驗中獲得的可用帶寬值的大小,分別計算出在各速率的背景流下的可用帶寬的大小見表3。其中可用帶寬范圍的中間值即為測量的帶寬。通過上述的測量結(jié)果,我們經(jīng)過統(tǒng)計分析出這3種帶寬測量算法的誤差比如圖6所示。
5.結(jié)論
隨著網(wǎng)絡(luò)應用的不斷普及和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,新的協(xié)議層出不窮,為了讓學生更好的了解各種協(xié)議的組成部分并且深入理解TCP/IP協(xié)議棧,本文除了深入研究網(wǎng)絡(luò)數(shù)據(jù)包構(gòu)造技術(shù),數(shù)據(jù)包捕獲技術(shù)以及各類網(wǎng)絡(luò)協(xié)議分析方法以外,根據(jù)需求還設(shè)計出了一個網(wǎng)絡(luò)性能測量系統(tǒng),該網(wǎng)絡(luò)性能測量系統(tǒng)的創(chuàng)新之處在于:
(1)研究了以太網(wǎng)幀的幀格式以及基于 TCP/IP 協(xié)議族的數(shù)據(jù)報文格式,為深入理解協(xié)議分析的原理以及過程奠定堅實的理論基礎(chǔ)。
(2)該軟件界面簡潔,方便用戶操作,并且可以根據(jù)需要手動添加網(wǎng)絡(luò)協(xié)議,達到了很好的擴展性。
(3)可以通過發(fā)送探測數(shù)據(jù)包,實時了解網(wǎng)絡(luò)的動態(tài),對于發(fā)現(xiàn)網(wǎng)絡(luò)故障,提高網(wǎng)絡(luò)的服務質(zhì)量提供了很好的幫助。
(4)基于多線程的網(wǎng)絡(luò)性能測量系統(tǒng),可以模擬多個會話,從而可以提高系統(tǒng)的性能,提高程序的運行效率,更好的為用戶服務。
(5)利用這個網(wǎng)絡(luò)性能測量軟件,我們對現(xiàn)有的算法進行實際測量,通過對數(shù)據(jù)進行比較分析,找出測量誤差最小的算法,為下一步改進該算法奠定基礎(chǔ)。
參考文獻
[1]孫悅敏.網(wǎng)絡(luò)協(xié)議分析方法的研究[C].中國學位論文全文數(shù)據(jù)庫.2011.1
[2]謝小特,王勇軍.專有網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包分析軟件的設(shè)計與實現(xiàn)[D].中國學位論文全文數(shù)據(jù)庫,2008.4
[3]王龍.網(wǎng)絡(luò)協(xié)議分析工具的設(shè)計與實現(xiàn)[D].中國學位論文全文數(shù)據(jù)庫,2011.
[4]黃俊杰.基于Linux的網(wǎng)絡(luò)協(xié)議學習系統(tǒng)[D].中國學位論文全文數(shù)據(jù)庫,2009.
[5]楊洪春.利用網(wǎng)絡(luò)協(xié)議分析器分析TCP_IP協(xié)議[D].中國學位論文全文數(shù)據(jù)庫
[6]岳彩祥.基于主機的網(wǎng)絡(luò)協(xié)議分析[D].中國學位論文全文數(shù)據(jù)庫,2010.
[7]王俊峰.高速互聯(lián)網(wǎng)性能測量若干關(guān)鍵技術(shù)研究[D].中國學位論文全文數(shù)據(jù)庫,2004.
[8]劉敏,李忠誠,過曉冰,鄧輝.端到端的可用帶寬測量方法[J].軟件學報,2006.
[9]賈圣文.互聯(lián)網(wǎng)主動帶寬測量技術(shù)研究[D].中國學位論文全文數(shù)據(jù)庫.2011.
[10]李廉.基于園區(qū)網(wǎng)的高帶寬實時流媒體應用關(guān)鍵技術(shù)的研究[D].中國學位論文全文數(shù)據(jù)庫,2012.
[11] The Probe Gap Model can Underestimate the Available BandWidth of
Multihop Paths.
[12]PathLoad:a Measurement tool for end-to-end available bandwidth
[13]PathChirp:Efficient Available BandWidth Estimation for Network Paths.
[14]Prasad R S,Dovrolis C,Math B A.The effect of layer-2store-and-forward devices on per-hop capacity estimation.in Proceedings of INFOCOM 2003:Twenty-second Annual Joint Conference of the IEEE Computer communication,2003.