无线AdHoc网络中一种多路径路由协议仿真研究(终稿)_第1页
无线AdHoc网络中一种多路径路由协议仿真研究(终稿)_第2页
无线AdHoc网络中一种多路径路由协议仿真研究(终稿)_第3页
无线AdHoc网络中一种多路径路由协议仿真研究(终稿)_第4页
无线AdHoc网络中一种多路径路由协议仿真研究(终稿)_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要移动ad hoc网络由一组由无线收发装置的移动节点组成的一个多跳的、不需更固定 中心接入点的口治系统。网络搭建方便,不需要基础设施,并且网络节点地位对等,可以 自由移动。ad hoc网络在现代社会越来越多的运用于各个领域,如军事、医学、空间探测 等。无线ad hoc网络作为一种典型的自组织网络,其路由协议一直是研究的重点。ad hoc 网络的特殊性使得传统有线网络的技术无法在ad hoc网络使用,因此需要设计新的协议 和技术,如mac协议,路由技术,qos体系,安全技术,信道接入技术等。本文通过网络仿真软件ns-2以仿真a0mdv协议为例介绍了 ns-2仿真路由协议的详细 步骤,并给出了

2、dsr、dsdv、a0dv三种路由协议的仿真结果图和一些性能分析。关键词: ad hoc网络,ns-2仿真,dsdv协议,dsr协议,a0mdv协议abstractthe 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 infra

3、structure is convenient and also has equivalent node 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 agreemen

4、t and specification such as mac protocol, routing protocol, qos system, security technology, channel access technology etc is the particularity which makes the traditional wired network not availablein this paper, ns-2 network simulation software to simulate aomdv agreement as an example of the ns-2

5、 simulation routing protocol detailed steps, and 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目录摘要1abstractii第1章弓丨言一 1一1.1无线口组网的产生和发展-1-12无线口组网的特征-1-1.3无线口组网应用领域-2-1.4无线自组网

6、体系结构-2-1.5文章研究内容一316本文研究的应用-4-第2章ad-hoc网络的路由协议分类-5-2. 1表驱动路由协议-5-2.2单路径和多路径-7-2.3儿种典型的无线口组网路出协议-11-2. 3. 1 h的序列距离矢量路曲协议dsdv-11-23. 2按需平面距离矢量路由协议aodv-11-2. 3. 3临时排序路由算法tora-12-2.4路由协议性能评标准-12-第3章网络模拟器ns2- 2 -3. 1 ns2 简介-2 -3. 2 ns2纽.成部分-2 -3. 3 ns2模拟基本流程-2 -第4章ad hoc网络多路径仿真研究-2 -4. 1多路径协议介绍-2-4. 1. 1

7、 aomdv 协议-2-4. 12移动节点的创建-1-4. 1.3多路径计算-1-4.2无线口组网路由模拟的实现-2-4.2. 1无线口组网路由协议场景的构建-2-4.2.2 tcp代理的创建和设置-2-4.2.3仿真参数的设直-3-4. 3仿真结果分析-1-4. 3. 1 动画演力工具 nam一1一4. 3. 2 无线 trace 文件格式一2-4. 3. 3数据分析工貝辭wk-1-4. 3. 4 绘图工具 gnuplot-1-4. 3. 5仿真结果分析-2-第5章结论-2-参考文献一2一第1章引言1.1无线自组网的产生和发展“ad hoc” 一词來源于拉丁语,意思是“专用的、特定的”。无线

8、自组网通常也可称 为“无固定设施网”或“自组织网”。由于组网快速、灵活、使用方便,目前无线口组网 已经得到了国际学术界和工业界的广泛关注,其应用也越来越广泛,已经成为移动通信技 术向前发展的一个垂要方向,将在未来的通信技术中占据觅要地位。无线自组网的前身是分组无线网(packet radio network, prnet),对分组无线网的研 究源于军事通信的需要。早在1972年,美国的darpa就启动了分组无线网项目prnet, 研究战场环境下利用分组无线网进行数据通信。在此z后,darpa于1983年启动了高残 存性自适应网(survivable adaptive network, sura

9、n)项目,研究如何将prnet的研究成 果加以扩展,以支持更大规模的网络,1994年,darpa又启动了全球移动信息系统(global mobile information systems, glomo)项日,旨在对能够满足军事应用需要的、高抗毁性 的移动信息系统进行全面深入的研究。1991年成立的tree 802. 11标准委员会采用了 “ad hoc" 一词来描述这种特殊的自组织对等式多跳移动网络,无线自组网就此诞生。ietf专 门成立了 (mobile ad hoc network, manet)小组来研究无线自组网的相关问题1。1.2无线自组网的特征无线自组网由一组带有无线通

10、信收发装置的移动终端节点组成,网络屮每个终端可以自由移动且地位相等,是一个多跳、临时、无中心网络,因此它具有以下主要特征:(1) 自组织:即网络的布设无需依赖于任何预先架设的网络设施。节点开机后就可以 快速、自动地组成一个独立的网络。(2) 动态拓扑:即网络屮的节点可以任意移动,并且可以随时关闭电台。发送装置的 天线类型多种多样,发送功率的变化,无线信道间的相互干扰,地形和天气等综合因索的 彩响,造成网络的拓扑结构变化难测。(3) 多跳路由:由于节点发射功率的限制,节点的覆盖范围是有限的。当要与其覆盖 范围之外的节点进行通信时,需要中间节点的转发,即要经过多跳才能到达目的节点。(4) 无中心且

11、所有节点地位平等:节点可以随时加入或离开网络,任意节点故障不会 彩响整个网络运行,是一个无中心结构的对等式网络,抗毁性强。(5) 灵活性好:无线自组网屮的工作站可以随时加入或离开,这对于一些根据需求而 需要随时组建网络的应用非常适合。1.3无线自组网应用领域由于无线口组网的特殊性,它适合用于无法或不便预先铺设网络设施的场合,以及其 他需耍快速口动组网的场合等。目前为止,其主要的应用领域有:(1) 军事应用:军事应用是无线自组网技术的主要应用领域。因其特有的无需架设网 络设施、可快速展开、抗毁性强等特点,无线自组网是数字化战场通信的首选技术。(2) 无线传感器网络:传感器网络是无线自组网技术应用

12、的另一大领域。采用传感器 网络能够跟踪从天气到企业商品库存等各种动态事物,极大的扩充互联网的功能。对于很 多应用场合来说传感器网络只能使用无线通信技术,并且传感器的发射功率很小。分散的 传感器通过无线口组网技术纽成一个网络,可以实现传感器之间和与控制中心之间的通(3) 个人通信:个人局域网(personal area network, pan)是无线自组网技术的又一 应用领域,用于实现pda、手机、掌上电脑等个人电子通信设备z间的通信,并可以构建 虚拟教室和讨论组等崭新的移动对等(mobile peer-to-peer)应用。(4) 移动会议:在室外临时环境屮,工作团体的所有成员可以通过无线自

13、组网方式组 成一个临时网络来协同完成一项人的任务,或协同完成某个计算任务。在室内办公环境中, 办公人员携带的包含无线自组网收藏器的pda可以通过无线方式白动从台式机上下载电 子邮件,更新工作r程表等。(5) 其他应用:可应用于紧急和突发场合,如在发生了地震、水灾、火灾或遭受其它 灾难后,固定的通信网络设施无法止常工作的情况下组建无线自组网。还可与蜂窝移动通 信系统等现有移动通信系统相结合,利用移动的多跳转发能力来扩展现有蜂窝移动通信系 统的覆盖范i韦i等。1.4无线自组网体系结构参照osi/rm,无线口组网体系结构如图2. 1所示2。上层应用协讲*应用层传输层协议表不层多目标路由协议网i可互联

14、qos变换路由安全会话层单目标路由协仪传输层ipv4, ipv6其他网络层协议网络层数据链路层数据链路层物理层物理层图1.4无线自组网体系结构卜面介绍各层的基本悄况:(1) 物理层:物理层包括射频(rf)电路、调制和信道编码系统。ieee802. llb/a/g. 蓝牙(bluetooth)和超宽带(ljwb:ultr-awideband)等规范都是具体的物理层协议。(2) 数据链路层:数据链路层负责在不可靠的无线链路上建立可靠和安全的逻辑链 路。其分为逻辑链路控制子层(llc)和媒介访问子层(mac) o以teee802. 11为例,其llc 子层负责无线链路差错控制、流量控制、将网络层的分

15、组组帧以及重传等,而mac子层负 责节点对无线媒介访问的控制和帧的加解密操作等。(3) 网络层:网络层负责分组的路曲,建立网络服务类型以及在传输与链路层z间传 输分组。考虑到无线自网的动态性,网络层需要负责分组的重新路由和移动管理等。无线 口组网在网络层的一个重要问题是路曲协议。(4) 传输层:传输层负责提供端到端的可靠数据传输服务。然而,由于无线链路的不 稳定,传统的有线网传输层协议,在无线环境下性能下降明显,所以必须改进。(5) 应用层:无线自组网的应用层指肚的是各种各样类型的业务。在实际实施的时候, 可以采用各种各样的应用层协议和标准,比如wap(无线应用协议)协议等。1.5文章研究内容

16、1、杏阅ad hoc路由协议文献,了解典型多路径路由协议工作原理,并了解其优 缺点;2、深刻理解a0mdv协议的实现过程和所需条件;3、通过ns2仿真实现a0mdv协议;1.6本文研究的应用ad hoc网络的许多特点使它能应用于民用和军事等领域。首先网络的自组性为网络快 速部署提供了可能。其次,网络多跳转发的特点可以在不降低网络覆盖范围的条件下减少 每个终端的发射功率,从而为移动终端的小型化、低功耗提供了可能。从无线信道共享的 角度來看,人dhoc网络降低了信号冲突的概率,提高了信道利用率。另夕卜,网络的抗毁性、 鲁棒性满足了某些特运应用的需求。目刖,ad hoc网络主要应用场合包括:军事应用

17、紧急和突发场合偏远野外山区移动会议和临时场合个人通信和网络商业应用第2章ad-hoc网络的路由协议分类由t ad hoc网络的无线多跳转发、移动、带宽以及能量受限等特点,如何设计良好 的路由策略是建立ad hoc网络的关键问题。冃前manet wg已经提出了许多i办议草案,如 dsr、aodv. tora. zrp等。此外,国内外研究人和机构也发表了许多关t ad hoc网络路 由协议的学术论文,比如dsdv、wrp、qaodv、fsr、lanmar、ea0dv等。这些路由协议根 据路由建立的方和时间可以分为表驱动路由策略(tab 1 edrive)和按需路由策略(ondemand) 两大类,

18、如图2.1所示图2. 1 ad hoc路由协议分类2.1表驱动路由协议表驱动路由协议的路由发现策略与传统的路由协议类似,各移动节点通过周期性地广播路由信息分组来交换路由信息、主动发现路由。同时,节点必须维护到达网内所有节点的路由。它的优点是当节点需要发送数据分组时可以快速得到准确的路由信息,所需 要的延时小;缺点是需要人量的控制分组来尽可能保证路由的更新能够即时反应当前拓扑结构的变化,花费开销较大;而且,动态变化的拓扑结构可能使得这些路由更新变成过时 的信息,路由协议将一直处于不收敛状态,不适合应用于无线网络。在早期的自组网路由协议的研究中,主要思路是修改有线网络的路由协议用以适应 在自组网环

19、境屮运行。这些路由协议大部分属于表驱动路由协议。下面将介绍几种典型的 表驱动路由协议。dsdv(destination distance sequence vector)是一种基于 bellman ford 算法的主动路由协议。它被认为是最早的ad hoc网络路由协议。dsdv是一种无环路矢量距离路由2-2 aodv协议的路由建立过程a0dv也是一种典型的按需路由协议。a0dv实质上就是dsr和dsdv的综合,它借用了 dsr屮路由发现和路由维护的基础程序,及dsdv的逐跳(h叩一 by-hop)路由、顺序编号 和路由维护阶段的周期更新机制,以dsdv为基础,结合dsr屮的按需路由思想并加以改

20、 进。a0dv包括3种基木的路由控制分组:路由请求分组(rreq)、路由应答分组(rrep)、路 由出错分组(rerr) o另外,a0dv还包括邻节点探测分组(hello) o其中,rreq包含的主要 信息有源节点ip地址、源节点序列号、广播i)、目的节点正地址、目的节点序列号和源 节点到当前接收到rreq的节点的跳数:rrep包含的主要信息有源节点到目的节点的跳数、 id的节点ip地址、h的节点序列号、源节点ip地址、路由生存时间;rerr包含的主要信 息有不可达的节点个数、不可达的冃的节点正地址、不可达的冃的节点序列号。aodv由 路由建立和路由维护两个过程组成。aodv也是一种典型的按需

21、路由协议。aodv实质上就是dsr和dsdv的综合,它借用了 dsr中路由发现和路由维护的基础程序,及dsdv的逐跳(h叩一 by-hop)路由、顺序编号 和路由维护阶段的周期更新机制,以dsdv为基础,结合dsr+的按需路由思想并加以改 进。aodv包括3种基本的路由控制分组:路由请求分组(rreq)、路由应答分组rrep)、路 由出错分组(rerr) 0另外,aodv还包括邻节点探测分组(hello)。其中,rreq包含的主要 信息有源节点ip地址、源节点序列号、广播d、目的节点正地址、目的节点序列号和源 节点到当前接收到rreq的节点的跳数:rrep包含的主耍信息有源节点到h的节点的跳2

22、.2单路径和多路径传统ad hoc网络单路径路由ad hoc移动网络屮单路径路由主要分成基于表驱动的被动路由-,2j(如 dsdv(destination-se.quenceddistance-vectorrouting)和按需主动路由协议(如 dsr (dynamicsourcerouting) j, aodv (adhocondemanddistancevectorrouting)两种。被 动路出跟传统internet网络中的距离矢量算法类似,都是通过节点周期性交换路由表来实现的,只需稍做修改便可用于 adhoc移动网络。主动路出一般都基于按需路出方式,通过泛洪广播实现,主要分为路由 发现

23、(rd: routediscovery)和路由维护(rm: routemaintenance)两个阶段。dsdv协议dsdv协议是一种基于bellman-ford路由机制的,表驭动路由协议,是 为移动adhoc网络制定的。最早的路由协议z-o每个节点都维护一张路由表,节点通过 与1=1的节点相关的序列号判断路由的新旧,并依此避免路由环路的产生。每个节点周期性 的将口己的路曲表广播给其邻节点,其邻节点根据收到的路由表来更改口己的路由表。dsr协议动态资源路由协议dsr13是用于移动节点多跳无线adhoc网络的简单和有 效的主动路出协议。使用dsr时,网络是口组织和口配置的,要求无既定的网络结构和

24、管 理。dsr协议有两个主要的机制路由发现和路由维护一起工作,以实现adhoc网络小源路 曲的发现和维护。路由发现。路由发现阶段主要由路由请求和路由响应两个阶段组成。只有当源节点s试图向日的节点d发送数据,并月尚不知道s和d之间的路由时,启动路由发现机制。具体包括rreq(routerequest)分组.对各节点对rreq分组的处理,对信宿的路由冋答 rrep (routereply)。路由维护。如果网络拓扑发生改变比如说链路中断导致s和d z间的路由无法再使 用,此时启动路由维护十jl制。dsr协议通过mac层检测到链路断开,节点将“路由错 误分纽” rreq到发送信源,信源节点将删除该路由

25、,重新进行路由发现,称为“逐跳mac 确认”的网络。此外还有“逐跳mac不确认”的网络和利用“端到端确认”的路由维护。 dsr不使用任何定期路由广告、链路状态感应、或者是邻居检测数据包,也不会依赖网络 的下一层得到这些功能。dsr使用外部“源路由”,即当要发一个数据包时,该数据包所 需要经过的所有节点序列均包含在该数据包的包头中。a0dv协议。a0dv路由协议是由dsdv改进得到的,与dsdv不同,它是按需路由协 议。a0dv采用逐跳转发。报文的方式。另外a0dv还支持组播路由和支持qos,其缺点是 不支持单向信道,原因是路由回答报文。直接沿着路由请求的反向回到源节点。a0dv协 议由路由发现

26、过程和路由维护过程组成。单路径评价及问题分析。单路协议的优势在于它的简单性。但是这种简单性从根本 上限制了单路协议性能的提升空间。ad hoc网络中的带宽、节点能量等资源是相当有限 的。同时,在链路上以及在路出器处的拥塞,也是造成ad hoc网络中较大延迟的主要原 因。在ad hoc网络中使用单路路由协议,如果冃的节点相同的数据包全部都在同一条路 径上发送,当某条链路拥塞或者断开时,通过该链路发送的所有数据就都必须由新的路径 发送,网络不能在轻载时充分利用资源,不能当网络发生拥塞或者链路断开时也较好地重 新选择合适路径。在最近ad hoc路由研究中,人们提岀了多路径路由方法来解决上述问题。多路

27、径协议介绍。多路路由是指为任意一对节点同时提供多条可用的路径,并允许 节点主机或应用程序)选择如何使用这些路径。多路路由算法为节点间提供多条路径,并 确保发往其屮一条路径的数据经由该路径到达忖的地。多路路由网络是其屮的路由器执行 多路路由算法的网络。从理论上证明了按需多路径拥有较长的路径存活时间和更可靠路由 信息,而且拥有良好的性能,并能减少部分拥塞。因此近年来多路径研究得到广泛关注, 主要分为 2 大类:多路径被动路由(如 dsdvm(destination_se_quenceddistance. vectorroutingmulti. path)和多路径主动路 由协议(smrj7j, ao

28、mdvj) o如基于被动路由dsdv基础上扩展dsdvm通过修改内部数据结 构等方法获取多路径支持;基于主动路由dsr扩展的smr,通过修改dsr路由发现机制, 并通过忖的节点获取最大不相交路径;出了基于a0dv协议的多路径协议aomdvodsdvm协议dsdvm是在dsdv基础上扩展的多路径路由协议。该协议通过获取和维护 多条quasi最短路径实现多路径路由协议。所谓quasi最短路径是指该路径中除第1跳以 外到目的节点距离最短的路径,quasi多路径是指从源节点到目的节点的一系列quasi最 短路径集合。最短路径仅是quasi最短路径的特例,称z为主路径,其他的quasi最短路 径称之为兀

29、余路径,dsdvm通过在源节点把数据分布在quasi多条路径上来实现负载平衡。dsdvm与dsdv不同之处在于内部数据结构和多路径计算。内部数据结构。dsdvm跟dsdv类似,都是通过周期性跟和邻活动节点交换路由信息 更新路由表,所不同的是内部数据结构。dsdvm每个节点的路由表屮都包含如下的路由信 息:忖的节点地址,下跳地址(主路径的下跳地址),主路径到达h的节点的跳数,h的序 列号,前置节点地址和一个包含quasi兀余路径下跳地址的集合。每次路由更新都把新检 测到的相邻节点按照一定的计算添加到quasi兀余路径。多路径计算。dsdvm通过判断相邻节点(非主路径上的下跳地址)是否在主路径上,

30、如 果不是在主路径上,将该地址添加到卜-跳地址的链接表中,否则丢弃,从而实现无环多路 径。srm协议。srm是dsr协议的一个扩展,其研究侧重点是频繁发生的路由发现所带来 的开销。协议的主要思想是为源节点和'i'间节点提供一条以上的替换路径 (alternateroute)o由于替换路径与主路径是独立路径,当主路径失效时,数据传输不会 被打断,而是换用替换路径来继续发送数据包,属于按需多路径路由协议。路由发现。srm的路由发现过程和dsr基本相似,不同的是,当第1个路由请求rreq 包到达目的节点后,目的节点除了向源节点发送路出应答rrep包外,还记录下这条路径 作为主路径。对

31、于随后到达的路由请求包,如果其中的路径和所记录的所有路径都是独立 路径,目的节点就发送相应的路由应答包,同时记录下这条路径;否则,直接丢掉该路出 请求包。这样既可以保证当主路径失效时,其他路径还可以发包(因为它们和主路径是相 互独立的),又避免了目的节点因发送路出应答包过多而带来不必要的网络拥塞。路由维护。当中间节点检测到链路断开后,利用替换路径把数据包重新发送出去, 并月向上游节点和源节点发送rrer,请求它们把包含该链路的路径删除;当源节点收到 rrer后,使用以下两种路由策略重新做路由发现:1)只要收到路径断开消息,就垂新做路由发现,这样可以获取最新的网络信息;2)只令收到两条(或多条)

32、路径都断开的消息后,才重新做路由发现,这样可以减少 部分路由开销。smr试验表明,使用第2种路由,发现策略性能较好。aodvm 协议。aodvm(adhocon. demanddistanccvcctormulti一path)多路路由协议也 是在aodv的基础上进行扩展的,与aodv协议屮直接丢弃rreq包的拷贝不同,屮间节点 会将包含在这些包中的信息记录在一个表(rreq表)中。对每个接收到的rreq消息的拷贝, 接收的屮间节点将产生该rreq消息的信源,该rreq要去的信宿;把该rreq的邻居,以 及其他的一些额外信息记录传输到该rreq表中,但不能直接向信源发送rrep消息。路由发现。a

33、odvm路由发现阶段与aodv类似,当信宿从其某个邻居处接收到第1个 rreq包时,它便更新自己的序列号同时产生一个rrep消息。rrep包包含一个额外的域 “lasthopid”,用来说明该rreq的拷贝来自哪个邻居。该rrep包沿传输过该rreq拷贝 的路径反向发送到信源。当信宿从其他邻居处接收到该rreq包的拷贝时,每次都更新具 序列号,同时产生一个rrep包。同第1个rrep包一样,这些rrep包也包含对应的最后 一跳节点的id(lasthopid)o当一个中间节点从它的邻居处接收到一个rrep包时,它便从 它的rreq表中删除掉对应该邻居的表目,同时在路曲表中增加一个路曲表目,以 显

34、示到己经发现的rrep包发起者(即信宿)的路由;然后该节点通过rreq表,识别一条到 信源最近的路径,将该rrep消息传输到和应的邻居。rreq表中对应该邻居的条目即被删 除。为了确保一个节点没有被多条路径共享,即保证路径的节点不相关,当节点侦听任一 其他节点广播rrep消息时,它们便从rreq表中删除对应该传输节点的条目。路由维护。当一个中间节点接收到rrep消息而无法继续往前传输(具rreq表所有下 跳地址的路径都失效时),便产生一个路由发现错误消息(rder: routediscoveryerror), 并把该消息发送到将rrep消息发送给其邻居节点。邻居一旦接收到该rder消息,便将r

35、rep 消息发送给另外的邻居,以便在可能时将rrep消息传输至信源。rder消息的数量会受到 限制,以避免该数据包的大量产生和交换。其他多路径路由协议。msr是在dsr基础上扩展的,利用中间节点和h的节点反馈多 条路径,并使用路径探测来减少网络拥塞和网络延迟;aodv. br在aodv基础上建立多条 路径来为路由出错的数据包提供替换路径支持;通过在路由响应阶段重定向响应路径实现 多条节点不相交路径;arp通过路径拆分來实现多路径;提出一种基于多样性编码的方法 来建立多条路径,并把数据包分发到多条路径发送,藉此来提高可靠性和发送率°mmpre 提供了基于网眼的多路径寻径和包发送。amr

36、2-23使用网络最大流获取多条节点不相交 路径,并利用多条路径并行或者并发发送数据来提高网络流通量和负载平衡。多路径协议应用。以上多路径协议主要集中于如何提高网络传输率,降低网络延迟 以及提高网络负载平衡,但多路径协议在qos、能源、安全等方面也有自身的优势。如tbp 提出通过发送选票来并行探测多条较优的路径,并通过资源预留方式实现qos;提岀在多 项式复杂度内找到多条链路不相交或者节点不相交路径减少源消耗。文献11提出-种基于并行网络流方式的自适应多路径路由协议,并通过时间限制来避免恶意dos攻击, 以提高网络安全性。lab. i several mullpal訂 muling protoc

37、ols协议路由方式路由选样标准用路径杀数节点不相交可靠性可控性獅增开悄适用网络环境mdsdv被动多路竝路由qgifk短路径多条不是较差一般较小低速smr主动多路径路山忆短路径2条(多条)不是一股较好较小中速aomdv左动多路径路由晟短路径多条不魁较好较差校小高連2.3几种典型的无线自组网路由协议2.3.1目的序列距离矢量路由协议dsdvdsdv(destination-sequenced di stance-vector)是基于经典 bellman-ford 路由选择过 程的改进型路由表算法。dsdv以路由信息协议为基础。是无线自组网协议发展较早的一 种。使用dsdv时,网络中的每一个移动节点

38、都需要维护一个路由表。路由表表项包括 忖的节点、跳数和一个由h的节点注明的序列号,序列号能帮助节点区分有效和过期的路 由信息,并可防止路由环路的发生。标有更大序列号的路由信息总是被接收。如呆两个更 新分组有相同的序列号,则选择跳数最小的,使路由最优(最短)。每个节点必须周期性 地与邻节点交换路由信息,当然也可以根据路由表的改变来触发路由更新。路由表更新有 两种方式:一种是全部更新,即拔掉更新消息中将包括整个路由表,主要应用于变化较快 的情况;另一种是増量更新,更新消息中仅包含变化的路出部分,通常适用于变化较慢的 情况。2.3.2按需平面距离矢量路由协议a0dvaodv(ad hoc on-de

39、mand distance vector routing)由 dsdv 发展而来,不同的是aodv为反应式路由协议。源节点首先广播一个携带日的节点信息的路由分组(rreq), 其邻居节点依次向周围节点广播此路由分组,广播rreq前会建立此节点到源节点的路 由,直到路由分组到达冃的节点或者一个中间节点,这个节点包含冃的节点的路由信息, 就不再广播rreqo此过程中,会建立一个从源节点到tl的节点的反向路由,也就是从h 的节点到源节点的路由。然后该节点将沿着反向路由发回一个rrep, rrep到达源节点 后路由发现过程结束。为避免路由循环,每一个路由分组中都包括一个sequence id (sid

40、) 作为唯一标识,如果一个节点收到一个sid比它当前保留的sid小的数据包,表明该数 据包是过时的,它将不予处理,而是简单的丢弃。发现多条路由时,源节点会选择一条 sid大、跳数少的最优路由。源节点移动后会重新启动路由发现过程,中间节点移动,那么其邻居节点会发现链 路失效并向上游节点发送链路失效消息(rerr), 直传到源节点,然后源节点重新发 起路由发现,或者也可以由发现链路失效的节点自己发起路由发现,此称为自修复。只耍 路由是活动的,路由表就要一直维护下去。活动的意思是有数据包从源节点发往冃的节点, 如果链路上不再有数据包传递,一段时间之后,链路就会过期,最终路由信息将会从中间 节点的路由

41、表中删除。2.3.3动态源路由协议dsrdsr(dynamic source routing)是一种基于源路由的按需路由协议,它使用源路由算 法而不是逐跳路由的方法。dsr主要包括两个过程:路由发现和路由维护。当源节点s 向目的节点d发送数据时,它首先检查缓存是否存在未过期的到目的节点的路由,如果 存在,则直接使用可用的路曲,否则启动路出发现过程。具体过程如下:源节点s将使 用洪泛法发送路由请求消息(rreq), rreq包含源和目的节点地址以及唯一的标志号, 中间节点转发rreq,并附上口己的节点标识。当rreq消息到达目的节点d或任何一 个到冃的节点路由的屮间节点时,d或该屮间节点将向s发

42、送路由应答消息(rrep), 该消息中将包含到s到d的路由信息,并反转s到d的路由供rrep消息使用。此外, 屮间节点也可以使用路由缓存技术(routingcache)来对办议作进一步优化。2.3.4临时排序路由算法t0ratora(temporally ordered routing algorithm)协议称为临时排序路出算法,是一 种源初始化按需路由选择协议,它采用链路反转的分布式算法,具有高度自适应、高效率 和较好的扩充性,比较适合高度动态移动、多跳的无线网络,其主要特点是控制报文定位 在最靠近拓扑变化的一小部分节点处,因此节点只保留邻近点的路由信息。该算法屮路由 不一定是最优的,常常

43、使用次优路由以减少发现路由的开销o tora协议包括3个基本模 块:路由的创建、路由的维护和路由的删除。在路由的建立和路由维护过程中,节点应用 “高度"metric来建立一个以目的节点为根的有向非循环图。这样链路根据相邻两个节点的 高度值来确定向上或向下的方向。2.4路由协议性能评标准主要包括以下几个方面的指标:(1) 丢包率:网络中数据传输是以发送和接收数据包的形式进行的,理想状态下发送了多少数据分组就能接收多少数据分组,但是由丁信号衰减、网络质量等诸多因素影响下,可能产生数据分组丢失。在单位时间内未收到的数据分组与发送的数据分组的比率就是丢包率,当然这个数字越小越好。丢包率的计算

44、公式见式(4.1)。丢包率二未接收到的分组数发送分组数(4. 1)(2)端到端平均时延:指单位数据包从源节点到口的节点所用的时间,时延越小,说叨响应越快,网络质量越令人满意。该统计量反应了网络的拥塞状况,计算公式见式(4. 2)o端到端平均时延二源节点数据包成功传输所用吋间数据包总数(4.2)(3)路由开销:单位数据包个数所引起的额外路由分组个数,包括rreq (routerequest,路由请求)、rrep (route reply,路由应答)、rrer (route error,路由错误) 等,该统计量反应了路由协议的效率,计算公式见式(4.3)。路由开销二发送的路由分组数 发数的数据分组

45、数(4.3)(4)平均吞吐量:该参数是在接收数据时由网络层的上层统计的,是指节点单位时间内收到的数据分组数,它是一个容量概念,表示数据传输的总量。(a)直接上报源节点第3章网络模拟器ns23. 1 ns2简介ns2 (network simulator version2)是一款开放源代码的网络模拟软件,最初曲加 州大学伯克分校(uc berkeley)开发。它最初的开发目的是为了研究大规模网络以及当 前和未來网络协议的交互行为。它为模拟研究有线和无线网络上的tcp/ip、路曲和多播等 协议提供了强有力的支持。ns2是一个开放源代码软件,任何人可以获得、使用和修改其 源代码。正因为如此,世界各地

46、的研究人员每天都在扩展和更新它的功能,为其添加了新的协议和功能。它也是口前网络研究领域应用最广泛的网络模拟软件之一。ns2来源于1989年的real network simulator项经过多年的发展,于1995年 得到xerox公司的支持,加入vint项冃。ns2 直以来都在吸收全世界各地研究考的成果3 。ns2是一款面向对象的、离散事件驱动的网络模拟器,可以完整地模拟整个网络环境。 ns2使用一整套c+类库实现了绝人多数常见的网络协议以及链路层的模型,利用这些类 的实例就可以搭建起整个网络的模型。ns2使用了被称为分裂对象模型的开发机制。采用c+和otcl两种开发语言进行开 发。它们之间采

47、用tclcl进行自动连接和映射。考虑效果和操作便利等因素,ns将数据通 道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上 的基本网络组件对彖都使用c+编写,这些对彖通过tclcl映射对otcl解释器可见。ns2 可以说是otcl的脚本解释器,它包含模拟事件高度器、网络组件对象库等。事件调度器 控制模拟进程,在适当时间激活事件队列中的当前事件,并执行该事件。网络组件模拟网 络设备或节点的通信,它们通过制定模拟场景和模拟进程,交换特定的分组来模拟真实网 络情况,并将执行情况记录到日志文件中,供用户分析解读,获取模拟结果。ns2采用这 种分裂模型既提高了模拟效率,加快了

48、模拟速度,又增强了模拟配置的灵活性和操作的简 使性。ns2是在unix系统上开发的,因此可以在unix和类unix系统上安装。另外,ns2也可以在windows平台上运行。表3. 1和表3. 2是不同平台对ns的支持情况。表3.1不同平台对ns2的支持情况tcl-tkotcltclcnsna mx graphewebsgbgt-itm andsgb2nszlibpc+windowsyyyyynynnnpc+linuxyyyyyyyyyy注:y支持,n不支持。表3.2综合比较windows和linux对ns2的支持情况平台特点安装过程模块支持使用过程优点:界而友好,人未安装cygwin时支持ns

49、2的容易引发较多问性化设计,网络及硬只可用 from all the必选软件模题,相关帮助文件支持良好,应用程pieces方式安装,块,但对可选档及可咨询信息pc+windows序丰富。较为复杂。模块的支持较少,解决问题缺点:代码兀繁,系安装cygwin后可性差。难度较大。统稳定性及自身修用allinone方式安复能力差。装较为简单。优点:源代码开放,可选用 from all the对ns2的必山于linux完全界面友好,网络功能pieces 或 allinone选模块和可开放源代码的特pc+linux丰富,较稳定。方式安装,较为简选模块支持性,可根据需要缺点:应用软件及硬单。性良好。任意修改

50、源代件驱动程序缺乏。码。相关帮助文档及论坛较多,可获得的帮助较 多,使问题解决 较为容易。ns2的模拟分为两部分:用c. +编写特定网络元素的实现;用oicl编写模 拟所需的脚模拟本文件,在文件中使用这些网络元素;二者z间的结合由ns2 负责完成,ns2规定一个固泄的步骤,按照规定的步骤去做即可。ns2可以完成的功能包扌4(1) 构建网络拓扑。ns2中网络拓扑是由node和link构成,其中node大约町被看作是对实现网络底三层设备的一个模拟,link则町被视为是对物理传输链 路的模拟。(2) 实现rtp协议的agento ns2中,agent是对某一个网络协议的模拟,ns2预先实现了 udp

51、 agent和tcp agent以及一些常用网络应用协议的agento(3) 加载应用数据流由application / traffic来实现。rtp agent本身已实 现了产生数据流的工作,无须加载applicationo3. 2 ns2组成部分tclobject在类层次结构中处于最高层,所有其他主要的类都从它派生而来。它有一 个静态链表记录了用户创建的所有对象,每一个对象都有一个唯一的标识,记录了每个对象所属的类名。使用这种公共基类的好处是各种对象可以存储在同一个链表中,使用对象的函数知道如何处理对象和简单地进行强制类型转换以满足自己的需要。(1) 离散事件调度器(scheduler):

52、调度器是仿真器的心脏,它记录当前时间,调 度网络事件链表屮的事件。它有一个静态成员变量instance,供所有的类访问同一个调度 器,提供函数产生新事件,指定事件发生的时间。日前ns2支持四种事件调度器,分别为链表式(linked-list)、堆式(heap)、时i瞅 列式(calendar)和实时(waltime)调度器,其中时间队列式为默认的事件调度器。(2) 事件处理器(handler): handle是所有处理事件类的基类,它只是一个虚拟函 数,每个继承类实现口己的功能。(3) 节点(node):节点是对实际网络屮分布在不同地理位置的主机、交换机、路 由器等网络设备的统一抽象,是构成网

53、络拓扑结构的一个重耍组成部分。(4) 链路(link):链路用来连接节点和路由器。一个节点可以有一条或多条输出链 路(如路由器),所有的链路都以队列的形式来管理分组到达、离开或丢弃,统计并保存字 节数和分组数。另外还有一个独立的对彖来记录队列日志。(5) 代理(agent):代理是实际产生和消费分组的对象,它们属于传输层实体,运行 在端主机,节点的每一个代理口动被赋与一个唯一的端口号(模拟udp/tcp端口),代理知道 与它相连的节点,以便把分组转发给节点,它也知道分组大小,业务类型,日的地址o agent 类是各种udp/tcp实现类的基类,代理被保存在一个称为demux的链表中。(6) n

54、s对象(nsobject): nsobject是所有网络实体的基类,包括节点、链路、代理, 业务记录(trace)和数据源等。节点、链路、代理同时继承了 nsobject和事件处理器类,因 为这三种对彖要处理多种事件,英他对彖则不需要。(7) 匹配器类(matcher):匹配器类用来标识有实例对象生成的类,用户给出标识匹 配器类的关键字,匹配器类返冋相应的新建对象。匹配器类被运义成静态的,只允许一个 实例对象ns功能非常强人,由12个模块组成,下面分别介绍各模块的功能:(1) tel: tel提供了一个强有力的平台,可以生成面向多种平台的应用程序、协议、 驱动程序等等。它与wk (toolki

55、t)协作,可生成gui应用程序,可在【,c unix和macintosh 上运行。tel还可用来完成与网页相关的任务,或是为应用程序提供强有力的命令语言。(2) tk:与tel协调工作的图形工具包。(3) otcl:即mit object tel,是tel / tk面向对象编程的扩展。(4) tel cl:此 1=1录下含 tel / c+ 的接口,vic、vat> ns、rtp一play> 和 nam 都会用到。(5) ns: ns主体代码,内含一个节点移动产生器、两个传输事件产生器。(6) tcldebug: tel 调试工具包。(7) nam: b|j ucb / lbnl

56、network animator,?占与 ns |办同工作,将 ns 仿真过程动态 表现出来。(8) xgraph: xgraph是x-windows应用程序,包含交互式测量和绘制和动画效果。(9) gt一itm: gt internetwork topology models 的简称,产生模拟 j nternt 网络 结构的拓扑图,还提供了一些例子。(10) sgb: standford graphbase 的简称,图形产生器。(11) cweb:与网页相关的工具。(12) zlib:通用数据数据压缩库(data compress io n library) o 对于 ns 来说 tel,tk, otcl, tcldebug, nam, xgraph, gt一itm, sgb, cweb, zlib等均为现成工具包。3. 3 ns2模拟基本流程开始编写tel脚本是执行模拟分析结果图3.1 ns2进行网络模拟的基本流程使用ns2进行网络模拟的基本操作流程如图3.1所示。整个模拟过程主要有三个部 分:一为修改源码,二为编写tel模拟脚本,三为分析结果。(1)源码修改:这一步只有在模拟需要修改源

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论