国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

NS2條件網(wǎng)絡(luò)性能分析實(shí)踐

2013-08-06 02:14馬元飛
電腦與電信 2013年1期
關(guān)鍵詞:包率封包字段

馬元飛

(內(nèi)蒙古集寧師范學(xué)院,內(nèi)蒙古 烏蘭察布 012000)

1.引言

網(wǎng)絡(luò)性能分析[1]一般有以下3種手段:數(shù)學(xué)分析法、實(shí)驗(yàn)探究法和仿真模擬法。然而前兩種方法都存在很大的局限性:數(shù)學(xué)分析法的有效性和精確性受假設(shè)限制很大,一些假設(shè)無法對(duì)復(fù)雜網(wǎng)絡(luò)系統(tǒng)進(jìn)行準(zhǔn)確的限定和描述;實(shí)驗(yàn)探究法局限于成本居高不下,重新配置與資源共享難度大,運(yùn)行缺少靈活性,實(shí)驗(yàn)床規(guī)模難以做到很大,不能實(shí)現(xiàn)網(wǎng)絡(luò)中多種通信量和拓?fù)涞娜诤?。而仿真模擬的方法可以彌補(bǔ)前兩種方法的不足,它采用計(jì)算機(jī)程序?qū)W(wǎng)絡(luò)進(jìn)行模型化,通過程序的運(yùn)行模擬仿真網(wǎng)絡(luò)的運(yùn)行過程。仿真模擬法利用數(shù)學(xué)建模和統(tǒng)計(jì)分析的方法模擬網(wǎng)絡(luò)行為,通過建立網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)鏈路的統(tǒng)計(jì)模型,模擬網(wǎng)絡(luò)流量的傳輸,從而獲取網(wǎng)絡(luò)設(shè)計(jì)及優(yōu)化所需要的網(wǎng)絡(luò)性能數(shù)據(jù)。

NS2[2]是一個(gè)面向?qū)ο蟆⒖蓴U(kuò)展的離散事件驅(qū)動(dòng)的網(wǎng)絡(luò)仿真器,其核心部分是一個(gè)離散事件模擬引擎。NS2仿真器具有強(qiáng)大的數(shù)據(jù)處理功能,可擴(kuò)展性強(qiáng),執(zhí)行效率高,且仿真結(jié)果的可靠性高。NS2支持TCP、UDP等傳輸層網(wǎng)絡(luò)協(xié)議,可以模擬網(wǎng)絡(luò)數(shù)據(jù)傳輸如FTP、CBR等以及路由隊(duì)列的管理機(jī)制如DropTail,RED和CBQ等。同時(shí),NS2可以進(jìn)行無線通信網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)進(jìn)行仿真。

NS2中并未直接提供性能分析工具,但是NS2會(huì)將仿真過程中的封包事件進(jìn)行記錄[3],本文以此為據(jù),通過對(duì)其進(jìn)行數(shù)據(jù)采集來完成性能分析。封包事件記錄每條由11個(gè)字段構(gòu)成,字段含義從左到右依次為:(1)封包事件發(fā)生原因:“r”表示接收封包,“+”表示封包入隊(duì)、"-"表示封包出隊(duì)、“d”表示丟棄封包;(2)事件發(fā)生的時(shí)間;(3)發(fā)生地點(diǎn);(4)封包類型;(5)封包大??;(6)封包標(biāo)志標(biāo)注;(7)封包數(shù)據(jù)流歸屬;(8,9)源端、目的端;(10,11)封包序號(hào)、封包 ID。為了便于執(zhí)行分析,我們將上述記錄文件分割為接收端和發(fā)送端兩個(gè)部分,其中發(fā)送端包含:序號(hào)、時(shí)間、和封包大小,接收端包含序號(hào)、傳送時(shí)間、到達(dá)時(shí)間、封包延遲時(shí)間、封包大小。

2.性能分析指標(biāo)

常用的網(wǎng)絡(luò)性能分析指標(biāo)[4]有吞吐量、丟包率、抖動(dòng)率等,具體內(nèi)容說明如下:(1)吞吐量定義為在一個(gè)時(shí)隙內(nèi)成功發(fā)送的數(shù)據(jù)包數(shù)量,一般指鏈路上所有通信數(shù)據(jù)總的傳輸速率,計(jì)算時(shí)采用接收的封包總大小除以所花費(fèi)的時(shí)間即可;(2)丟包率是指測試中所丟失數(shù)據(jù)包數(shù)量占所發(fā)送數(shù)據(jù)包的比率,計(jì)算采用發(fā)送端的封包數(shù)量減去接收端封包數(shù)量并除以封包總數(shù);(3)抖動(dòng)率是網(wǎng)絡(luò)延遲的變化量,它是由同一應(yīng)用的任意兩個(gè)相鄰數(shù)據(jù)包在傳輸路由

中經(jīng)過網(wǎng)絡(luò)延遲而產(chǎn)生,計(jì)算采用封包延遲時(shí)間差距除以封包序號(hào)差距得到,計(jì)算公式如下:

3.實(shí)驗(yàn)拓?fù)?/h2>

實(shí)驗(yàn)網(wǎng)絡(luò)環(huán)境(圖1)包括兩個(gè)傳輸節(jié)點(diǎn)s1和s2,路由器r和數(shù)據(jù)接收端d。s1到r之間和s2到r之間的網(wǎng)絡(luò)帶寬都是2Mbps,傳遞時(shí)延為10ms。網(wǎng)絡(luò)中的帶寬瓶頸在r和d之間,帶寬為1.7Mbps,傳遞時(shí)延為20ms。所有鏈路管理機(jī)制都采用DropTail,r到d之間的最大隊(duì)列長度是10個(gè)封包。s1與d之間會(huì)有一條FTP聯(lián)機(jī),另外,s2到d之間有一條CBR[3]聯(lián)機(jī),其傳送速度為1Mbps,每一個(gè)封包大小為1KB。

圖1 實(shí)驗(yàn)拓?fù)鋱D

4.性能分析

我們假設(shè)CBR數(shù)據(jù)流持續(xù)時(shí)間從0.1秒到4.5秒,F(xiàn)TP數(shù)據(jù)流持續(xù)時(shí)間從1.0到4.0秒。按照上述網(wǎng)絡(luò)環(huán)境編寫TCL程序代碼,并在NS2中仿真執(zhí)行,得到sd_udp(發(fā)送端s2),rd_udp(接受端d)兩個(gè)記錄文件。我們以這兩個(gè)文件為數(shù)據(jù)樣本,針對(duì)CBR,完成性能分析。本文性能分析關(guān)注點(diǎn)有3個(gè)方面:丟包率、抖動(dòng)率、吞吐量。

(1)丟包率計(jì)算。從sd_udp文件中,可以得知共有550條記錄(550行):從rd_udp文件中,可以得知共有542筆記錄,所以共有8個(gè)封包遺失,因此udp封包遺失率為8/550=1.45%.

(2)抖動(dòng)率計(jì)算。計(jì)算采用AWK[5]腳本語言編寫,腳本代碼如下:

###執(zhí)行方法:###

###awk-f measure-jitter.awk rd_udp>cbr_jitter###BEGIN{

last_pkt_id=-1;

last_e2e_delay=-1;

}{

pkt_id=$1;

send_time=$2;

rcv_time=$3;

e2e_delay=$4;

pkt_size=$5;

if(last_pkt_id!=-1){

jitter=(e2e_delay-last_e2e_delay)/

(pkt_id-last_pkt_id);

printf("%f%f ",send_time,jitter);

}

last_pkt_id=pkt_id;

last_e2e_delay=e2e_delay;

}{}

執(zhí)行后生成cbr_jitter文件,用GNUPLOT[6]作圖,得到圖2,從中發(fā)現(xiàn)在[1,4]秒時(shí)間段內(nèi),由于受到FTP數(shù)據(jù)流干擾,CBR數(shù)據(jù)流呈現(xiàn)較大的抖動(dòng),實(shí)驗(yàn)結(jié)果與預(yù)期相符。

圖2 抖動(dòng)率變化

(3)吞吐量計(jì)算

計(jì)算采用PERL腳本[7]編寫,腳本代碼如下:

#使用方法:perl measure-throughput.pl

#記錄文件文件名

$infile=$ARGV[0];

#多少時(shí)間計(jì)算一次(單位為秒)

$granularity=$ARGV[1];

$sum=0;

$sum_total=0;

$clock=0;

$maxrate=0;

$init=0;

#打開記錄文件

open(DATA,"<$infile")

||die"Can't open$infile$!";

#讀取記錄文件中的每行數(shù)據(jù),數(shù)據(jù)是以空白分成眾多字段while(){

@x=split('');

if($init==0){

$start=$x[2];$init=1;

}

#讀取的第零個(gè)字段是pkt_id

#讀取的第一個(gè)字段是封包傳送時(shí)間

#讀取的第二個(gè)字段是封包接收時(shí)間

#讀取的第三個(gè)字段是封包end to end delay

#讀取的第四個(gè)字段是封包大小

#判斷所讀到的時(shí)間,是否已經(jīng)達(dá)到要統(tǒng)計(jì)吞吐量的時(shí)候

if($x[2]-$clock<=$granularity)

{

#計(jì)算單位時(shí)間內(nèi)累積的封包大小

$sum=$sum+$x[4];

#計(jì)算累積的總封包大小

$sum_total=$sum_total+$x[4];

}

else

{

#計(jì)算吞吐量

$throughput=$sum*8.0/$granularity;

if($throughput>$maxrate){

$maxrate=$throughput;

}

#輸出結(jié)果:時(shí)間吞吐量(bps)

print STDOUT"$x[2]:$throughput bps ";

#設(shè)定下次要計(jì)算吞吐量的時(shí)間

$clock=$clock+$granularity;

$sum_total=$sum_total+$x[4];

$sum=$x[4];

}

}

$endtime=$x[2];

#計(jì)算最后一次的吞吐量大小

$throughput=$sum*8.0/$granularity;

print STDOUT"$x[2]:$throughput bps ";

$clock=$clock+$granularity;

$sum=0;

#print STDOUT"$sum_total$start$endtime ";

$avgrate=$sum_total*8.0/($endtime-$start);

print STDOUT"Average rate:$avgrate bps ";

print STDOUT"Peak rate:$maxrate bps ";

#關(guān)閉檔案

close DATA;

exit(0);

采用命令perl measure-throughput.pl rd_udp 0.5執(zhí)行后,結(jié)果如圖3,從中可以發(fā)現(xiàn)CBR最高吞吐量大約出現(xiàn)在4.5秒,也就是FTP停止后一段時(shí)間,此時(shí)正是信道被CBR獨(dú)占的時(shí)段,實(shí)驗(yàn)結(jié)果與預(yù)期相符。

圖3 吞吐量變化

5.結(jié)語

隨著網(wǎng)絡(luò)的不斷發(fā)展,網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,人們對(duì)網(wǎng)絡(luò)的要求也越來越高,隨之對(duì)網(wǎng)絡(luò)性能的分析也變得越來越重要。本文從丟包率、抖動(dòng)率、吞吐量3個(gè)角度對(duì)NS2環(huán)境下網(wǎng)絡(luò)性能分析方法進(jìn)行了研究,下一步的工作可以在此基礎(chǔ)上,將該方法擴(kuò)展到更加復(fù)雜的網(wǎng)絡(luò)應(yīng)用場景,發(fā)現(xiàn)網(wǎng)絡(luò)性能的瓶頸,進(jìn)一步對(duì)網(wǎng)絡(luò)環(huán)境進(jìn)行改善,使網(wǎng)絡(luò)資源得到充分利用。

[1]趙吉波,周宇,周紅瓊.基于NS2仿真的IP網(wǎng)絡(luò)性能分析與研究[J].電子設(shè)計(jì)工程,2012,20(4):113-115.

[2]NS2.http://www.isi.edu/nsnam/ns/[EB/OL].2013

[3]柯志亨,程榮祥,鄧德雋.NS2仿真實(shí)驗(yàn)-多媒體和無線網(wǎng)絡(luò)通信[M].北京:電子工業(yè)出版社,2009.

[4]楊雅輝,李小東.IP網(wǎng)絡(luò)性能指標(biāo)體系的研究[J].通信學(xué)報(bào),2002,23(11):1-7.

[5]AWK.[EB/OL].(2012-11-22)[2013-01-11].http://www.grymoire.com/Unix/Awk.html.

[6]GNUPLOT.[EB/OL].(2012-09-03)[2013-01-11].http://www.gnuplot.info/.

[7]Brian d foy,Tom Phoenix,Randal L,Schartz.Perl語言入門.http://wenku.baidu.com/view/c8dbc908f12d2af90242e629.html[EB/OL],2006.

猜你喜歡
包率封包字段
圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
支持向量機(jī)的船舶網(wǎng)絡(luò)丟包率預(yù)測數(shù)學(xué)模型
中藥封包在急診老年急性胃腸炎患者中的臨床應(yīng)用
一種基于噴泉碼的異構(gòu)網(wǎng)絡(luò)發(fā)包算法*
電磁線疊包率控制工藝研究
護(hù)膚 巧用保鮮膜
無沖突規(guī)則校園網(wǎng)絡(luò)安全系統(tǒng)的設(shè)計(jì)
TCN 協(xié)議分析裝置丟包率研究
CNMARC304字段和314字段責(zé)任附注方式解析
無正題名文獻(xiàn)著錄方法評(píng)述