- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
From: /thesis.do?method=viewid=402881b91c20e8cc011c213bcfdf007e
基于网络仿真器NS2的Ad hoc网络路由协议仿真
作者:马崇霄、吴长奇 单位:燕山大学信息工程学院 转载:电子测量技术 发布时间:2008-11-17
引言??????? NS2(Network Simulation Version 2)是一种功能强大的网络模拟仿真器,它是用C++和OTCL两种语言完成的。C++语言编写协议执行模块,OTCL语言编写模拟任务。NS2主要针对有线局域网、无线局域网、Ad Hoc网络、卫星通信网、路由选择协议、组播路由协议等进行网络模拟仿真。??????? 尽管一些文献[1,2]基于NS已经做过Ad Hoc网络中的几种单径路由协议的性能仿真分析,但很少文献给出仿真各个步骤中的详细分析程序,本文以AODV(Ad Hoc On-demand Distance Vector)路由协议为例,详细介绍了整个仿真过程的步骤和所使用的程序,并绘出图表。 1、AODV路由协议简介??????? AODV综合使用了DSDV(Destination-Sequenced Distance-Vector)中目标序列号和DSR(Dynamic Source Routing)中按需路由发现技术,提供了一种按需单径距离矢量无环路由。该协议主要分为路由发现和路由维护两部分。??????? 路由发现:当源节点需要与其它节点通信但没有到该目的节点的路由时,它就广播路由请求RREQ,当其它节点收到这个RREQ时,首先判断是否收到过具有相同源节点和目的节点的RREQ,如果是重复收到就丢弃,如果没有就利用RREQ中的信息建立反向路由。如果中间节点含有到目的节点的路由,就发送路由应答RREP给源节点,否则广播该RREQ。当RREQ的目的节点收到RREQ时,同样建立反向路由,然后向RREQ的源节点发送RREP。??????? 路由维护:节点通过MAC层周期性广播hello消息来判断链路状态,如果该节点连续3次未收到Hello响应消息,就认为链路已经断开,并删除包含该链路的路由信息,发起路由错误RERR,通知相邻结点和相应的上游结点删除因链路断开而导致目的结点不可达的路由信息。2、AODV路由协议的仿真过程2.1 NS2仿真一般步骤??????? NS2仿真可以分为构件的扩展阶段,仿真阶段,对仿真结果分析阶段。一般分为以下几个步骤:??????? (1)编写所需构件: 即新构件的添加或移植。??????? (2)测试:测试自己编写的构件是否通过。当NS库中的构件满足仿真需要(例如我们对NS库已有的AODV、DSDV、DSR等协议进行仿真),则第1步和第2步可以省略,仿真过程直接从第3步开始。??????? (3)编写Otcl脚本文件:配置仿真网络的拓扑结构,确定链路基本特性,移动节点所使用的路由协议,节点的数量等,并进行端设备的协议绑定,设置仿真使用的场景和传输负载(TCP流或CBR流),设置仿真的开始和结束时间等。并在脚本文件里设置trace对象, trace文件是记录仿真过程中发生所有事件的文件。也可以同时设置nam对象,nam是用于演示网络运行动画的工具。??????? (4)用NS命令执行脚本文件: 执行后会在与脚本文件同一目录下生成*.tr的文件,记录仿真结果。如果在脚本文件中设置了nam对象,则会在同一目录下生成*.nam的文件。?????? (5)分析trace文件:由于trace文件比较大,我们需要编写gawk程序进行仿真后期的数据处理(计算分组投递率、路由负载、吞吐量等),再用gnuplot或者matlab等绘图工具将处理后获得的数据绘制成图形,以便更直观的分析比较协议的性能。2.2 仿真出trace文件的过程??????? 由于AODV是NS2组件库里的自带协议,故仿真过程直接从编写脚本文件开始。笔者使用Red Hat LINUX9.0操作系统下的NS2.26版本进行仿真。仿真过程如下:??????? (1) 利用NS工具cbrgen.tcl生成业务场景文件,在ns-2.26/indep-utils/目录下输入命令:??????? ns cbrgen.tcl –type cbr –nn 50 –seed 1 –mc 10 –rate 2.0 cbr1??????? 该命令创建了一个具有50个移动节点、10对通信连接、每秒钟发送两个分组的以CBR为业务源的通信场景文件cbr1。??????? (2) 利用NS工具setdest生成移动场景文件,在ns-2.26/indep-utild/cum-scen-gen
原创力文档


文档评论(0)