DSR路由协议的改进

2024-05-16

DSR路由协议的改进(共4篇)

DSR路由协议的改进 篇1

摘要:目前国内外已经有许多研究对DSR路由协议进行改进, 使其符合无线Mesh网络的结构特性。本文根据不同的优化原则如路由判据、QoS保证、负载均衡、跨层设计等, 研究了各种优化原则下的DSR协议的改进思路, 以及对现有的DSR协议改进算法进行了总结。

关键词:无线Mesh网络,DSR路由协议,优化原则,改进思路,改进算法

1 引言

无线Mesh网络是一种高速率、高容量的多点对多点网络, 是一种新型的宽带无线通信网络, 具有自组织和自愈的特点。无线Mesh网络可以看成是一种特殊的WLAN, 除移动性较低外, 它本质上是一种Ad hoc网络。无线Mesh网络中的每个节点都具有路由转发功能, 再加上网络中节点的频繁移动, 使得路由技术成了无线Mesh网络中的关键技术。

目前对无线Mesh网络路由协议的研究主要是将应用于传统Ad-hoc网络的路由协议进行修改使其符合无线Mesh网络的特性。DSR路由协议具有多路径、稳定性强、路由负载较低等优点, 是在Ad hoc网络中应用最为广泛的路由协议, 但在有些方面与无线Mesh网络的特性并不是完全匹配的, 所以将其应用到无线Mesh网络中, 首先要对协议本身进行优化, 使其符合无线Mesh网络的结构特性。国内外已经有许多研究对DSR协议进行了改进, 本文根据不同的优化原则对这些改进方法进行了研究。

本文其余内容安排如下:第2节简单介绍了DSR协议;第3节对DSR协议的改进思路和现有的改进方法进行了研究;最后, 第4节对全文进行了总结。

2 DSR协议简介

动态源路由协议DSR (Dynamic Source Routing) 使用了源路由, 每一个分组的分组头中包含整条路由的信息, 中间节点不需要维持当前的路由信息, 分组自己带有路由信息, 按需路由的特性避免了周期性路由广播和邻节点的检测。DSR协议包括两个过程:路由发现和路由维护。路由发现过程使用泛洪路由 (flooding routing) 。为了减少路由发现过程的开销, 每一个节点都包括一个缓存器, 存放最近学习到的和用过的路由信息。路由维护过程是源节点用来检测网络拓扑是否发生变化的机制。若拓扑发生变化、源路由发生中断, 源节点就会收到路由错误信息。它会试着用缓存中的路由信息, 如果不通就重新启动路由发现过程。

DSR协议具有以下优点: (1) 源路由, 可以避免环路, 支持单向路径。 (2) 同时搜索, 可以获得多条有用路径, 快速应对路由变化。 (3) 路由缓冲技术可进一步减少路由发现的代价。 (4) 仅在需要通信的时候维护路由, 减少了路由维护的代价。

3 DSR协议改进方法的研究

在设计WMN路由协议时, 必须考虑路由判据、负载均衡、路由容错、网络容量以及QoS保证等因素, 因此对DSR协议的优化也必须考虑这些因素。下面根据负载均衡、QoS保证、多径路由、路由判据等优化原则对DSR的改进方法进行研究。

(1) 基于路由判据的DSR协议的改进

DSR路由协议均以最小跳数作为路由判据。研究表明, 在大多数情况下, 该路由判据的性能并不是最优的。例如两节点之间选择跳数最小的路径, 由于干扰冲突、通信距离等因素的影响, 使该路径的链路质量恶化, 从源节点到目的节点的端到端的吞吐量、误码率等性能将变得非常差。为解决因路径质量差而影响网络吞吐量等性能的问题, 要求DSR采用一种新的路由判据, 而且该判据能正确反映出链路质量对各指标的影响。

应用于DSR改进算法中的典型的新路由判据有加权累计传输时间WCETT (Weighted Cumulative Expected Transmission Time) [1]、ETX (Expected Transmission Count) [2]和A-ETX[3]等。WCETT综合考虑了带宽等链路性能参数以及最小跳数等因素, 能在吞吐量与延时之间获得一种平衡。ETX检测并且成功的处理了在不同传输方向上的传输成功率不对称的问题, 可以通过较为精确的计算来进行路由路径的选择, 还可以降低整个系统的能耗。但ETX参数可能存在的问题就是有可能会引入距离较长的单跳, 这样的单跳虽然ETX数值比较大, 但是如果整个路径的ETX数值之和比较小, 目的节点还是会选择这条路径, 而这个长距离的单跳, 就会成为制约整个网络的路由瓶颈, 从而将之前计算路由链路状态参数所付出的工作大大抵消。A-ETX是目的节点在进行路径选择的时候, 综合考虑一条路径中各个节点之间的ETX数值之和以及所经过的跳数之和, 从而得到每个跳数之间的平均ETX数值, 这样就会降低在之前ETX中出现的路由瓶颈问题的可能性。

(2) 基于QoS保证的DSR协议的改进

DSR协议在路由发现过程中得到多条路径, 但是仅仅根据最短跳数选路, 没有考虑到路径的延迟、链路信号的好坏、链路稳定性和带宽是否满足应用。如图1所示, 由于Ml与目的节点D之间随着距离的增大, 衰减越来越厉害, 无线信号变得不稳定, 但是由于S-Ml-D跳数少, DSR协议选择该路径传输数据, 但是信号不好, 该路径可能频繁断路, 不断重新路由, 且每次都发现最短路径S-Ml-D, 使得路径严重震荡, 对于延时、延时抖动要求严格的业务是无法容许的。另外DSR协议路由发现过程中只要下一跳能到达, 就发送RREQ分组, 事实上有些节点可达, 但是无法提供业务所需要的带宽要求, 所以这条路由在发送分组的时候也会失败, 引起不断重路由。另外, 对于稳定性要求高的业务, DSR协议也无法满足。

目前基于QoS保证的DSR的改进方法的主要思路是改进传统的DSR路由协议, 增加QoS保证功能。主要思想是在原有的尽力而为的路由协议上增加QoS参数, 进行路径选择, 选择满足资源要求的路由, 提供更好的数据传输性能。这类算法有QoS-DSR[4], MOQSR[5], QDSR[6]。这些算法在路由发现过程中, 源节点在路由请求分组携带应用所要求的QoS参数 (如最小带宽, 最大延时等) , 中间节点检查自身链路条件是否满足QoS参数。如果满足则转发, 不满足则丢弃, 从而发现符合QoS要求的路径。如果有多条路径, 再根据代价或者最短跳数进行选择。

(3) 基于负载均衡的DSR协议的改进

DSR以最短跳数选择路径, 当多个源节点向同个目的节点发送数据的时候, 容易造成大家都选择相同的路径, 使得中间节点拥塞, 网络中负载不均衡。如图2所示, S1与S2都向D发送数据, DSR选择最短跳数的路径, 于是Sl与S2同时选择Ml与M2作为中间节点, 造成Ml、M2拥塞, 并使该区域业务繁重。即使M3, M4, M5有足够的资源传输数据, DSR也不选择这条路径作为传输路径, 因而及容易造成网络负载不均衡, 降低网络的利用率和吞吐量。这对于时延、带宽严格的业务是极其不利的。因此, 在无线Mesh网络中对DSR协议进行改进, 在路由建立过程中, 避开负载较重的节点或者区域, 使得网络业务流尽量从负载较轻的区域穿过, 使得网络的负载均匀的分布在全网中, 从而提高网络的数据传输成功率、端到端时延等性能指标。

目前提出的基于负载均衡的DSR改进算法主要有: LBAR (Load-Balanced Wireless Ad hoc Routing) [7], DLAR (Dynamic Load- Aware Routing) [8]和LSR (Load - Sensitive On Demand Routing) [9]。这些算法不是以"路由最短"作为选路准则, 而是通过一些能够反映网络负载状态的信息来作为选择准则, 避开网络中负载较重的节点或者区域, 从而实现负载均衡。

LBAR是将节点的网络负载定义为经过节点及其邻居的路由数, 在存在业务流干扰的情况下, 选择的优化代价路由同时满足正在发送的业务流负载最小和邻居节点干扰最小的路径。DLAR是一种能够动态获知负载情况的协议, 中间节点的负载信息作为选路准则, 负载信息是通过缓存在节点中的数据包数目来度量的。在数据传输过程中, 中间节点会周期性地将它们的负载信息作为数据包中的数据域发送出去, 从而目的节点可以实时监测路由的负载状态。LSR是一种负载感知的DSR改进协议, 利用路由负载作为选路准则, 其中路由负载定义为路由中的节点及其邻居节点的缓冲区中的数据包数目的总和。该协议提出了一种路由比较函数来确定最佳路由。

(4) 基于跨层设计的DSR协议的改进

传统的有线网络分层设计的方法, 即将路由、调度等分开设计, 对于WMN来说, 并不是有效的设计方法。这主要是由于链路之间干扰会产生相互的影响, 一条链路的路由选择或带宽容量分配会影响到它周围其他相干链路的性能。DSR路由协议基本上是最短路径作为准则, 没有将网络层与其他协议层的信息进行交互, 选择更加可靠、高效的和性能优化的路径。而且传统的DSR路由协议存在很多不足, 例如无法有效地抑制拥塞现象、多业务流传输的公平性很差、不能有效地均衡网络业务负载等等。因此, 可以利用跨层设计的思想来改进DSR路由协议, 从而进一步提高WMN的性能。

利用跨层设计改进传统DSR协议不足的算法有QRCCLB[10]、DSR-FDR[11]和LDAR[12]等。QRCCLB是QoS感知的跨层路由算法, 根据MAC层的信息在路由选择过程中选择具有最小拥塞程度的路径, 实现了负载均衡和拥塞控制。DSR-FDR通过跨层设计为路由层提供网络的帧投递率 (FDR) 信息, 优化了路由发现与路由决策机制, 从而提高网络的吞吐率与负载均衡等能力, 并通过提升网络整体性能满足用户的QoS需求。LDAR提出了一个新的参数"节点空闲度 (leisure degree) ", 用来体现节点当前的传输状态, 基于这个参数, 联合了MAC层和网络层来进行跨层设计, 有效地实现了拥塞控制和负载分担, 也体现了很好的稳定性和公平性。

(5) 基于多径路由的DSR协议的改进

DSR路由发现可获得多条可用路径, 但是节点将业务流集中在一条主要的路由上传输。事实上, 多路径路由可以对负载进行合理分流, 将业务流分配到多条路由上同时传输, 减轻某些节点的负担, 实现负载均衡。并且当所选路径带宽不能够满足本节点的业务量需求时, 还可以利用多条路径传输来满足业务需求, 更好的支持QoS。但DSR并没有发挥多路径的特点。

多径路由可分为两大类:一类是备份多路径, 即在同一时刻, 源节点只通过一条路径往目的节点发送数据。当这条路径中断时, 可以用其他备用路径来发送数据;另一类是并行多路径, 即同时使用两条或两条以上的路径来传输流量。

BSR[13]、SMR (Split Multi path Routing, 简称SMR) [14]和QoS-MSR (QoS Multi path Source Routing) [15]都是基于多径路由的DSR的改进方法。其中BSR是一种备份多径, 它根据DSR的路由发现获得多条可用路径, 然后在每个数据分组头部存储主路径与备份路径, 当路由失效时, 直接从分组头部取出备份路径, 避免中间节点路由缓存信息不足, 信息过时造成的路由影响, 增加可靠性。SMR是随选型分离多路径路由协议, 它发现两条最大程度不相交的路由, 并利用这两条路径交替发送。该算法有效利用了多径特点, 提高了网络利用率。QoS-MSR使用DSR的路由发现过程, 发现多条路径, 并用唯一的路由标识索引存储在路由缓存中。它在DSR的路由请求分组中加入了几个字段, 当请求分组经过中间节点时, 该节点信息如带宽和时延记录在这些字段中, 最后, 源节点得到各个节点的QoS信息, 从中选择满足需求的路径, 并利用多带宽分裂预留 (MBSR) 把总的带宽需求分裂成多个路径上的小的带宽需求, 以增加带宽预约成功率。

(6) 基于控制数据包负载的DSR协议的改进

DSR协议属于反应式 (按需驱动式) 路由协议, 其主要优势就在于它的路由负载较低, 因此在实际中的Ad-hoc网络大多都使用DSR路由协议。但是, DSR协议路由建立阶段使用泛洪技术, 即当一个源节点在寻找目的节点时, 将一个路由请求数据包以泛洪的方式向整个网络发送, 会产生相当多的控制数据包, 从而减少了其自身在路由负载方面的优势, 并消耗了很多的网络资源。

目前对于DSR的控制数据包负载方面的研究主要有:

(1) 降低路由发现阶段控制数据包的发送范围[16]。

(2) 减少路由发现阶段的发起次数, 从而降低控制数据包数量[17]。

(3) 优化错误处理机制, 降低错误控制数据包数量[18]。

文献[16]主要通过使用主机的距离信息限制了路由的查找范围, 并允许中间有更新目的主机位置或距离信息的主机重新设定更精确更小的查找范围。主机通过每次路由发现前和邻居交换信息, 解决了无谓的路由发现, 并且获得了新的信息。路由维护中的中间节点负责对断开的链路重新查找, 减少了DSR路由维护中单向链路和数据发送过程中断路的时延和开销。文献[17]修正发送缓冲器的时限, 根据最近路径失效时间和缓冲器中路径状况预测将来的路径失效时间, 在缓存器中根据时间、能量参数搜索最佳路径、丢弃最差路径的策略, 减少了路由开销, 增加了分组成功发送率, 降低了延迟。文献[18]对原DSR 协议路由维护的抢修机制进行改进, 在数据分组头部增加两个域-NID 和HC, 以记录源节点和下一跳断开节点之间 (包括源节点和下一跳断开节点) 哪个节点缓存有到目的节点的最佳预备路由, 这样在路由失效时就能及时提供一条预备路由, 从而提高协议的性能, 降低平均端到端延时以及提高分组投递率。

4 结束语

为了使DSR协议符合无线Mesh网络的结构特性, 许多研究对其进行了改进, 根据不同的优化原则如路由判据、QoS保证、负载均衡、跨层设计等, 本文对各种优化原则下的DSR协议的改进思路进行了研究以及对现有的DSR协议改进算法进行了总结。但这些算法很多仍处于理论阶段, 尚未投入实践应用中。

DSR路由协议的改进 篇2

关键词:缓存优化,DSR,路由缩短,NS2

随着无线移动网络的发展,基于固定通信设备的移动通信网络得到了普遍的应用,如无线局域网和移动蜂窝网等。而对于没有事先布置好网络装置并且多变的场合,就需要一种没有固定通信设备也能快速组网的网络体系。Ad Hoc网络就是一种不依赖于固定通信设施的移动自组织网络,具有动态的拓扑结构、能够迅速地展开使用。Ad Hoc网络中的节点既可当作终端,也可作为路由器使用,主要完成网络中路由的建立、选择和维护。对于不能直接到达的两个节点,需要经过中间节点通过多跳的方式转发数据,因此又叫多跳网。目前已有10~20种移动Ad Hoc网络路由协议,每种路由协议都有各自的特点和适应的场合。一般可以将Ad Hoc网络路由协议分为表驱动路由和按需驱动路由协议两类。DSR协议是一种典型按需驱动路由协议,相比之下,DSR协议是Ad Hoc网络路由协议中与传统路由差别最大且整体性能最优的路由协议,对DSR协议的研究具有重要的意义。

1 DSR协议概述

动态源路由协议DSR(Dynamic Source Routing Protocol)是专门为Ad Hoc网络设计的、具有多跳无线、简单且高效的路由协议。DSR是基于源路由方式的,即在每一个传输分组的头部插入完整的源路由信息,以保证分组按照指定的路径传送。这种方法有效地避免了环路的出现,且在节点移动或者网络发生变化的情况下也能将分组正确地传送,提高了移动通信节点对于网络拓扑动态变化的适应能力。DSR协议包括两大机制:路由发现和路由维护。

(1)路由发现:DSR是一种按需路由协议,只在节点发送数据时才启动路由发现过程。节点接收到数据后,先查找自己的路由缓存表,如果路由表中不存在可到达目的节点的路由信息,就使用洪泛技术向邻居节点广播路由请求报文(RREQ),邻居节点在接收到请求报文后,缓存表存在到达目的节点的路由或者本身是目的节点,就发送一个路由应答包(RREP),并把路由信息反馈给源节点供其使用。若没有到达目的节点的路由或本身不是目的节点,则继续向自己的邻居节点发送RREQ包。

(2)路由维护:DSR的路由维护过程是在发送数据的过程中才进行的。在分组转发过程中如果发现某一跳链路不可达,中间节点向源节点发送路由出错报文(RERR),源路由在收到出错报文后,当再有发往该目的节点数据包时重新发起路由发现过程,且所有收到RERR报文的源节点和中间节点都将删除包含该跳链路的缓存路径。

DSR路由协议作为按需路由协议,具有开销小、简洁高效等特点。DSR协议也有一些缺点,主要表现在以下几方面:(1)采用源路由方式,储存报文传输过程中整个路径节点的路由信息,浪费了宽带资源。(2)其路由缓存机制,将导致在广播路由请求报文时,有许多中间节点同时应答,这可能会引起“应答风暴”,还可能导致过时的路由在网路中大量扩散。(3)为满足节点快速传送信息需求,没有考虑无线节点的能量问题。这会导致整个网络的能量或某些重要节点的能量很快被消耗,最终造成网络较快地分裂,影响了数据的传输效率,缩短了网络的生存时间。

2 DSR协议的改进设计

针对DSR路由协议存在的不足,本文对DSR路由协议进行了改进。针对DSR缓冲器先引入以下三个参数:

(1)形成时间路由参数:定义加入路由最晚的节点的时间为形成时间路由参数,记为TB。t表示DSR缓冲器中路由的某一节点加入到路由中的时间,则TB=max(t)。

(2)生存时间路由参数:定义路由中相邻的节点之间构成的链路从形成到失效的时间为生存时间路由参数,记为TL。

(3)剩余生存时间路由参数:定义生存时间路由参数与路由已存活的时间参数之差为剩余生存时间路由参数,记为TR。TC表示当前时间,则TR=TL-(TC-TB)。

针对DSR缓冲策略存在的不足,对DSR的缓冲策略进行以下改进:选择最佳路径时,首先选择路由长度最短的路由,在最短路由不止一条的情况下,则选择最短路径中剩余生存时间最长max(TR)的一条路由。当缓存器满时,就舍弃剩余生存时间路由参数最小min(TR)的路由。

优化DSR路由的自动缩短机制:主要进行以下两方面改进。

(1)寻找跳数最小、所产生的新路由的路由质量最好的路由。TL决定路由的质量,取TL最大值的路由。

(2)通过新形成链路的移动节点速度、移动方向、位置估算出新形成链路的TR,来判断是否要让节点使用新的链路路由。如果产生的新链路的剩余时间参数TR小于原来链路的TR,则路由缩短机制产生的路由是没有意义的,这条新链路被判断为失效。采用本方案设计的路由自动缩短机制不仅能产生跳数尽可能小的路由,同时还确保了新形成路由的TR不会很小。

3 改进DSR协议的ns2仿真

3.1 仿真条件的设置

仿真实验所用网络参数的设置如下:在一个总共由180个节点组成的宽带无线自组网上进行。接入设备由36个节点均匀分布在6×6的网格空间,所有节点的传输距离和干扰距离都相同,节点间的空间距离为200 m。MAC层协议采用CSMA接入,网络环境为IEEE 802.11,传输速率为1.6 Mb/s,功率衰减参数为2,网络协议为IP协议。传输半径为250 m,干扰半径为550 m,两者比例为2.2。网络采用的路由协议为DSR协议以及改进的DSR协议,具体参数如表1所示。

3.2 改进的DSR协议性能仿真分析

本文将改进的DSR协议与NS2现有的DSR协议的性能进行对比,所有的仿真都是在NS2仿真平台上进行的。在该仿真过程中,网络使用一条恒定速率(CBR)的数据流,由节点0在0~1 s之间随机选择一个时间往节点24发送数据流。仿真时间为100 s,画出网络吞吐量和时间的关系图,进行对比,如图1所示。

由图1可知,在数据传输期间,改进的DSR的吞吐量略微高于原DSR。这是因为在改进的DSR协议中,对DSR协议的缓冲策略以及路由缩短机制进行了优化。当有多条最短路由时,选择剩余时间最大的一条;在选择跳数较小的路由时,必须保证所选的路由的剩余时间不小于它所代替的路由,从而保证了路由选择的质量。而原DSR协议中,把所有跳数最小的路由都加入路由缓存表,用跳数小的路由代替跳数大的路由。因此改进的DSR协议实现路由切换的代价比DSR协议小。

测试网络时延的仿真环境配置与网络吞吐量比较时的配置完全一致,网络时延的情况结果如图2所示。

由图2可知,在数据传输期间,采用改进DSR协议的网络时延略低于采用DSR协议的网络时延。由此说明,在网络路由路径发生变化时,采用改进DSR协议的网络能够保证修改后路由的质量,从而保持较低的时延,避免网络性能在切换路由时恶化的情形。

测试网络丢包率的仿真环境配置与网络吞吐量比较时的配置完全一致,网络丢包率对比图如图3所示。

上面的仿真实验表明,与DSR协议相比,改进的DSR协议能够使网络获得更高的吞吐量以及更低的丢包率,且其时延相应减少。其原因是在其他设置一样的情况下,改进的DSR协议可以迅速地选择跳数少、质量高的路由,这样可减少切换所需要的时间,提高网络的吞吐量并减少丢包率,进而提高宽带无线自组网的性能。

本文阐述了基于路由缓冲优化的路由协议,并在路由缩短机制的基础上,对现有的按需路由协议提出了一种通用改进方法,同时讨论比较了DSR协议与改进的DSR协议,并具体地实现了改进的DSR协议在NS2的仿真实验。实验仿真结果证明了对于DSR协议的改进协议确实具有优于传统DSR协议的特性,让明了改进算法的可行性。

参考文献

[1]MATSUO H,MORI K.Accelerated ants routing in dynamicnetworks[C].International Conference On Software Engineer-ing,Artificial Intelligence,Networking and Parallel/Distri-buted Computing,2001,8:333-339.

[2]CHOUDHARY R R,BHANDHOPADHYAY S,PAUL K.A distributed mechanism for topology discovery in Ad Hocwireless networks using mobile agents[M].Procedings ofMobicom,2000:145-146.

[3]HAAS Z J,PEARLMAN M R,SAMAR P.The zone rout-ing protocol(ZRP)for Ad Hoc Networks[M].IETF Internet-Draft,2002.

[4]PERKINS C E.Ad Hoc networking[M].Addison-Wesley,Boston,2001:139-172.

[5]BROCH J,JOHNSON D B,MALTZ D A.The dynamicsource routing protocol for mobile Ad Hoc networks[M].IETF Internet-Draft,1998.

[6]吴东亚,侯朝桢,侯紫峰,等.移动自组网路由协议DSR性能评价[J].计算机应用与软件,2004,21(12):66-68.

DSR路由协议的改进 篇3

无线移动自组网络(Mobile Ad Hoc Network,MANET)是一种特殊的无线移动通信网络,它由一组带有无线通信收发装置的移动终端节点组成的一个多跳临时无中心的网络,可以在任何时刻任何地点快速构建的,并且不需要现有信息基础网络设施的支持,网络中的每个终端可以自由移动且地位相等[1]。网络中的节点同时担当着主机和路由的功能,作为主机,终端需要运行面向用户的应用程序,作为路由器,终端需要运行相应的路由协议。这种网络所具有的独立组网、无中心、自组织及多跳路由特点较传统的网络有了更大的灵活性和自由度,使其能广泛的应用于紧急情况,偏远野外,临时会议等各种对灵活性要求高的场合。但它在带来这些优点的同时,也存在不可避免的问题,一方面是由于移动终端本身的局限性,这种局限性主要体现在节点的能源有限,内存较小,CPU的处理能力较低等,另一方面是网络的局限性,由于Ad hoc网络采用的是无线信道,有限电源,分布式控制等技术,使其更容易受到被动窃听,拒绝服务,剥夺“睡眠”等网络攻击,这些问题的存在严重影响了整个网络运行的质量和效率。针对这些问题,目前ad hoc网络研究的重点主要在网络的路由,管理,节能及安全等方面。

1 安全研究及相关工作

安全问题是ad hoc网络研究中的一个重要课题,在对安全敏感的应用中尤其如此。其安全性目标和传统网络相一致[1]:

1)可用性:即使当网络受到攻击,节点仍然能够在需要的时候提供有效服务。

2)机密性:能保证特定的信息不会泄露给未经授权的用户,比如在军事战场上。

3)完整性:就是保证信息在传输过程中不会被中断,并且保证节点接收的信息应与发送的信息完全一样。

4)安全认证:使每个节点能够确认与其通信节点的身份,同时能够在没有全局的认证机构的情况下实施对用户的鉴别。

5)抗抵赖性:这个可以确保一个节点不能否认是他发出的信息。

对移动自组网的攻击根据攻击特性可分为主动攻击、自私性攻击和被动攻击[2]。

被动攻击是指攻击节点只是消极窃听,窃听的信息主要包括“通信的内容”和“通信的路由”信息,单纯的被动攻击只能获取信息,并不造成网络的瘫痪。主动攻击则指攻击节点采用各种方式主动入侵网络各个环节,降低网络性能和可用性;主动攻击可以分为“外部攻击”和“内部攻击”,外部攻击指实施攻击的节点设备没有通过网络验证,内部攻击是指攻击设备已经在网络中获得合法身份。而自私性攻击是指网络中部分节点可能由于资源有限和计算能量等原因而不愿承担为其他节点的转发任务。

对付网络外部的攻击者,可以使用身份安全认证和密钥策略[3]。比如自组织的公共密钥机制,基于PKI的局部化认证机制,异步分布式密钥管理策略等。而对网络内部的攻击者,认证和密钥无能为力,我们可以采用采用入侵检测和行为检测机制。主要是根据某个节点的行为来判断节点是否是攻击节点。

2 DSR路由协议

DSR[4](Dynamic Routing Protocol,动态源路由协议)协议是一个典型的按需路由协议,也是最早采用按需路由思想的协议,DSR是基于源路由概念的按需自适应路由协议,移动节点需要保留存储节点所知的源路由的路由缓冲,当新的路由被发现时,缓冲内地条目随之更新,它的最大特点是使用源路由机制,每一个分组的头部都包含整条路由信息。这种机制最初被IEEE802.5协议用在由网桥互连的多个令牌环网中寻找路由。DSR借鉴该机制,并结合了按需路由思想。DSR协议使用源路由,采用Cache(缓冲器)存放路由信息,且中间节点不必存储转发分组所需的路由信息,网络开销较少。

DSR路由协议包括两个过程:路由发现和路由维护。

路由发现:当一个节点欲发送数据到目的节点时,它首先查询路由缓冲器看是否有到目的节点的路由,如果有,则采用此路由发送数据,如果没有,源节点就开始启动路由发现程序,路由发送过程使用泛洪路由。

路由维护:DSR支持主动应答和被动应答两种链路状态监测方法,路由维护通过路由错误分组和确认分组来实现,一旦节点在发送数据时发现需要使用的邻接链路断开,它发送“路由出错”分组给这些断开路由的源节点,源节点收到分组后,将失效路由从路由表中删除,沿途转发“路由出错”的节点也从自己的路由表中删除包含该断开链路的所有路由。

除路由错误分组外,确认分组可以用来验证路由连接的正确运行,路由维护过程中源节点检测网络拓扑的变化,若有变化导致源路由中断,源节点就尝试用缓存中的路由信息,如果不成功,就重启路由发现过程,为减少路由开销,节点缓存学习到底或用过的路由信息,并通过随机收听的方式来获取路由信息。

3 对DSR路由协议的改进

由前面分析可知,DSR路由协议在构建之初,并未考虑到网络的安全性问题。网络中的恶意节点可以利用中间任何环节发出攻击,是数据不能正常传输。例如当源节点向目的节点发送数据包时,路由信息被加入到数据包的IP选项域,中间节点根据IP头中的源路由信息转发数据包。路由维护处理链路断开的情况。这种路由情况下所暴露的问题是:在路由发现阶段,中间节点需要将自己的路径信息记录在路由数据包中,恶意节点在这个过程中可能通过插入错误的路径信息,使路由包的传输路径发生偏离和变更,绕过合法路径;同时中间节点也可能丢弃路由包,使得路由包不能到达目的节点;恶意节点可能会重复地转发一个旧的路由请求包等。

为了提高路由协议的安全性,减少中间节点对数据的处理和可能的修改,保证数据的完整性,可以应用单向散列函数[3]于数据中,hash函数将任意长的数字串M映射为定长的短数字串H=h(M),H称为M的hash值,hash函数h(M)必须很容易计算,我们可以验证序列M和M'是否具有相同的hash值,却不能从H求出来,由于hash函数这样的特性,我们可以充分运用它来验证我们数据传输过程中是否改变,但是仅仅通过字串的hash值,则只能用于检测数据的完整性,现在我们在求hash值时加上密钥控制,即H=h(k,m),则可以大大增加伪造消息的难度,这样有密钥控制的hash值也可用于认证。源节点在数据传输时除了对数据进行加密外,同时对数据进行计算散列函数,但并不传输,留在缓冲区内,而目的节点接收到数据后先解密,解密成功后计算数字摘要,并将数字摘要通过自己的反向路由回传给源节点,源节点会将接收到的数据和自己缓冲区的数据比较,如果是相同的,则继续传输数据,若不相同,则换一条路径传输。

对于密钥,我们采用对称性加密算法,如每次数据传输前,先通过DH算法交换密钥,待密钥交换成功后再进行传输,由于是每次传输时才会产生密钥,所以不需要每个节点记下其他节点密钥,在需要是进行交换即可。

DH[6]密钥交换算法是基于数论中的一个古典难题:离散对数问题。离散对数问题:若p是素数,p已知,考虑方程y=gx mod p,给定g,x求y是简单的,但给定y,g求x,即求x=logg,py mod p,在计算上是不可行的。

DH密钥交换算法的描述如下:已知公开的素数p和p的本原根α

1)用户A选择秘密的Xa

2)用户B选择秘密的Xb

3)A和B分别计算Ka=(Yb)Xa mod p和Kb=(Ya)Xb mod p,就同时得到了共享的密钥K=Ka=Kb,然后就可以用K进行加密传输了。DH密钥交换算法的优点在于:双方在通信前不需要知道任何共享的密钥,而是通过公开的p和α协商出一个密钥来进行加密通信。

通过前面分析,我们可以将DSR路由协议如下流程图进行改进。

4 结论

本文在DSR路由协议的基础上采用对称加密机制防止数据传输时中间节点的篡改,添加,并使用密钥交换算法实现传输前密钥的交换,以及利用数字摘要回传比较方法抵御中间某些知道密钥的节点而修改数据,从而进一步保证数据的安全性。

摘要:移动自组网是一种有特殊用途的对等式网络,具有无中心、多跳,自组织、可快速展开、可移动等特点,这些特点使得它在战场、救灾等特殊场合的应用日渐受到人们的重视。当前自组网络的安全性研究正成为一个热点,而路由协议的安全性是移动自组网络安全中最重要的一环,本文在分析了安全路由协议概括的基础上,提出了基于DSR路由协议的安全路由协议,通过在该协议的基础上添加密钥算法和数字摘要及反向验证等安全措施,提高DSR协议的安全可靠性。

关键词:adhoc网络,DSR协议,对称加密,数字摘要

参考文献

[1]郑相全.无线自组网技术实用教程[M].北京:清华大学出版社.2004,3-4,307

[2]王建新,拉米.移动自组网的安全性研究[J].技术纵横,2004,5.

[3]姜海,何永明,程时昕.移动Ad Hoc网络关键技术研究[J].中兴通讯高级论坛,2001,(7):61-65

[4]D.B.Johnson and D.A.Maltz,"Dynamic source routing in adhoc wireless network,mobile computing,"In MobileComputing,edited by Tomasz Imieliski and HankKorth,Kluwer Academie Publishers,1996,151-181,

[5]蒋睿,胡爱群,等.网络信息安全理论与技术[M].湖北:华中科技大学出版社,2007.

DSR路由协议的改进 篇4

1 移动Ad Hoc网络及DSR协议简介

移动Ad Hoc也称MANET[1],是由一组无线移动节点组成,不需要依靠固定通信基础设施的、能够迅速展开使用的网络体系。其特点是:没有任何中心实体、自组织、自愈。由于这些优点,MANET适合被用于某些有中心设施网络不能胜任的特殊场合如:战场上部队快速部署、灾区的营救、传感器网络、商务及郊游等。现有的路由协议可分为:表驱动路由协议和按需路由协议,前者典型的协议为DSDV(Destination-sequences distance vector routing),后者有代表性的协议为DSR(Dynamic source routing)。按需路由协议相对于表驱动路由协议网络负载小,实现简单,因此得到了更加广泛的研究。

源动态路由协议DSR[2]是专门为移动Ad Hoc网络设计的简单且高效的路由协议,它可以动态地、自动地确定和维护网络中所有路由。DSR主要由两种机制组成:路由寻找和路由维护。

(1)路由寻找机制:当源节点S希望向目的节点D发送一个数据分组时,首先检索自身的路由缓存中是否存在未过期的所需路径,若存在,则按该路径发送分组,否则,以洪泛的方式向其他节点广播路由请求分组,直到S从其他节点发来的路由应答分组中获取有效路径;

(2)路由维护机制:当网络拓扑发生变化而导致某条链路中断时,使用该链路的节点会发现此路径已经过期。此时,该节点一方面会以发送错误分组的形式告知相关节点,另一方面会尽力寻找可用路由来抢救该分组,从而可以使网络中节点快速应对网络的拓扑变化。

2 问题分析

DSR协议思路简单,在节点少,流量小的小规模网络中表现的整体性能要比其他主流路由协议更优,但随着节点数量的增加,业务量增大,DSR的一些不足就逐渐体现出来。

2.1 路由请求的问题

源节点发送路由请求分组时,只是简单的洪泛分组,直至目的节点收到该分组并返回路由应答,多余分组当TTL(Time-to-Live)递减为零时被丢弃。假设每个节点的邻节点数均为N,则在第一跳后将有N个节点广播请求分组,第二跳后将有KN2(0<k<1,由于部分节点收到重复分组会丢弃该分组)个节点广播请求分组,依次类推。这种策略在节点密度小、路径跳数少的情况下,开销较小,网络吞吐量、端到端时延等性能都非常理想;但在大规模网络中,节点密度较大,跳数较多,尤其是TTL设定较大时,过多多余的分组在网络中传播,一方面多余分组的发送浪费资源,另一方面也会增加分组碰撞冲突发生的几率,影响分组的发送,使得网络整体性能大幅度下降。

2.2 路由应答的问题

在DSR协议中,路由发现过程允许多个节点回复同一个路由请求,即若非目的节点的路由存储器中存在到达目的节点的路径,则停止转发路由请求,并向源节点回送一个路由应答。这样虽然减少了洪泛的数量,但随着网络规模的增大,节点对网络拓扑变化的反应也逐渐变得迟钝,源节点就难免收到一些路径已过期的路由应答,并且在大型MANET中,由于节点数量较多,对同一路由请求的应答也会很多,大量有用无用的路径混杂在一起,一方面为路由选择增加了困难。更恶劣的是,因为节点之间的相互转发,过期的路径将很难被彻底从网络中清除,而不断使用过期路径来发送数据分组,也会对网络性能产生严重影响。

2.3 路由选择的问题

当节点从路由存储器中选择路由时,其策略仅仅是选取跳数最少的“最短路由”为最佳路由,而没有考虑相应的延迟、路由质量等因素。首先,从单个节点的角度来看,由前所述可知,当网络规模较大时,回复同一路由请求的路径较多,并且质量参差不齐,简单的选择算法难以应对如此复杂的状况。一旦选择了质量差的路径,后果也会很严重,最坏的情况会是:源节点选择的“最佳路由”由于某种原因——或许是本身就已过期、或许是发送过程中某段链路失效,从而导致发送失败,但此时本来有效路径也已过期,这样就使之前的整个路由请求和路由应答过程做了无用功,进而还会使节点不断使用过期路由发送分组,给网络加大不必要的负担,减小有效通讯量;其次,从多个节点的角度来看,因为众多节点均选择最短路由,就有可能使得多个节点竞争使用同一条链路,甚至发生局部拥塞[3],而许多高质量的路径却处于空闲状态。网络资源得不到有效利用,自然也会影响性能的表现。因此,路由选择也是一个不容忽视的环节。

3 仿真实验

为了证明上述分析,使用软件OPNET对不同规模,不同参数的网络进行仿真。OPNET[4]是一款基于离散事件驱动的仿真器,有着十分丰富模型库,并且提供了一个开放的环境,因此应用十分广泛,是当前主流的网络仿真软件之一。

文中所有仿真均选取OPNET模型库中的MA-NNT节点模型作为网络节点,AC层协议为IEEE802.11,物理层为802.11a,带宽设为24Mb·s-1,分组大小为512字节,分组发送速率为平均每秒10个,移动速度为10 m·s-1,目的地址随机选取。其他参数随场景不同而略有变化。在不同的场景中,选取下列统计量进行对比。

节点平均吞吐量:成功接受数据分组速率与节点数之比;

成功投递率:发送的数据分组总数中成功投递分组所占比例;

路由发现时间:从发送路由请求到接受到路由应答所用时间平均值;

端到端时延:数据分组从产生到成功接受所用时间平均值;

路由请求均值:路由请求的平均发送速率与节点数之比;

路由应答均值:路由应答的平均接受速率与节点数之比。

实验中,分别对10个节点,30个节点,50个节点,80个节点进行仿真,为了使各个场景中节点密度相同,把场景面积分别设为1 000 m×300m,1 000 m×900 m,1 500 m×1 000 m以及2 400m×1 000 m,仿真结果如图所示。

节点平均吞吐量是反映MANET网络容量的重要指标之一,由图1可以看到随着节点数量的增大,网络容量大幅度下降,当然数据分组的中继会造成一定的开销,但显然路由方面的影响也不容忽视。图2中显示了不同规模的网络在相同发包率下,成功投递率的变化。在10个节点的场景中,路由维护较为灵敏,路径可靠性较高,分组发送成功率可以逐步达到一个较高的水平。而30个节点的场景中,在网络运行之初,节点存储路径少,过期路由也较少,则投递成功率较高,之后随着节点不断接受路由应答,其所存储路径中过期路由的比例也有所增大,这就增加了节点使用过期路由发送分组的几率,从而使分组成功投递率不断降低,直到网络达到平稳状态。此问题在50个节点的场景中就显得更加突出了,数据分组很难到达目的节点。而当节点数增加到80个节点,情况更加恶劣,这里为了使图线清楚将其省略。

图3、图4更加浅显地反映了DSR协议在大规模网络中的问题,图3中平均每个节点每秒收到的路由应答分组数量,随着节点数的增大,远远高出了每秒发出的路由请求分组。结合图4中路由发现时间的变化,可以看出路由请求所造成的巨大开销,以及对网络拓扑变化的迟钝,这就会引发前一节分析的诸多问题,从而导致了网络平均端到端时延,容量等性能的恶化。

4 结束语

文中研究分析了DSR路由协议在大规模Ad Hoc网络中运行将会出现的一系列问题,并以OPNET进行仿真实验加以论证:DSR协议的路由发现机制过于简单,在节点数较多的环境中难以胜任——不但浪费了许多网络资源,而且对网络拓扑变化不够敏锐,给路由维护机制带来了巨大的困难。下一步将针对该问题深入研究,设法提出改进算法,从根本上改善DSR协议的性能。

参考文献

[1]陈林星,曾曦,曹毅.移动Ad Hoc网络[M].北京:电子工业出版社,2006.

[2]David B. Johnson David A. Maltz, Yih-Chun Hu. The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks(DSR)[EB/OL]. http: //www. ietf. org/ internet-drafts/draftietf-manet-dsr-09. txt, [2004-10-19](2007-07-01).

[3]Wang Yang, Li Hongyan, Li Jiandong. Performance A- nalysis of DSR[J]. Chinese Journal of Electronics, 2005, 14(2) : 328-331.

上一篇:加工企业下一篇:影响母乳喂养的原因