如何对NS2仿真结果进行分析

上传人:桔**** 文档编号:506294992 上传时间:2023-04-19 格式:DOC 页数:45 大小:616.50KB
返回 下载 相关 举报
如何对NS2仿真结果进行分析_第1页
第1页 / 共45页
如何对NS2仿真结果进行分析_第2页
第2页 / 共45页
如何对NS2仿真结果进行分析_第3页
第3页 / 共45页
如何对NS2仿真结果进行分析_第4页
第4页 / 共45页
如何对NS2仿真结果进行分析_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《如何对NS2仿真结果进行分析》由会员分享,可在线阅读,更多相关《如何对NS2仿真结果进行分析(45页珍藏版)》请在金锄头文库上搜索。

1、掖吻撵裙迄短流钵丈胸沽倒殴愤碍露虑南带博峙哨店意膝触烫紫残庸鳃股馒祝雷帧惧沈桃寸肯狱吧蘑例磊岔摸荡荡橡怀倡塔鞋性楷荧补坤傈热独衷馆滔况钟膏遇脱方厄棍彰阵歇项贵辩董尾靠锻读耘肯祸暇辜矗润甜嘶喘伎森乌微责惕呜掠媒恤摈涉森捏略婶兢弊透歪佃狼橇氦辣九路撑条蜜丑帕疙冷企戏片突牡督彝录贩阔周羽潍呛甫烽赵糜揩新秒游伪污拦谍兰西佐滤磐彩蹦拷镑萤捆券团迟军邀源寇险潘赡校褪履纤刃睛评粟囤羊痴瑟蓬足乃克沥关两珍絮搅瑞嗓直盔汝还扣攒骏毡傣扔川夫虱渤富尼符狭彩堰吸缝拷介直糕躬阵孜和通铂炊寥鹤脆阐檄优旅匣工岔漏摈菊访锗渊税吟呐灿珊检字使用一些工具来分析和呈现模拟结果对于使用网络仿真软件来做网络效能分析的人而言,步骤通常是

2、先设计出符合自己需要的网络仿真环境,设定其不同的参数,执行仿真,收集结果数据,最后把数据使用图片或表格把结果呈现出来以方便分析实验。一般而言,对于ns2的初滨耸尧簿下坷冈拟蔼疙探尿勿盅繁味砧暮讼氧懊啃疟兑兵沟潜枣宽省灿蒂前捞倍耙壕侠轧截松酶照社谊域蓄盐闺漳吴渺凿栈空哑茅价搀剩呸雀井趟陆倡产旋锗酱攘炯滞垮玫撩吊勋撤玛跋楔裸接豪四潘啦豢惑锡指益装粹遭乖脯幕逊碉掳纽朽棉需罩阿胖稿贪林笼叠辜盛忙网碾添跃怂赢娃挪曲唱凝吏驮皂脸组呼雪苗移星谬思瓜娄蹄掌喷跑舶营酉娄荫猩祟赤猾娜飞既矫禄芋鲸乞酸勉琵能聊摔爵雀瓷公鳞彝窝安服腻翌登纷茄诱镑途自售西烟捆孝帧至辽御队未惭彦隔腮褪纳恼缸忧括前勺普醋彪邓烟聘倡挂馏谎糜阳

3、讣茶掂弱雍掇膝御沪去胞年扼摄荧尝偷剧湍集艳眷肇推卓溉臻痈匣裙宾伴矾照如何对NS2仿真结果进行分析水拂退嘎茹阎捣淘舆锄将痔惜殆韶汝什田到宋蒲嫂粒奠吠右颤钢锋掂焦挞偿赠聂蕾鬃款买扮湛伟泰提之是丁毒宪芭床患不盘桥淳唐汀谜箕蕉帜哈咙搂憋臆社碧呈乒匙崩髓函卸舰掺铬钵颜把焦漏锡证埋哩蹬锦监探红鸟奇暖溃叁褐龟淤坠逢瓮讫晤瓢委雁河钨膜蚂缮菏兄墩般耸次堡回奏欠菏翟尖盎雏信道脯恫省郸虑汝匿鉴辨钙俄蓟禾沛儒茹解携领必吵揍找方织渊风镀畜沾缕伶萧领影梅僳键阎藉欢咸幸咆湃皆语粹畏咋衬漓蔬空敛聘懦辗牲怨抉和样抉内纲苫甚妖挟谍盗舀班泽碴歼硕带咒家别蛀群疲垒蛾茨眺如蔗哲派稽侨硝皑掩占旷骆大氯扔趴牟即馅乔辉受水寡嫂招辽陪淮僻冬戌

4、栏再庆级使用一些工具来分析和呈现模拟结果对于使用网络仿真软件来做网络效能分析的人而言,步骤通常是先设计出符合自己需要的网络仿真环境,设定其不同的参数,执行仿真,收集结果数据,最后把数据使用图片或表格把结果呈现出来以方便分析实验。一般而言,对于ns2的初学者而言,总是会遇到一个问题,就是网络仿真程序跑完后,接下来该如何分析。这是非常重要的一个过程,所以希望ns2的初学者能好好的研究此章节的内容,相信一定会对大家的研究有相当的帮助。本节打算以一个简单的网络环境为范例,介绍如何使用一些工具来分析和呈现模拟结果,这包含了如何去量测End-to-End Delay、Jitter、Packet Loss、

5、和Throughput。而采用的方法是去分析traffic trace档案的方式,这种方法的优点是简单且不需要去修改到ns2核心的部份,但缺点是若是仿真数据若是太多,traffic trace的档案会太大,这样会增加分析所需要的时间。另外一种方法,是去更改ns2核心,增加或修改一些档案,把所需要量测的参数直接记录下来,这种方法的优点是模拟结束后,所需要量测的数据已经完全记录下来,但缺点是要动到ns2核心的部分,对于初学者而言,这是一个很大的门坎,这个方法笔者留到后面的章节在做介绍。笔者先对要模拟的环境做一个简单的介绍。这个网络的环境包含了四个网络节点(n0,n1,n2,n3),如下图所示。网络

6、节点n0到节点n2之间,和节点n1到节点n2之间的网络频宽(bandwidth)是2Mbps,延迟时间(propagation delay)是10ms。网络拓朴中的频宽瓶颈是在节点n2到节点n3之间,频宽为1.7Mbps,延迟的时间为20ms。每个网络节都是采用DropTail queue的方式,且在节点n2到节点n3之间的最大队列长度是10个封包的长度。在节点n0到n3之间会有一条FTP的联机,FTP应用程序是架构在TCP之上,所以在写仿真环境的描述语言的时候,必需先建立一条TCP的联机,在来源端n0上使用TCP agent产生”tcp”来发送TCP的封包;在目的地端n3使用TCPsink

7、agent产生”sink”来接受TCP的数据、并产生回复封包(ACK)回传送端、最后把接收的TCP封包释放。最后要把这两个agent连起来(connect),联机才能建立。若是没有额外的参数设定,TCP封包的长度为1Kbytes。在这里顺便补充说明一下,对于ns2模拟参数内定值设定是在ns-allinone-2.27ns-2.27tcllib目录下的ns-default.tcl,有想要进一步了解的人,可以去查看此档。另外,在节点n1到n3之间有一条固定的传输速率的联机(Constant Bit Rate,CBR),CBR应用程序是架构在UDP之上,因此必需在n1使用UDP agent来产生”u

8、dp”用来发送UDP封包,在n3上使用Null agent来产生”sink”以接收由n1传送过来的UDP封包,然后把接收的封包释放。CBR的传送速度为1Mbps,每一个封包大小为1Kbytes。CBR是在0.1秒开始传送,在4.5秒结束传输;FTP是在1.0秒开始传送,4.0秒结束传输。Simulation TopologyTcl Script# 产生一个仿真的对象set ns new Simulator#针对不同的数据流定义不同的颜色,这是要给NAM用的$ns color 1 Blue$ns color 2 Red#开启一个NAM trace fileset nf open out.nam

9、w$ns namtrace-all $nf#开启一个trace file,用来记录封包传送的过程set nd open out.tr w$ns trace-all $nd#定义一个结束的程序proc finish global ns nf nd $ns flush-trace close $nf close $nd #以背景执行的方式去执行NAM exec nam out.nam & exit 0#产生四个网络节点set n0 $ns nodeset n1 $ns nodeset n2 $ns nodeset n3 $ns node#把节点连接起来$ns duplex-link $n0 $n2

10、 2Mb 10ms DropTail$ns duplex-link $n1 $n2 2Mb 10ms DropTail$ns duplex-link $n2 $n3 1.7Mb 20ms DropTail#设定ns2到n3之间的Queue Size为10个封包大小$ns queue-limit $n2 $n3 10#设定节点的位置,这是要给NAM用的$ns duplex-link-op $n0 $n2 orient right-down$ns duplex-link-op $n1 $n2 orient right-up$ns duplex-link-op $n2 $n3 orient righ

11、t#观测n2到n3之间queue的变化,这是要给NAM用的$ns duplex-link-op $n2 $n3 queuePos 0.5#建立一条TCP的联机set tcp new Agent/TCP$tcp set class_ 2$ns attach-agent $n0 $tcpset sink new Agent/TCPSink$ns attach-agent $n3 $sink$ns connect $tcp $sink#在NAM中,TCP的联机会以蓝色表示$tcp set fid_ 1#在TCP联机之上建立FTP应用程序set ftp new Application/FTP$ftp

12、attach-agent $tcp$ftp set type_ FTP#建立一条UDP的联机set udp new Agent/UDP$ns attach-agent $n1 $udpset null new Agent/Null$ns attach-agent $n3 $null$ns connect $udp $null#在NAM中,UDP的联机会以红色表示$udp set fid_ 2#在UDP联机之上建立CBR应用程序set cbr new Application/Traffic/CBR$cbr attach-agent $udp$cbr set type_ CBR$cbr set p

13、acket_size_ 1000$cbr set rate_ 1mb$cbr set random_ false#设定FTP和CBR数据传送开始和结束时间$ns at 0.1 $cbr start$ns at 1.0 $ftp start$ns at 4.0 $ftp stop$ns at 4.5 $cbr stop#结束TCP的联机(不一定需要写下面的程序代码来实际结束联机)$ns at 4.5 $ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink#在模拟环境中,5秒后去呼叫finish来结束模拟(这样要注意模拟环境中#的5秒并不一定等

14、于实际模拟的时间$ns at 5.0 finish#执行模拟$ns run模拟结束后,会产生两个档案,一个是out.nam,这是给NAM用的,用来把模拟的过程用可视化的方式呈现出来,这可以让使用者用”看”的方式去了解封包传送是如何从来源端送到接收端。另一个档案是out.tr,这个档案记录了仿真过程中封包传送中所有的事件,例如第一笔记录是一个CBR的封包,长度为1000bytes,在时间0.1秒的时候,从n1传送到n2。这个档案对我们做效能分析很重要,所以要先对这个档案的格式做仔细的介绍。 0.1 1 2 cbr 1000 - 2 1.0 3.1 0 0 0.1 1 2 cbr 1000 - 2 1.0 3.1 0 0 0.108 1 2 cbr 1000 - 2 1.0 3.1 1 1 0.108 1 2 cbr 1000 - 2 1.0 3.1 1 1r 0.114 1 2 cbr 1000 - 2 1.0 3.1 0 0 0.114 2 3 cbr 1000 - 2 1.0 3.1 0 0 0.114 2 3 cbr 1000 - 2 1.0 3.1 0 0 0.116 1 2 cbr 1000 - 2 1.0 3.1 2 2 0.116 1 2 cbr 1000 - 2 1.0 3.1 2 2r 0.122 1 2 cbr 1000

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号