• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

    2013-08-06 02:14:52馬元飛
    電腦與電信 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è)無法對復(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ù)涞娜诤稀6抡婺M的方法可以彌補(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]是一個面向?qū)ο?、可擴(kuò)展的離散事件驅(qū)動的網(wǎng)絡(luò)仿真器,其核心部分是一個離散事件模擬引擎。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等。同時,NS2可以進(jìn)行無線通信網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)進(jìn)行仿真。

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

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

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

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

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

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

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

    4.性能分析

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

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

    (2)抖動率計(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]秒時間段內(nèi),由于受到FTP數(shù)據(jù)流干擾,CBR數(shù)據(jù)流呈現(xiàn)較大的抖動,實(shí)驗(yàn)結(jié)果與預(yù)期相符。

    圖2 抖動率變化

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

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

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

    #記錄文件文件名

    $infile=$ARGV[0];

    #多少時間計(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;

    }

    #讀取的第零個字段是pkt_id

    #讀取的第一個字段是封包傳送時間

    #讀取的第二個字段是封包接收時間

    #讀取的第三個字段是封包end to end delay

    #讀取的第四個字段是封包大小

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

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

    {

    #計(jì)算單位時間內(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é)果:時間吞吐量(bps)

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

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

    $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停止后一段時間,此時正是信道被CBR獨(dú)占的時段,實(shí)驗(yàn)結(jié)果與預(yù)期相符。

    圖3 吞吐量變化

    5.結(jié)語

    隨著網(wǎng)絡(luò)的不斷發(fā)展,網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,人們對網(wǎng)絡(luò)的要求也越來越高,隨之對網(wǎng)絡(luò)性能的分析也變得越來越重要。本文從丟包率、抖動率、吞吐量3個角度對NS2環(huán)境下網(wǎng)絡(luò)性能分析方法進(jìn)行了研究,下一步的工作可以在此基礎(chǔ)上,將該方法擴(kuò)展到更加復(fù)雜的網(wǎng)絡(luò)應(yīng)用場景,發(fā)現(xiàn)網(wǎng)絡(luò)性能的瓶頸,進(jìn)一步對網(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é)報,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ì)
    門窗(2019年12期)2019-04-20 16:06:52
    一種新的VANET網(wǎng)絡(luò)鏈路丟包率估計(jì)算法
    TCN 協(xié)議分析裝置丟包率研究
    CNMARC304字段和314字段責(zé)任附注方式解析
    三維虛擬數(shù)字校園系統(tǒng)的資源封包設(shè)計(jì)
    包头市| 浠水县| 巴青县| 玉溪市| 灵丘县| 玉山县| 清涧县| 资兴市| 同江市| 萨迦县| 石林| 合水县| 东台市| 微博| 周宁县| 古田县| 云和县| 乌什县| 绥阳县| 房产| 聊城市| 长治市| 南澳县| 全南县| 大新县| 博野县| 文成县| 潼关县| 林口县| 岑溪市| 勃利县| 鄂托克旗| 桓仁| 卢湾区| 香格里拉县| 炎陵县| 德阳市| 新宁县| 永丰县| 阿拉尔市| 靖宇县|