ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:205.20KB ,
资源ID:18555699      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18555699.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(南邮NS仿真实验Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

南邮NS仿真实验Word格式文档下载.docx

1、(6)测试:在终端输入ns。屏幕上出现%,说明安装成功了。二、构造模型并仿真网络吞吐量与时间的关系(1)我们确定基本模型是A主机经过节点B向节点C发送TCP包,AB和BC段都是1M的带宽。带宽加倍就是将AB和BC变成2M的,而链路加倍就是增加一个节点D,从而增加AD和DC段,A通过B和D节点向C发送数据,并且AB和BC,AD和DC的带宽都是1M的。(2)编写带宽加倍的脚本bandw.tcl如下set ns new Simulator ;#产生一个模拟的对象#定义数据流颜色$ns color 1 Red ;#1为红色#开启Trace跟踪文件,记录分组传送的过程set tracefile open

2、 bandwidth.tr w$ns trace-all $tracefile#开启NAM显示文件set namfile open bandwidth.nam w$ns namtrace-all $namfile#定义结束过程,关闭Trace文件和NAM显示文件,模拟结束时会进行调用proc finish global ns tracefile namfile $ns flush-trace close $tracefile close $namfile #以背景执行的方式去执行NAM exec nam bandwidth.nam & exit 0#定义节点n0n2 set n0 $ns no

3、deset n1 $ns nodeset n2 $ns node#定义节点间的双向链路(包括带宽、延时和队列的类型) $ns duplex-link $n0 $n1 4Mb 10ms DropTail$ns duplex-link $n1 $n2 4Mb 10ms DropTail#建立一个TCP连接set tcp new Agent/TCP ;#建立一个TCP发送代理$tcp set class_ 2$ns attach-agent $n0 $tcp ;#绑定TCP发送代理到节点n0set sink new Agent/TCPSink ;#建立一个TCP接收代理$ns attach-agen

4、t $n2 $sink ;#绑定TCP接收代理到节点n2$ns connect $tcp $sink ;#连接TCP发送代理和接收代理$tcp set fid_ 1#在TCP连接上建立FTP流set ftp new Application/FTP ;#建立一个FTP应用$ftp attach-agent $tcp ;#将FTP流应用绑定到TCP发送代理$ftp set type_ FTP#设置代理的启动和停止时间 $ns at 0.5 $ftp start ;#设定ftp流在0.5s开始$ns at 4.5 $ftp stop#设定ftp流在4.5s结束#在模拟结束时调用结束过程$ns at

5、5.0 finish#执行模拟$ns run编写链路加倍的脚本linkw.tcl如下#产生一个仿真的对象set tracefile open link.tr wset namfile open link.nam w#定义结束过程,关闭Trace文件和NAM显示文件,仿真结束时会进行调用 exec nam link.nam &$ns rtproto DV ;#告知simulator使用动态路由 Node set multiPath_ 1 ;#simulator中所有新的节点均使用多径#定义节点n0n3 set n3 $ns node$ns duplex-link $n0 $n1 2Mb 10ms

6、 DropTail$ns duplex-link $n0 $n3 2Mb 10ms DropTail$ns duplex-link $n1 $n2 2Mb 10ms DropTail$ns duplex-link $n3 $n2 2Mb 10ms DropTail$ns connect $tcp $sink ;$ftp attach-agent $tcp ;#执行模拟 在终端键入两条命令:ns bandwith.tcl 和ns linkwidth.tcl,之后会生成nam文件和trace文件。其中nam文件的图形如下:带宽加倍的nam动画链路加倍的nam动画(3)编写gawk程序,分析trac

7、e文件trace文件记录了仿真过程中事件的类型,事件发生的时间,分组的大小类型等等。通过编写gawk程序来分析trace文件,从而分析网络的性能。执行以上两条命令之后会生成bandwith.tr和linkwidth.tr ,这里我们编写了throught.awk来分析它们,程序如下:BEGIN init=0; i=0; action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; pktsize = $6; flow_id = $8; node_1_address = $9; node_2_address = $10; seq_no =

8、 $11; packet_id = $12; if(action=r & (node_1=1 & node_2=2)|(node_1=3 & node_2=2) & flow_id=1) pkt_byte_sumi+1=pkt_byte_sumi+ pktsize; if(init=0) start_time = time; init = 1; end_timei = time; i = i+1; END #为了画图好看,把第一笔记录的throughput设为零,以表示传输开始 printf(%.2ft%.2fn, end_time0, 0); for(j=1 ; j band_th 将带宽加

9、倍的分析结果存储到文件band_th 中。通过命令 gawk -f throughput.awk link.tr flink_th将链路加倍的分析结果存储到文件flink_th中。我们因此得到了吞吐量与时间的关系的相关数据。在终端中输入gnuplot,启动gnuplot绘图环境。为了保证绘制的图片以.jpg格式的图片文件形式输出,先键入两条命令:set term jpeg #设置输出图片的格式set output band_th.jpg然后用以下命令将两条曲线画在一个坐标图中。plot “band_th”w l, plot “link_th”w l绘图如下:网络的吞吐量与时间关系图由Trace

10、文件的分析结果,我们可以看出,带宽加倍链路的网络吞吐量比链路加倍链路的网络吞吐量大。三、仿真网络吞吐量与数据包大小的关系以上是在TCP下仿真的,我们还使用同样的网络模型在UDP下分析了网络的吞吐量与UDP包大小的关系。(1)编写带宽加倍的Tcl脚本程序bandw.tcl如下#全局变量opt(rate)和过程getoptset opt(size) 0 ;#变量opt(rate)保存数据速率值proc getopt argc argv ;#过程getopt获取从命令行传递过来的数据值 global opt set opt(size) lindex $argv 0#建立一个模拟对象set ns ne

11、w Simulator#定义不同数据流的颜色$ns color 1 Blue$ns color 2 Red#开启Trace跟踪文件,记录分组传递的过程set tracefd open bandw.tr w$ns trace-all $tracefdset nf open bandw.nam w$ns namtrace-all $nf#定义结束过程,关闭Trace文件和NAM文件,模拟结束是进行调用 global ns tracefd nf close $tracefd close $nf#定义节点n0-n2#定义节点间的双向链路(包括带宽,延时和队列的类型)#调用过程getopt获取数据发送的

12、速率getopt $argc $argvputs opt(size)=$opt(size)#建立一个UDP连接set udp new Agent/UDP$ns attach-agent $n0 $udpset null new Agent/Null$ns attach-agent $n2 $null$ns connect $udp $null$udp set fid_ 2#在UDP连接代理上建立CBR流set cbr new Application/Traffic/CBR$cbr attach-agent $udp$cbr set type_ CBR$cbr set packet_size_

13、$opt(size)B ;#$opt(size) 设定包的大小 $cbr set rate_ 1900Kb #设置代理的启动和停止时间$cbr start$cbr stop#模拟结束是调用结束过程Start Simulation.链路加倍的Tcl脚本程序linkw.tcl如下set tracefd open linkw.tr wset nf open linkw.nam wNode set multiPath_ 1 ;$ns duplex-link $n0 $n1 1Mb 10ms DropTail$ns duplex-link $n1 $n2 1Mb 10ms DropTail$ns dup

14、lex-link $n0 $n3 1Mb 10ms DropTail$ns duplex-link $n3 $n2 1Mb 10ms DropTail#$cbr set type_ CBR$cbr set packet_size_ $opt(size) ;#设定包的大小 $cbr set rate_ 1900Kb ;#将速率设置为1900#$cbr set random_ false(2)编写gawk程序,分析trace文件运行以上两个Tcl脚本会生成两个trace文件bandw.tr和linkw.tr用throught.awk来分析以上脚本生成的trace文件,程序如下: event = $

15、1; time = $2; from_node = $3; to_node = $4; pkt_type = $5; pkt_size = $6; flag = $7; uid = $12; if(event= to_node=2 & pkt_type=cbr) pkt_byte_sumi+1=pkt_byte_sumi+(pkt_size-20); if(init=0) start_time=time; init=1; end_timei=time; i+; th=8*pkt_byte_sumi-1/(end_timei-1-start_time)/1000;%d %.2fn,rate, t

16、h);(3)编写shell脚本程序来控制包的大小变化通过shell脚本程序get_performb和get_performl,我们可以改变UDP包的大小,从而观察出在不同的包大小下的网络的吞吐量,这样就避免了手动重复改变包大小这一参数,程序如下:shell脚本程序get_performb#!/bin/shi=500while $i -le 2500 ; do ns bandw.tcl $i gawk -f throught.awk size=$i bandw.tr throught_b ;#存放数据 i=$($i+50) doneshell脚本程序get_performl ns linkw.t

17、cl $i gawk -f throught.awk size=$i linkw.tr throught_l ;从程序可以看出包大小的起始值是500B,步长为50B,终止点是2500B。在终端执行./get_performb可以分析bandw.tr,分析的数据存放在throught_b中;同理执行./get_performl可以分析bandw.tr, 分析的数据存放在throught_l中。然后我们就可以利用throught_b和throught_l中的数据进行绘图了。(4)绘图绘图程序用gnuplot工具绘图,在终端键入gnuplot, 启动gnuplot绘图环境,为了将图片以jpg格式输出

18、,我们有如下程序:gnuplot set term jpeg #设置图片输出的格式 set output throught.jpg set xlabe packetsize#设置图片的x和y轴的含义 set ylabe throughput plot throught_b w l,throught_l w l #绘图绘图如下:网络的吞吐量与UDP包大小的关系图从图中可以看出UDP包大小在1000B以下或在1850B以上时,两网络的吞吐两基本相同,但UDP包的大小超过1000B时,链路加倍网络的吞吐量急剧下降。并且在1000B到1850B之间带宽加倍的吞吐量一直高于链路加倍的吞吐量。综上分析了网络的吞吐量随时间的变化以及随包大小的变化,我们可以看出带宽加倍的吞吐量优于链路加倍的吞吐量。 .

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1