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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

网络协议模拟分析Word文档格式.docx

1、课程设计目的掌握网络模拟工具NS2的使用,学习基本的网络模拟方法。二、课程设计内容协议模拟 工具:NS2,awk,shell,perl等; 要求:掌握NS2网络模拟的基本流程; 内容:NS2网络模拟基本流程编写TCL脚本,搭建如下图所示的一个网络,共6个节点,其中2、3节点用做ftp服务器和客户端,4、5节点用做cbr流量的源和目的,而0、1节点用做转发设备。各节点间的链路属性见图。模拟时间设为13秒钟,在0.1秒开始产生cbr流量,在1.0秒开发发送发ftp流量;8.0秒ftp流量结束,12.0秒cbr流量结束。编写脚本(可用shell,awk,或perl等)分析模拟日志文件,统计每0.5s

2、内0、1节点间链路通过的分组数以及字节数。三、 设计与实现过程1.仿真脚本代码与详细注解#Create a simulator object /创建模拟器对象 set ns new Simulator /模拟器对象赋值给变量ns #Define different colors for data flows (for NAM) $ns color 1 Red $ns color 2 Yellow /给NAM定义不同的数据流,颜色的选择比较随意,只要易于区分就可以#Open the NAM trace file set nf open out.nam w /打开out.nam文件,一般都是在执行

3、程序的时候自动生成的 $ns namtrace-all $nf #Open the Trace file set tf open out.tr w /打开out.tr文件,也是自动生成的 $ns trace-all $tf /两个文件主要都是用来记录封包传输过程的#Define a finish procedure /定义finish程序,在后面执行的时候会用到proc finish global ns nf tf $ns flush-trace close $nf /关闭nam文件 close $tf /关闭trace 文件 (在后面调用的时候,是在程序结束的时候,所以前面生成的两个文件必须

4、要关闭) exec nam out.nam & #以后台方式执行nam exit 0 #Create six nodes /创建六个节点 ,从n0到n5set n0 $ns node set n1 $ns node set n2 $ns node set n3 $ns node set n4 $ns node set n5 $ns node #Create links between the nodes /创建结点之间的链路,而链路的创建都是基于题目要求的基础之上$ns duplex-link $n0 $n2 1.5Mb 10ms DropTail $ns duplex-link $n0 $n

5、4 1.5Mb 10ms DropTail $ns duplex-link $n1 $n3 1.5Mb 10ms DropTail $ns duplex-link $n1 $n5 1.5Mb 10ms DropTail $ns duplex-link $n1 $n0 2Mb 20ms DropTail #Give node position (for NAM) /根据题目图示要求,给NAM创建的节点位置如下$ns duplex-link-op $n2 $n0 orient right-down $ns duplex-link-op $n4 $n0 orient right-up $ns dup

6、lex-link-op $n0 $n1 orient right $ns duplex-link-op $n1 $n3 orient right-up $ns duplex-link-op $n1 $n5 orient right-down #Set Queue Size of link (n0-n1) to 10 /设置n0到n1之间的列长度$ns queue-limit $n1 $n0 10 #Setup a TCP connection /建立TCP连接set tcp new Agent/TCP $tcp set class_ 2 $ns attach-agent $n2 $tcp se

7、t sink new Agent/TCPSink $ns attach-agent $n3 $sink $ns connect $tcp $sink $tcp set fid_ 1 /NAM中,TCP的连接用红色的数据流表示#Setup a UDP connection /建立UDP连接set udp new Agent/UDP $ns attach-agent $n4 $udp set null new Agent/Null $ns attach-agent $n3 $null $ns attach-agent $n5 $null $ns connect $udp $null $udp se

8、t fid_ 2 /NAM中,UDP的连接用黄色的数据流表示/TCP与UDP的建立中,agent是一个代理,用来作为网络层的传输与接收#Setup a FTP over TCP connection /在TCP连接上建立FTPset ftp new Application/FTP $ftp attach-agent $tcp $ftp set type_ FTP #Setup a CBR over UDP connection /在UDP连接上建立CBR set cbr new Application/Traffic/CBR $cbr attach-agent $udp $cbr set ty

9、pe_ CBR $cbr set packet_size_ 1000 $cbr set rate_ 1mb $cbr set random_ false /设置了cbr流量的包类型,字节大小,以及传输速率#Schedule events for the CBR and FTP agents /设置FTP和CBR起止时间 $ns at 0.1 $cbr start /0.1秒产生cbr流量 $ns at 1.0 $ftp start /1.0秒发送ftp流量 $ns at 8.0 $ftp stop /8.0秒ftp流量结束 $ns at 12.0 $cbr stop /12.0秒cbr流量结束

10、 #Call the finish procedure after 13 seconds of simulation time /13秒后调用前面写出的finish程序$ns at 13.0 finish#Run the simulation /执行模拟器程序$ns run2.仿真过程示意(动画截图1个)3.日志分析脚本设计(设计思路与代码、注解)设计思路:首先取出每行的时间(第二字段)、分组大小(第六字段);若时间大于当前的时间段,变量加1,开始统计下一时间段信息;数组count1记录分组的数目数组count2记录每个时间段通过的分组的总字节数#!/usr/bin/perl #count t

11、he number of packets between node0 and node1 ,the interval is 0.5 seconds. $i=0; /定义变量i info; /定义三个数组 count1;count2;while() /读out.tr文件的内容info = split(/ +/,$_); /以空格为分字符读取每一行的内容$reason = $info0; /封包事件发生原因 (r代表封包被接收,+ 表示进入队列,- 表示离开队列)$time = $info1; /时间,表示流量传输的开始时间$src = $info2; /封包的起始节点 $dst = $info3

12、; /封包的终止节点 $length = $info5; /包的字节长度#if($reason=r & ($src=0 & $dst=1) | ($src=1 & $dst=0)if($reason=r & $dst=0) /包被某个节点所接受,而且链路传输是在从0到1的链路上,判断语句 if($time $i*0.5) /时间段超过0.5秒,执行下一行内容 $i+; $count1$i+; /这个数组用于统计包的个数$count2$i+=$length; /这个数组用于统计字节数 printf(intervals(s)ttpacketsttbytesn); /显示语句,显示内容为:时间间隔,

13、包,还有字节数$i=1.0;while($count1$i) /打印出来统计的信息 printf(%4.1f%4.1ftt$count1$itt$count2$in,($i-1)*0.5,$i*0.5,); /显示统计出来的每个时间段的信息4.分析结果展示(通过自绘图来说明)Packers:Bytes:四、设计技巧及体会1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。 整体的设计, 实现了题目中的所示要求, 即模拟时间设为13秒钟,在0.1秒开始产生cbr流量,在1.0秒开发发送发ftp流量;8.0秒ftp流量结束,12.0秒cbr流量结束, 用两种不同的颜色定义了两种数据流, 在执行ns的脚本之后,可以通过视觉上的直观感受真实的网络协议模拟过程。两个脚本的编写,并非基于自身的能力水平,而是在通过网上查询资料以及在同学的指导下,才基本实现了实习内容,但是对部分脚本代码的理解有待于进一步提高。2、在设计过程中的感受。通过网络协议的模拟仿真,更加直观形象的观察到整个运行过程,但是基于自身的能力水平,需要进一步的理解每一步操作的原理,在学习的过程中,要不断探索,多询问,多理解,多请教,才能不断进步,进而提升自己,扬长避短,不断充实自己的专业基础知识。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2