




免费预览已结束,剩余59页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分类号: U D C: 密 级: 编 号:成都信息工程大学硕士学位论文双信道AODV路由协议的实现姓名学号学院通信工程学院学位类型学术型 专业学位学习形式全日制 非全日制学科/领域信息与通信工程研究方向嵌入式系统与片上系统设计导师校内 教授校外成都信息工程大学硕士学位论文双信道AODV路由协议的实现摘 要在一些消防现场中,消防员之间的音视频通信需求显得格外的重要,Ad-Hoc网络是一种简易的组网方法,很适合被应用于此种情况。Ad-Hoc网络,是一种不需要依赖已有基础设施便可实现网络内任意移动节点间通信的临时自治系统,在军事和民用领域都得到了很广泛的应用。AODV路由协议,是Ad-Hoc网络中的一种源发起按需路由协议,是本课题所选择的并进行研究的路由协议。本文,首先介绍了本课题的研究背景及研究内容,即是为了解决一些消防现场中消防员的安全问题和消防员之间的音视频通信问题,同时提出了解决这些问题可以采用的组网方法,Ad-Hoc网络,和可以采用的路由协议,AODV路由协议,列出了整篇论文的整体安排。然后,简要介绍了Ad-Hoc网络的背景知识,和Ad-Hoc网络的两种类型的路由协议,着重讲解了一种源发起按需路由协议,AODV路由协议的基本工作原理和AODV路由协议正常工作所需要的四种控制分组的结构,并采用NS2模拟软件平台,搭建一个特定的消防现场,测试了AODV路由协议的性能表现,基于测试数据,进行分析,指出了特别需要解决的问题。然后,基于这个特别需要解决的问题,即提升网络通信容量的问题,提出了双信道AODV路由协议的基本思想和修改思路,其中包括需要在NS2模拟软件和AODV路由协议两方面的修改情况,根据三种不同的想法,提出了三种双信道AODV路由协议的实现方法,它们分别是:简易双信道AODV路由协议、交替双信道AODV路由协议和主从双信道AODV路由协议,着重讲解了这三种双信道AODV路由协议算法的不同点,和它们在原始AODV路由协议的基础上主要修改的部分,并采用NS2模拟软件平台,搭建与一个与前面同样的消防现场,分别测试这三种双信道AODV路由协议的性能表现,基于测试数据,进行综合比较分析,并指出这三种双信道AODV路由协议的不同点和各自的优缺点。最后,对本课题所做的工作进行一个全面的总结,针对课题组下一步的工作,提出一些建议。关键词:Ad-Hoc网络;双信道;AODV路由协议The implementation of dual-channel AODV routing protocolAbstractIn some of the fire scene, audio and video communication needs between firefighters was particularly important. Ad-Hoc network was a simple networking method, it was suitable to be applied in such cases. Ad-Hoc network, was a kind of temporary autonomous communication system which did not rely on any existing infrastructure and any mobile node in it could communicate with each other, had been very widely used in military and civilian fields. AODV routing protocol, was a kind of source initiated on demand routing protocol in Ad-Hoc network, it was the selected and researched routing protocol of the subject.In this paper, the research background and research content were introduced, it was to address the security issues of firefighters and audio and video communication needs between firefighters in some of the fire scenes, the networking method which could be used to solve these problems was proposed at the same time, it was Ad-Hoc network, and the routing protocol which could be used, it was AODV routing protocol, and the overall arrangements of the whole paper were introduced.Then, the background of Ad-Hoc network was introduced, the two types of Ad-Hoc network routing protocol were introduced, a kind of source initiated on demand routing protocol, AODV routing protocol, its basic operating principle and the structures of four control messages were introduced, and NS2 software was used to set up a specific fire scene, the performance of AODV routing protocol in the specific fire scene was tested, based on the test data and analysis, the particular problem to be solved was pointed out.Then, based on the particular problem, to improve network communications capacity issues, the basic ideas and ideas of the modification of dual-channel AODV routing protocol were put forward, including both of the modifications need for the NS2 simulation software and AODV routing protocol, based on three different ideas, three implement methods of dual-channel AODV routing protocol were proposed, they were, simple dual-channel AODV routing protocol, alternate dual-channel AODV routing protocol and master-slave dual-channel AODV routing protocol, the difference of the three kind of dual-channel AODV routing portocols were introduced, and the major modification of the three kind of dual-channel AODV routing protocols based on the basis of the original AODV routing protocol were introduced, and NS2 software was used to set up the same specific fire scene, the performance of the three kind of dual-channel AODV routing protocols in the specific fire scene was tested, based on the test data and analysis, the difference between these three dual-channel AODV routing protocols and their advantages and disadvantages were proposed.At last, we summarized the whole work, and give some suggestions to future work.Key words: Ad-Hoc network; dual-channel; AODV routing protocol目录论文总页数:54页第一章 绪论11.1 研究背景与研究内容11.1.1 研究背景11.1.2 研究内容11.2论文安排2第二章 Ad-Hoc网络42.1 无线通信42.1.1 有基础设施网42.1.2 Ad-Hoc网络52.2 无线局域网82.2.1 无线局域网的特点92.2.2 无线局域网的标准9第三章 AODV路由协议与性能分析103.1 AODV路由协议103.1.1 AODV路由协议的工作原理103.1.2 控制分组的结构143.2模拟与性能分析173.2.1 NS2模拟软件173.2.2 AODV路由协议的模拟19第四章 双信道AODV路由协议的实现与性能分析244.1 双信道的思路244.2 NS2模拟软件的修改254.2.1 NS2模拟软件的修改思路254.2.2 NS2模拟软件的修改284.3 简易双信道AODV路由协议的实现与性能分析324.3.1 简易双信道AODV路由协议的实现324.3.2 简易双信道AODV路由协议的模拟与性能分析344.4 交替双信道AODV路由协议的实现与性能分析374.4.1 交替双信道AODV路由协议的实现374.4.2 交替双信道AODV路由协议的模拟与性能分析404.5 主从双信道AODV路由协议的实现与性能分析414.5.1 主从双信道AODV路由协议的实现414.5.2 主从双信道AODV路由协议的模拟与性能分析454.6 综合性能分析47第五章 结论49参考文献50作者在读期间科研成果简介53致 谢54v第一章 绪论1.1 研究背景与研究内容1.1.1 研究背景无线通信技术从出现的时候开始就在不断地发展,特别是在最近的一些年里面,无线通信技术发展得更加迅速,因为人们想要更加方便地接入电话网络和互联网,而不是总是需要一根有线的通信线路,而且人们同时还有随时可以移动的需求。现在的手机、平板电脑和笔记本电脑都使用了无线通信技术,电话和需要插网线才可以上网的台式机使用的是有线通信技术。无线通信系统,或者说是无线通信网络,根据其结构的不同,可以分为:u 有基础设施网(Infrastructure Network);u 无基础设施网(Infrastructureless Network,又称Ad-Hoc网络)。Ad-Hoc网络最初应用于军事领域,它的研究起源于战场环境下的分组无线网数据通信项目,该项目由DARPA资助1。由于Ad-Hoc网络具有不需要基础设施就能够组织网络的特点,所以它经常被使用在灾难救助等恶劣的通信环境下,比如某些地方发生了洪水、地震或者火灾等情况,基础设施已经被破坏,需要快速地组织起网络进行通信,Ad-Hoc网络可以完成这个任务,保障救援工作的顺利进行。在Ad-Hoc网络这个研究背景下,产生了本课题的研究内容,下面将具体介绍。1.1.2 研究内容本课题主要是为了解决消防现场的两个问题而产生的:u 消防员的安全问题;u 消防员之间的音视频通信问题。针对消防现场的消防员安全问题。当消防员发生险情而无法自救时,现场指挥部要及时确认遇险消防员的地理位置,以便及时施救。有关消防现场消防员的定位问题,可以采用自主惯性导航的方案,就像早期的自主惯性导航定位导弹技术,通过消防员移动的加速度的积分得到空间三维坐标位置。由于是自主导航定位,所得坐标位置将直接显示在消防员携带的设备上,这里本文将它称为单人设备,单人设备需要用无线通信的方法将其坐标信息传送给现场指挥部。针对消防现场的消防员之间的音视频通信问题。当消防员们身处一个消防现场的不同位置进行作业的时候,他们需要实时地互相沟通各自所处地点的情况,同时也要让现场指挥部实时了解现场的具体情况,以便进行高效地抢险指挥调度,这就需要单人设备在可以传输坐标信息的同时,也具有传输音视频信息的功能。由于消防现场情况复杂,难以找到一个无线通信方案能完美地实现各单人设备之间直接传送信息的问题,为解决该问题,本课题选用了Ad-Hoc网络。经过一段时间的调研,课题组为Ad-Hoc网络选择了两种较为常用的路由协议:u AODV路由协议;u OLSR路由协议。原因是这两种路由协议在书籍和网络上有较多的资源可以使用,方便构建实验测试平台。第一步的任务就是找到这两种路由协议的开源代码,并在PC平台、嵌入式硬件平台、安卓智能手机平台等环境下移植运行,验证其可行性;第二步的任务是改善这两种路由协议的性能,以便适应针对消防现场的应用需求。现阶段,AODV路由协议和OLSR路由协议两种路由协议已经在PC平台、嵌入式硬件平台运行成功,其可行性已经得到了验证,第一步的任务已经基本完成,下面要进行的是第二步的任务,改善这两种路由协议的性能,以便适应针对消防现场的应用需求。在这第二步的任务中,本人负责的课题任务的主要内容是:选取AODV路由协议作为本人所要研究的路由协议,对AODV路由协议进行改进,测试改进后的AODV路由协议的性能表现。本人通过对Ad-Hoc网络和AODV路由协议一段时间的调查研究,决定采用使用双信道的方式对AODV路由协议进行改进,本文称之为双信道AODV路由协议。1.2论文安排本文主要是对本人的课题任务的各个阶段的完成情况进行记录和描述,具体的章节安排如下:(1) 第一章是绪论,介绍了本课题的研究背景及研究内容,介绍了整篇论文的整体安排;(2) 第二章介绍了Ad-Hoc网络的基础知识,介绍了Ad-Hoc网络的两种类型的路由协议;(3) 第三章介绍了AODV路由协议的基本原理,并测试了AODV路由协议的性能表现,然后基于测试数据,进行分析;(4) 第四章介绍了双信道AODV路由协议的基本修改思路,介绍了需要在NS2模拟软件和AODV路由协议两方面的修改情况,并提出了三种双信道AODV路由协议的实现方法,然后分别测试这三种双信道AODV路由协议的性能表现,然后基于测试数据,进行比较分析;(5) 第五章是结论,对本课题所做的工作进行一个全面的总结,并针对课题组下一步的工作,提出一些建议。第二章 Ad-Hoc网络本文通过无线通信的概念来慢慢引出Ad-Hoc网络的概念。2.1 无线通信有线通信就是通过有线的通信线路进行传递信息的一种通信方式。现在所说的无线通信,区别于有线通信,就是使用电磁波在空间中的传播来传递信息的一种通信方式,而不是使用有线的通信线路。因为无线通信所采用的传输媒介是电磁波,所以无线通信的特点是:u 广播性;u 信道特征随空间变化;u 信道特征随时间变化;u 传输距离有限;u 多径效应;u 相互之间干扰。采用无线通信技术的通信系统叫做无线通信系统,无线通信系统是整个通信系统的一个组成部分,从整个通信系统来看,无线通信系统经常会使用在通信网络的末端,用来解决移动终端的接入问题,也就是“最后一公里”问题2。在最近的一些年里面,无线通信技术得到了迅速地发展,因为人们想要更加方便地接入电话网络和互联网,而不是总是需要一根有线的通信线路,而且人们同时还有随时可以移动的需求。现在的手机、平板电脑和笔记本电脑都使用了无线通信技术,电话和需要插网线才可以上网的台式机使用的是有线通信技术。无线通信系统,或者说是无线通信网络,根据其结构的不同,可以分为:u 有基础设施网(Infrastructure Network);u 无基础设施网(Infrastructureless Network,又称Ad-Hoc网络)。2.1.1 有基础设施网有基础设施网就是一种网络,移动终端接入这种网络是需要有基础设施的支持的,而这些基础设施是被预先规划和布设的。有基础设施网是对有线通信网络的一种扩展3,所谓的基础设施指的就是基站(BS,Base Station)或接入点(AP,Access Point),有线通信网络的末端连接基站或接入点,每个基站或接入点负责协调和解决其覆盖范围内的移动终端接入网络的问题。蜂窝移动通信网络就是最典型的有基础设施网,基站就是基础设施,手机就是移动终端。手机如果需要接打电话或收发短信的时候,自身必须要在某个基站的覆盖范围内。蜂窝移动通信网络如图2-1所示。图2-1 蜂窝移动通信网络有基础设施网,因为本课题没有应用,所以本文不做更加详细地介绍。而无基础设施网,本文将进行详细地介绍。2.1.2 Ad-Hoc网络无基础设施网又称为Ad-Hoc网络,Ad-Hoc这个词来源于拉丁语,本来的意思是“for this”,就是“向这个”,可以引申为“for this purpose only”,就是“专门为某一特定目的的,即兴的,事先未准备的”,就是说Ad-Hoc网络是一种有特殊用途的网络4。区别于有基础设施网,在Ad-Hoc网络中,没有预先布设的基础设施,所有的移动终端,也称之为移动节点,既是通信节点,又是路由节点,当两个移动节点有互相通信的需求,但是却超出了可以直接通信范围的时候,可以依靠其他移动节点充当路由节点进行数据分组的转发,这时,这些起到中继作用的路由节点也叫做中间节点。Ad-Hoc网络如图2-2所示。由于Ad-Hoc网络具有不需要基础设施就能够组织网络的特点,所以它经常被使用在灾难救助等恶劣的通信环境下,比如某些地方发生了洪水、地震或者火灾等情况,基础设施已经被破坏,需要快速地组织起网络进行通信,Ad-Hoc网络可以完成这个任务,保障救援工作的顺利进行。图2-2 Ad-Hoc网络2.1.2.1 Ad-Hoc网络的特点(1) 多跳性在Ad-Hoc网络中,当两个移动节点有互相通信的需求,但是却超出了可以直接通信范围的时候,可以依靠其他移动节点充当路由节点进行数据分组的转发,这时,这些起到中继作用的路由节点也叫做中间节点,而传输的数据分组就好像是踩着这些中间节点进行跳跃一样,所以称之为多跳。多跳性如图2-3所示。图2-3 多跳性(2) 网络拓扑的动态性由于Ad-Hoc网络中的移动节点可以比较随意地移动,无线信道的干扰也在随时发生着变化,所以Ad-Hoc网络的拓扑结构也在随时发生着变化,而且是难以预测到的5。(3) 分布式控制Ad-Hoc网络是无基础设施网,而基础设施的一个作用就是控制移动节点的一些行为,由于Ad-Hoc网络没有基础设施的控制,所以各个移动节点只能采用分布式的控制方式进行工作3。(4) 平等性在Ad-Hoc网络中,每个移动节点都是处于相同地位的,没有上下级的关系,各个移动节点采用分布式的控制方式进行工作。(5) 自组织性Ad-Hoc网络不依赖于基础设施的支持,完全依靠移动节点自己组织起网络进行通信。(6) 带宽受限在Ad-Hoc网络中,采用的是无线通信技术,与有线通信技术相比,无线通信技术具有较低的传输带宽,无线信道的干扰也比有线信道的大,而且多个移动节点还要采用竞争的方式来使用信道。(7) 链路的单向性在Ad-Hoc网络中的一对移动节点之间可能存在单向链路,例如移动节点A发送的分组,移动节点B可以正确接收;而移动节点B发送的分组,移动节点A不一定可以正确接收,其原因可以是多方面的,比如:发送功率不同或者信道干扰等。单向链路的情况如图2-4所示。图2-4 单向链路(8) 能量受限Ad-Hoc网络中的移动节点一般需要使用电池来提供能量,而电池的电量总是有限的,等到电量用尽的时候,这个移动节点将会停止工作,并在Ad-Hoc网络中消失。2.1.2.2 Ad-Hoc网络的路由协议路由协议是Ad-Hoc网络中一个重要的研究方向,如何评估并选择一个合适的路由协议是Ad-Hoc网络应用的关键。本课题要做的就是选择路由协议,改进路由协议,并且评估路由协议。Ad-Hoc网络的路由协议的主要功能如下:u 路由发现(Route Discovery);u 路由维护(Route Maintenance)。理想的Ad-Hoc网络路由协议应该具有以下特点:u 采用分布式路由算法;u 具有自适应能力;u 无环路;u 控制开销少;u 具有可扩展性。Ad-Hoc网络的路由协议根据路由发现的策略不同可以分为:u 表驱动(Table Driven)路由协议6: DSDV(Destination Sequenced Distance Vector Routing); WRP(Wireless Routing Protocol); OLSR(Optimized Link State Routing); CGSR(Cluster Head Gateway Switch Routing)。u 源发起按需(Source Initiated on Demand)路由协议7: AODV(Ad-Hoc on-Demand Vector Routing); DSR(Dynamic Source Routing); TORA(Temporally Ordered Routing Algorithm)。相关研究表明,与表驱动路由协议相比,源发起按需路由协议虽然分组传输时延较大,但开销较小、分组投递率较高,更适合Ad-Hoc网络。2.2 无线局域网本课题所做的工作就是组建一个无线局域网,所以下面介绍一些无线局域网的基础知识。无线局域网是一种特殊的网络,它既支持有基础设施网也支持Ad-Hoc网络。无线局域网(WLAN,Wireless Local Area Networks)是一类无线通信系统的简称,没有严格的定义,在最近的一些年里面,WLAN技术的使用越来越普遍,如手机、平板电脑和笔记本电脑等电子设备,都使用了WLAN技术,它提供给人们在一定范围内可移动并且可连接的自由,WLAN终端的普及得益于它们的方便性,廉价性和连接的简易性,现在越来越多的电子设备在设计的时候都预制了无线网卡,这种趋势,加速了WLAN技术的应用,并且随着用户的需求越来越大,加速了用户对带宽提升的要求。2.2.1 无线局域网的特点u 使用无需授权的开放频段;u 覆盖范围较小;u 数据通信速率较高;u 不支持高速移动;u 同时适用于有基础设施网和无基础设施网。2.2.2 无线局域网的标准无线局域网的标准本文主要介绍美国的IEEE的802.11系列标准,IEEE 802.11系列协议主要工作于ISO协议的物理层和数据链路层中的MAC层。现在使用最广泛的是以下几种常见协议:(1) IEEE 802.11bIEEE 802.11b工作在2.4GHz ISM(Industrial,Scientific,Medical)开放频段,数据速率最大可达11Mbit/s,并且可以根据信道情况自动调整传输速率。(2) IEEE 802.11aIEEE 802.11a工作在5GHz频段,数据速率最大可达54Mbit/s,并且可以根据信道情况自动调整传输速率。(3) IEEE 802.11gIEEE 802.11g的主要思想是将IEEE 802.11b和IEEE 802.11a相结合,所以IEEE 802.11g工作在2.4GHz频段,数据速率最大可达54Mbit/s,并且向下兼容IEEE 802.11b网络,可以根据信道情况自动调整传输速率。(4) IEEE 802.11nIEEE 802.11n是在IEEE 802.11a和IEEE 802.11g之上发展起来的一项技术,可以工作在2.4GHz和5GHz两个频段,数据速率最大可达600Mbit/s,并且可以根据信道情况自动调整传输速率。第三章 AODV路由协议与性能分析3.1 AODV路由协议AODV路由协议,是一种源发起按需路由协议,具有很多优点:u 当网络拓扑结构发生变化时能够快速收敛11;u 具有断路的自我修复功能;u 算法计算量小;u 资源消耗小;u 对网络带宽的占用小。3.1.1 AODV路由协议的工作原理AODV路由协议在工作时,主要包含以下过程:u 路由发现过程;u 路由维护过程;u 邻居管理过程。在AODV路由协议的工作过程中,移动节点之间的互相交流是通过控制分组来实现的,AODV路由协议定义的控制分组类型主要有:u 路由请求分组(RREQ分组);u 路由应答分组(RREP分组);u 路由错误分组(RERR分组);u Hello分组。3.1.1.1 路由发现过程12AODV路由协议使用路由请求和路由应答机制来完成路由发现过程。路由请求分组就是RREQ分组,路由应答分组就是RREP分组。移动节点对于RREQ分组的处理过程如图3-1所示。当某个移动节点接收到一个RREQ分组的时候,首先判断这个RREQ分组是不是自己产生的。如果不是自己产生的,然后判断是不是已经接收到过了,也就是说重复收到了。如果是第一次收到的,就查找路由表,看看源节点的序列号是不是大于本节点原来保存有的源节点的序列号,或者是两个序列号一样,但是这个RREQ分组包含的跳数较小。如果源节点的序列号大于本节点原来保存有的源节点的序列号,或者是两个序列号一样,但是这个RREQ分组包含的跳数较小的话,那么就更新自己的路由表信息;如果不是这种情况的话,判断自己是不是目的节点,或者自己有没有到达目的节点的最新路由。如果自己是目的节点,或者自己有到达目的节点的最新路由的话,就返回RREP分组;如果不是这种情况的话,就广播该RREQ分组。图3-1 RREQ分组处理流程图移动节点对于RREP分组的处理过程如图3-2所示。当某个移动节点接收到一个RREP分组的时候,将这条可用路由插入自己的路由表中,然后判断自己是不是源节点。如果自己不是源节点,就转发该RREP分组。图3-2 RREP分组处理流程图3.1.1.2 路由维护过程20如果路由中的某个链路断裂的话,这个链路上端的移动节点将会注意到这个情况,并根据用户的设定,判断是否符合本地修复的条件:(1) 符合条件进行本地修复。(2) 不符合条件该移动节点将路由链路断裂的信息(RERR分组)广播到所有可能受到影响的上游节点。移动节点对于RERR分组的处理过程如图3-3所示。当某个移动节点接收到一个RERR分组的时候,首先判断自己是不是有路由受到了影响。如果有路由受到了影响,就将该路由设置为无效,就是不可用了。3.1.1.3 邻居管理过程在AODV路由协议中,移动节点通过周期性地广播Hello分组,来让其他的移动节点判断某个路由链路的连通性21。Hello分组的生存时间TTL的值是1,就是说一个移动节点只能将它的Hello分组传输给它的邻居节点,而它的邻居节点不会再将这个Hello分组传输给其他移动节点。图3-3 RERR分组处理流程图移动节点对于Hello分组的处理过程如图3-4所示。图3-4 Hello分组处理流程图当某个移动节点收到一个Hello分组后进行判断:(1) 是新邻居添加此邻居条目。(2) 是老邻居这个邻居节点与自己依然保持着连接,更新对于此邻居节点的定时器。如果某个移动节点在一定时间(这个时间是根据用户的设置的)内收不到它的某个邻居节点传输给它的Hello分组,则认为该邻居节点与自己不再保持连接,而以该邻居节点为下一跳的路由就算是失效了22。3.1.2 控制分组的结构因为后面有用到控制分组结构的内容,所以,下面将分别详细介绍这四种控制分组的结构。Hello分组是RREP分组的一个特例,本文把Hello分组也作为一种控制分组。3.1.2.1 RREQ分组结构表3-1 RREQ分组结构变量类型变量名称变量含义u_int8_trq_type分组类型u_int8_treserved2保留u_int8_trq_hop_count跳数的记录u_int32_trq_bcast_id广播IDnsaddr_trq_dst目的节点IP地址u_int32_trq_dst_seqno目的节点序列号nsaddr_trq_src源节点IP地址u_int32_trq_src_seqno源节点序列号doublerq_timestamp时间戳RREQ分组是由sendRequest()函数产生的。其rq_type为AODVTYPE_RREQ。rq_hop_count用来记录路由请求一路上所经历的跳数。rq_bcast_id为广播ID,rq_bcast_id和rq_src唯一确定一次RREQ广播,若某移动节点接收到了一样的RREQ分组,则丢弃它。rq_dst为目的节点的IP地址。rq_dst_seqno为目的节点序列号,通过这个序列号可以避免路由环路的产生。rq_src为源节点的IP地址。rq_src_seqno为源节点的序列号。rq_timestamp记录RREQ分组产生的时刻。RREQ分组在转发的过程中,只有rq_hop_count在依次加1,其他不变。转发通过forward()函数来实现。RREQ分组的IP头部,saddr()设置为本节点的IP地址,每个转发RREQ分组的移动节点都把此函数的返回值设置为其自身的IP地址。daddr()设置为IP_BROADCAST,即广播的意思。RREQ分组的公共头部,prev_hop_设置为本节点的IP地址,就是产生RREQ分组的源节点的IP地址。3.1.2.2 RREP分组结构表3-2 RREP分组结构变量类型变量名称变量含义u_int8_trp_type分组类型u_int8_treserved2保留u_int8_trp_hop_count跳数的记录nsaddr_trp_dst目的节点IP地址u_int32_trp_dst_seqno目的节点序列号nsaddr_trp_src本节点IP地址doublerp_lifetime生存时间doublerp_timestamp时间戳RREP分组是由sendReply()函数产生的。其rp_type为AODVTYPE_RREP。rp_hop_count用来记录路由请求一路上所经历的跳数。rp_dst为目的节点的IP地址,即所对应的RREQ中的rq_dst。rp_dst_seqno为目的节点序列号。rp_src为本节点的IP地址,即每个转发RREP分组的移动节点在转发之前,都将rp_src赋值为自己的IP地址。rp_lifetime记录RREP分组的生存时间。rp_timestamp记录RREP分组产生的时刻。RREP分组在转发的过程中,rp_hop_count在依次加1。转发通过forward()函数来实现。RREP分组的IP头部,saddr()设置为产生RREP分组的移动节点IP地址,可以是RREQ分组的目的节点IP地址或者具有能够到达目的节点的足够新路径的中间节点的IP地址。daddr()设置为RREQ分组的源节点的IP地址。ttl_设置允许的最大跳数。RREP分组的公共头部,next_hop_设置为路由的下一跳节点的IP地址。prev_hop_设置为产生RREP分组的移动节点的IP地址,可以是RREQ分组的目的节点IP地址或者具有到达目的节点的足够新路径的中间节点的IP地址。3.1.2.3 RERR分组结构RERR分组是由sendError()函数产生的。其re_type为AODVTYPE_RERR。DestCount记录不可达节点个数。unreachable_dst数组记录不可达节点列表。unreachable_dst_seqno数组记录不可达节点序列号列表。表3-3 RERR分组结构变量类型变量名称变量含义u_int8_tre_type分组类型u_int8_treserved2保留u_int8_tDestCount不可达节点个数nsaddr_tunreachable_dstAODV_MAX_ERRORS不可达节点列表u_int32_tunreachable_dst_seqnoAODV_MAX_ERRORS不可达节点序列号列表RERR分组的IP头部,saddr()设置为产生RERR分组的节点的IP地址。daddr()设置为IP_BROADCAST,即广播的意思。ttl_设置为1,即只有一跳的作用范围。RERR分组的公共头部,next_hop_设置为0,因为是广播包。prev_hop_设置为产生RERR分组的移动节点的IP地址。3.1.2.4 Hello分组结构表3-4 Hello分组结构变量类型变量名称变量含义u_int8_trp_type分组类型u_int8_treserved2保留u_int8_trp_hop_count跳数的记录nsaddr_trp_dst目的节点IP地址u_int32_trp_dst_seqno目的节点序列号doublerp_lifetime生存时间Hello分组采用的是RREP分组的结构,其rp_type为AODVTYPE_HELLO。rp_hop_count为跳数的记录,初始设置为1,不过Hello分组只有一跳的作用,所以这个变量作用不大。rp_dst为目的节点IP地址(即本节点的IP地址),即以其邻居节点的角度来看的目的节点IP地址。rp_dst_seqno为目的节点序列号(即本节点的序列号)。rp_lifetime为Hello分组的生存时间。Hello分组的IP头部,saddr()设置为产生Hello分组的移动节点的IP地址。daddr()设置为IP_BROADCAST,即广播的意思。ttl_设置为1,即只有一跳的作用范围。Hello分组的公共头部,prev_hop_设置为产生Hello分组的移动节点的IP地址。3.2模拟与性能分析本课题使用NS2模拟软件作为AODV路由协议的测试平台,下面本文简单介绍一下NS2模拟软件。3.2.1 NS2模拟软件NS(Network Simulator)是目前的一个比较主流的网络模拟软件8,具有很多优秀的特点:u 开源;u 免费;u 易于扩展。由于NS模拟软件具有这些优秀的特点,使得NS模拟软件拥有着庞大的用户群体。本课题选择NS模拟软件作为AODV路由协议的测试平台,也是因为有很多的研究人员都在用它,在书本上和网络上有很多的资源可以利用,方便入门,也方便深入研究。NS模拟软件是一个面向对象的、离散时间驱动的模拟器,它是由C+语言和OTcl脚本语言两种不同的编程语言编写的9,选择这两种语言进行开发,具有以下优点:(1) 网络协议的模拟和实现,需要高效地处理网络协议的报头信息,而C+语言具有快速、高效的特点,所以很适合这部分的工作;(2) 网络模拟围绕着网络组件、拓扑结构和其他环境参数而进行,一些参数需要快速地变化,OTcl脚本语言具有灵活性这个特点,很适合这部分的工作;(3) TclCL模块可以把出现在这两种语言里的变量和对象进行自动连接和映射,使得这两种语言的结合,起到取长补短的作用。本课题使用的是版本2,也就是NS2(Network Simulator Version 2)。本课题使用的系统环境是Fedora14,Fedora14是一个知名的Linux发行版;使用的NS2模拟软件的版本是2.33。图3-5,展示的是NS2模拟软件一体包所包含的所有工具。图3-6,展示的是ns-2.33路径。3.2.1.1 使用NS2模拟软件进行网络模拟的一般步骤在使用NS2模拟软件进行网络模拟之前,先要知道NS2模拟软件中现有的网络协议是否可以满足模拟要求10:图3-5 NS2模拟软件一体包所包含的所有工具图3-6 ns-2.33路径(1) 可以满足要求直接编写OTcl脚本进行模拟工作。(2) 不可以满足要求对NS2模拟软件进行扩展或修改,再编写OTcl脚本进行模拟工作。使用NS2模拟软件进行网络模拟的一般步骤如下:(1) 编写OTcl脚本;(2) 使用NS命令解释执行此OTcl脚本;(3) 对Trace文件进行分析,提取数据;(4) 对分析过的数据进行绘图。其中,使用OTcl脚本语言编写脚本的一般步骤如下:(1) 创建模拟器对象;(2) 设置NAM记录文件和Trace跟踪文件;(3) 设置网络拓扑结构,配置节点属性;(4) 设置代理和应用层协议;(5) 使用at过程来设置什么时间产生什么事件;(6) 使用run过程开始模拟。3.2.1.2 性能评估指标本课题使用NS2模拟软件对AODV路由协议进行模拟和性能分析,主要关心的是关于路由协议的性能评估指标。常用的路由协议性能评估指标有以下四个:u 分组投递率(Packet Delivery Ratio);u 端到端平均延时(Average Delay);u 归一化路由开销(Normalized Routing Load);u 路由发现频率(Route Discovery Frequency)。因为本课题主要是为了解决消防员的安全问题和消防员之间的音视频通信问题,所以本课题主要关心的是数据的传输量的大小,主要使用分组投递率这个性能评估指标,有针对性地进行性能评估。3.2.2 AODV路由协议的模拟本节将以AODV路由协议为例,介绍整个模拟过程的步骤,然后,通过对AODV路由协议的性能分析,引出本课题要改进的内容。3.2.2.1 模拟的步骤(1) 使用setdest工具设定各个移动节点的运动场景;setdest -n 20 -p 0 -M 7 -t 300 -x 1000 -y 1000 scene-20n-0p-7M-300t-1000-1000设置的模拟场景是一个消防现场,这个场景的具体参数如下:表3-5 模拟场景的具体参数设置项目设置参数模拟范围1000X1000平方米信道衰落模型两径衰落移动节点数20个(消防员)MAC协议802.11网卡最大通信速率54Mbps网络总连接数5对移动节点最大移动速度7m/s移动节点是否停留不停留模拟时间300秒(2) 使用cbrgen工具生成某些移动节点的传输负载;ns cbrgen.tcl -type cbr -nn 20 -seed 1 -mc 5 -rate $j.0 cbr-20n-5c-2p(3) 开始模拟;ns aodv.tcl单次模拟的过程如图3-7所示。(4) 使用gawk工具提取并分析Trace文件;awk -v outfile=ratio.temp -v scr=$i -f ratio.awk aodv.trawk -v outfile=ratio.data -v time=$j -f average.awk ratio.temp(5) 使用gnuplot将提取出来的数据绘制成图形。echo #!/bin/sh ratio.plotecho set terminal gif small ratio.plotecho set grid ratio.plotecho set output ratio.gif ratio.plotecho set ylabel Ratio(%) ratio.plotecho set xlabel CBR(kbps) ratio.plotecho set key right top box ratio.plotecho set title Packet Delivery Ratio ratio.plotecho plot ratio.data title AODV with linespoints pt 3 ps 2, ratio_2i2c.data title AODV-2i2c with linespoints pt 5 ps 2 ratio.plotg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质控护士竞聘课件
- 谓语非谓语课件
- 2025版材料智能家居产品采购与销售合同
- 2025产品集成与定制化技术服务合同范本下载
- 2025年度河道疏浚工程土石方清运劳务分包合同
- 2025版建筑结构设计咨询及优化服务合同
- 2025年教育贷款担保合同范本大全
- 2025草坪种植工程与配套灌溉系统安装合同
- 2025版电子商务平台摊位入驻服务合同
- 2025典当行股权收购与品牌建设一体化合同
- 大学生职业发展与就业指导PPT完整全套教学课件
- 监理工程师之合同管理真题练习试卷A卷附答案
- 中国石油酸化缓蚀剂标准模板
- 画法几何与机械制图全套PPT完整教学课件
- 五年级上册音乐教学计划进度
- 幼儿园红色故事绘本:《鸡毛信》 课件
- 《室内空间设计》第一章课件
- 联合国和区域性国际组织
- 部编版二年级语文上册全册完整课件
- 《循证医学》病因和不良反应研究证据的评价和应用
- 钢结构设计计算书(毕业设计)
评论
0/150
提交评论