欢迎来到天天文库
浏览记录
ID:13030038
大小:127.00 KB
页数:6页
时间:2018-07-20
《一个简单的网络模拟器ns的案例使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、网络模拟器NS-2及其应用分析本例将介绍如何使用一些工具来分析和呈现模拟结果,主要是测量端到端的延迟,而采用的方法一是去分析Trace文件,方法二是去修改NS核心,把所需要测量的数据直接记录下来,限于篇幅我们不在此进一步介绍方法二。模拟场景如图4所示,包含四个节点(n0,n1,n2,n3),假设n0,n2和n1,n2之间链路带宽2Mbps,延迟为10ms;n2和n3之间链路带宽1.7Mbps,延迟为20ms;每个链路用DropTail策略;n2和n3之间链路最大队列长度为10;n0,n3之间有一条建立在TCP上的FTP连接,n1,n3之间有一条建立在UDP上CBR连
2、接;CBR是在0.1秒开始发送,在4.5秒结束,FTP是在1.0秒开始发送,在4.0秒结束。图4模拟场景3.1建立Otcl模拟代码文件#创建一个模拟对象setns[newSimulator]#为数据流定义不同的颜色,供NAM用$nscolor1Blue$nscolor2Red#打开一个NAMtracefilesetnf[openout.namw]$nsnamtrace-all$nf#打开一个tracefile记录数据包的传送过程setnd[openout.trw]$nstrace-all$nd#定义一个结束程序procfinish{}{ globalns
3、nfnd $nsflush-trace #关闭NAMtracefile close$nf close$nd #以后台方式执行NAM execnamout.nam& exit0}#创建四个节点setn0[$nsnode]setn1[$nsnode]setn2[$nsnode]setn3[$nsnode]#把节点连接起来$nsduplex-link$n0$n22Mb10msDropTail$nsduplex-link$n1$n22Mb10msDropTail$nsduplex-link$
4、n2$n31.7Mb20msDropTail#设定n2和n3之间最大队列长度为10$nsqueue-limit$n2$n310#设定节点的位置,供NAM用$nsduplex-link-op$n0$n2orientright-down$nsduplex-link-op$n1$n2orientright-up$nsduplex-link-op$n2$n3orientright#设定n2-n3间的队列位置,供NAM用$nsduplex-link-op$n2$n3queuePos0.5#建立一条TCP连接settcp[newAgent/TCP]$tcpsetclass_2$
5、nsattach-agent$n0$tcpsetsink[newAgent/TCPSink]$nsattach-agent$n3$sink$nsconnect$tcp$sink#在NAM中,TCP的连接以蓝色表示$tcpsetfid_1#在TCP连接之上建立FTP应用setftp[newApplication/FTP]$ftpattach-agent$tcp$ftpsettype_FTP#建立一条UDP连接setudp[newAgent/UDP]$nsattach-agent$n1$udpsetnull[newAgent/Null]$nsattach-agent$n
6、3$null$nsconnect$udp$null#在NAM中,UDP的连接以红色表示$udpsetfid_2#在UDP连接之上建立CBR应用setcbr[newApplication/Traffic/CBR]$cbrattach-agent$udp$cbrsettype_CBR$cbrsetpacket_size_1000$cbrsetrate_1mb$cbrsetrandom_false#设定FTP和CBR的开始和结束时间$nsat0.1"$cbrstart"$nsat1.0"$ftpstart"$nsat4.0"$ftpstop"$nsat4.5"$cbrst
7、op"#在5.0秒调用finish过程结束模拟$nsat5.0"finish"#执行模拟$nsrun本例子在FedoraCore4,ns-2.29下测试通过,模拟结束后,产生两个文件,一个是out.nam,这是供NAM用的,用来可视化整个模拟过程;另一个是out.tr,记录了模拟过程中数据包传送中的所有事件,这是我们分析的重点。3.2利用awk提取out.tr文件中的数据 awk是一种程序语言,可以使用很短的代码轻易地完成对文本档案做修改、分析、提取和比较等处理。根据Trace文件格式,我们很容易写出测量CBR数据包端到端延迟时间的awk程序delay.aw
此文档下载收益归作者所有