计算机网路实验使用NS模拟多媒体通讯与无线网路实验.ppt_第1页
计算机网路实验使用NS模拟多媒体通讯与无线网路实验.ppt_第2页
计算机网路实验使用NS模拟多媒体通讯与无线网路实验.ppt_第3页
计算机网路实验使用NS模拟多媒体通讯与无线网路实验.ppt_第4页
计算机网路实验使用NS模拟多媒体通讯与无线网路实验.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、a,1,計算機網路實驗-使用NS2模擬多媒體通訊與無線網路(實驗四,指導教授:許子衡老師 學生:羅英辰,2010/3/5,a,2,網路模擬,結束模擬後,通常我們會要用到過程中產生的記錄來分析以得到吞吐量(Throughput)、封包延遲(Packet delay)、抖動率(Jitter)和封包遺失率(Packet loss rate)。 以下就是有線網路記錄的格式,2010/3/5,a,3,tcp,sink,sink,udp,r,d,s1,s2,ftp,cbr,2Mbps, 10ms,2Mbps, 10ms,1.7Mbps, 20ms,ftp,cbr,0.1 1.0 4.0 4.5,sec,2

2、010/3/5,a,4,2010/3/5,a,5,2010/3/5,a,6,使用方法: perl measure-throughput.pl #記錄檔檔名 $infile=$ARGV0; #多少時間計算一次(單位為秒) $granularity=$ARGV1; $sum=0; $sum_total=0; $clock=0; $maxrate=0; $init=0; #打開記錄檔 open (DATA,$infile) | die Cant open $infile ,UDP的吞吐量計算,2010/3/5,a,7,讀取記錄檔中的每行資料,資料是以空白分成眾多欄位 while () x = spl

3、it( ); if($init=0) $start=$x2; $init=1; #讀取的第零個欄位是pkt_id #讀取的第一個欄位是封包傳送時間 #讀取的第二個欄位是封包接收時間 #讀取的第三個欄位是封包end to end delay #讀取的第四個欄位是封包大小 #判斷所讀到的時間,是否已經達到要統計吞吐量的時候 if ($x2-$clock = $granularity) #計算單位時間內累積的封包大小 $sum=$sum+$x4; #計算累積的總封包大小 $sum_total=$sum_total+$x4;,2010/3/5,a,8,else #計算吞吐量 $throughput=$

4、sum*8.0/$granularity; if ($throughput $maxrate) $maxrate=$throughput; #輸出結果: 時間 吞吐量(bps) print STDOUT $x2: $throughput bpsn; #設定下次要計算吞吐量的時間 $clock=$clock+$granularity; $sum_total=$sum_total+$x4; $sum=$x4;,2010/3/5,a,9,endtime=$x2; #計算最後一次的吞吐量大小 $throughput=$sum*8.0/$granularity; print STDOUT $x2: $t

5、hroughput bpsn; $clock=$clock+$granularity; $sum=0; #print STDOUT $sum_total $start $endtimen; $avgrate=$sum_total*8.0/($endtime-$start); print STDOUT Average rate: $avgrate bpsn; print STDOUT Peak rate: $maxrate bpsn; #關閉檔案 close DATA; exit(0,2010/3/5,a,10,2010/3/5,a,11,TCP的吞吐量計算,2010/3/5,a,12,無線網路

6、,以下是無線網路模擬後所產生的值: s -t 0.267662078 -Hs 0 -Hd -1 -Ni 0 -Nx 5.00 -Ny 2.00 -Nz 0.00 -Ne -1.000000 -Nl RTR -Nw - -Ma 0 -Md 0 -Ms 0 -Mt 0 -Is 0.255 -Id -1.255 -It message -Il 32 -If 0 -Ii 0 -Iv 32,2010/3/5,a,13,s -t 0.267662078 在上述trace記錄中,第一列描述了發生在節點上的事件類型,有四種: s 發送 r 接收 d 丟棄 f 轉發 第二列以“-t”開始,表示的是時間或者全局設

7、置 -t 時間 -t * (全局設置,2010/3/5,a,14,Hs 0 -Hd -1 Hs:目前節點的id Hd:下一個hop節點的id -Ni 0 -Nx 5.00 -Ny 2.00 -Nz 0.00 -Ne -1.000000 -Nl RTR -Nw - 這一列描述了節點諸如node-id等屬性,tracing的層級可能是agent、router或者MAC。這些標識以“-N”開始並如下所示: -Ni: 節點id -Nx: 節點的x坐標 -Ny: 節點的y坐標 -Nz: 節點的z坐標 -Ne: 節點能量級別 -Nl: 節點trace層級,比如AGT,RTR,MAC -Nw: 事件原因,2

8、010/3/5,a,15,Ma 0 -Md 0 -Ms 0 -Mt 0 該列給出了MAC層信息,標識以“-M”開始 -Ma: 持續時間 -Md: 目的乙太網址 -Ms: 來源乙太網址 -Mt: 乙太網類型 -Is 0.255 -Id -1.255 -It message -Il 32 -If 0 -Ii 0 -Iv 32 該列標識以“-I”開始,其解釋如下: -Is: 來源地址 -Id: 目的地址 -It: 封包類型 -Il: 封包大小 -If: 資料流id -Ii: 唯一的id -Iv: ttl值(time to live,2010/3/5,a,16,範圍:1000m*1000m 移動節點:

9、三個 N0和N2是以CBR/UDP連線。 當time=200時,N1從(500,500)移到(500,900)。 當time=500時,N1從(500,900)移到(500,100)。 當time=1000時結束,2010/3/5,a,17,500,900,500,500,650,500,350,500,500,100,Time = 200,Time = 500,2010/3/5,a,18, Define options 定義一些變數 #= set val(chan) Channel/WirelessChannel ;# channel type set val(prop)Propagatio

10、n/TwoRayGround ;#radio-propagation model set val(netif)Phy/WirelessPhy ;# network interface type set val(mac)Mac/802_11 ;# MAC type set val(ifq) Queue/DropTail/PriQueue ;# interface queue type set val(ll) LL ;# link layer type set val(ant) Antenna/OmniAntenna ;# antenna model (天線模型) set val(x) 1000;

11、#拓樸範圍:X set val(y) 1000;#拓樸範圍:Y set val(ifqlen) 50 ;# max packet in ifq set val(nn) 3 ;# number of mobile nodes set val(seed) 0.0 set val(stop) 1000.0;# simulation time set val(tr) exp.tr;# trace file name set val(rp) DSDV ;# routing protocol,2010/3/5,a,19, Initialize Global Variables set ns_new Sim

12、ulator # Open trace file 開啟trace file $ns_ use-newtrace set namfd open nam-exp.tr w $ns_ namtrace-all-wireless $namfd $val(x) $val(y) set tracefd open $val(tr) w $ns_ trace-all $tracefd # set up topography object #建立一個拓樸物件,以紀錄mobilenodes在拓樸內移動的情況 set topo new Topography # 拓樸的範圍為 1000m x 1000m $topo

13、load_flatgrid $val(x) $val(y) # create channel set chan new $val(chan) # Create God set god_ create-god $val(nn,2010/3/5,a,20, Create the specified number of mobile nodes $val(nn) and attach them # to the channel. Three nodes are created : node(0), node(1) and node(2) # 設置Mobile node的參數 $ns_ node-co

14、nfig -adhocRouting $val(rp) -llType $val(ll) -macType $val(mac) -ifqType $val(ifq) -ifqLen $val(ifqlen) -antType $val(ant) -propType $val(prop) -phyType $val(netif) -channel $chan -topoInstance $topo -agentTrace ON -routerTrace ON -macTrace OFF -movementTrace OFF for set i 0 $i $val(nn) incr i set n

15、ode_($i) $ns_ node $node_($i) random-motion 0;# disable random motion,2010/3/5,a,21, Provide initial (X,Y, for now Z=0) co-ordinates for mobilenodes # # 設定節點0在一開始時,位置在(350.0, 500.0) $node_(0) set X_ 350.0 $node_(0) set Y_ 500.0 $node_(0) set Z_ 0.0 # 設定節點1在一開始時,位置在(500.0, 500.0) $node_(1) set X_ 500

16、.0 $node_(1) set Y_ 500.0 $node_(1) set Z_ 0.0 # 設定節點2在一開始時,位置在(650.0, 500.0) $node_(2) set X_ 650.0 $node_(2) set Y_ 500.0 $node_(2) set Z_ 0.0 # Load the god object with shortest hop information # 在節點1和節點2之間最短的hop數為1 $god_ set-dist 1 2 1 # 在節點0和節點2之間最短的hop數為2 $god_ set-dist 0 2 2 # 在節點0和節點1之間最短的ho

17、p數為1 $god_ set-dist 0 1 1,2010/3/5,a,22, Now produce some simple node movements # Node_(1) starts to move upward and then downward set god_ God instance # 在模擬時間200秒的時候,節點1開始從位置(500, 500)移動到(500, 900), # 速度為2.0 m/sec $ns_ at 200.0 $node_(1) setdest 500.0 900.0 2.0 # 然後在500秒的時候,再從位置(500, 900)移動到(500,

18、100),速度為2.0 m/sec $ns_ at 500.0 $node_(1) setdest 500.0 100.0 2.0,2010/3/5,a,23, Setup traffic flow between nodes 0 connecting to 2 at time 100.0 # 在節點0和節點2建立一條CBR/UDP的連線,且在時間為100秒開始傳送 set udp_(0) new Agent/mUDP #設定傳送記錄檔檔名為sd_udp $udp_(0) set_filename sd_udp $udp_(0) set fid_ 1 $ns_ attach-agent $no

19、de_(0) $udp_(0) set null_(0) new Agent/mUdpSink #設定接收檔記錄檔檔名為rd_udp $null_(0) set_filename rd_udp $ns_ attach-agent $node_(2) $null_(0) set cbr_(0) new Application/Traffic/CBR $cbr_(0) set packetSize_ 200 $cbr_(0) set interval_ 2.0 $cbr_(0) set random_ 1 $cbr_(0) set maxpkts_ 10000 $cbr_(0) attach-agent $udp_(0) $ns_ connect

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论