專利名稱:可測量分布式網(wǎng)絡(luò)流量生成系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)實驗與測量技術(shù),尤其涉及一種具有測量功能的分布式網(wǎng)絡(luò)流量生成系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)流量生成與網(wǎng)絡(luò)測量的作用在于根據(jù)應(yīng)用場景的需要,生成一定特性的網(wǎng)絡(luò)流量并發(fā)送到實驗網(wǎng)絡(luò),并對實驗網(wǎng)絡(luò)的性能進行測量,以評價、驗證和分析實驗網(wǎng)絡(luò)中所使用網(wǎng)絡(luò)協(xié)議、算法或設(shè)備的性能。
目前,國外已有一些流量生成器(Traffic generator)和網(wǎng)絡(luò)分析儀等。但它們不具有對網(wǎng)絡(luò)進行測量的功能,而且未采用分布式結(jié)構(gòu),不易控制和擴充。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種具有測量功能的分布式網(wǎng)絡(luò)流量生成系統(tǒng),本發(fā)明采用分布式結(jié)構(gòu),由一個控制端控制多個發(fā)送端進行網(wǎng)絡(luò)流量生成,同時亦可選取多個不同的接收端。
本發(fā)明所采用的技術(shù)方案如下本發(fā)明的可測量分布式網(wǎng)絡(luò)流量生成系統(tǒng)包括有1個控制端、多個發(fā)送端和多個接收端,其中,控制端與多個發(fā)送端和多個接收端通過網(wǎng)絡(luò)互相連接;多個發(fā)送端和多個接收端通過網(wǎng)絡(luò)互相連接。其發(fā)送端和接收端的個數(shù)可根據(jù)生成網(wǎng)絡(luò)流量的大小增減。本發(fā)明采用分布式結(jié)構(gòu),從而有著控制靈活,易于擴充的特點,能夠在生成網(wǎng)絡(luò)流量的同時對網(wǎng)絡(luò)的性能參數(shù)進行測量。
圖1是本發(fā)明的組成結(jié)構(gòu)圖;圖2是本系統(tǒng)各功能模塊之間的控制流和數(shù)據(jù)流圖;圖3是本系統(tǒng)控制端運行時的界面截圖;圖4是本系統(tǒng)所使用報文的類型、傳輸方向及功能列表。
具體實施例方式
下面結(jié)合附圖對本發(fā)明做詳細的說明參照圖1,可測量分布式網(wǎng)絡(luò)流量生成系統(tǒng)(以下簡稱本系統(tǒng))的組成結(jié)構(gòu)如圖1所示。本系統(tǒng)由1個控制端、多個發(fā)送端和多個接收端構(gòu)成,它們相互之間通過網(wǎng)絡(luò)互連,其中,控制端與多個發(fā)送端和多個接收端通過網(wǎng)絡(luò)互相連接;多個發(fā)送端和多個接收端通過實驗網(wǎng)絡(luò)互相連接。發(fā)送端和接收端的個數(shù)可以根據(jù)要生成網(wǎng)絡(luò)流量的大小靈活增減。
控制端、發(fā)送端和接收端上運行有操作系統(tǒng)和專用控制軟件。用戶通過控制端對本系統(tǒng)的各種參數(shù)進行設(shè)置,包括發(fā)送端和接收端的個數(shù)以及IP地址、要生成網(wǎng)絡(luò)流量的大小、協(xié)議類型及目標(biāo)端口號、網(wǎng)絡(luò)流量報文大小、測量網(wǎng)絡(luò)性能的時間周期。這些參數(shù)被作為控制命令的一部分發(fā)往各個發(fā)送端。發(fā)送端根據(jù)收到的控制命令生成控制端要求的報文并通過實驗網(wǎng)絡(luò)向接收端發(fā)送。接收端監(jiān)聽來自控制端和發(fā)送端的報文,根據(jù)報文類型的不同,給予應(yīng)答。與此同時,本系統(tǒng)測量并計算實驗網(wǎng)絡(luò)的傳輸時延和丟包率,并以曲線的形式顯示在控制端界面上。
圖2顯示了本系統(tǒng)各功能模塊之間的控制流和數(shù)據(jù)流的傳輸。
控制端包括兩個功能模塊控制模塊和用戶界面模塊??刂颇K位于控制端的下層,它采用多線程機制,在運行時創(chuàng)建2個線程控制線程和信息接收線程??刂凭€程從用戶界面模塊獲得用戶輸入的各發(fā)送端的IP地址、接收端的IP地址和端口號、網(wǎng)絡(luò)流量報文大小等參數(shù)后,向各個發(fā)送端和接收端發(fā)送控制命令,如請求各發(fā)送端開始發(fā)送、請求各發(fā)送端返回當(dāng)前傳輸時延、請求接收端返回當(dāng)前已發(fā)送/接收的報文個數(shù)、請求發(fā)送端停止發(fā)送、請求接收端停止接收等。信息接收線程專門用來接收發(fā)送端和接收端反饋到控制端的各種信息,如各發(fā)送端返回的發(fā)送確認(rèn)、當(dāng)前傳輸時延、停止確認(rèn)等;接收端返回的已發(fā)送和接收的報文個數(shù)、停止確認(rèn)等。信息接收線程根據(jù)接收到的報文類型,向用戶界面模塊傳遞不同的消息,由用戶界面進行處理并將結(jié)果顯示出來。用戶界面模塊位于控制端的上層,提供給用戶一個圖形化的使用界面。通過該界面,用戶可以管理發(fā)送端和接收端的列表,并為網(wǎng)絡(luò)流量生成設(shè)置要生成網(wǎng)絡(luò)流量大小、網(wǎng)絡(luò)流量報文大小、協(xié)議類型及端口號等參數(shù)。在網(wǎng)絡(luò)流量生成啟動后,該模塊按照預(yù)定的時間周期通過控制模塊向發(fā)送端和接收端發(fā)出請求統(tǒng)計數(shù)據(jù)的命令報文,根據(jù)收到的測量結(jié)果顯示各種性能數(shù)據(jù),并繪制傳輸時延和丟包率曲線。
發(fā)送端可運行在多臺計算機上,也采用了多線程結(jié)構(gòu),在運行時創(chuàng)建2個線程服務(wù)線程和流量生成線程。服務(wù)線程接收來自控制端的各種控制命令,進行相應(yīng)處理并返回結(jié)果。流量生成線程平時處于睡眠狀態(tài),當(dāng)服務(wù)線程收到來自控制端的啟動發(fā)送命令后,將喚醒流量生成線程。流量生成線程根據(jù)收到的控制命令中所包含的參數(shù)(接收端地址、端口號、網(wǎng)絡(luò)流量報文大小、發(fā)送頻率等)生成報文并發(fā)送到接收端。
接收端啟動后監(jiān)聽來自控制端和發(fā)送端的報文,在收取報文的同時對報文個數(shù)、時間等數(shù)據(jù)進行統(tǒng)計。若接收到來自控制端的控制命令,如請求返回當(dāng)前已發(fā)送/接收的報文個數(shù)、請求停止本次接收等,則做出相應(yīng)處理;若接收到來自發(fā)送端的報文,則周期性地將接收到的報文反饋回發(fā)送端以便其計算傳輸時延。
本系統(tǒng)能夠在生成網(wǎng)絡(luò)流量的同時測量并計算出實驗網(wǎng)絡(luò)的丟包率和傳輸時延。這兩個參數(shù)的計算分別按照以下方法進行。
1).丟包率的計算在本系統(tǒng)中,丟包率的測量和計算需要考慮兩個因素。首先,由于有多個發(fā)送端和接收端,因此需要對各發(fā)送端/接收端所發(fā)送/接收的報文個數(shù)進行累計;其次,要按設(shè)定的時間周期實時測量丟包率并顯示曲線,因此需要計算一個測量周期內(nèi)的丟包率。
設(shè)本系統(tǒng)有N個發(fā)送端和M個接收端,截止到時刻t累計發(fā)送的總報文數(shù)為St,累計接收到的總報文數(shù)為Rt。系統(tǒng)的上一個測量時刻為t-1,則在時刻t系統(tǒng)的丟包率計算公式為Lt=(St-St-1)-(Rt-Rt-1)St-St-1×100%]]>St和Rt的計算公式為St=Σt=1NSit]]>Rt=Σj=1Mrjt]]>其中Sit為發(fā)送端i截止到時刻t累計發(fā)送的報文個數(shù),rjt為接收端j截止到時刻t累計接收到的報文個數(shù)。
發(fā)送端在發(fā)送報文時,對每一個報文都進行編號,接收端每接收到一個報文,就進行累加。這樣,接收端根據(jù)當(dāng)前已收到的報文就可以獲得發(fā)送端當(dāng)前已發(fā)送的報文數(shù)和本身已接收到的報文數(shù)。將這兩個數(shù)據(jù)反饋到控制端后,就可以計算出丟包率。
2).傳輸時延的計算與丟包率的計算類似,傳輸時延的計算同樣要考慮多發(fā)送端/接收端和實時傳輸時延兩個因素。
為了便于計時,發(fā)送端生成網(wǎng)絡(luò)流量時發(fā)出的每個報文中都帶有時間戳,該時間為發(fā)送該報文的時刻,接收端在收到發(fā)送端的報文后,就定期地將接收到的報文反饋回發(fā)送端。發(fā)送端在收到接收端的反饋報文后,取出系統(tǒng)當(dāng)前時間。從而根據(jù)取出的系統(tǒng)當(dāng)前時間和反饋回報文攜帶的時間戳來計算出傳輸時延。這樣計算出來的是單個報文的傳輸時延,如要計算平均傳輸時延,則可以對在一個時間間隔內(nèi)獲取的多個報文傳輸時延求平均值即可。
設(shè)Pt為時刻t-1到時刻t之間所傳輸報文的總數(shù),對第k個報文,發(fā)送該報文的時刻為TSk,收到該報文的時刻為TRk,則系統(tǒng)在時刻t的傳輸時延計算公式為Dt=Σk=1P1(TRk-TSk)Pt=Σk=1PtTRk-Σk=1PtTSkPt]]>在傳輸時延的計算中應(yīng)剔除傳輸過程中丟失的報文,因此,上式中報文個數(shù)Pt為接收到的報文個數(shù)。
本系統(tǒng)的發(fā)送端使用了精度為1us的高分辨率時鐘來獲取精確的傳輸時延。本系統(tǒng)測量所得到的傳輸時延指的是端到端的傳輸時延。
圖3為本系統(tǒng)控制端運行時的界面截圖。
本界面截圖顯示的是一個實施例,可分兩部分。左邊又分為兩塊,上面部分顯示的是發(fā)送的數(shù)據(jù)包即報文總數(shù)量、發(fā)送的數(shù)據(jù)包大小、接收的數(shù)據(jù)包總數(shù)量、總丟包率、累計網(wǎng)絡(luò)時延、接收主機地址、接收主機端口、當(dāng)前流量等信息;下面部分顯示的是各個發(fā)送端主機地址和其對應(yīng)的網(wǎng)絡(luò)時延值。右邊顯示了兩個曲線圖,上邊的是丟包率統(tǒng)計曲線(橫坐標(biāo)為時間,縱坐標(biāo)為丟包率百分比);下邊的是當(dāng)前平均網(wǎng)絡(luò)時延統(tǒng)計曲線(橫坐標(biāo)為時間,縱坐標(biāo)為當(dāng)前平均網(wǎng)絡(luò)時延值)。
圖4是本系統(tǒng)所使用報文的類型、傳輸方向及功能列表。
本發(fā)明的優(yōu)點在于1、能夠在生成網(wǎng)絡(luò)流量的同時對網(wǎng)絡(luò)的性能參數(shù)進行測量;2、本系統(tǒng)采用分布式結(jié)構(gòu),由一個控制端控制多個發(fā)送端進行網(wǎng)絡(luò)流量生成,同時亦可選取多個不同的接收端,從而有著控制靈活,易于擴充的特點;3、本系統(tǒng)可以根據(jù)要求生成各種不同的協(xié)議報文,除一般的UDP,TCP協(xié)議報文外,還可生成OSPF,RIP,ARP等協(xié)議報文;4、本系統(tǒng)提供友好的圖形用戶界面,并把對實驗網(wǎng)絡(luò)的測量結(jié)果以曲線的形式表現(xiàn)出來,使人一目了然。
權(quán)利要求
1.一種可測量分布式網(wǎng)絡(luò)流量生成系統(tǒng),包括發(fā)送端和接收端,其特征在于還包括有1個控制端、多個發(fā)送端和多個接收端,其中,控制端與多個發(fā)送端和多個接收端通過網(wǎng)絡(luò)互相連接;多個發(fā)送端和多個接收端通過實驗網(wǎng)絡(luò)互相連接。
2.根據(jù)權(quán)利要求1所述的可測量分布式網(wǎng)絡(luò)流量生成系統(tǒng),其特征在于發(fā)送端和接收端的個數(shù)可根據(jù)生成網(wǎng)絡(luò)流量的大小增減。
3.根據(jù)權(quán)利要求1所述的可測量分布式網(wǎng)絡(luò)流量生成系統(tǒng),其特征在于控制端包括兩個功能模塊控制模塊和用戶界面模塊;其中控制模塊位于控制端的下層,在運行時創(chuàng)建控制線程和信息接收線程,控制線程從用戶界面模塊獲得用戶輸入的各發(fā)送端的IP地址、接收端的IP地址和端口號、網(wǎng)絡(luò)流量報文大小等參數(shù)后,向各個發(fā)送端和接收端發(fā)送控制命令;信息接收線程專門用來接收發(fā)送端和接收端反饋到控制端的各種信息。
4.根據(jù)權(quán)利要求1所述的可測量分布式網(wǎng)絡(luò)流量生成系統(tǒng),其特征在于發(fā)送端在運行時創(chuàng)建2個線程服務(wù)線程和流量生成線程;其中服務(wù)線程接收來自控制端的各種控制命令,進行相應(yīng)處理并返回結(jié)果;流量生成線程平時處于睡眠狀態(tài),當(dāng)服務(wù)線程收到來自控制端的啟動發(fā)送命令后,將喚醒流量生成線程,流量生成線程根據(jù)收到的控制命令中所包含的參數(shù),即接收端地址、端口號、網(wǎng)絡(luò)流量報文大小、發(fā)送頻率等生成報文并發(fā)送到接收端。
全文摘要
本發(fā)明公開了一種可測量分布式網(wǎng)絡(luò)流量生成系統(tǒng),屬于網(wǎng)絡(luò)實驗與測量技術(shù)。本系統(tǒng)由1個控制端、多個發(fā)送端和多個接收端構(gòu)成,它們相互之間通過網(wǎng)絡(luò)互連。用戶通過控制端設(shè)定參數(shù)、啟動或停止網(wǎng)絡(luò)流量的生成以及查看測量得到的網(wǎng)絡(luò)性能曲線??刂贫送ㄟ^向各發(fā)送端和接收端發(fā)送控制命令實現(xiàn)對系統(tǒng)的控制。在啟動網(wǎng)絡(luò)流量生成后,各個發(fā)送端按照用戶設(shè)定的參數(shù)向接收端連續(xù)發(fā)送報文,這些報文通過實驗網(wǎng)絡(luò)到達接收端,與此同時,本系統(tǒng)測量并計算實驗網(wǎng)絡(luò)的傳輸時延和丟包率,并以曲線的形式顯示在控制端的界面上。
文檔編號H04L12/26GK1571372SQ20041002611
公開日2005年1月26日 申請日期2004年5月13日 優(yōu)先權(quán)日2004年5月13日
發(fā)明者劉軼, 崔華力, 田敏, 劉曉彬, 張興軍 申請人:西安交通大學(xué)