版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络仿真实验 实验报告课程名称: 随机数的产生 专业班级: 学 号: 姓 名: 指导教师: 浙 江 科 技 学 院目录一、关于随机数产生器11.1种子(Seed)和分布(Distribution)11.2设置种子11.3设置分布1二、实验步骤32.1.测试随机数产生器:32.2.一个在网络仿真中应用到随机数产生器的完整实例:5(1)仿真的网络结构图5(2)效果评比指标:吞吐量 (Throughput)5(3)TCL程序代码5(4)分析awk程序代码8(5)种子数量变化10(6)变量分布时11(7)FTP数据流数目变化14三、 参考文献16背景知识: 随机数的使用在网络仿真实验的过程中非常重要,
2、凡是网络节点在一个仿真中的位置,或者是应用程序在何时开始传送或结束数据传输,都会用到随机数产生器。因此,在本实验中,我们将学会如何使用NS2的随机数产生器及其应用。一、关于随机数产生器1.1种子(Seed)和分布(Distribution)随机数产生器所产生的数值是由种子和分布所控制的,不同的种子或者是分布就会产生不同的随机数。当一个种子和分布决定之后,随机数产生器会产生一出一个由一长串不同数字所组成的表格,当需要一个 随机数时,随机数产生器就会去选取这个表格中的一个数字,当需要另一个随机数时,随机数产生器就会去选取这个表格中第二个数字,依此类推。所以当使用种子 和分布相同时,得到的随机数就会
3、相同;若不同时,得到的随机数就会不同。在NS2中, 若种子的值是0,表示 每次执行程序的时候,随机数产生器都会产生出不同的表格,也就是说每次的得到随机数都不相同。1.2设置种子若要在NS2中产生一个随机数产生器,并把种子设置为1,则可以把下的程序代码放入tcl code中。set rng new RNG$rng seed 11.3设置分布(1)Pareto Distribution: 要提供expectation (avg_)和shaper parameter (shape_)参数,实例如下:set r1 new RandomVariable/Pareto$r1 use-rng $rng$r1
4、 set avg_ 10.0$r1 set shape_ 1.2(2)Constant:要提供平均值(avg_)参数,实例如下所示.set r2 new RandomVariable/Constant$r2 use-rng $rng$r2 set avg_ 5.0(3)Uniform Distribution :要提供最小值(min_)和最大值(max_)参数,实例如下所示:set r3 new RandomVariable/Uniform$r3 use-rng $rng$r3 set min_ 0.0$r3 set max_ 10.0(4)Exponential Distribution:要
5、提供平均值(avg_)参数,实例如下所示:set r4 new RandomVariable/Exponential$r4 use-rng $rng$r4 set avg_ 5(5)Hyperexponential Distribution:要提供平均值(avg_)和cov_参数,实例如下所示:set r5 new RandomVariable/HyperExponential$r5 use-rng $rng$r5 set avg_ 1.0$r5 set cov_ 4.0二、实验步骤2.1.测试随机数产生器:set rng new RNG$rng seed 1puts "Testin
6、g Pareto Distribution"set r1 new RandomVariable/Pareto$r1 use-rng $rng$r1 set avg_ 10.0$r1 set shape_ 1.2for set i 1 $i<=3 incr i puts $r1 valueputs "Testing Constant Distribution"set r2 new RandomVariable/Constant$r2 use-rng $rng$r2 set avg_ 5.0for set i 1 $i<=3 incr i puts $r2
7、 valueputs "Testing Uniform Distribution"set r3 new RandomVariable/Uniform$r3 use-rng $rng$r3 set min_ 0.0$r3 set max_ 10.0for set i 1 $i<=3 incr i puts $r3 valueputs "Testing Exponential Distribution"set r4 new RandomVariable/Exponential$r4 use-rng $rng$r4 set avg_ 5for set i
8、 1 $i<=3 incr i puts $r4 valueputs "Testing HyperExponential Distribution"set r5 new RandomVariable/HyperExponential$r5 use-rng $rng$r5 set avg_ 1.0$r5 set cov_ 4.0for set i 1 $i<=3 incr i puts $r5 value执行结果:2.2.一个在网络仿真中应用到随机数产生器的完整实例:(1)仿真的网络结构图如图所示,r1和r2是两个路由器,其中的链路是采用First In Firs
9、t Out(FIFO)的队列管 理机制,频宽是1Mbps, 传递的延迟时间是10ms。 来源节点s1、s2、s3和目的节点d1、d2、d3之间有三条FTP数据流,而这三条FTP数据流的起始时间是由随机数所产生的,但是时间都是0-1s,且每条数据流都会传送5s。(2)效果评比指标:吞吐量 (Throughput)定义:单位时间内,所有目的结点的平均接收数据速率Throughput=(某段时间内所有目的结点的数据接收量)/(统计的这段时间)另外要补充一点的,在论文的实验中,在计算数据接收量并不是从模拟的起始时间就开始统计,而是让模拟经过一段 时间,进入稳态才会开始统计。(3)TCL程序代码 set
10、 ns new Simulator#打开一个trace file,用来记录封装包传送过程set nd open out.tr w$ns trace-all $nd#打开一个NAM记录文件set nf open out.nam w$ns namtrace-all $nf#设置TCP flow的数目set nflow 3#设置路由器set r1 $ns nodeset r2 $ns node$ns duplex-link $r1 $r2 1Mb 10ms DropTail #设置queue limit为10个packet$ns queue-limit $r1 $r2 10#设置TCP的来源节点和目
11、的节点#建立来源和目的节点与路由器的链路for set i 1 $i<=$nflow incr i set s($i) $ns nodeset d($i) $ns node$ns duplex-link $s($i) $r1 10Mb 1ms DropTail$ns duplex-link $r2 $d($i) 10Mb 1ms DropTail#建立TCP的联机,并在TCP联机上建立FTP应用程序for set i 1 $i<=$nflow incr i set tcp($i) new Agent/TCP set sink($i) new Agent/TCPSink $ns at
12、tach-agent $s($i) $tcp($i) $ns attach-agent $d($i) $sink($i) $ns connect $tcp($i) $sink($i) set ftp($i) new Application/FTP $ftp($i) attach-agent $tcp($i) $ftp($i) set type_ FTP set rng new RNG$rng seed 1set RVstart new RandomVariable/Uniform$RVstart set min_ 0$RVstart set max_ 1$RVstart use-rng $rn
13、g#由随机数产生器去决定每一条flow的起始时间(在01s之内)#每条flow传输5s,并在指定的时间,让ftp开始传输和结束for set i 1 $i<=$nflow incr i set startT($i) expr $RVstart valueputs "startT($i) $startT($i) sec"set endT($i) expr ($startT($i)+5)puts "endT($i) $endT($i) sec"$ns at $startT($i) "$ftp($i) start"$ns at $en
14、dT($i) "$ftp($i) stop"proc finish global ns nd nfclose $ndclose $nf$ns flush-traceexec nam out.nam &exit 0#在第7秒时去调用finish函数来结束模拟$ns at 7.0 "finish"#执行模拟$ns run(4)分析awk程序代码BEGINinit=0;tartT=0;endT=0;action=$1;time=$2;from=$3;to=$4;type=$5;pktsize=$6;flow_id=$8;node_1_address=$
15、9;node_2_address=$10;seq_no=$11;packet_id=$12;#记录类型是tcp 动作是dequeue 发生事件的时间介于1.0-5.0#由于新增结点时,结点建立的顺序为r1 r2 s1 d1 s2 d2 s3 d3 所以相对的#结点id就为0 1 2 3 4 5 6 7if(action="r"&&type="tcp"&&time>=1.0&&time<=5.0&&(from=1&&to=3)|(from=1&&to
16、=5) | (from=1&&to=7) if(init=0) starT=time;init=1;#记录在这段时间中离开队列的封包大小总和(in bytes)pkt_byte_sum+=pktsize;endT=time;END #计算1.0-5.0s的平均带宽printf("startT:%f endT:%f n",startT,endT);printf("pkt_byte_sum:%d n",pkt_byte_sum);time=endT-startT;hroughput=pkt_byte_sum*8/time/1000000;pr
17、intf("throughput:%.3f Mbps n",throughput); 执行方法:$ns 3.tcl$awk -f 6.awk out.tr(5)种子数量变化当种子Seed=1时当种子Seed=2时当种子Seed=3时当种子Seed=4时当种子Seed=5时不同的种子数的结果填写不同的种子数的结果SeedThroughput (Mbps)10.78820.80030.79940.78450.801Average0.7944(6)变量分布时Uniform分布时:(max_1,min_0)Pareto Distribution分布时:Constant分布时: Exponential分布时: HyperExponential分布时: (7)FTP数据流数目变化当Flow =3时当Flow =5时 当flow=10时当flow=15时 当flo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济南市人民医院改良赛丁格技术操作资格认证
- 宜春市人民医院应对重大医院评审的组织与指挥能力评估
- 衢州市中医院血液储存发放与运输管理实操考核
- 宁波市人民医院放疗科年度质量与安全评估
- 三明市人民医院老年腹部超声考核
- 新余市中医院医疗流程优化考核
- 合肥市中医院内科轮转出科考核
- 福州市中医院胃肠外科年度综合能力考核
- 舟山市中医院中期引产术技术准入考核
- 衢州市人民医院税收政策对薪酬设计的影响分析
- 分辨鞋子的左右课件
- GB/T 41304.5-2025知识管理方法和工具第5部分:组织知识管理成熟度评估
- 高空灯具安装施工方案
- 2025年国家电投校园招聘笔试备考试题及答案解析
- 2025执业药师模考模拟试题(历年真题)附答案详解
- 影视行业AI内容生成与创意方案
- 班主任能力提升笔试题集
- 恩华药业安全培训课件
- 碳排放报告管理办法
- 生物质炭可行性研究报告
- 刘胡兰教学课件
评论
0/150
提交评论