1、I I目录摘要 IIIABSTRACT V第 1 章 绪论 .- 1 -1.1 无线自组网的产生和发展 .- 1 -1.2 无线自组网的特征 .- 1 -1.3 无线自组网应用领域 .- 2 -1.4 无线自组网体系 结构 .- 2 -1.5 文章研究内容 - 3- 1. 6 本文研究的应用 - 3-第 2 章 AD-HOC 网络的路由协议分类 .- 7 -2.1 表驱动路由协议 - 7 -2.2 单路径和多路径 .- 9 -2.3 几种典型的无线自组网路由协议 - 11 -2.3.1 目的序列距离矢量路由协议 DSDV.- 11 -2.3.2 按需平面距离矢量路由协议 AODV.- 12 -
2、2.3.3 临时排序路由算法 TORA.- 13 -2.4 路由协议性能评标准 - 13 -第 3 章 网络模拟器 NS2 - 15 -3.1 NS2 简介 .- 15 -3.2 NS2 组成部分 .- 17 -3.3 NS2 模拟基本流程 .- 18 -第 4 章 AD HOC 网络多路径仿真研究 - 21 -4.1 多路径 协议介绍 - 21 -4.1.1 AOMDV 协议 .- 21 -4.1.2 移动节点的创建 - 22 -4.1.3 多路径 计算 .- 22 -4.2 无线自 组网路由模拟的实现 .- 23 -66II4.2.1 其他多路径路由协议 - 23 -4.2.2 TCP 代
3、理的创建和设置 - 23 -4.2.3 仿真参数的设置 - 23 -4.3 仿真结果分析 - 24 -4.3.1 动画演示工具 nam.- 24 -4.3.2 无线 Trace 文件格式 - 24 -4.3.3 数据分析工具 gawk- 26 -4.3.4 绘图 工具 gnuplot.- 26 -4.3.5 仿真结果分析 - 27 -第 5 章 总结和展望研究总结 - 33 -参考文献 .- 35 -致 谢 - 37 -摘要I I摘要移动 Ad Hoc 网络由一组由无线收发装置的移动节点组成的一个多跳的、不需要固定中心接入点的自治系统。网络搭建方便,不需要基础设施,并且网络节点地位对等,可以自
4、由移动。Ad hoc 网络在现代社会越来越多的运用于各个领域,如军事、医学、空间探测等。无线 Ad hoc 网络作为一种典型的自组织网络,其路由协议一直是研究的重点。Ad Hoc 网络的特殊性使得传统有线网络的技术无法在 Ad Hoc 网络使用,因此需要设计新的协议和技术,如 MAC 协议,路由技术,QoS 体系,安全技术,信道接入技术等。本文通过网络仿真软件 NS-2 以仿真 AOMDV 协议为例介绍了 NS-2 仿真路由协议的详细步骤,并给出了 DSR、DSDV、AODV 三种路由协议的仿真结果图和一些性能分析。关键词:Ad hoc 网络,NS-2 仿真,DSDV 协议,DSR 协议,AO
5、MDV 协议电子科技大学成都学院毕业设计66IIABSTRACTThe mobile Ad Hoc network is an autonomous system, which is multi-hopped and with no fixed center access points, consisting of a set of mobile nodes of wireless transceiver. Network established without any aid of infrastructure is convenient and also has equivalent no
6、de status which are free to move. The Ad Hoc is widely used in many fields such as military, medicine and space exploration etc. The routing protocol is always the focus of Ad Hoc as a typical self-organized network. The reason designing new agreement and specification such as MAC protocol, routing
7、protocol, QoS system, security technology, channel access technology etc is the particularity which makes the traditional wired network not available. In this paper, NS-2 network simulation software to simulate AOMDV agreement as an example of the NS-2 simulation routing protocol detailed steps, and
8、 gives the DSR, DSDV, AODV simulation results of three routing protocols and some performance analysis chart.Key words: Ad Hoc network ,Simulation,NS-2,DSDV,AOMDV,DSR,Agreement绪论- 1 -第 1 章 绪论1.1 无线自组网的产生和发展“Ad Hoc”一词来源于拉丁语,意思是“ 专用的、特定的” 。无线自组网通常也可称为“无固定设施网 ”或“自组织网”。由于组网快速、灵活、使用方便,目前无线自组网已经得到了国际学术界和工
9、业界的广泛关注,其应用也越来越广泛,已经成为移动通信技术向前发展的一个重要方向,将在未来的通信技术中占据重要地位。无线自组网的前身是分组无线网(Packet Radio Network,PRNET),对分组无线网的研究源于军事通信的需要。早在 1972 年,美国的 DARPA 就启动了分组无线网项目PRNET,研究战场环境下利用分组无线网进行数据通信。在此之后,DARPA 于 1983 年启动了高残存性自适应网(Survivable Adaptive Network,SURAN)项目,研究如何将 PRNET的研究成果加以扩展,以支持更大规模的网络,1994 年,DARPA 又启动了全球移动信息
10、系统(Global Mobile Information Systems,GloMo) 项目,旨在对能够满足军事应用需要的、高抗毁性的移动信息系统进行全面深入的研究。1991 年成立的 IEEE 802.11 标准委员会采用了“Ad Hoc” 一词来描述这种特殊的自组织对等式多跳移动网络,无线自组网就此诞生。IETF 专门成立了(Mobile Ad Hoc Network,MANET) 小组来研究无线自组网的相关问题 1。1.2 无线自组网的特征无线自组网由一组带有无线通信收发装置的移动终端节点组成,网络中每个终端可以自由移动且地位相等,是一个多跳、临时、无中心网络,因此它具有以下主要特征:(
11、1)自组织:即网络的布设无需依赖于任何预先架设的网络设施。节点开机后就可以快速、自动地组成一个独立的网络。(2)动态拓扑:即网络中的节点可以任意移动,并且可以随时关闭电台。发送装置的天线类型多种多样,发送功率的变化,无线信道间的相互干扰,地形和天气等综合因素的影响,造成网络的拓扑结构变化难测。(3)多跳路由:由于节点发射功率的限制,节点的覆盖范围是有限的。当要与其覆盖范围之外的节点进行通信时,需要中间节点的转发,即要经过多跳才能到达目的节点。电子科技大学成都学院毕业设计66- 2 -(4)无中心且所有节点地位平等:节点可以随时加入或离开网络,任意节点故障不会影响整个网络运行,是一个无中心结构的
12、对等式网络,抗毁性强。(5)灵活性好:无线自组网中的工作站可以随时加入或离开,这对于一些根据需求而需要随时组建网络的应用非常适合。1.3 无线自组网应用领域由于无线自组网的特殊性,它适合用于无法或不便预先铺设网络设施的场合,以及其他需要快速自动组网的场合等。目前为止,其主要的应用领域有:(1)军事应用:军事应用是无线自组网技术的主要应用领域。因其特有的无需架设网络设施、可快速展开、抗毁性强等特点,无线自组网是数字化战场通信的首选技术。(2)无线传感器网络:传感器网络是无线自组网技术应用的另一大领域。采用传感器网络能够跟踪从天气到企业商品库存等各种动态事物,极大的扩充互联网的功能。对于很多应用场
13、合来说传感器网络只能使用无线通信技术,并且传感器的发射功率很小。分散的传感器通过无线自组网技术组成一个网络,可以实现传感器之间和与控制中心之间的通信。(3)个人通信:个人局域网(Personal Area Network,PAN)是无线自组网技术的又一应用领域,用于实现 PDA、手机、掌上电脑等个人电子通信设备之间的通信,并可以构建虚拟教室和讨论组等崭新的移动对等(Mobile Peer-To-Peer)应用。(4)移动会议:在室外临时环境中,工作团体的所有成员可以通过无线自组网方式组成一个临时网络来协同完成一项大的任务,或协同完成某个计算任务。在室内办公环境中,办公人员携带的包含无线自组网收
14、藏器的 PDA 可以通过无线方式自动从台式机上下载电子邮件,更新工作日程表等。(5)其他应用:可应用于紧急和突发场合,如在发生了地震、水灾、火灾或遭受其它灾难后,固定的通信网络设施无法正常工作的情况下组建无线自组网。还可与蜂窝移动通信系统等现有移动通信系统相结合,利用移动的多跳转发能力来扩展现有蜂窝移动通信系统的覆盖范围等。1.4 无线自组网体系结构参照 OSI/RM,无线自组网体系结构如图 2.1 所示 2。绪论- 3 -图 2.1 无线自组网体系结构下面介绍各层的基本情况:(1)物理层:物理层包括射频(RF)电路、调制和信道编码系统。 IEEE802.11b/a/g、蓝牙(Bluetoot
15、h) 和超宽带(LJwB:ultr-awideband)等规范都是具体的物理层协议。(2)数据链路层::数据链路层负责在不可靠的无线链路上建立可靠和安全的逻辑链路。其分为逻辑链路控制子层(LLC)和媒介访问子层(MAC)。以 IEEE802.11 为例,其LLC 子层负责无线链路差错控制、流量控制、将网络层的分组组帧以及重传等,而 MAC子层负责节点对无线媒介访问的控制和帧的加解密操作等。(3)网络层:网络层负责分组的路由,建立网络服务类型以及在传输与链路层之间传输分组。考虑到无线自网的动态性,网络层需要负责分组的重新路由和移动管理等。无线自组网在网络层的一个重要问题是路由协议。(4)传输层:
16、传输层负责提供端到端的可靠数据传输服务。然而,由于无线链路的不稳定,传统的有线网传输层协议,在无线环境下性能下降明显,所以必须改进。(5)应用层:无线自组网的应用层指定的是各种各样类型的业务。在实际实施的时候,可以采用各种各样的应用层协议和标准,比如 WAP(无线应用协议)协议等。1.5 文章研究内容1、查阅 Ad Hoc 路由协议文献,了解典型多路径路由协议工作原理,并了解其优缺点;2、深刻理解 AOMDV 协议的实现过程和所需条件;3、通过 NS2 仿真实现 AOMDV 协议;电子科技大学成都学院毕业设计66- 4 -1.6 本文研究的应用Ad Hoc 网络的许多特点使它能应用于民用和军事
17、等领域。首先网络的自组性为网络快速部署提供了可能。其次,网络多跳转发的特点可以在不降低网络覆盖范围的条件下减少每个终端的发射功率,从而为移动终端的小型化、低功耗提供了可能。从无线信道共享的角度来看,Ad Hoc 网络降低了信号冲突的概率,提高了信道利用率。另外,网络的抗毁性、鲁棒性满足了某些特定应用的需求。目前,Ad Hoc 网络主要应用场合包括:军事应用紧急和突发场合偏远野外山区移动会议和临时场合个人通信和网络商业应用 Ad-hoc 网络的路由协议分类- 1 -第 2 章 Ad-hoc 网络的路由协议分类由于 Ad hoc 网络的无线多跳转发、移动、带宽以及能量受限等特点,如何设计良好的路由
18、策略是建立 Ad Hoc 网络的关键问题。目前 MANET WG 已经提出了许多协议草案,如 DSR、AODV、ToRA、 ZRP 等。此外,国内外研究人和机构也发表了许多关于 Ad Hoc 网络路由协议的学术论文,比如DSDV、WRP、QAODV 、FSR、LANMAR、EAODV 等。这些路由协议根据路由建立的方和时间可以分为表驱动路由策略(TableDrive)和按需路由策略 (OnDemand)两大类,如图3.1 所示Ad Hoc 路由协议表驱动路由 按需路由协议DSDV WRP DSR AODV TORA ZRP图 2.1 Ad hoc 路由协议分类2.1 表驱动路由协议表驱动路由协
19、议的路由发现策略与传统的路由协议类似,各移动节点通过周期性地广播路由信息分组来交换路由信息、主动发现路由。同时,节点必须维护到达网内所有节点的路由。它的优点是当节点需要发送数据分组时可以快速得到准确的路由信息,所需要的延时小;缺点是需要大量的控制分组来尽可能保证路由的更新能够即时反应当前拓扑结构的变化,花费开销较大;而且,动态变化的拓扑结构可能使得这些路由更新变成过时的信息,路由协议将一直处于不收敛状态,不适合应用于无线网络。在早期的自组网路由协议的研究中,主要思路是修改有线网络的路由协议用以适应在自组网环境中运行。这些路由协议大部分属于表驱动路由协议。下面将介绍几种典型的表驱动路由协议。电子
20、科技大学成都学院毕业设计66- 2 -DSDV(Destination Distance Sequence Vector)是一种基于 Bellman Ford 算法的主动路由协议。它被认为是最早的 Ad Hoc 网络路由协议。 DSDV 是一种无环路矢量距离路由协议,它是对传统的 Bellman-Ford 路由协议的改进:每个路由中加上一个由目的节点产生的序列号。网络中每个节点都保留自己的序列号,在每次向相邻节点发送更新消息时增加。序列号用来区分路由的新旧程度,防止可能产生的环路。对于具有相同序号的路由,则采用具有较小度量标准的路由。DSDV 的主要设计思想如下:路由通告:各节点周期性地向邻居
21、节点通告其最新的路由表,它没有采用洪泛广播的方式向网络中的所有节点进行通告。路由表格式:每个节点需要维护一张路由表,路由表项包括:目的地址、到达目的地址的度量值( 跳数) 和目的地址相关的序列号(用来区分路由的新旧)。链路断裂机制:如果在相当长的一段时间内收不到邻居节点的广播消息,则可推断链路断裂,并在较短的时间内将链路的断裂消息通知到各个节点;同时,MAC 层实体也可检测到。路由选择准则:DSDV 采用的路由选择的准则为:序列号新或度量值小。节点的路由信息通告是异步时间,节点可能先接收到度量值大的路由信息,更新路由的下一跳,当收到新的度量值小的路由信息时,即使目的节点没有变化,也会更新路由的
22、下一跳节点,这种现象导致需要通告路由表项的频繁波动。DSDV 采用的方法是维护两张表,一是广播表,二是转发表。广播表项设置一个“平均通告时间间隔” 字段,该字段是对该表项在一段时间内通告时间间隔的加权平均。当收到一个新的网络变更消息时,查询广播表的相应表项的“ 平均通告时间间隔 ”字段,决定是否进行广播。WRP(Wireless Routing Protocol)路由协议是一个基于算法主要是对路径发现算法PFA(Path Finding Algorithm)的改进。它利用到达目的节点的路径长度和相应路径的倒数第二跳节点信息来加速路由协议的收敛速度,改善路由环路问题。每个节点需要维护四张表,包括
23、:距离表、路由表、链路费用表和消息重发列表(MRL)。其中 MRL 可包括多个重发表项,每个表项包括更新消息的序号、重发计数、ACK 标志、更新消息列表等信息。WRP 通过发送 ACK 实现可靠传输,节点通过接收 ACK 和其它消息来测试其邻居节点是否存在。如果节点没有传输数据任务,则周期性地发 HELLO 消息来测试其与邻居节点的连通性。如果在一定时间内收不到某邻居节点的任何消息,则可以认为与邻居节点的链路出现了故障;当有新的邻居节点时,把自己的路由表通知给新的节点。WRP 对PFA 的改进之处在于当节点 i 监测到与邻居节点 j 的链路发生变化时,节点 i 会检查所有Ad-hoc 网络的路
24、由协议分类- 3 -邻居节点的倒数第二跳节点信息的一致性,而 PFA 只会检查节点 j 的倒数第二跳节点信息的一致性。这种改进可以进一步地减少出现环路的次数,加快算法的收敛速度。2.2 单路径和多路径传统 Ad Hoc 网络单路径路由Ad Hoc 移动网络中单路径路由主要分成基于表驱动的被动路由,2j( 如DSDV(Destination-SequencedDistance-VectorRouting)和按需主动路由协议 (如DSR(DynamicSourceRouting)J,AODV(AdHocOnDemandDistanceVectorRouting)两种。被动路由跟传统 Intemet
25、 网络中的距离矢量算法类似,都是通过节点周期性交换路由表来实现的,只需稍做修改便可用于AdHoc 移动网络。主动路由一般都基于按需路由方式,通过泛洪广播实现,主要分为路由发现(RD:RouteDiscovery) 和路由维护(RM:RouteMaintenance)两个阶段。DSDV 协议 DSDV 协议是一种基于 Bellman-Ford 路由机制的,表驭动路由协议,是为移动 AdHoc 网络制定的。最早的路由协议之一。每个节点都维护一张路由表,节点通过与目的节点相关的序列号判断路由的新旧,并依此避免路由环路的产生。每个节点周期性的将自己的路由表广播给其邻节点,其邻节点根据收到的路由表来更改
26、自己的路由表。DSR 协议动态资源路由协议 DSRl3 是用于移动节点多跳无线 AdHoc 网络的简单和有效的主动路由协议。使用 DSR 时,网络是自组织和自配置的,要求无既定的网络结构和管理。DSR 协议有两个主要的机制路由发现和路由维护一起工作,以实现 AdHoc 网络中源路由的发现和维护。路由发现。路由发现阶段主要由路由请求和路由响应两个阶段组成。只有当源节点s 试图向目的节点 D 发送数据,并且尚不知道 S 和 D 之间的路由时,启动路由发现机制。具体包括 RREQ(Routerequest)分组对各节点对 RREQ 分组的处理,对信宿的路由回答RREP(Routereply)。路由维
27、护。如果网络拓扑发生改变比如说链路中断导致 S 和 D 之间的路由无法再使用,此时启动路由维护十 JL 制。DSR 协议通过 MAC 层检测到链路断开,节点将“路由错误分组”RREQ 到发送信源,信源节点将删除该路由,重新进行路由发现,称为“逐跳MAC 确认” 的网络。此外还有“逐跳 MAC 不确认”的网络和利用“端到端确认”的路由维护。DSR 不使用任何定期路由广告、链路状态感应、或者是邻居检测数据包,也不电子科技大学成都学院毕业设计66- 4 -会依赖网络的下一层得到这些功能。DSR 使用外部“源路由” ,即当要发一个数据包时,该数据包所需要经过的所有节点序列均包含在该数据包的包头中。AO
28、DV 协议。AODV 路由协议是由 DSDV 改进得到的,与 DSDV 不同,它是按需路由协议。AODV 采用逐跳转发。报文的方式。另外 AODV 还支持组播路由和支持QoS,其缺点是不支持单向信道,原因是路由回答报文。直接沿着路由请求的反向回到源节点。AODV 协议由路由发现过程和路由维护过程组成。单路径评价及问题分析。单路协议的优势在于它的简单性。但是这种简单性从根本上限制了单路协议性能的提升空间。Ad Hoc 网络中的带宽、节点能量等资源是相当有限的。同时,在链路上以及在路由器处的拥塞,也是造成 Ad Hoc 网络中较大延迟的主要原因。在 Ad Hoc 网络中使用单路路由协议,如果目的节
29、点相同的数据包全部都在同一条路径上发送,当某条链路拥塞或者断开时,通过该链路发送的所有数据就都必须由新的路径发送,网络不能在轻载时充分利用资源,不能当网络发生拥塞或者链路断开时也较好地重新选择合适路径。在最近 Ad Hoc 路由研究中,人们提出了多路径路由方法来解决上述问题。多路径协议介绍。多路路由是指为任意一对节点同时提供多条可用的路径,并允许节点主机 或应用程序) 选择如何使用这些路径。多路路由算法为节点间提供多条路径,并确保发往其中一条路径的数据经由该路径到达目的地。多路路由网络是其中的路由器执行多路路由算法的网络。从理论上证明了按需多路径拥有较长的路径存活时间和更可靠路由信息,而且拥有
30、良好的性能,并能减少部分拥塞。因此近年来多路径研究得到广泛关注,主要分为 2 大类:多路径被动路由(如 DSDVM(Destination-Se-quencedDistanceVectorRoutingMultipath) 和多路径主动路由协议 (SMRJ7j,AOMDVJ)。如基于被动路由 DSDV 基础上扩展 DSDVM 通过修改内部数据结构等方法获取多路径支持;基于主动路由 DSR 扩展的 SMR,通过修改 DSR 路由发现机制,并通过目的节点获取最大不相交路径;出了基于 AODV 协议的多路径协议 AOMDV。DSDVM 协议 DSDVM 是在 DSDV 基础上扩展的多路径路由协议。该
31、协议通过获取和维护多条 Quasi 最短路径实现多路径路由协议。所谓 Quasi 最短路径是指该路径中除第1 跳以外到目的节点距离最短的路径,Quasi 多路径是指从源节点到目的节点的一系列Quasi 最短路径集合。最短路径仅是 Quasi 最短路径的特例,称之为主路径,其他的Quasi 最短路径称之为冗余路径,DSDVM 通过在源节点把数据分布在 Quasi 多条路径上Ad-hoc 网络的路由协议分类- 5 -来实现负载平衡。DSDVM 与 DSDV 不同之处在于内部数据结构和多路径计算。内部数据结构。DSDVM 跟 DSDV 类似,都是通过周期性跟相邻活动节点交换路由信息更新路由表,所不同
32、的是内部数据结构。DSDVM 每个节点的路由表中都包含如下的路由信息:目的节点地址,下跳地址(主路径的下跳地址),主路径到达目的节点的跳数,目的序列号,前置节点地址和一个包含 Quasi 冗余路径下跳地址的集合。每次路由更新都把新检测到的相邻节点按照一定的计算添加到 Quasi 冗余路径。多路径计算。DSDVM 通过判断相邻节点 (非主路径上的下跳地址)是否在主路径上,如果不是在主路径上,将该地址添加到下跳地址的链接表中,否则丢弃,从而实现无环多路径。SRM 协议。SRM 是 DSR 协议的一个扩展,其研究侧重点是频繁发生的路由发现所带来的开销。协议的主要思想是为源节点和中间节点提供一条以上的
33、替换路径(AlternateRoute)。由于替换路径与主路径是独立路径,当主路径失效时,数据传输不会被打断,而是换用替换路径来继续发送数据包,属于按需多路径路由协议。路由发现。SRM 的路由发现过程和 DSR 基本相似,不同的是,当第 1 个路由请求RREQ 包到达目的节点后,目的节点除了向源节点发送路由应答 RREP 包外,还记录下这条路径作为主路径。对于随后到达的路由请求包,如果其中的路径和所记录的所有路径都是独立路径,目的节点就发送相应的路由应答包,同时记录下这条路径;否则,直接丢掉该路由请求包。这样既可以保证当主路径失效时,其他路径还可以发包(因为它们和主路径是相互独立的),又避免了
34、目的节点因发送路由应答包过多而带来不必要的网络拥塞。路由维护。当中间节点检测到链路断开后,利用替换路径把数据包重新发送出去,并且向上游节点和源节点发送 RRER,请求它们把包含该链路的路径删除;当源节点收到RRER 后,使用以下两种路由策略重新做路由发现:1)只要收到路径断开消息,就重新做路由发现,这样可以获取最新的网络信息;2)只有收到两条( 或多条)路径都断开的消息后,才重新做路由发现,这样可以减少部分路由开销。SMR 试验表明,使用第 2 种路由,发现策略性能较好。AODVM 协议。AODVM(AdHocOndemandDistanceVectorMultipath)多路路由协议也是在
35、AODV 的基础上进行扩展的,与 AODV 协议中直接丢弃 RREQ 包的拷贝不同,中间节点会将包含在这些包中的信息记录在一个表(RREQ 表)中。对每个接收到的 RREQ电子科技大学成都学院毕业设计66- 6 -消息的拷贝,接收的中间节点将产生该 RREQ 消息的信源,该 RREQ 要去的信宿;把该RREQ 的邻居,以及其他的一些额外信息记录传输到该 RREQ 表中,但不能直接向信源发送 RREP 消息。路由发现。AODVM 路由发现阶段与 AODV 类似,当信宿从其某个邻居处接收到第1 个 RREQ 包时,它便更新自己的序列号同时产生一个 RREP 消息。RREP 包包含一个额外的域“La
36、sthopID” ,用来说明该 RREQ 的拷贝来自哪个邻居。该 RREP 包沿传输过该RREQ 拷贝的路径反向发送到信源。当信宿从其他邻居处接收到该 RREQ 包的拷贝时,每次都更新其序列号,同时产生一个 RREP 包。同第 1 个 RREP 包一样,这些 RREP 包也包含对应的最后一跳节点的 ID(LasthopID)。当一个中间节点从它的邻居处接收到一个RREP 包时,它便从它的 RREQ 表中删除掉对应该邻居的表目,同时在路由表中增加一个路由表目,以显示到己经发现的 RREP 包发起者(即信宿)的路由;然后该节点通过 RREQ 表,识别一条到信源最近的路径,将该 RREP 消息传输到
37、相应的邻居。RREQ 表中对应该邻居的条目即被删除。为了确保一个节点没有被多条路径共享,即保证路径的节点不相关,当节点侦听任一其他节点广播 RREP 消息时,它们便从 RREQ 表中删除对应该传输节点的条目。路由维护。当一个中间节点接收到 RREP 消息而无法继续往前传输(其 RREQ 表所有下跳地址的路径都失效时),便产生一个路由发现错误消息(RDER:RouteDiscoveryError),并把该消息发送到将 RREP 消息发送给其邻居节点。邻居一旦接收到该 RDER 消息,便将 RREP 消息发送给另外的邻居,以便在可能时将 RREP 消息传输至信源。RDER 消息的数量会受到限制,以
38、避免该数据包的大量产生和交换。其他多路径路由协议。MSR 是在 DSR 基础上扩展的,利用中间节点和目的节点反馈多条路径,并使用路径探测来减少网络拥塞和网络延迟;AODVBR 在 AODV 基础上建立多条路径来为路由出错的数据包提供替换路径支持;通过在路由响应阶段重定向响应路径实现多条节点不相交路径;ARP 通过路径拆分来实现多路径;提出一种基于多样性编码的方法来建立多条路径,并把数据包分发到多条路径发送,藉此来提高可靠性和发送率。M MPRE 提供了基于网眼的多路径寻径和包发送。AMR2-23使用网络最大流获取多条节点不相交路径,并利用多条路径并行或者并发发送数据来提高网络流通量和负载平衡。
39、多路径协议应用。以上多路径协议主要集中于如何提高网络传输率,降低网络延迟以及提高网络负载平衡,但多路径协议在 QoS、能源、安全等方面也有自身的优势。如Ad-hoc 网络的路由协议分类- 7 -TBP 提出通过发送选票来并行探测多条较优的路径,并通过资源预留方式实现 QoS;提出在多项式复杂度内找到多条链路不相交或者节点不相交路径减少源消耗。文献11提出一种基于并行网络流方式的自适应多路径路由协议,并通过时间限制来避免恶意 DOS 攻击,以提高网络安全性。2.3 几种典型的无线自组网路由协议2.3.1 目的序列距离矢量路由协议 DSDVDSDV(Destination-Sequenced Di
40、stance-Vector)是基于经典 Bellman-Ford 路由选择过程的改进型路由表算法。DSDV 以路由信息协议为基础。是无线自组网协议发展较早的一种。使用 DSDV 时,网络中的每一个移动节点都需要维护一个路由表。路由表表项包括目的节点、跳数和一个由目的节点注明的序列号,序列号能帮助节点区分有效和过期的路由信息,并可防止路由环路的发生。标有更大序列号的路由信息总是被接收。如果两个更新分组有相同的序列号,则选择跳数最小的,使路由最优(最短) 。每个节点必须周期性地与邻节点交换路由信息,当然也可以根据路由表的改变来触发路由更新。路由表更新有两种方式:一种是全部更新,即拔掉更新消息中将包
41、括整个路由表,主要应用于变化较快的情况;另一种是增量更新,更新消息中仅包含变化的路由部分,通常适用于变化较慢的情况。2.3.2 按需平面距离矢量路由协议 AODVAODV(Ad hoc On-demand Distance Vector Routing)由 DSDV 发展而来,不同的是AODV 为反应式路由协议。源节点首先广播一个携带目的节点信息的路由分组(RREQ) ,其邻居节点依次向周围节点广播此路由分组,广播 RREQ 前会建立此节点到源节点的路由,直到路由分组到达目的节点或者一个中间节点,这个节点包含目的节点的路由信息,就不再广播 RREQ。此过程中,会建立一个从源节点到目的节点的反向
42、路由,也就是从目的节点到源节点的路由。然后该节点将沿着反向路由发回一个 RREP,RREP 到达源节点后路由发现过程结束。为避免路由循环,每一个路由分组中都包括一个 sequence ID(SID)作为唯一标识,如果一个节点收到一个 SID 比它当前保留的 SID 小的数据包,电子科技大学成都学院毕业设计66- 8 -表明该数据包是过时的,它将不予处理,而是简单的丢弃。发现多条路由时,源节点会选择一条 SID 大、跳数少的最优路由。源节点移动后会重新启动路由发现过程,中间节点移动,那么其邻居节点会发现链路失效并向上游节点发送链路失效消息(RERR) ,一直传到源节点,然后源节点重新发起路由发现
43、,或者也可以由发现链路失效的节点自己发起路由发现,此称为自修复。只要路由是活动的,路由表就要一直维护下去。活动的意思是有数据包从源节点发往目的节点,如果链路上不再有数据包传递,一段时间之后,链路就会过期,最终路由信息将会从中间节点的路由表中删除 6。2.3.3 动态源路由协议 DSRDSR(Dynamic Source Routing)是一种基于源路由的按需路由协议,它使用源路由算法而不是逐跳路由的方法。DSR 主要包括两个过程:路由发现和路由维护。当源节点 S向目的节点 D 发送数据时,它首先检查缓存是否存在未过期的到目的节点的路由,如果存在,则直接使用可用的路由,否则启动路由发现过程。具体
44、过程如下:源节点 S 将使用洪泛法发送路由请求消息(RREQ) ,RREQ 包含源和目的节点地址以及唯一的标志号,中间节点转发 RREQ,并附上自己的节点标识。当 RREQ 消息到达目的节点 D 或任何一个到目的节点路由的中间节点时,D 或该中间节点将向 S 发送路由应答消息(RREP) ,该消息中将包含到 S 到 D 的路由信息,并反转 S 到 D 的路由供 RREP 消息使用。此外,中间节点也可以使用路由缓存技术(Routing Cache)来对协议作进一步优化。2.3.4 临时排序路由算法 TORATORA(Temporally Ordered Routing Algorithm)协议称
45、为临时排序路由算法,是一种源初始化按需路由选择协议,它采用链路反转的分布式算法,具有高度自适应、高效率和较好的扩充性,比较适合高度动态移动、多跳的无线网络,其主要特点是控制报文定位在最靠近拓扑变化的一小部分节点处,因此节点只保留邻近点的路由信息。该算法中路由不一定是最优的,常常使用次优路由以减少发现路由的开销。TORA 协议包括 3 个基本模块:路由的创建、路由的维护和路由的删除。在路由的建立和路由维护过程中,节点应用“高度 ”Metric 来建立一个以目的节点为根的有向非循环图。这样链路根据相邻两个节点的高度值来确定向上或向下的方向。2.4 路由协议性能评标准主要包括以下几个方面的指标 7:
46、Ad-hoc 网络的路由协议分类- 9 -(1)丢包率:网络中数据传输是以发送和接收数据包的形式进行的,理想状态下发送了多少数据分组就能接收多少数据分组,但是由于信号衰减、网络质量等诸多因素影响下,可能产生数据分组丢失。在单位时间内未收到的数据分组与发送的数据分组的比率就是丢包率,当然这个数字越小越好。丢包率的计算公式见式(4.1) 。丢包率= (4.1)发 送 分 组 数未 接 收 到 的 分 组 数(2)端到端平均时延:指单位数据包从源节点到目的节点所用的时间,时延越小,说明响应越快,网络质量越令人满意。该统计量反应了网络的拥塞状况,计算公式见式(4.2) 。端到端平均时延= (4.2)数
47、 据 包 总 数 所 用 时 间源 节 点 数 据 包 成 功 传 输(3)路由开销:单位数据包个数所引起的额外路由分组个数,包括 RREQ(Route Request,路由请求) 、RREP (Route Reply,路由应答) 、RRER(Route Error,路由错误)等,该统计量反应了路由协议的效率,计算公式见式(4.3) 。路由开销= (4.3)发 数 的 数 据 分 组 数发 送 的 路 由 分 组 数(4)平均吞吐量:该参数是在接收数据时由网络层的上层统计的,是指节点单位时间内收到的数据分组数,它是一个容量概念,表示数据传输的总量。电子科技大学成都学院毕业设计66- 10 -第
48、 3 章 网络模拟器 NS23.1 NS2 简介NS2(Network Simulator Version2)是一款开放源代码的网络模拟软件,最初由加州大学伯克分校(UC Berkeley)开发。它最初的开发目的是为了研究大规模网络以及当前和未来网络协议的交互行为。它为模拟研究有线和无线网络上的 TCP/IP、路由和多播等协议提供了强有力的支持。NS2 是一个开放源代码软件,任何人可以获得、使用和修改其源代码。正因为如此,世界各地的研究人员每天都在扩展和更新它的功能,为其添加了新的协议和功能。它也是目前网络研究领域应用最广泛的网络模拟软件之一。NS2 来源于 1989 年的 Real NetW
49、ork Simulator 项目,经过多年的发展,于 1995 年得到 Xerox 公司的支持,加入 VINT 项目。NS2 一直以来都在吸收全世界各地研究者的成果 3。NS2 是一款面向对象的、离散事件驱动的网络模拟器,可以完整地模拟整个网络环境。NS2 使用一整套 C+类库实现了绝大多数常见的网络协议以及链路层的模型,利用这些类的实例就可以搭建起整个网络的模型。NS2 使用了被称为分裂对象模型的开发机制。采用 C+和 OTcl 两种开发语言进行开发。它们之间采用 TclCL 进行自动连接和映射。考虑效果和操作便利等因素,NS 将数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用 C+编写,这些对象通过 TclCL 映射对 OTcl 解释器可见。NS2 可以说是 OTcl 的脚本解释器,它包含模拟事件高度器、网络组件对象库等。事件调度器控制模拟进程,在适当时间激活事件队列中的当前事件,并执行该事件。网络组件模拟网络设备或节点的通信,它们通过制定模拟场景和模拟进程,交换特定