1、分类号: U D C: 密 级: 编 号:成 都 信 息 工 程 大 学硕 士 学 位 论 文双信道 AODV 路由协议的实现姓名学号学院 通信工程学院学位类型 学术型 专业学位学习形式 全日制 非全日制学科/领域 信息与通信工程研究方向 嵌入式系统与片上系统设计校 内 教授导 师校 外成都信息工程大学硕士学位论文i双信道 AODV 路由协议的实现摘 要在一些消防现场中,消防员之间的音视频通信需求显得格外的重要,Ad-Hoc网络是一种简易的组网方法,很适合被应用于此种情况。Ad-Hoc 网络,是一种不需要依赖已有基础设施便可实现网络内任意移动节点间通信的临时自治系统,在军事和民用领域都得到了很
2、广泛的应用。AODV 路由协议,是 Ad-Hoc 网络中的一种源发起按需路由协议,是本课题所选择的并进行研究的路由协议。本文,首先介绍了本课题的研究背景及研究内容,即是为了解决一些消防现场中消防员的安全问题和消防员之间的音视频通信问题,同时提出了解决这些问题可以采用的组网方法,Ad-Hoc 网络,和可以采用的路由协议,AODV 路由协议,列出了整篇论文的整体安排。然后,简要介绍了 Ad-Hoc 网络的背景知识,和 Ad-Hoc 网络的两种类型的路由协议,着重讲解了一种源发起按需路由协议,AODV 路由协议的基本工作原理和 AODV 路由协议正常工作所需要的四种控制分组的结构,并采用 NS2 模
3、拟软件平台,搭建一个特定的消防现场,测试了 AODV 路由协议的性能表现,基于测试数据,进行分析,指出了特别需要解决的问题。然后,基于这个特别需要解决的问题,即提升网络通信容量的问题,提出了双信道 AODV 路由协议的基本思想和修改思路,其中包括需要在 NS2 模拟软件和 AODV 路由协议两方面的修改情况,根据三种不同的想法,提出了三种双信道AODV 路由协议的实现方法,它们分别是:简易双信道 AODV 路由协议、交替双信道 AODV 路由协议和主从双信道 AODV 路由协议,着重讲解了这三种双信道 AODV 路由协议算法的不同点,和它们在原始 AODV 路由协议的基础上主要修改的部分,并采
4、用 NS2 模拟软件平台,搭建与一个与前面同样的消防现场,分别测试这三种双信道 AODV 路由协议的性能表现,基于测试数据,进行综合比较分析,并指出这三种双信道 AODV 路由协议的不同点和各自的优缺点。最后,对本课题所做的工作进行一个全面的总结,针对课题组下一步的工作,提出一些建议。关键词:Ad-Hoc 网络;双信道; AODV 路由协议成都信息工程大学硕士学位论文iiThe implementation of dual-channel AODV routing protocolAbstractIn some of the fire scene, audio and video commun
5、ication 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
6、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 backgrou
7、nd 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 netwo
8、rk, 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 deman
9、d 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
10、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 t
11、he 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 rou
12、ting protocol, the difference of the three kind of dual-channel AODV routing portocols were introduced, and the major 成都信息工程大学硕士学位论文iiimodification 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
13、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 disadvanta
14、ges 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成都信息工程大学硕士学位论文iv目 录论文总页数:54 页第一章 绪论 .11.1 研究背景与研究内容 11.1.1 研究背景 .11.1.2 研究内容 .11.2 论文安排 .2第二章 Ad-Hoc 网络 .42.1 无线通信 42.1.1 有基础设施网 .42.1.2 Ad-
15、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 简易双信道 AO
16、DV 路由协议的实现与性能分析 .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 路由协议的模拟与性能分析 45成都信息工程大学硕士学位论文v4.6 综合性能分析 47第五章 结 论 .49参考文
17、献 .50作者在读期间科研成果简介 .53致 谢 .54成都信息工程大学硕士学位论文第 1 页 共 54 页第一章 绪论1.1 研究背景与研究内容1.1.1 研究背景无线通信技术从出现的时候开始就在不断地发展,特别是在最近的一些年里面,无线通信技术发展得更加迅速,因为人们想要更加方便地接入电话网络和互联网,而不是总是需要一根有线的通信线路,而且人们同时还有随时可以移动的需求。现在的手机、平板电脑和笔记本电脑都使用了无线通信技术,电话和需要插网线才可以上网的台式机使用的是有线通信技术。无线通信系统,或者说是无线通信网络,根据其结构的不同,可以分为: 有基础设施网(Infrastructure N
18、etwork) ; 无基础设施网(Infrastructureless Network,又称 Ad-Hoc 网络)。Ad-Hoc 网络最初应用于军事领域,它的研究起源于战场环境下的分组无线网数据通信项目,该项目由 DARPA 资助 1。由于 Ad-Hoc 网络具有不需要基础设施就能够组织网络的特点,所以它经常被使用在灾难救助等恶劣的通信环境下,比如某些地方发生了洪水、地震或者火灾等情况,基础设施已经被破坏,需要快速地组织起网络进行通信,Ad-Hoc 网络可以完成这个任务,保障救援工作的顺利进行。在 Ad-Hoc 网络这个研究背景下,产生了本课题的研究内容,下面将具体介绍。1.1.2 研究内容本
19、课题主要是为了解决消防现场的两个问题而产生的: 消防员的安全问题; 消防员之间的音视频通信问题。针对消防现场的消防员安全问题。当消防员发生险情而无法自救时,现场指挥部要及时确认遇险消防员的地理位置,以便及时施救。有关消防现场消防员的定位问题,可以采用自主惯性导航的方案,就像早期的自主惯性导航定位导弹技术,通过消防员移动的加速度的积分得到空间三维坐标位置。由于是自主导航定位,所得坐标位置将直接显示在消防员携带的设备上,这里本文将它称为单人设备,单人设备需要用无线通信的方法将其坐标信息传送给现场指挥部。针对消防现场的消防员之间的音视频通信问题。当消防员们身处一个消防现场的不同位置进行作业的时候,他
20、们需要实时地成都信息工程大学硕士学位论文第 2 页 共 54 页互相沟通各自所处地点的情况,同时也要让现场指挥部实时了解现场的具体情况,以便进行高效地抢险指挥调度,这就需要单人设备在可以传输坐标信息的同时,也具有传输音视频信息的功能。由于消防现场情况复杂,难以找到一个无线通信方案能完美地实现各单人设备之间直接传送信息的问题,为解决该问题,本课题选用了 Ad-Hoc 网络。经过一段时间的调研,课题组为 Ad-Hoc 网络选择了两种较为常用的路由协议: AODV 路由协议; OLSR 路由协议。原因是这两种路由协议在书籍和网络上有较多的资源可以使用,方便构建实验测试平台。第一步的任务就是找到这两种
21、路由协议的开源代码,并在 PC 平台、嵌入式硬件平台、安卓智能手机平台等环境下移植运行,验证其可行性;第二步的任务是改善这两种路由协议的性能,以便适应针对消防现场的应用需求。现阶段,AODV 路由协议和 OLSR 路由协议两种路由协议已经在 PC 平台、嵌入式硬件平台运行成功,其可行性已经得到了验证,第一步的任务已经基本完成,下面要进行的是第二步的任务,改善这两种路由协议的性能,以便适应针对消防现场的应用需求。在这第二步的任务中,本人负责的课题任务的主要内容是:选取 AODV 路由协议作为本人所要研究的路由协议,对 AODV 路由协议进行改进,测试改进后的AODV 路由协议的性能表现。本人通过
22、对 Ad-Hoc 网络和 AODV 路由协议一段时间的调查研究,决定采用使用双信道的方式对 AODV 路由协议进行改进,本文称之为双信道 AODV 路由协议。1.2 论文安排本文主要是对本人的课题任务的各个阶段的完成情况进行记录和描述,具体的章节安排如下:(1) 第一章是绪论,介绍了本课题的研究背景及研究内容,介绍了整篇论文的整体安排;(2) 第二章介绍了 Ad-Hoc 网络的基础知识,介绍了 Ad-Hoc 网络的两种类型的路由协议;(3) 第三章介绍了 AODV 路由协议的基本原理,并测试了 AODV 路由协议的性能表现,然后基于测试数据,进行分析;成都信息工程大学硕士学位论文第 3 页 共
23、 54 页(4) 第四章介绍了双信道 AODV 路由协议的基本修改思路,介绍了需要在NS2 模拟软件和 AODV 路由协议两方面的修改情况,并提出了三种双信道AODV 路由协议的实现方法,然后分别测试这三种双信道 AODV 路由协议的性能表现,然后基于测试数据,进行比较分析;(5) 第五章是结论,对本课题所做的工作进行一个全面的总结,并针对课题组下一步的工作,提出一些建议。成都信息工程大学硕士学位论文第 4 页 共 54 页第二章 Ad-Hoc 网络本文通过无线通信的概念来慢慢引出 Ad-Hoc 网络的概念。2.1 无线通信有线通信就是通过有线的通信线路进行传递信息的一种通信方式。现在所说的无
24、线通信,区别于有线通信,就是使用电磁波在空间中的传播来传递信息的一种通信方式,而不是使用有线的通信线路。因为无线通信所采用的传输媒介是电磁波,所以无线通信的特点是: 广播性; 信道特征随空间变化; 信道特征随时间变化; 传输距离有限; 多径效应; 相互之间干扰。采用无线通信技术的通信系统叫做无线通信系统,无线通信系统是整个通信系统的一个组成部分,从整个通信系统来看,无线通信系统经常会使用在通信网络的末端,用来解决移动终端的接入问题,也就是“最后一公里”问题 2。在最近的一些年里面,无线通信技术得到了迅速地发展,因为人们想要更加方便地接入电话网络和互联网,而不是总是需要一根有线的通信线路,而且人
25、们同时还有随时可以移动的需求。现在的手机、平板电脑和笔记本电脑都使用了无线通信技术,电话和需要插网线才可以上网的台式机使用的是有线通信技术。无线通信系统,或者说是无线通信网络,根据其结构的不同,可以分为: 有基础设施网(Infrastructure Network) ; 无基础设施网(Infrastructureless Network,又称 Ad-Hoc 网络)。2.1.1 有基础设施网有基础设施网就是一种网络,移动终端接入这种网络是需要有基础设施的支持的,而这些基础设施是被预先规划和布设的。有基础设施网是对有线通信网络的一种扩展 3,所谓的基础设施指的就是基站(BS ,Base Stati
26、on)或接入点(AP,Access Point),有线通信网络的末端连接基站或接入点,每个基站或接入点负责协调和解决其覆盖范围内的移动终端接入网络的问题。蜂窝移动通信网络就是最典型的有基础设施网,基站就是基础设施,手机就是移动终端。手机如果需要接打电话或收发短信的时候,自身必须要在某个基站的覆盖范围内。成都信息工程大学硕士学位论文第 5 页 共 54 页蜂窝移动通信网络如图 2-1 所示。图 2-1 蜂窝移动通信网络有基础设施网,因为本课题没有应用,所以本文不做更加详细地介绍。而无基础设施网,本文将进行详细地介绍。2.1.2 Ad-Hoc 网络无基础设施网又称为 Ad-Hoc 网络,Ad-Ho
27、c 这个词来源于拉丁语,本来的意思是“for this”,就是“向这个” ,可以引申为“for this purpose only”,就是“专门为某一特定目的的,即兴的,事先未准备的” ,就是说 Ad-Hoc 网络是一种有特殊用途的网络 4。区别于有基础设施网,在 Ad-Hoc 网络中,没有预先布设的基础设施,所有的移动终端,也称之为移动节点,既是通信节点,又是路由节点,当两个移动节点有互相通信的需求,但是却超出了可以直接通信范围的时候,可以依靠其他移动节点充当路由节点进行数据分组的转发,这时,这些起到中继作用的路由节点也叫做中间节点。Ad-Hoc 网络如图 2-2 所示。由于 Ad-Hoc
28、网络具有不需要基础设施就能够组织网络的特点,所以它经常被使用在灾难救助等恶劣的通信环境下,比如某些地方发生了洪水、地震或者火灾等情况,基础设施已经被破坏,需要快速地组织起网络进行通信,Ad-Hoc 网络可以完成这个任务,保障救援工作的顺利进行。成都信息工程大学硕士学位论文第 6 页 共 54 页图 2-2 Ad-Hoc 网络2.1.2.1 Ad-Hoc 网络的特点(1) 多跳性在 Ad-Hoc 网络中,当两个移动节点有互相通信的需求,但是却超出了可以直接通信范围的时候,可以依靠其他移动节点充当路由节点进行数据分组的转发,这时,这些起到中继作用的路由节点也叫做中间节点,而传输的数据分组就好像是踩
29、着这些中间节点进行跳跃一样,所以称之为多跳。多跳性如图 2-3 所示。图 2-3 多跳性(2) 网络拓扑的动态性由于 Ad-Hoc 网络中的移动节点可以比较随意地移动,无线信道的干扰也在随时发生着变化,所以 Ad-Hoc 网络的拓扑结构也在随时发生着变化,而且是难成都信息工程大学硕士学位论文第 7 页 共 54 页以预测到的 5。(3) 分布式控制Ad-Hoc 网络是无基础设施网,而基础设施的一个作用就是控制移动节点的一些行为,由于 Ad-Hoc 网络没有基础设施的控制,所以各个移动节点只能采用分布式的控制方式进行工作 3。(4) 平等性在 Ad-Hoc 网络中,每个移动节点都是处于相同地位的
30、,没有上下级的关系,各个移动节点采用分布式的控制方式进行工作。(5) 自组织性Ad-Hoc 网络不依赖于基础设施的支持,完全依靠移动节点自己组织起网络进行通信。(6) 带宽受限在 Ad-Hoc 网络中,采用的是无线通信技术,与有线通信技术相比,无线通信技术具有较低的传输带宽,无线信道的干扰也比有线信道的大,而且多个移动节点还要采用竞争的方式来使用信道。(7) 链路的单向性在 Ad-Hoc 网络中的一对移动节点之间可能存在单向链路,例如移动节点 A发送的分组,移动节点 B 可以正确接收;而移动节点 B 发送的分组,移动节点A 不一定可以正确接收,其原因可以是多方面的,比如:发送功率不同或者信道干
31、扰等。单向链路的情况如图 2-4 所示。图 2-4 单向链路(8) 能量受限Ad-Hoc 网络中的移动节点一般需要使用电池来提供能量,而电池的电量总成都信息工程大学硕士学位论文第 8 页 共 54 页是有限的,等到电量用尽的时候,这个移动节点将会停止工作,并在 Ad-Hoc 网络中消失。2.1.2.2 Ad-Hoc 网络的路由协议路由协议是 Ad-Hoc 网络中一个重要的研究方向,如何评估并选择一个合适的路由协议是 Ad-Hoc 网络应用的关键。本课题要做的就是选择路由协议,改进路由协议,并且评估路由协议。Ad-Hoc 网络的路由协议的主要功能如下: 路由发现(Route Discovery)
32、; 路由维护(Route Maintenance)。理想的 Ad-Hoc 网络路由协议应该具有以下特点: 采用分布式路由算法; 具有自适应能力; 无环路; 控制开销少; 具有可扩展性。Ad-Hoc 网络的路由协议根据路由发现的策略不同可以分为: 表驱动(Table Driven)路由协议 6: DSDV(Destination Sequenced Distance Vector Routing); WRP(Wireless Routing Protocol); OLSR(Optimized Link State Routing); CGSR(Cluster Head Gateway Switc
33、h Routing)。 源发起按需(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 无线局域网本课题所做的工作就是组建一个无线局域网,所以下面介绍一些无线局域网的基础知识。无线局域网是一种特殊的网络,它既支持有基础设
34、施网也支持 Ad-Hoc 网络。无线局域网(WLAN,Wireless Local Area Networks)是一类无线通信系统的简成都信息工程大学硕士学位论文第 9 页 共 54 页称,没有严格的定义,在最近的一些年里面,WLAN 技术的使用越来越普遍,如手机、平板电脑和笔记本电脑等电子设备,都使用了 WLAN 技术,它提供给人们在一定范围内可移动并且可连接的自由,WLAN 终端的普及得益于它们的方便性,廉价性和连接的简易性,现在越来越多的电子设备在设计的时候都预制了无线网卡,这种趋势,加速了 WLAN 技术的应用,并且随着用户的需求越来越大,加速了用户对带宽提升的要求。2.2.1 无线局
35、域网的特点 使用无需授权的开放频段; 覆盖范围较小; 数据通信速率较高; 不支持高速移动; 同时适用于有基础设施网和无基础设施网。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)
36、 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 之上发展起来的一项技
37、术,可以工作在 2.4GHz 和 5GHz 两个频段,数据速率最大可达 600Mbit/s,并且可以根据信道情况自动调整传输速率。成都信息工程大学硕士学位论文第 10 页 共 54 页第三章 AODV 路由协议与性能分析3.1 AODV 路由协议AODV 路由协议,是一种源发起按需路由协议,具有很多优点: 当网络拓扑结构发生变化时能够快速收敛 11; 具有断路的自我修复功能; 算法计算量小; 资源消耗小; 对网络带宽的占用小。3.1.1 AODV 路由协议的工作原理AODV 路由协议在工作时,主要包含以下过程: 路由发现过程; 路由维护过程; 邻居管理过程。在 AODV 路由协议的工作过程中,
38、移动节点之间的互相交流是通过控制分组来实现的,AODV 路由协议定义的控制分组类型主要有: 路由请求分组(RREQ 分组); 路由应答分组(RREP 分组); 路由错误分组(RERR 分组); Hello 分组。3.1.1.1 路由发现过程 12AODV 路由协议使用路由请求和路由应答机制来完成路由发现过程。路由请求分组就是 RREQ 分组,路由应答分组就是 RREP 分组。移动节点对于 RREQ 分组的处理过程如图 3-1 所示。当某个移动节点接收到一个 RREQ 分组的时候,首先判断这个 RREQ 分组是不是自己产生的。如果不是自己产生的,然后判断是不是已经接收到过了,也就是说重复收到了。
39、如果是第一次收到的,就查找路由表,看看源节点的序列号是不是大于本节点原来保存有的源节点的序列号,或者是两个序列号一样,但是这个 RREQ 分组包含的跳数较小。如果源节点的序列号大于本节点原来保存有的源节点的序列号,或者是两个序列号一样,但是这个 RREQ 分组包含的跳数较小的话,那么就更新自己的路由表信息;如果不是这种情况的话,判断自己是不是目的节点,或者自己有没有到达目的节点的最新路由。如果自己是目的节点,或者自己有到达目的节点的最新路由的话,就返回 RREP 分组;如果不是这种情况的成都信息工程大学硕士学位论文第 11 页 共 54 页话,就广播该 RREQ 分组。图 3-1 RREQ 分
40、组处理流程图移动节点对于 RREP 分组的处理过程如图 3-2 所示。当某个移动节点接收到一个 RREP 分组的时候,将这条可用路由插入自己的路由表中,然后判断自己是不是源节点。如果自己不是源节点,就转发该 RREP成都信息工程大学硕士学位论文第 12 页 共 54 页分组。图 3-2 RREP 分组处理流程图3.1.1.2 路由维护过程 20如果路由中的某个链路断裂的话,这个链路上端的移动节点将会注意到这个情况,并根据用户的设定,判断是否符合本地修复的条件:(1) 符合条件进行本地修复。(2) 不符合条件该移动节点将路由链路断裂的信息(RERR 分组)广播到所有可能受到影响的上游节点。移动节
41、点对于 RERR 分组的处理过程如图 3-3 所示。当某个移动节点接收到一个 RERR 分组的时候,首先判断自己是不是有路由受到了影响。如果有路由受到了影响,就将该路由设置为无效,就是不可用了。3.1.1.3 邻居管理过程在 AODV 路由协议中,移动节点通过周期性地广播 Hello 分组,来让其他的移动节点判断某个路由链路的连通性 21。Hello 分组的生存时间 TTL 的值是 1,就是说一个移动节点只能将它的 Hello 分组传输给它的邻居节点,而它的邻居节点不会再将这个 Hello 分组传输给其他移动节点。成都信息工程大学硕士学位论文第 13 页 共 54 页图 3-3 RERR 分组
42、处理流程图移动节点对于 Hello 分组的处理过程如图 3-4 所示。图 3-4 Hello 分组处理流程图当某个移动节点收到一个 Hello 分组后进行判断:(1) 是新邻居添加此邻居条目。(2) 是老邻居成都信息工程大学硕士学位论文第 14 页 共 54 页这个邻居节点与自己依然保持着连接,更新对于此邻居节点的定时器。如果某个移动节点在一定时间(这个时间是根据用户的设置的)内收不到它的某个邻居节点传输给它的 Hello 分组,则认为该邻居节点与自己不再保持连接,而以该邻居节点为下一跳的路由就算是失效了 22。3.1.2 控制分组的结构因为后面有用到控制分组结构的内容,所以,下面将分别详细介
43、绍这四种控制分组的结构。Hello 分组是 RREP 分组的一个特例,本文把 Hello 分组也作为一种控制分组。3.1.2.1 RREQ 分组结构表 3-1 RREQ 分组结构变量类型 变量名称 变量含义u_int8_t rq_type 分组类型u_int8_t reserved2 保留u_int8_t rq_hop_count 跳数的记录u_int32_t rq_bcast_id 广播 IDnsaddr_t rq_dst 目的节点 IP 地址u_int32_t rq_dst_seqno 目的节点序列号nsaddr_t rq_src 源节点 IP 地址u_int32_t rq_src_seq
44、no 源节点序列号double rq_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 为源节点的序列
45、号。rq_timestamp 记录RREQ 分组产生的时刻。RREQ 分组在转发的过程中,只有 rq_hop_count 在依次加 1,其他不变。转发通过 forward()函数来实现。RREQ 分组的 IP 头部,saddr()设置为本节点的 IP 地址,每个转发 RREQ 分组的移动节点都把此函数的返回值设置为其自身的 IP 地址。daddr()设置为IP_BROADCAST,即广播的意思。RREQ 分组的公共头部,prev_hop_ 设置为本节点的 IP 地址,就是产生成都信息工程大学硕士学位论文第 15 页 共 54 页RREQ 分组的源节点的 IP 地址。3.1.2.2 RREP 分
46、组结构表 3-2 RREP 分组结构变量类型 变量名称 变量含义u_int8_t rp_type 分组类型u_int8_t reserved2 保留u_int8_t rp_hop_count 跳数的记录nsaddr_t rp_dst 目的节点 IP 地址u_int32_t rp_dst_seqno 目的节点序列号nsaddr_t rp_src 本节点 IP 地址double rp_lifetime 生存时间double rp_timestamp 时间戳RREP 分组是由 sendReply()函数产生的。其 rp_type 为AODVTYPE_RREP。rp_hop_count 用来记录路由请
47、求一路上所经历的跳数。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 地址,可
48、以是 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。DestCoun
49、t 记录不可达节点个数。unreachable_dst 数组记录不可达节点列表。unreachable_dst_seqno 数组记录不可达节点序列号列表。成都信息工程大学硕士学位论文第 16 页 共 54 页表 3-3 RERR 分组结构变量类型 变量名称 变量含义u_int8_t re_type 分组类型u_int8_t reserved2 保留u_int8_t DestCount 不可达节点个数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