为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于NS2的无线自组网路由协议的研究与仿真毕业论文

2017-10-24 29页 doc 61KB 18阅读

用户头像

is_597436

暂无简介

举报
基于NS2的无线自组网路由协议的研究与仿真毕业论文基于NS2的无线自组网路由协议的研究与仿真毕业论文 湖南城市学院本科毕业设计论文诚信声明 本人郑重声明所呈交的本科毕业设计论文是本人在指导老师的指导下独立进行研究工作所取得的成果成果不存在知识产权争议除文中已经注明引用的内容外本设计论文不含任何其他个人或集体已经发表或撰写过的作品成果对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明本人完全意识到本声明的法律结果由本人承担 本科毕业设计论文作者签名 二?一? 年 五 月 二十 日 目 录 摘 要 I 关键词 I Abstract II Key wor...
基于NS2的无线自组网路由协议的研究与仿真毕业论文
基于NS2的无线自组网路由的研究与仿真毕业论文 湖南城市学院本科毕业论文诚信声明 本人郑重声明所呈交的本科毕业设计论文是本人在指导老师的指导下独立进行研究工作所取得的成果成果不存在知识产权争议除文中已经注明引用的内容外本设计论文不含任何其他个人或集体已经发表或撰写过的作品成果对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明本人完全意识到本声明的法律结果由本人承担 本科毕业设计论文作者签名 二?一? 年 五 月 二十 日 目 录 摘 要 I 关键词 I Abstract II Key words II 1 绪论 1 11 课题研究的背景 1 12 国内外研究现状 1 13 本课题研的研究内容和方法 2 2 无线自组网 2 21 无线自组网的产生和发展 2 22 无线自组网的特征 3 23 无线自组网应用领域 3 24 无线自组网体系结构 4 3 网络模拟器NS2 5 31 NS2简介 5 32 NS2组成部分 7 33 NS2模拟基本流程 8 4 无线自组网路由协议 9 41 无线自组网与传统移动通信网络的区别 9 42 无线自组网路由协议分类 9 43 几种典型的无线自组网路由协议 10 431 目的序列距离矢量路由协议DSDV 10 432 按需平面距离矢量路由协议AODV 10 433 动态源路由协议DSR 11 434 临时排序路由算法TORA 11 44 路由协议性能评 12 5 无线自组网路由协议的仿真 12 51 移动节点 12 511 移动节点的结构 13 512 移动节点的创建 13 513 移动节点的运动 14 52 无线自组网路由模拟的实现 15 521 无线自组网路由协议场景的构建 15 522 TCP代理的创建和设置 15 523 仿真参数的设置 15 53 仿真结果分析 16 531 动画演示工具nam 16 532 无线Trace文件格式 17 533 数据分析工具gawk 18 534 绘图工具gnuplot 18 535 仿真结果分析 19 结论 23 参考文献 25 致谢 27 基于NS2的无线自组网路由协议的研究与仿真 李聪颖 湖南城市学院计算机科学系2010届信息管理与信息系统专业益阳413000 摘 要无线自组网是一个多跳临时可自由移动的无中心网络它不需要现有 信息基础网络设施的支持可以在任何时候任何地点快速构建其自身的特殊性决 定了路由协议的特殊性和重要性因此需要为无线自组网设计专门的路由协议和 各种算法 本文研究了无线自组网的体系结构和分层情况然后分析其路由协议通过比 较选取常用的表驱动路由协议DSDVDestination-Sequenced Distance-Vector和按需驱动路由协议AODV Ad hoc On-demand Distance Vector Routing DSR Dynamic Source Routing 作为研究对象利用网络模拟器NS2进行仿真并选取时 延丢包率吞吐量等参数对仿真结果进行分析和性能评价 仿真结果表明当节点和数据流量不大时DSR路由协议的综合性能最好而 DSDV路由协议适合重负荷的情况在拓扑变化频繁采用按需路由协议NS2性能分 析 Research and Simulation of the Ad Hoc Routing Protocol Based on NS2 LI Cong-ying 2010 Year Student of the Information Management and Information System Dept Hunan City University Yiyang Hunan 413000 China Abstract Ad Hoc is a multi-hop temporary free mobile network with no centerIt doesnt need existed infrastructure to support and it is constructed rapidly at anytime and anyplaceThe particularity of Ad Hoc determines the specificity and importance of Routing Protocol So we should design professional routing protocols and algorithms for Ad Hoc This article researches the architecture and stratification of Ad Hoc and then analyzes the routing protocol By comparison select the commonly used table-driven routing protocol DSDV and on-demand driven routing protocol AODV and DSR for the study use the network simulator NS2 to simulate The delay loss rate and throughput are selected as parameters to analyze the routing protocols and we evaluate their performance The results show that when nodes and data trafiics are not large the overall performance of DSR is the best and DSDV is suitable for the case with heavy load When the topology changes frequently we can reduce resources cost for route maintenance with on-demand routing protocol which cannot content the requirements of real-time businesses Key words Ad Hoc routing protocol simulate NS2 performance analysis 1 绪论 11 课题研究的背景 随着信息技术的不断发展人们对移动通信的需求越来越强近年来移动通信 技术得到了飞速发展和普及蜂窝移动通信系统无线局域网 Wireless Local AreaNetworkWLAN 蓝牙技术 Bluetooth 家庭无线网 Home RF 等移动通信新技 术也纷纷涌现这些技术的出现极大地方便了人们的生活同时也推动了无线通信 技术的发展 无线自组网Ad HocRIPOSPFJJGarcia-Luna_aceves教授领导的计算机通信研 究小组美国国家标准和技术研究所无线通信技术小组IETF也专门成立了MANET工作组负责无线自组网的路由协议标准化工作[1-2] 自20世纪90年代以来国内的一些大学和研究所也开始关注无线自组网技术并对它进行了一些研究如解放军理工大学清华大学等国家将无线自组网技术明确地列入在2006年制定的《国家中长期科学的技术发展规划纲要》中 13 本课题研的研究内容和方法 作为一种特殊无线移动网络路由协议是其重要的组成部分也是研究的热点问题 本课题主要是对无线自组网单播路由协议进行深入的研究与学习然后利用NS2构建模拟平台在此平台下实现以下几种典型的路由协议DSDVDSRAODV的仿真目前对各路由协议基于UDP连接的仿真比较成熟而基于TCP连接的仿真相对较少因此本课题的路由仿真的数据流为tcp流然后根据仿真的结果分析和比较各协议在随节点不断增加和节点移动速度不断增加两种情况下的性能 具体研究过程可分为以下几个部分 123TclOTcl编程语言 4DSDVDSRAODVTCP连接的仿真 521 无线自组网的产生和发展 Ad Hoc一词来源于拉丁语意思是专用的特定的无线自组网通常也可称为无固定设施网或自组织网由于组网快速灵活使用方便目前无线自组网已经得到了国际学术界和工业界的广泛关注其应用也越来越广泛已经成为移动通信技术向前发展的一个重要方向将在未来的通信技术中占据重要地位 无线自组网的前身是分组无线网 Packet Radio NetworkPRNET 对分组无线 网的研究源于军事通信的需要早在1972年美国的DARPA就启动了分组无线网项目PRNET研究战场环境下利用分组无线网进行数据通信在此之后DARPA于1983年启动了高残存性自适应网 Survivable Adaptive NetworkSURAN 项目研究如何将PRNET的研究成果加以扩展以支持更大规模的网络1994年DARPA又启动了全球移动信息系统 Global MobileInformation SystemsGloMo 项目旨在对能够满足军事应用需要的高抗毁性的移动信息系统进行全面深入的研究1991年成立的IEEE 80211标准委员会采用了Ad Hoc一词来描述这种特殊的自组织对等式多跳移动网络无线自组网就此诞生IETF专门成立了 Mobile Ad Hoc NetworkMANET 小组来研究无线自组网的相关问题[2] 22 无线自组网的特征 无线自组网由一组带有无线通信收发装置的移动终端节点组成网络中每个终端可以自由移动且地位相等是一个多跳临时无中心网络因此它具有以下主要特征 1234523 无线自组网应用领域 由于无线自组网的特殊性它适合用于无法或不便预先铺设网络设施的场合以及其他需要快速自动组网的场合等目前为止其主要的应用领域有 1军事应用军事应用是无线自组网技术的主要应用领域因其特有的无需架设网络设施可快速展开抗毁性强等特点无线自组网是数字化战场通信的首选技术 2无线传感器网络传感器网络是无线自组网技术应用的另一大领域采用传感器网络能够跟踪从天气到企业商品库存等各种动态事物极大的扩充互联网的功能对于很多应用场合来说传感器网络只能使用无线通信技术并且传感器的发 射功率很小分散的传感器通过无线自组网技术组成一个网络可以实现传感器之间和与控制中心之间的通信 3个人通信个人局域网 Personal Area NetworkPAN 是无线自组网技术的又一应用领域用于实现PDA手机掌上电脑等个人电子通信设备之间的通信并可以构建虚拟教室和讨论组等崭新的移动对等 Mobile Peer-To-Peer 应用 4移动会议在室外临时环境中工作团体的所有成员可以通过无线自组网方式组成一个临时网络来协同完成一项大的任务或协同完成某个计算任务在室内办公环境中办公人员携带的包含无线自组网收藏器的PDA可以通过无线方式自动从台式机上下载电子邮件更新工作日程表等 5其他应用可应用于紧急和突发场合如在发生了地震水灾火灾或遭受其它灾难后固定的通信网络设施无法正常工作的情况下组建无线自组网还可与蜂窝移动通信系统等现有移动通信系统相结合利用移动的多跳转发能力来扩展现有蜂窝移动通信系统的覆盖范围等 24 无线自组网体系结构 参照OSIRM无线自组网体系结构如图21所示[3] 图21 无线自组网体系结构 下面介绍各层的基本情况 1物理层物理层包括射频 RF 电路调制和信道编码系统IEEE80211bag蓝牙 Bluetooth 和超宽带 LJwBultr-awideband 等都是具体的物理层协议 2数据链路层数据链路层负责在不可靠的无线链路上建立可靠和安全的逻辑链路其分为逻辑链路控制子层 LLC 和媒介访问子层 MAC 以IEEE80211为例其LLC子层负责无线链路差错控制流量控制将网络层的分组组帧以及重传等而 MAC子层负责节点对无线媒介访问的控制和帧的加解密操作等 3网络层网络层负责分组的路由建立网络服务类型以及在传输与链路层之间传输分组考虑到无线自网的动态性网络层需要负责分组的重新路由和移动管理等无线自组网在网络层的一个重要问题是路由协议 4传输层传输层负责提供端到端的可靠数据传输服务然而由于无线链路的不稳定传统的有线网传输层协议在无线环境下性能下降明显所以必须改进 5应用层无线自组网的应用层指定的是各种各样类型的业务在实际实施的时候可以采用各种各样的应用层协议和标准比如WAP 无线应用协议 协议等 3 网络模拟器NS2 31 NS2简介 NS2Network Simulator Version2UC BerkeleyTCPIP路由和多播等协议提供了强有力的支持NS2是一个开放源代码软件任何人可以获得使用和修改其源代码正因为如此世界各地的研究人员每天都在扩展和更新它的功能为其添加了新的协议和功能它也是目前网络研究领域应用最广泛的网络模拟软件之一 NS2来源于1989年的Real NetWork Simulator项目经过多年的发展于1995年得到Xerox公司的支持加入VINT项目NS2一直以来都在吸收全世界各地研究者的成果[4] NS2是一款面向对象的离散事件驱动的网络模拟器可以完整地模拟整个网络环境NS2使用一整套C类库实现了绝大多数常见的网络协议以及链路层的模型利用这些类的实例就可以搭建起整个网络的模型 NS2使用了被称为分裂对象模型的开发采用C和OTcl两种开发语言进行开发它们之间采用TclCL进行自动连接和映射考虑效果和操作便利等因素NS 将数据通道和控制通道的实现相分离为了减少分组和事件的处理时间事件调度器和数据通道上的基本网络组件对象都使用C编写这些对象通过TclCL映射对OTcl解释器可见NS2可以说是OTcl的脚本解释器它包含模拟事件高度器网络组件对象库等事件调度器控制模拟进程在适当时间激活事件队列中的当前事件并执行该事件网络组件模拟网络设备或节点的通信它们通过制定模拟场景和模拟进程交换特定的分组来模拟真实网络情况并将执行情况记录到日志文件中供用户分析解读获取模拟结果NS2采用这种分裂模型既提高了模拟效率加快了模拟速度又增强了模拟配置的灵活性和操作的简便性 NS2是在UNIX系统上开发的因此可以在UNIX和类UNIX系统上安装另外NS2也可以在Windows平台上运行表31和表32是不同平台对NS的支持情况 表32 不同平台对NS2的支持情况 Tcl-TK OTcl TclCL Ns Nam xgraph cweb sgb Gt-itm and sgb2ns zlib PcWindows Y Y Y Y Y N Y N N N PcLinux Y Y Y Y Y Y Y Y Y Y 注Y支持N不支持PcWindows 优点界面友好人性化设计网络及硬件支持良好应用程序丰富 缺点代码冗繁系统稳定性及自身修复能力差 未安装Cygwin时只可用from all the pieces方式安装较为复杂 安装Cygwin后可用allinone方式安装较为简单 支持NS2的必选软件模块但对可选模块的支持性差 容易引发较多问题相关帮助文档及可咨询信息较少解决问题难度较大 PcLinux 优点源代码开放界面友好网络功能丰富较稳定 缺点应用软件及硬件驱动程序缺乏 可选用from all the pieces或 allinone方式安装较为简单 对NS2的必选模块和可选模块支持性良好 由于Linux完全开放源代码的特性可根据需要任意修改源代码相关帮助文档及论坛较多可获得的帮助较多使问题解决较为容易 32 NS2组成部分 1离散事件调度器Scheduler调度器是仿真器的心脏它记录当前时间调度网络事件链表中的事件它有一个静态成员变量instance供所有的类访问同一个调度器提供函数产生新事件指定事件发生的时间 目前NS2支持四种事件调度器分别为链表式linked-list堆式heap时间队列式calendar和实时real-time调度器其中时间队列式为默认的事件调度器 2事件处理器 Handler Handle是所有处理事件类的基类它只是一个虚拟函数每个继承类实现自己的功能 3节点Node节点是对实际网络中分布在不同地理位置的主机交换机路由器等网络设备的统一抽象是构成网络拓扑结构的一个重要组成部分 4链路 Link 链路用来连接节点和路由器一个节点可以有一条或多条输出链路 如路由器 所有的链路都以队列的形式来管理分组到达离开或丢弃统计并保存字节数和分组数另外还有一个独立的对象来记录队列日志 5代理 Agent 代理是实际产生和消费分组的对象它们属于传输层实体运行在端主机节点的每一个代理自动被赋与一个唯一的端口号 模拟udptcp端口 代理知道与它相连的节点以便把分组转发给节点它也知道分组大小业务类型目的地址Agent类是各种UDPTCP实现类的基类代理被保存在一个称为demux的链表中 6NS对象 NsObject NsObject是所有网络实体的基类包括节点链路代理业务记录 Trace 和数据源等节点链路代理同时继承了NsObject和事件处理器类因 为这三种对象要处理多种事件其他对象则不需要 7匹配器类 Matcher 匹配器类用来标识有实例对象生成的类用户给出标识匹配器类的关键字匹配器类返回相应的新建对象匹配器类被定义成静态的只允许一个实例对象[5] 33 NS2模拟基本流程 图31 NS2进行网络模拟的基本流程 使用NS2进行网络模拟的基本操作流程如图31所示整个模拟过程主要有三个部分一为修改源码二为编写Tcl模拟脚本三为分析结果 1源码修改这一步只有在模拟需要修改源代码时才进行考虑 2TclOTcl模拟代码编写这是NS2模拟中最重要和必不可少的环节大部分NS2的模拟工作实际就是编写Tcl脚本代码来描述网络结构网络构件属性和控制调度网络模拟事件的启停过程 3模拟结果分析结果分析是真正体现模拟工作成效的重要一环模拟结果分析主要是对trace文件进行分析 4 无线自组网路由协议 在无线自组网中节点的移动导致网络拓扑结构的不断变化如何迅速准确地选择到达目的节点的路由是无线自组网的一个重要和核心的问题 41 无线自组网与传统移动通信网络的区别 在无线局域网中移动节点配有无线网卡通过无线接入点连接到固定网络因此无线局域网可以看成单跳网络而无线自组网则是一个多跳的网络终端主机一方面作为主机另一方面作为路由器运行路由协议参与分组转发和路由维护 因此无线自组网与传统移动通信网络在路由选择方面有很大的差异必须采 用合适的路由协议以解决路由选择问题 42 无线自组网路由协议分类 根据源端何时获得路由信息可以将路由分为两大类如图41所示一类是基于路由表驱动Table Driven的路由协议在这种协议中每个节点试图维护到所有已知目的节点的路由表节点之间周期性或在网络拓扑改变时交换路由信息由此减少了获得路由延时能够立即判断目的节点的可达性但是耗费了网络资源第二类是按需驱动On-Demand Driven的路由协议包括路由发现和路由维护两个过程这种路由协议平时并不实时地维护网络路由只有在节 点有数据要发送时才激活路由发现机制寻找到达目的节点的路由它不需要花费资源来维护无用的路由但路由发现过程比较昂贵而且不可预测[6] 图41 无线自组网路由协议分类 43 几种典型的无线自组网路由协议 431 目的序列距离矢量路由协议DSDV DSDV Destination-Sequenced Distance-Vector 是基于经典Bellman-Ford路由选择过程的改进型路由表算法DSDV以路由信息协议为基础是无线自组网协议发展较早的一种 使用DSDV时网络中的每一个移动节点都需要维护一个路由表路由表表项包括目的节点跳数和一个由目的节点注明的序列号序列号能帮助节点区分有效和过期的路由信息并可防止路由环路的发生标有更大序列号的路由信息总是被接收如果两个更新分组有相同的序列号则选择跳数最小的使路由最优最短每个节点必须周期性地与邻节点交换路由信息当然也可以根据路由表的改变来触发路由更新路由表更新有两种方式一种是全部更新即拔掉更新消息中将包括整个路 由表主要应用于变化较快的情况另一种是增量更新更新消息中仅包含变化的路由部分通常适用于变化较慢的情况 432 按需平面距离矢量路由协议AODV AODV Ad hoc On-demand Distance Vector Routing 由DSDV发展而来不同的是AODV为反应式路由协议源节点首先广播一个携带目的节点信息的路由分组RREQ其邻居节点依次向周围节点广播此路由分组广播RREQ前会建立此节点到源节点的路由直到路由分组到达目的节点或者一个中间节点这个节点包含目的节点的路由信息就不再广播RREQ此过程中会建立一个从源节点到目的节点的反向路由也就是从目的节点到源节点的路由然后该节点将沿着反向路由发回一个RREPRREPsequence IDSID作为唯一标识如果一个节点收到一个SID比它当前保留的SID小的数据包表明该数据包是过时的它将不予处理而是简单的丢弃发现多条路由时源节点会选择一条SID大跳数少的最优路由 源节点移动后会重新启动路由发现过程中间节点移动那么其邻居节点会发现链路失效并向上游节点发送链路失效消息RERR一直传到源节点然后源节点重新发起路由发现或者也可以由发现链路失效的节点自己发起路由发现此称为自修复只要路由是活动的路由表就要一直维护下去活动的意思是有数据包从源节点发往目的节点如果链路上不再有数据包传递一段时间之后链路就会过期最终路由信息将会从中间节点的路由表中删除[7] 433 动态源路由协议DSR DSR Dynamic Source Routing 是一种基于源路由的按需路由协议它使用源路由算法而不是逐跳路由的方法DSR主要包括两个过程路由发现和路由维护当源节点S向目的节点D发送数据时它首先检查缓存是否存在未过期的到目的节点 的路由如果存在则直接使用可用的路由否则启动路由发现过程具体过程如下源节点S将使用洪泛法发送路由请求消息RREQRREQ包含源和目的节点地址以及唯一的标志号中间节点转发RREQ并附上自己的节点标识当RREQ消息到达目的节点D或任何一个到目的节点路由的中间节点时D或该中间节点将向S发送路由应答消息RREP该消息中将包含到S到D的路由信息并反转S到D的路由供RREP消息使用此外中间节点也可以使用路由缓存技术Routing Cache来对协议作进一步优化 434 临时排序路由算法TORA TORA Temporally Ordered Routing Algorithm 协议称为临时排序路由算法是一种源初始化按需路由选择协议它采用链路反转的分布式算法具有高度自适应高效率和较好的扩充性比较适合高度动态移动多跳的无线网络其主要特点是控制报文定位在最靠近拓扑变化的一小部分节点处因此节点只保留邻近点的路由信息该算法中路由不一定是最优的常常使用次优路由以减少发现路由的开销TORA协议包括3个基本模块路由的创建路由的维护和路由的删除在路由的建立和路由维护过程中节点应用高度Metric来建立一个以目的节点为根的有向非循环图这样链路根据相邻两个节点的高度值来确定向上或向下的方向 44 路由协议性能评标准 主要包括以下几个方面的指标[8] 1丢包率网络中数据传输是以发送和接收数据包的形式进行的理想状态下发送了多少数据分组就能接收多少数据分组但是由于信号衰减网络质量等诸多因素影响下可能产生数据分组丢失在单位时间内未收到的数据分组与发送的数据分组的比率就是丢包率当然这个数字越小越好丢包率的计算公式见式41 丢包率 1 42 3路由开销单位数据包个数所引起的额外路由分组个数包括RREQRoute RequestRREPRoute ReplyRRERRout 43 4平均吞吐量该参数是在接收数据时由网络层的上层统计的是指节点单位时间内收到的数据分组数它是一个容量概念表示数据传输的总量 5 无线自组网路由协议的仿真 51 移动节点 无线模型的核心是移动节点它代表实际无线网络中的站点移动节点是由基本的节点再加上无线和移动节点所需要的一些功能构成它能够在给定的拓扑范围内移动可以通过无线信道接收和传送无线信号 511 移动节点的结构 移动节点是由一系列的网络构件构成这些构件包括链路层连接到LL上的ARP模块接口队列MAC层网络接口层移动节点通过网络接口连接到无线信道上移动节点的结构如图51所示 图51 移动节点的结构示意图 512 移动节点的创建 1移动节点的配置在NS2中要创建一个移动节点就必须在创建节点之前对节点进行配置所谓点的配置就是在节点创建之前设定节点的各项属性可以使用模拟器对ns的内部过程node-config 来配置节点的属性 移动结点基本配置参数如下 ns node-config –adhocRouting 配置adhoc网络的路由类型 -llType 数据链路层类型 -macType MAC层类型 -ifqType 队列类型 -ifqLen 队列长度 -antType 天线类型 -propType 无线信号传输模型 -phyType 物理层类型 -channelType 信道类型 -topoInstance 拓扑对象 -agentTrace 是否打开应用层Trace -routerTrace 是否打开路由的Trace -macTrace 是否打开应MAC层的Trace -movementTrace 是否打开节点位置和移动信息的Trace 2移动节点的创建调用模拟器对象ns的内部过程node 创建移动节点 for set i 0 i opt nn incr i set node i [ns node] 513 移动节点的运动 在实际的无线自组网络中站点的位置可能是不确定的也就是说站点是移动 的所以NS2中的移动节点也应该具有移动性 移动节点可以在一个三维拓扑中运动然而实际上第三维Z轴并没有被使用 这样的移动节点就在一个Z 0的二维平面中运动运动方法有 1方法一确定节点的起始和终止位置 node set X node set Y node set Z ns at time node setdest 2方法二节点随机移动NS2提供了setdest工具用来随机生成无线网络所需 要的节点的运动场景文件 执行命令如下 命令1setdest –v -n -p -M -t -x -y 命令2setdest –v -n -s -m 52 无线自组网路由模拟的实现 521 无线自组网路由协议场景的构建 在无线模拟过程中首先要建立移动场景即移动节点的范围及其拓扑对象 1移动范围 set topo [new Topography] 创建拓扑对象在节点设置时使用它来进行配 置 topo load_flatgrid 1000 1000 设定一个1000x1000的屏幕 2创建God对象GodGeneral operations directorset god_ [create – god val nn ] val nn 仿真节点号 522 TCP代理的创建和设置 1TCP代理创建步骤 步骤一创建一个AgentTCP对象作为分组的发送器 步骤二设置AgentTCP对象的部分内部变量 步骤三创建一个AgentTCPSink对象作为分组的接收器 步骤四在发送和接收代理之间创建connect连接 2TCP流的随机生成 cbrgen工具可以用来随机生成TCP流命令格式如下 ns cbrgentcl –type -nn -seed -mc -rate 523 仿真参数的设置 本课题从两方面来比较无线自组网路由协议的性能 当节点不断增加时各路由协议的性能变化和当移动速度不断增加时各路由 协议的性能变化的相关参数如表51所示 表51仿真参数 场景 范围 节点数 节点移动 最大速度 ms 静止 时间 s 数据 连接 业务 类型 分组 发送率 512bs 模拟 时间 s 节点 增加 1000x1000 102030 405060 708090 100 20 10 4812 162024 283236 40 TCP 20 150 移动 速度 增加 1000x1000 30 2468 101214 161820 10 10 TCP 20 150 53 仿真结果分析 531 动画演示工具nam nam是基于TclTk的动画演示工具用于演示网络运行动画例如网络拓扑包传输和队列管理等 1namSteven McCanne开发用于在网络研究中利用动画演示包的传输过程后来这项工具渐渐流行开并且得到其他个人和组织的继续改进和完善 nam的功能是根据网络模拟软件或真实环境里的特定格式的trace输出文件来运行动画例如Trace文件常常来自NS模拟器或者Tcpdump软件的输出当然任何其它软件只要按照nam要求的数据格式输出同样可以利用nam来进行动画演示 2NS2中nam的使用方法 ? 环境变量的配置在NS2安装目录下编辑bashrc文件在PATH环境变量中添加nam文件夹所在的目录 ? 调用namnam调用一般是在NS仿真结束之后所以在stop 过程之后添加 代码 exec nam dsdvnam exit 0 532 无线Trace文件格式 下面是无线Trace文件的一个例子 s 0029290548 _1_ RTR --- 0 message 32 [0 0 0 0] ------- [1255 -1255 32 0] r 0030062615 _0_ RTR --- 0 message 32 [0 ffffffff 1 800] ------- [1255 -1255 32 0] s 1000000000 _0_ AGT ---1 tcp 40 [0 0 0 0] ------- [00 10 32 0] [0 0] 0 0 r 1000000000 _0_ RTR ---1 tcp 40 [0 0 0 0] ------- [00 10 32 0] [0 0] 0 0 s 1000000000 _0_ RTR ---1 tcp 60 [0 0 0 0] ------- [00 10 32 0] [0 0] 0 0 r 1003800194 _1_ AGT ---1 tcp 60 [13a 1 0 800] ------- [00 10 32 0] [0 0] 1 0 s 1003800194 _1_ AGT ---1 ack 40 [0 0 0 0] ------- [00 10 32 0] [0 0] 0 0 无线Trace文件的记录每条共有21栏各栏表示的意义如下 1事件类型共有四种事件类型分别为 s分组的发送事件 r分组的接收事件 d分组的丢弃事件 f分组的转发事件 2事件产生的时间单位为秒 3处理该事件节点的节点ID 4Trace名称共有三种不同的类型分别为 RTR路由器TraceAGT代理 TraceMACMAC层Trace 5-6---为分隔符 7分组的ID 8分组类型 9分组大小单位为字节 10发送节点在无线信道上发送该分组所期望的时间值 11接收节点的MAC地址 12发送节点的MAC地址 13MAC层封装的分组类型 15-17---为分隔符 18发送分组的源IP地址格式为节点号端口号 19接收分组的目的IP地址格式为节点号端口号 20分组的TTL值 21源节点到目的节点的跳数 533 数据分析工具gawk 1gawk简介awk是一种程序语言对于资料的处理具有很强的功能可以是用很短的代码轻易的完成对文本档案作修改分析提高和比较等处理awk最初在1977年完成gawk是GUN所开发的awk最初在1986年完成之后不断地被改进更新gawk包含awk的所有功能 gawk的主要功能是针对Trace文件的每一条记录搜寻指定的模式Patterns当一条记录里有符合指定的模式时gawk就会执行此条记录指定的动作actions 2gawk执行方法 基本上有两种执行方法可以执行gawk程序 如果程序很短则程序代码可以直接写在命令行上如下 gawk program inputfile1 inutfile2 其中program包括一些pattern和action 如果程序较长一般将gawk程序存为一个文件即Patterns与actions写在一个文件名为program-file的文件里执行格式如下 gawk –f program-file inputfile1inputfile2 534 绘图工具gnuplot 1 gnuplot简介gnuplot是由Colin Kelly和Thomas Williams于1986年开始开发的科学绘图工具支持二维和三维图形gnuplot是一个命令驱动的交互式绘图软件它的功能是把数据资料和数学函数转换为容易观察的平面或立体的图形它有两种工作方式交互式方式和批处理方式它可以让使用者很容易地读入外部的数据结果在屏幕上显示图形并且可以选择和修改图形的画法明显地表现出数据的特性 2gnuplot执行方法 在终端下键入gnuplot后回车即可启动gnuplot相关参数设置 gnuplot set xrange [ ] gnuplot set yrange [ ] gnuplot set title name of the graph 设置整个图的标题 gnuplot set xlabel name of the X axis 设置X轴的标题 gnuplot set ylabel name of the Y axis 设置Y轴的标题 gnuplot plot filename1 with linespoints filename2 with linespoints 535 仿真结果分析 5351 nam演示 节点变化运行场景和移动速度变化的运行场景分别如图52图53所示 图52 节点为70的运行场景 图53 节点移动最大速度为16ms的运行场景 5352 仿真结果分析 1路由协议定性比较 表53对3种路由做出了定性比较可以看出3种路由协议均属平面拓扑结构在路径选择上也都采用最短路径策略不同的是DSDV协议借助周期广播来维护路由信息主动发现路由它们的优点是当节点需要发送数据分组时只 表53 三种路由协议的定性比较 DSDV DSR AODV 拓扑结构 平面 平面 平面 算法类型 距离矢量 源路由 距离矢量 分组转发 逐跳 源路由 逐跳 选择路由原则 最短路径 最短路径 最短路径 多跳维护 NO YES NO 周期广播 YES NO NO 要去往目的节点的路由存在所需的 时延就很小但需要花费较大的开销如果网络的拓扑结构经常改变则更是如此而AODVDSRTCL仿真脚本得到相应的trace文件然后用编写的gawk程序对trace文件进行分析计算得出相应的数据反复运行计算20次求出各项的平均值用gnuplot对所得的数据画图得AODVDSRDSDV? 节点不断增加情况下各路由协议的仿真性能如图54-57所示 图54 node delay 图55 node loss_rate 图56 node thrughput 图57 node routecost 由仿真结果可以看出当网络规模较小时DSR的综合性能表现最好这是因为DSR采用了源路由算法其路由缓存中有多条去往目的地的路由当主路由中断不通时可以从路由缓存里的信息迅速找到或建立另外到目的地的路由当网络规模不断增大时三种路由协议的性能均有不同程度的下降AODV和DSR由于都属按需路由协议当网络规模变大时需要频繁发起路由发现过程来发现到目的节点的路由因此将产生较大的路由建立时延路由侦听开销变大相比之下DSDV路由协议在路由开销时延吞吐量和丢包率上均优于其他二种路由 ? 移动速度不断增加情况下各路由协议的仿真性能如图58-511所示仿真结果如表54所示 表54 仿真结果比较图 表驱动路由协议DSDV 按需驱动路由协议 丢包率 低 高 平均时延 低 高 吞吐量 低 高 路由开销 高 低 图58 mobility_rate delay 图59 mobility_rate loss_rate 图511 mobility_rate throughput 图510 mobility_rate routecost 按需路由协议只有在需要一条路径时才开始建立如果节点在发送分组时没有到目的节点的路由时需要启动相应的路由发现机制搜寻路由这样将会产生一定的时延并且当节点移动速度增加网络的拓扑结构会占用大量的无线信道资源从而必然降低协议的效率增大协议的掉包率具有较大的网络时延而对于DSDV协议来讲当节点移动速度的增加网络拓扑变化变快要想实时维护拓扑结构需要大量的信息这些控制信息将会占用大量的无线信道资源从而影响用户数据报文的发送降低了系统吞吐量DSR路由协议的综合性能比较好而当数据流量变大时DSDV在拓扑变化频繁的网环境中采用按需路由协议在网络拓扑结构相对稳定的环境中如果业务对实时性要求较高时应尽量采用表驱动方式的路由协议DSR路由协议的综合性能比较好而当数据流量变大时DSDV在拓扑变化频繁的网环境中采用按需路由协议在网络拓扑结构相对稳定的环境中如果业务对实时性要求较高时应尽量采用表驱动方式的路由协议陈晋伦周正((20071-3 [5]向明尚陈素丽刘延军等NS2网络仿真平台的探讨与实现[J]大庆石油学院学报2005287-93 [6]方路平刘世华陈盼等NS-2网络模拟基础与应用[M]北京国防工业出版社200889-98 [7]洪锡军车克南张激 无线自组网路由协议研究[J] 计算机工程2005810-28 [8]段云飞周丽琼杨磊几种典型的Ad Hoc路由协议仿真分析[J]电力系统通信200966-17 [9]SRDasctalComparative Performance Evaluation of Routing Protocols for Mobile Ad-Hoc NetworkCommunication and Networks1998152161( [10]Perkins CEBhagwat PHighly dynamic destination-sequenced distance-vector routing DSDV for mobile computersACM Press1994234-244 [11]杨盘隆郑少仁Ad hoc网络中的路由算法[J]军事通信技术200122 4 49-53 [12]BGuptaDesignimplementation and testing of routing protocols for mobile ad-hoc networks[M]University of Illinois at Urban a-Champaign200223-35 [13]赵建立宋雨(移动Ad Hoc网络路由技术综合分析 SDoshiSBhandareTXBrownAn on-demand minimum energy routing protocol for a wireless ad hoc network[J]Mobile Computing and Communications Review2002 35 53-60 [15]李承汪为农浅议移动Ad hoc网络路由协议中的安全性问题[J]计算机工 程与应用2002 22 28-33 [16]刘昌鑫彭嵩松吴兰英DBJohnsonDAMaltzDynamic source routing in ad hoc wireless networks[M] Mobile Computing2001263-270 [20]SIVAKUMAR RA core-extraction distributed Ad hoc routing algorithm [J]IEEE J on Selected Areas in Comm1999 8 1380-1394 [21]刘勃兰宋玲 基于NS2的移动自组网路由协议的仿真与实现评论推荐[J] 计算机工程与应用2007 6 162-164 [22]Liang QinPro-active Route Maintenance in DSRSchool of Computer ScienceCarleton University200115-23( [23]C PerkinsE RoyerS DasAd hoc On-Demand Distance Vector AODV Routing[J]IEEE Personal Communication1997 17 36-45( [24]V ParkS CorsonTemporally-Ordered Routing Algorithm TORA [J]IETF MANET Working Group1999 33 32-41( [25] 肖永康山秀明任勇无线Ad hoc网络及其研究难点电信科学2002611-15( [26] 单思宇无线自组网中的路由协议电脑知识与技术2009522122-123( 致谢 首先我要感谢父母正是他们在我求学生涯中给予我最大的关心理解支持和鼓励并且始终竭尽全力地给予我最好的学习和生活条件使我能够克服前进道路上的困难 其次我要衷心感谢我的指导老师陈伟宏老师近半年来陈老师始终注重我各方面能力的培养在学习和思想上都给予我极大的关怀指导和帮助特别是严谨求实的治学态度和一丝不苟的工作作风对我的影响很大从毕业设计选题到毕业设计的完成陈老师都提出了很多中肯的意见使我受益匪浅另外还要感谢我的同组同学对我的关心和帮助我的每一个进步都是和他们的帮助是紧密相连的 最后我还特别感谢红联Linux论坛和论坛NS2板块的网友们他们在我使用以及NS2软件的学习过程和仿真代码的编写过程提了大量的帮助对他们的无私帮助我深表感谢set val chan ChannelWirelessChannel set val prop PropagationTwoRayGround set val netif PhyWirelessPhy set val mac Mac802_11 set val ifq QueueDropTailPriQueue set val ll LL set val ant AntennaOmniAntenna set val ifqlen 50 set val nn 100 set val rp DSDV set val x 1000 set val y 1000 set val stop 150 set ns_ [new Simulator] set tracefd [open dsdv100tr w] ns_ trace-all tracefd set namtrace [open dsdv100nam w] ns_ namtrace-all-wireless namtrace val x val y set topo [new Topography] topo load_flatgrid val x val y set god_ [create-god val nn ] ns_ node-config -adhocRouting val rp \ -llType val ll \ -macType val mac \ -ifqType val ifq \ -ifqLen val ifqlen \ -antType val ant \ -propType val prop \ -phyType val netif \ -channelType val chan \ -topoInstance topo\ -agentTrace ON\ -routerTrace ON\ -macTrace OFF\ movementTrace ON for set i 0 i val nn incr i set node_ i [ns_ node] node_ i random-motion 1 source scene-100n-10p-20M-150t-1000x-1000y source tcp-100nn-40mc-2r for set i 0 i val nn incr i ns_ initial_node_pos node_ i 50 for set i 0 i val nn incr i ns_ at val stop "node_ i reset" ns_ at val stop "ns_ nam-end-wireless val stop " ns_ at val stop "stop" ns_ at 1501 "puts \" end simulation \" ns_ halt" proc stop global ns_ tracefd namtrace ns_ flush-trace close tracefd close namtrace exec nam dsdv100nam exit 0 ns_ run 28 1 无线自组网路由协议 按需驱动路由协议 表驱动路由协议 DSDV WRP AODV TORA DSR CGSR Port demux SrcSink Addr demux IP address entry Default target Rtagent target Arp table Up target LL ARP Down target IFq Down target Up target mac MAC Down target Up target Radio Propagation Model NetIF channel Up target Channel 是 否 是 否 否 是 修改源码 问题定义 修改源码 结果满意 编写Tcl脚本 执行模拟 分析问题 分析结果 编译通过 重新编译NS 调试 结束 开始
/
本文档为【基于NS2的无线自组网路由协议的研究与仿真毕业论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索