网络仿真和模拟实验报告.doc

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络仿真和模拟课程设计手册 目录 网络仿真和模拟课程设计手册 1 目录 1 一、NS2模拟环境搭建 1 1.1安装cygwin 1 1.2安装NS2 6 二、不同版本的TCP协议仿真模拟 9 2.1实验目的 9 2.1实验步骤 9 2.2实验过程及结果比较 9 三、添加Ping协议 16 3.1实验目的 16 3.2 实验步骤 16 四、添加Application和Agent协议 20 4.1实验目的 20 4.2实验步骤 20 附录A 24 附录B 27 附录C 31 附录D 41 附录E 42 附录F 45 一、NS2模拟环境搭建 在Windows操作系统下安装比较繁琐,需要根据NS不同版本,下载相关补丁进行修正。在Windows下安装NS-allinone过程ns-allinone-2.28/ns-2.28,如图10所示: 图10 切换到NS目录 进行重新编译,如图11所示: 图11 重新进行编译 重新编译完后,如图12所示: 图12 编译结果 测试NS2是否安装成功,如图13所示: 图13 进入图形化接口窗口 在跳出的对话框中,输入nam,系统跳出一个图形界面,如图14所示: 图14 Nam界面 在窗口中输入gnuplot,结果如图15所示,则NS2安装成功: 图15 gnuplot界面 二、不同版本的TCP协议仿真模拟 2.1实验目的 通过本实验了解如何利用OTcl脚本编写NS仿真案例。 2.1实验步骤 NS2下不同版本的TCP协议的OTcl脚本编写。 在winx-server模式下键入命令:ns 文件名.tcl运行ns文件。 对实验结果进行分析比较。 2.2实验过程及结果比较 Tahoe执行方法,如下所示: 进入gnuplot : 依次输入命令 set title “Tahoe” set xlabel “time” set ylabel “cwnd” set terminal gif set output “cwmd-Tahoe.gif” plot “cwmd-Tahoe.tr” with linespoints Reno执行方法,如下所示: 进入gnuplot,输入命令并忽略警告: 继续输入命令进行画图: (图片见后面) NewReno执行方法,如下所示: (最后需要退出gnuplot,在资源管理器中才能查看到图片) SACK执行方法,如下所示: Vegas执行方法,如下所示: (1) (2) (3) 结果比较 图16 Tahoe的cwnd变化图 图17 Reno的cwnd变化图 图18 TCP NewReno 图19 SACK 图20 Vegas图形 图21 Vegas与Reno的cwnd变化图 图22 Vegas与Reno的cwnd变化图3 结果分析 从Tahoe的cwnd变化图(图16)中我们可以看出,TCP的Congestion Window值会呈现周期性的重复变化。开始时,先由Slow-start开始,cwnd超过Ssthresh时进入Congestion Avoidance阶段。由于传送到网络上的封包不断地增加,当超出允许能传送到网络上的个数时,路由器开始使用Drop-tail将封包丢掉。当有封包遗失时,Tahoe这个TCP版本会将ssthresh设为发现到封包遗失时的Window值的1/2,接着将Window的值设为1。在Tahoe这个例子中,由于只要有封包遗失,Cwnd的值就会被重置为1(小于Ssthresh),因此每次封包遗失,Tahoe都重新由slow-start开始。 从Reno的cwnd变化图(图17)中看到,当检测到封包遗失时,ssthresh和cwnd的值会被设为先前cwnd值的1/2。因此在重送遗失的封包后,TCP Reno会由Congestion Avoidance开始。由于结束Fast recovery后,Reno的cwnd由先前cwnd值的1/2开始增加,所以得到的平均吞吐量较Tahoe为佳。从该图中我们还可以看到,当TCP的传送端观察到端点到端点的路径并没有拥塞的情况时(没有检测到封包遗失),会持续地以累加的方式增加传送速率。但是当检测到路径拥塞的情况时,则以倍数的方式减少传送速率。基于上述原因,TCP的拥塞控制算法又常被称为累加递增-倍数递减的算法。 从TCP NewReno的cwnd变化图(图18)中我们可以看到,NewReno在收到Partial ACK时,并不会立刻结束Fast-recovery,相反,NewReno的传送端会持续地重送Partial ACK之后

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档