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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

通信网原理实验报告ns2.docx

1、通信网原理实验报告ns2实验四 ns2一、实验目的1.掌握ns2仿真器的使用方法;2.增强对计算机通信网原理课程的理解。二、实验环境1.PC机一台;2. cygwin、ns2软件。三、 实验内容(一)安装与配置1.安装cygwina)在cygwin官方网站下载setup.exe。b)运行setup.exe,使用默认配置选择unix安装。c)在选择安装组件时确认安装以下内容:XFree86-base,XFree86-bin, XFree86-prog,XFree86-lib,XFree86-etc,make,patch,perl,gcc,gcc-g+, gawk,gnuplot,tar和gzip

2、。 Diffstat,diffutils,libXmu,libXmu-devel,libXmu6,libXmuu1,X-startup-scriptsxorg-x11-basexorg-x11-binxorg-x11-develxorg-x11-bin-dllsxorg-x11-bin-lndir xorg-x11-etc xorg-x11-fenc xorg-x11-fntsxorg-x11-libs-data xorg-x11-xwin2.安装NS2a)在NS2官方网站下载ns2-allinone-2.34.tar.gz安装包。b)将ns2-allinone-2.34.tar.gz拷贝放入

3、cygwin用户目录下。c)运行cygwin,命令行下输入tar xvfz ns2-allinone-2.34.tar.gz。d)进入ns2-allinone-2.34目录,执行./install开始安装。e)安装结束后,会提示设定PATH, LD_LIBRARY_PATH,TCL_LIBRARY等内容,可在用户目录下修改.bashrc文件,添加以下内容:export NS_HOME=/home/Administrator/ns-allinone-2.34export PATH=$NS_HOME/nam-1.13:$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.1

4、8/unix:$NS_HOME/bin:$PATH export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/otcl-1.13:$NS_HOME/lib:$LD_LIBRARY_PATH export TCL_LIBRARY=$NS_HOME/tcl8.4.18/libraryf)进入/ns-allinone-2.34/ns-2.34目录,可运行./validate进行验证。3.测试a)关闭cygwin窗口,再重新打开。b)初始化图形界面,运行startxwin.bat。c)运行example

5、 tcl脚本。进入/ns-allinone-2.34/ns-2.34/tcl/ex目录,可选择运行以下example:ns simple-dyn.tcl ns simple-rtg.tclns simple-eqp.tclns simple-eqp1.tcl (二) 数据分析a)RED 队列分析图一 当前队列大小 分析图一可以得出,队列大小变化非常剧烈,而且在三秒之前,队列没有充分地利用起来,三秒之后tcp1和tcp2竞争使用队列比较剧烈。图二 平均队列大小 分析图二可以看出,开始时tcp1急剧占用链路r1-r2,造成队列急剧增大。当增大到一定值时便达到了峰值。从第三秒开始,由于tcp2的加入

6、,队列又有了一部分的增大,增大到最大值后便开始小幅度地波动。b)Tcp2的延迟分布图三 Tcp2传输延迟从图三中可以看出Tcp2的最小延迟为28ms,这是由于从s2到r1需要延迟3ms,从r1到r2需要延迟20ms,从r2到s4需要延迟5ms,一共刚好延迟28ms。另外它的延迟时间大小呈现出一定的规律。即每次增大到一定程度时,延迟降为最小值28ms,这是因为多余的延迟是由r1结点的队列造成的,每个包到来时都要在队列中等待一段时间。也就是说队列越长,延迟就越大,当队列长度增加到一定值时,根据RED队列丢弃算法会丢弃一些包,这导致Tcp的发送窗口降为0,队列长度也就变为0了,延迟也就降为最小值。c

7、)Tcp2的丢包率 图四 Tcp2丢包率 检测到Tcp2传输了446个包,其中丢弃的包为16个,故丢包率为3.59。d)Tcp2的抖动图五 Tcp2抖动性 从图五中可以看出tcp2的Jitter的变化比较大,有正也有负的。由于tcp1的存在并且s1到r1的链路延迟更小,它能够更好地占用r1到r2的链路资源。图六 Tcp1抖动性 从图六中可以看出在0到3秒内由于没有其他流抢用资源,它没有什么抖动,当tcp2介入时,它便有了一定的抖动,但不像tcp2抖动得那样厉害。e)Tcp2的吞吐量 图七 Tcp2吞吐量变化 从图七中可以看出从3秒开始Tcp2的吞吐量按指数增加,当增大到一定值时便开始波动,基本

8、上维持在0.4Mb/s左右。这是因为链路r1到r2的带宽只有1.5Mb/s,并且tcp1在传输延迟上有更大的优势。(三)脚本程序主要步骤有以下几个:1. 初始化一个模拟器。2. 设定相应的跟踪文件以便相应的分析工具使用,包括tr文件等,Trace对象能够把模拟过程中发生的特定类型的事件记录在tr文件中。3. 定义网络的拓扑结构,包括结点位置,链路信息等等。4. 设定传输层及应用层代理,并将传输层代理绑定在相应的结点上,将应用层的代理绑定在相应的传输层代理上。5. 建立传输层链接。6. 设定模拟的开始和结束时间。7. 运行该tcl文件,观察模拟的结果。;#新的模拟器对象:set ns new S

9、imulator $ns color 1 Red$ns color 2 Blueset tn open homework.nam w ;#用于保存nam跟踪文件$ns namtrace-all $tnset ta open homework.tr w ;#保存trace文件$ns trace-all $taset homeWorkWinFile open homeWorkWinFile w ;#保存tcp发送窗口大小;#定义一个finish过程,包括关闭两个trace文件,以及一个nam模拟proc finish global ns tn ta $ns flush-trace close $t

10、n close $ta exec nam homework.nam & exit 0;#定义结点set s1 $ns node set s2 $ns nodeset r1 $ns nodeset r2 $ns nodeset s3 $ns nodeset s4 $ns node;#定义链路,包括起点,终点,带宽,延迟,队列处理方式$ns duplex-link $s1 $r1 10Mb 2ms DropTail$ns duplex-link $s2 $r1 10Mb 3ms DropTail$ns simplex-link $r1 $r2 1.5Mb 20ms RED$ns simplex-l

11、ink $r2 $r1 1.5Mb 20ms DropTail$ns duplex-link $r2 $s3 10Mb 4ms DropTail$ns duplex-link $r2 $s4 10Mb 5ms DropTail;#定义链路的位置$ns duplex-link-op $s1 $r1 orient right-down$ns duplex-link-op $s2 $r1 orient right-up$ns simplex-link-op $r1 $r2 orient right$ns simplex-link-op $r2 $r1 orient left$ns duplex-li

12、nk-op $r2 $s3 orient right-up$ns duplex-link-op $r2 $s4 orient right-down$ns queue-limit $r1 $r2 25 ;#定义队列的大小,这是要给NAM用的$ns simplex-link-op $r1 $r2 queuePos 0.5 ;#观测n2到n3之间queue的变化,这是要给NAM用的;#采用RED的队列处理方式set redq $ns link $r1 $r2 queueset traceq open homeWorkRedTrace.tr w$redq trace curq_$redq trace

13、ave_$redq attach $traceq;#绑定代理set tcp1 new Agent/TCP$ns attach-agent $s1 $tcp1set tcp2 new Agent/TCP$ns attach-agent $s2 $tcp2$tcp1 set fid_ 1$tcp2 set fid_ 2set sinktcp1 new Agent/TCPSink$ns attach-agent $s3 $sinktcp1 set sinktcp2 new Agent/TCPSink$ns attach-agent $s4 $sinktcp2;#建立链接$ns connect $tc

14、p1 $sinktcp1$ns connect $tcp2 $sinktcp2;#绑定应用层代理set ftp1 new Application/FTP$ftp1 attach-agent $tcp1set ftp2 new Application/FTP$ftp2 attach-agent $tcp2$ftp1 set type_ FTP$ftp2 set type_ FTP;#启动或停止应用层代理$ns at 0 $ftp1 start ;#ftp1在0秒位置启动$ns at 3 $ftp2 start ;#ftp2在3秒位置启动$ns at 10 $ftp2 stop$ns at 10

15、$ftp1 stop;#每隔0.1秒记录窗口大小proc plotWindow tcpSource file global ns set time 0.1 set now $ns now set cwnd $tcpSource set cwnd_ puts $file $now $cwnd $ns at expr $now+$time plotWindow $tcpSource $file$ns at 0.1 plotWindow $tcp2 $homeWorkWinFile ;#从0.1秒开始记录tcp1的窗口大小$ns at 40 finish ;#在40秒位置结束$ns run四、实验总结这次实验是我第一次使用ns2软件,ns2软件学习起来比较困难,但是真正理解之后,还是很有意思的。利用ns2软件可以进行网络的模拟仿真,进行新协议的开发和改进,比如TCP等传输协议,以及AODV等路由协议,用NS2来进行模拟是比较方便的,对于一个计算机网络来讲,这些协议是至关重要的。但是NS2学习起来有一定的困难,大部分是C+代码与OTcl发代码,但是真正掌握了它的原理和用法,用起来还是很方便的。

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

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