按需路由协议范文
按需路由协议范文(精选5篇)
按需路由协议 第1篇
关键词:Ad Hoc网络,安全按需路由,虫洞攻击,散列函数
0引言
移动Ad Hoc网络[1,2] (Mobile Ad Hoc Networks, MANETS) 组网方便、快捷, 不受时间和空间限制, 既可应用于救援、会议、战场、探险、远距离或危险环境中的目标监控等场合, 还可用于末端网络的扩展, 因此得到了广泛应用。移动Ad Hoc网络是一种临时自治的分布式系统, 具有无中心接入和多跳的特征[3]。网络中各个节点的地位平等, 每个节点都具有主机与路由器的双重功能。
由于没有固定基础设施、拓扑频繁动态变化、无线信道完全开放、节点的恶意行为难以检测、网络缺乏自稳定性等原因, 移动 Ad Hoc网络容易遭受多种类型的攻击[4,5,6], 主要有路由破坏攻击 (如虫洞攻击, 黑洞攻击) , 资源消耗攻击 (如拒绝服务攻击) 等。因此设计安全的路由协议非常重要。
1安全按需源路由协议
为了使得路由 (secure Ad Hoc on-demand routing, SAOR) 协议实用性较强, 能够满足多数应用场合的安全性要求, 需综合考虑所采用技术的安全特性。按需路由开销相对较小, 且具有较强的实用性, 基于此本文提出一种适用于Ad Hoc网络的安全按需源路由[7,8] (secure Ad Hoc On-demand routing, SAOR) 协议。该协议利用移动节点之间的会话密钥[9]和基于散列函数的消息鉴别码HMAC一起来验证路由发现和路由应答的有效性。提出了的邻居节点维护机制通过把MAC地址与每个节点的ID绑定来防御各种复杂的攻击如虫洞攻击等。该协议的最优性能就是自认证密钥体制带来的小通信开销。该协议同样包括路由发现和路由维护两个过程, 并采纳目的节点序列号及邻节点列表等机制。
1.1 假设阶段
假设Ad Hoc 网络中的每对节点Ns和Nt都拥有自己的共享密钥。假设节点一旦进入网络, 其MAC地址就不会改变, 并且在节点进入网络之前, 每个节点已经获得了被CA签名的证书, 由此可以绑定MAC和ID (可能是节点的IP地址) 。节点A把证书赠予首次遇见的节点, 如果证书得到成功验证, 那么节点就可以和邻节点进行通信, 否则丢弃此节点。
1.2 邻节点列表维护机制
当节点A首次接收到另一个节点B的信息时, 首先把包含在证书的MAC地址和数据包头部的源MAC地址比较。如果两个MAC地址相配, 证书进一步验证CA的公钥。若两次验证均成功通过, 就把ID和MAC地址加入到当前邻节点列表中。因为网络中的节点有可能处于移动状态, 所以一个活跃比特始终用来显示该节点是否处在无限范围内。若在规定的时间内, 端节点还没有收到节点的信息, 活跃比特就失效。认证的
节点每次接收到邻节点的数据包后, 首先核查这个节点是否已经存在它的邻节点列表中, 它是否是活跃的。如果存在, 它进一步核实这个数据包的源MAC地址与已存在当前邻居列表中的节点配对的MAC地址是否相配。只有这些数据分组成功通过这两项验证, 才能传递到上层进一步处理。
1.3 路由发现过程
路由发现过程 (如图1所示) 包括路由请求, 路由请求转发以及在目的节点处对路由请求的验证, 还有相对应的路由应答, 路由应答转发和在源节点对路由应答的验证。
1.3.1 路由请求过程
当源节点想和目的节点通信但路由缓冲中并没有到达目的节点的路由时, 就根据实际应用情况, 结合节点数目、网络范围以及通信要求 (如节点发送通信请求的频率) 等, 为节点的分组发送率定义一个合理的数值区间, 若邻节点的分组发送率 (单位时间内节点发送分组的个数) 高于上限值或低于下限值, 则设置该点状态信息为无效。然后源节点S发起路由请求并广播, 在发起的路由请求报文中携带以下信息:
RREQ={S, D, QNum, TOP_CNT, {NodeList}, QMACs, d}
其中:S为源节点;D为目的节点;QNum是路由请求ID, 是随机产生的分组序列号, 每次启用路由发现机制时, 该数值被单调加1;TOP_CNT 为跳数, 开始时TOP_CNT =0, {Node List}={Null} (开始时路由请求没有经过任何中间节点, 因此没有存储任何信息) QMACs, d = Hash (CORE, TOP_CNT, {Node List}, Ks, d) 被中间节点用来进一步处理的k-MAC, 也被目的节点用来验证RREQ的完整性以及在{Node List}记录的路径的有效性。Ks, d是源节点S和目的节点D之间的共享密钥, CORE = Hash (RREQ, S, D, QNum, Ks, d) 是源节点的证书, 用来保证RREQ的确来自源节点, 并且保证固定域在传播过程中是完整的。其中, 序列对 (S, QNum) 惟一标识一个路由请求。
1.3.2 路由请求转发
当中间节点Ni收到一条新的路由请求RREQ分组时, 首先检查分组序列号QNum是否最大, 不是则不作任何处理丢弃该分组;是, 则继续提取目的节点地址并与自己路由缓冲中相应记录进行比较。如果自己是目的节点, 则回复路由响应报文;否则根据 (S, QNum) 判断是否收到过该路由请求消息, 如果收到过则丢弃该路由请求消息, 否则处理RREQ并进一步广播, 并将TOP_CNT增加1, 然后附加上一节点Ni-1的ID加入到{Node List}, 并且更新QMAC为:
undefined
1.3.3 路径响应RREP过程
目的节点D借助其本身拥有的共享密钥, 重复计算从源节点到目的节点之间路由请求RREQ所经过的中间节点, 并记录在{Node List}。很明显目的节点执行的HASH次数和记录在EERQ中的跳数相等。
如果以上均通过成功验证, D能确定RREQ的确来自源节点, 记录在{Node List}里的每个节点实际上都参加了RREQ的转发, 并且能够容易的获得RREQ经历的跳数。
路由应答初始化, 反向路由应答转发以及在源节点核实RREP基本上和路由请求阶段对称, 这里不在赘述。
1.3.4 路由维护
在路由维护阶段, 网络的拓扑结构发生变化, 如果源节点S到目的节点D之间的路由不再工作, 则探测到路由损坏的节点Nj向源节点S发送路由出错消息RERR (Route Error Report) 。当源节点S收到RERR消息后, S知道原路由已不可用。S将尝试使用他知道的通向D的其它路由, 或者再次借助路由发现去为随后的通向D的分组得到一个新的路由。
从节点Nj返回RERR过程类似于从Nj发送路由应答RREP到源节点S的过程。因而, 在此仅描述不同之处, 如图2所示。除了类型标志符和CORE的计算, RERR和RREP具有类似的格式。CORE的计算如下:
undefined
执行了j次Hash计算, j等价从节点Nj到目的节点D的跳数。
当源节点S收到RERR, 首先执行认证过程, 类似于RREP的过程, 惟一不同的是CORE的计算, CORE的计算如下:
undefined
执行了源节点到目的节点跳数与RERR报告中的跳数之差次Hash计算。
2仿真实验
仿真过程通过网络模拟软件NS-2[10]平台进行, 仿真环境670×670, 在此仿真区域有11个节点移动。每个节点的速度均分布在0~15 m/s之间。使用的随机模型是15个随机的节点, 每个节点都有一个不变的比特流 (每秒2个数据包的速率, 每个数据包为512 B) 。仿真中使用的Hash函数和邻居维护机制使用的数字签名函数分别是MD5 (128 B) 和RSA (1 024 B) 。此协议, 除了正常的路由开销, 还考虑到执行SAOR加密算法所带来的成本和延迟。
图3~图7显示出网络中30%和60%的节点遭到恶意攻击时的模拟结果。伪造虚假的路由应答, 声称自己具有到目的节点的最短路径, 目的是希望路由请求源节点源源不断地给它发送数据包。此后, 恶意节点将简单的丢弃数据包, 如黑洞攻击。
如图3所示, AODV数据包传递率迅速降低, 主要是因为大部分数据包被恶意节点丢弃。从图5、图7可以看出AODV协议中, 找到一条路由的平均时间以及AODV平均路由长度比没有恶意节点存在时要短。原因是显而易见的, 恶意节点可能比目的节点或者具有目的节点的有效路径的中间节点更早的对路由请求做出应答, 声称自己具有到目的节点的最短路径, 这也意味着大部分成功传递的数据包仅发生在邻节点之间。
另一方面, SAOR协议中, 当60%节点成为妥协节点时, 仍然能够完成65%以上的数据包传递率, 如图3所示, 但是此目的的完成却是以更多的路由发现时间、更长的端到端延迟以及更高的路由开销为代价的, 如图4~图6所示。最后, 因为SAOR不可能被妥协的中间节点误导, 可能发现一条到目的节点的路由, 因此SAOR协议中路由发现的平均长度比AODV长, 如图7所示。
3结语
随着计算机网络和移动通信的发展, 移动Ad Hoc网络的安全路由协议仍然是研究热点。本文提出的SAOR协议通过NS-2软件仿真, 结果表明此协议和AODV协议比较, 通信开销小, 却能够有效地防御并抵抗多种攻击如:拒绝服务攻击、黑洞攻击、虫洞攻击、不可视节点攻击等, 具有较强的安全性。
参考文献
[1]PERKING C.Ad hoc networking[M].New York:Addi-son-Wesley, 2001.
[2]王金龙, 王呈贵, 吴启晖, 等.Ad Hoc移动无线网络[M].北京:国防工业出版社, 2004.
[3]郑少仁, 王海涛, 赵志峰, 等.Ad Hoc网络技术[M].北京:人民邮电出版社, 2005.
[4]冯坤, 断立, 察豪.移动Ad Hoc网络安全分析综述[J].微计算机信息, 2006, 22 (6) :50-53.
[5]HU Yih-Chun, PERRIG Adrian, JOHNSON David B.SEAD:secure efficient distance vector routing for mobile wireless Ad hoc networks[J].Ad hoc networks, 2003, 3 (4) :175-192.
[6]付芳, 杨维, 张思东.移动Ad Hoc网络路由协议的安全性分析与对策[J].中国安全科学学报, 2005, 15 (12) :75-78.
[7]葛文英, 李鹏伟.Ad Hoc网络的按需路由研究[J].软件技术研究, 2006 (8) :41-42.
[8]詹鹏飞, 陈前斌, 李云.移动Ad Hoc网络AODV路由协议安全性分析和改进[J].计算机应用, 2003, 23 (8) :44-47.
[9]LI Zhen-jiang, GARCIA-LUNA-ACEVES J J.Enhancing the security of on-demand routing in ad hoc networks[M].Heidelberg:Springer-Verlag, 2005.
[10]于斌, 孙斌, 温暖, 等.NS-2与网络模拟[M].北京:人民邮电出版社, 2007.
[11]韩金冶, 花江, 汪晓宁.战术Ad Hoc网络结构与路由研究综述[J].现代电子技术, 2008, 31 (3) :160-163.
路由器・什么是路由协议 第2篇
路由协议作为TCP/IP协议族中重要成员之一,其选路过程实现的好坏会影响整个Internet网络的效率。按应用范围的不同,路由协议可分为两类:在一个AS(Autonomous System,自治系统,指一个互连网络,就是把整个Internet划分为许多较小的网络单位,这些小的网络有权自主地决定在本系统中应采用何种路由选择协议)内的.路由协议称为内部网关协议(interior gateway protocol),AS之间的路由协议称为外部网关协议(exterior gateway protocol)。这里网关是路由器的旧称。现在正在使用的内部网关路由协议有以下几种:RIP-1,RIP-2,IGRP,EIGRP,IS-IS和OSPF。其中前4种路由协议采用的是距离向量算法,IS-IS和OSPF采用的是链路状态算法。对于小型网络,采用基于距离向量算法的路由协议易于配置和管理,且应用较为广泛,但在面对大型网络时,不但其固有的环路问题变得更难解决,所占用的带宽也迅速增长,以至于网络无法承受。因此对于大型网络,采用链路状态算法的IS-IS和OSPF较为有效,并且得到了广泛的应用。IS-IS与OSPF在质量和性能上的差别并不大,但OSPF更适用于IP,较IS-IS更具有活力。IETF始终在致力于OSPF的改进工作,其修改节奏要比IS-IS快得多。这使得OSPF正在成为应用广泛的一种路由协议。现在,不论是传统的路由器设计,还是即将成为标准的MPLS(多协议标记交换),均将OSPF视为必不可少的路由协议。
外部网关协议最初采用的是EGP。EGP是为一个简单的树形拓扑结构设计的,随着越来越多的用户和网络加入Internet,给EGP带来了很多的局限性。为了摆脱EGP的局限性,IETF边界网关协议工作组制定了标准的边界网关协议--BGP。
RIP协议
OSPF协议
BGP协议
IGRP协议
EIGRP协议
无线自组织网络按需路由协议研究 第3篇
无线自组织网络灵活性强、覆盖范围大、系统容量高且有着高效自组织能力[1,2],可以适应军事通信面临的复杂无线电环境,满足即使没有固定基础设施也能保证通信性能的要求,因此无线自组织网络具有诱人的潜在应用前景。无线自组织网络的核心为路由算法,现存的路由协议都有各自的优缺点, 如何针对特定的环境选择合适的路由协议是值得研究的问题[3]。
现有的无线自组织网络路由协议可以分为2类: 表驱动路由协议,又称主动路由协议和源发起按需驱动路由协议,又称按需路由协议[4]。目前, 无线自组织网络常采用按需路由协议[5],它是只在有通信需求时才开始进行路由的建立。典型的按需路由协议有按需距离矢量( Ad Hoc On-demand Vector Routing,AODV ) 路由协议[6]和动态源( Dynamic Source Routing,DSR) 路由协议[7],本文主要针对这2种路由协议的选择问题进行了分析。
1无线自组织网络源发起路由协议
1.1 AODV路由协议
AODV路由协议基本过程包含路由请求过程、 路由应答过程和路由维护过程,其显著特点是在路由条目中引入了节点序列号[8,9]。
路由的请求过程通过路由请求RREQ分组进行。RREQ分组包含了源节点序列号和目的节点序列号,到达源节点的反向路由通过源节点序列号进行维护,到达目的节点的最新路由可以通过目的节点序列号显示出来。RREQ分组最终将到达目的节点,或者到达具有目的节点的路由的中间节点。若这个中间节点的路由表中有到达目的节点的路由项,则通过比较RREQ分组中的目的节点序列号和路由表项里的目的节点序列号的大小来判断RREQ分组中的路由是不是比较新的。
如果该节点具有到达目的节点的最新路径,且该路由请求分组还没有被处理,那么该节点将会沿着已经建立好的反向路径返回路由应答分组。在路由应答分组转发至源节点的过程当中,每一个在这条路径上的节点都将会创建到达目的节点的正向路径,也就是要记录下转发该路由应答分组的那个邻居节点地址,然后更新已经记录下RREP分组中的目的节点的最新序列号和有关源路由与目的路由的定时器信息。
当链路中断时,若断路节点到目的节点的距离小于最大修复距离,则启动本地修复过程,否则便重新向目的节点发起路由发现过程。
1.2 DSR路由协议
DSR路由协议是一个特别为多跳无线自组织网络中的移动节点所设计的简单而有效的路由协议。在该协议中,网络中每个节点都需要维护一个路由列表,每当发现新的路由时便更新这个列表。 在数据传输的过程中,每一个数据包的包头都含有从源节点到目的节点路由所经过的中间节点序列信息。此协议主要由路由发现和路由维护2种机制组成[10,11]。
当源节点准备向目的节点发送一个消息包时, 源节点会在该消息包的包头中存储一条源路由,源路由记录了消息包从源节点转发到目的节点所需经过的节点序列。通常情况下,源节点可以在路由缓存器中搜索到源路由。当路由缓存器中没有可用的源路由时,源节点将会执行路由发现过程来动态地查找一条到达目的节点的新路由。
当目的节点需要向路由发现的源节点返回路由响应消息时,目的节点就开始搜索自己的路由缓存器,查找一条可到达源节点的路由。如果路由缓存器中有可用的路由,目的节点就使用该路由,否则, 目的节点就将路由信息表中的路由反转使用。
当一个节点发送或是转发一个消息包到目的节点时,路由维护将会检测路由是否因为网络拓扑发生变化而失效。这样一来,当一个节点准备利用源路由发送一个消息包时,每个转发该消息包的节点都必须检查消息包是否按照源路由转发到了下一跳节点,只有在收到下一跳的确认帧后,转发该消息的节点才将消息包转发给下一跳,否则就返回一条路由出错消息给发送消息包的源节点。当源节点收到该消息后会将这条失效的链路从路由缓存器中删除,如果源节点的路由缓存器中还有可用的另一条路由则使用新的路由来转发消息包,如果没有则进行路由发现过程。
2仿真与分析
2.1仿真环境
本文的仿真场景如表1所示。
仿真主要考虑的影响因素为节点数目和节点移动速度[12],主要性能指标为传输层平均时延、路由收敛时间、接收包数量、路由开销和包投递率[13],其中传输层平均时延反映了数据从源节点到目的节点所需的时间; 路由收敛时间反映了在路由发现过程中所消耗的时间; 接收包数量为目的节点接收的数据包的总数; 路由开销为路由信息的字节数与有效信息的字节数的比值,反映了路由开销的大小; 包投递率反映了成功投送的概率。在仿真过程中节点运动为随机的,因此对每种影响因素计算了50个样本,最后取平均值作为性能指标。
2.2节点数目对性能的影响
本节对不同节点移动速度情况下节点数目对路由层协议性能的影响进行了仿真,此时节点移动速度分别取60 km/h和80 km/h,节点数目取值以2为间隔,从4增至20。
传输层平均时延与节点数目的关系如图1所示。由图1可知,在2种不同的节点移动速度情况下,AODV路由协议的传输层时延均小于对应的DSR路由协议的传输层时延,但随着节点的增多, 差距逐渐变小。
路由收敛时间与节点数目的关系如图2所示。 由图2可知,在2种不同的节点移动速度情况下, AODV路由协议的路由收敛时间均小于对应的DSR路由协议的路由收敛时间,且2种路由协议收敛时间随着节点数目的增加而减小,这是因为节点的增加为路由的建立提供了更多的机会,从而使得路由建立时间变短。
接收包数量与节点数目的关系如图3所示。由图3可知,在2种不同的节点移动速度情况下, AODV路由协议的接收包数量均大于对应的DSR路由协议的接收包数量,且2种路由协议接收包数量随着节点数目的增加而变大,这是因为节点的增加使得发送的数据变多,从而使得接收包数量变大。
路由开销与节点数目的关系如图4所示。由图4可知,在2种不同的节点移动速度情况下, AODV路由协议的路由开销均大于对应的DSR路由协议的路由开销,但差距不大。2种路由协议路由开销随着节点数目的增加而变大,这是因为节点的增加使得路由可选择的路径增多,从而使得路由开销变大。
包投递率与节点数目的关系如图5所示。由图5可知,在节点数目较少时,AODV路由协议和DSR路由协议没有很大的区别,随着节点的增多, 在2种不同的节点移动速度情况下,AODV路由协议的包投递率均大于对应的DSR路由协议的包投递率。
2.3节点移动速度对性能的影响
本节对不同节点数目情况下节点移动速度对路由层协议性能的影响进行了仿真,此时节点数目分别取16和20,节点速度取值以5 km/h为间隔,从5 km / h增至100 km / h。
传输层平均时延与节点移动速度的关系如图6所示。由图6可知,在2种不同的节点数目情况下, AODV路由协议的传输层时延均小于对应的DSR路由协议的传输层时延。
路由收敛时间与节点移动速度的关系如图7所示。由图7可知,在2种不同的节点数目情况下, AODV路由协议的路由收敛时间和DSR路由协议的路由收敛时间随着节点移动速度的变化没有明显的趋势,表明了路由收敛时间受节点移动速度影响较小。
接收包数量与节点移动速度的关系如图8所示。由图8可知,在2种不同的节点数目情况下, AODV路由协议的接收包数量均大于对应的DSR路由协议的接收包数量,且2种路由协议接收包数量随着节点移动速度的增加而减小,这是因为节点移动速度的增加使得网络拓扑变化较快,路由的发现过程变多,从而使得接收包数量变少。
路由开销与节点移动速度的关系如图9所示。 由图9可知,在2种不同的节点数目情况下,AODV路由协议的路由开销均大于对应的DSR路由协议的路由开销,且随着节点移动速度的增加,路由的开销逐渐变大,这是因为节点移动速度的增加使得网络拓扑变化较快,路由的发现过程变多,从而导致了路由开销的增大。
包投递率与节点移动速度的关系如图10所示。 由图10可知,在节点移动速度较低时,AODV路由协议和DSR路由协议没有很大的区别,随着节点移动速度的增加,在2种不同的节点数目情况下, AODV路由协议的包投递率均大于对应的DSR路由协议的包投递率,且2种路由协议包投递率随着节点移动速度的增加而减小,这是因为节点移动速度的增加使得网络拓扑变化较快,从而使得网络更加不稳定,投递率减低。
2.4仿真结果分析
从上述仿真结果可以看出,AODV路由协议在传输层平均时延、路由收敛时间、接收包数量和包投递率等性能上均优于DSR路由协议。虽然AODV路由协议的路由开销稍大于DSR路由协议的路由开销,但相对有效信息,路由开销只占很少的一部分,因此得出了在节点数目不大于20,节点移动速度不大于100 km/h时,AODV路由协议要优于DSR路由协议的结论。
3结束语
按需路由协议 第4篇
关键词:战术通信网,AODV,DSR,OPNET,仿真测试
0 引言
互联网技术在战场上的应用与发展,产生了现代信息战中一个重要的战场信息传输网络即战术通信网。在军事战术战役中,谁能高效快速掌握战场前沿态势,谁将得到战略的制高点。在网络研究的初期不可能盲目地对战术通信网进行设计,必须要知道相关的网络技术的指标参数。如果能把网络流量、性能的实际监测分析结果和网络设计结合起来,则可为网络设计研究提供可靠的依据。
由于Ad-Hoc网络可以在没有基础设施支持的情况下提供通信,具有很高的抗毁性和灵活性,因此被各军事强国应用于战略和战术综合通信[1,2]。而Ad-Hoc网络的特殊性也使得传统固定网络和移动通信网中使用的各种协议和技术无法被直接使用因此需要为Ad-Hoc网络设计专门的路由协议和算法。目前具有代表性的路由协议主要有DSDV[3],SSA,AODV[4],DSR[5],CGSR,ZRP,LAR以及GPSR等。而在战术互联网中,主要采用按需路由协议,其中比较典型的有AODV和DSR。这里对AODV和DSR路由协议的算法进行了分析和对比,并以OPNET Modeler为仿真平台对这两种协议的性能进行了仿真测试。仿真结果为战术通信网中对协议的选择提供了具体详实的依据,也为后续对协议算法进行更广泛深入的研究和改进提供了依据。
1 协议分析
网络中的协议通过路由协议实现,路由协议可以完成在源与目的设备的用户应用间通信所需的各种功能,不同的协议中这些功能差异很大。
1.1 AODV路由协议
AODV路由协议是一种按需距离向量路由协议[6]网络中的节点需要通信时才发送路由分组信息。AODV路由协议中有三种类型的消息控制包:路由请求(RREQ),路由应答(RREP)和路由错误(RERR)。首先源节点向其邻居节点广播RREQ数据包,每一次广播时,RREQ ID会自动加1来防止路由环路的产生。当中间节点能够提供有效路径或者目的节点收到源节点发送的RREQ数据包时,节点会发送RREP数据包响应请求,并且沿着刚建立的逆向路径向源节点返回。AODV协议中,源节点收到该RREP后则根据路由信息开始向对应的目的节点发送数据。
由上述过程可以看出,AODV路由协议只支持双向链路。在数据传输过程中,当中间节点检测到一条正在传输数据活动路由的下一跳链路断开,或者节点收到去往某个目的节点的数据报文,而节点没有到该目的节点的有效路由时,中间节点向源节点广播路由错误消息RERR,每一个收到信息的中间节点都会维护自己缓存区中的路由信息。当源节点收到出错信息后,重新寻找路由。根据对AODV协议的分析,可得它的流程如图1所示。
1.2 DSR路由协议
动态源路由协议(Dynamic Source Routing,DSR)也是一种按需路由协议,其允许节点动态地发现到目的节点的多跳路由[7]。它的特点是使用了源路由的路由机制,每一个需要发送的数据包都在其头部包含了从源节点到目的节点所有的路由信息,因此中间节点并不需要实时地维护网络路由来转发数据包。只有在节点需要发送数据包并且当节点不知道目的节点完整路由的情况下,节点才会激活路由发现机制寻找到达目的地的路由。
1.3 两种路由协议的区别
(1)DSR协议中的路由信息比AODV中的多。AODV协议中,在返回RREP时才建立正向路由,并且是单播形式而协议是源节点路由并且最后的路由应答采用的也是广播的形式,所以DSR记录了更多的路由信息。
(2)使用路由的新旧不同。AODV协议中,只要一条路由信息在一定的时间没有使用过,那么不管这个信息是否还可以继续使用,都将从路由表删除,因此使用的都是最新的路由;而DSR协议只有在使用该路由信息并且传输出错时,才会删除该信息。
(3)链路出错时,发送出错信息的范围不同。AODV链路出错时,会通知网络中所有使用该路由的节点;而DSR只会通知源节点。
(4)DSR比AODV能源消耗小。AODV在查找路由的时候,只接收第一个RREP所携带的路由信息,以后的路由信息全部忽略;而DSR在查找路由的时候,所有的中间节点都会记录下来并且它维护不只一条路由信息,所以会减少路由发现的次数,从而节省能源。
2 仿真建模及结果分析
OPNET是业界领先的网络仿真系统,它基于离散事件仿真,采用三层建模机制,具有图形化输入/输出界面,采用面向对象的建模方法,可以运行在多种平台上,是美军多个大型军用仿真系统的仿真引擎。本文利用仿真工具OPNET Modeler配置多跳无线网络的模拟场景来执行路由协议AODV和DSR的仿真测试工作。
2.1 性能指标
结合战术通信网体系结构特性以及目前评价一种无线移动网络路由协议性能好坏的指标[8],具体对以下几个方面做分析:
(1)路由开销。路由控制开销是指路由控制信息的网络负载所占信道中总的网络负载的比例。路由控制开销=(控制信息的网络负载/信道中总的网络负载)×100%
(2)延迟。网络延迟是指在计算机之间传送一位数据所花费的时间,用秒或毫秒表示。本文主要对端对端延迟和信道接入延迟进行测试,将使用OPNET内的两个数据统计量:平均网络端到端延迟(单位:s)和信道接入延迟(单位:s)。
(3)丢包率。网络中数据的传输是以发送和接收数据包的形式传输的,所谓网络丢包率,是数据包丢失部分与所发送数据包总数的比值。
2.2 仿真场景及结果分析
假设自由传播空间不受地形等因素干扰,使用IEEE802.11MAC协议的情况下,建立两个场景进行仿真。将仿真结果进行对比来分析相关性能指标,来测试在一个较大范围内(2 000 m×2 000 m)节点的移动对网络性能影响。
场景一:13个固定网络节点,采用直线型拓扑,相邻两个节点之间为一跳距离,最大跳数设置为7,使用信道带宽1 000 kHz,数据传输率为100 000 b/s。
场景二:13个移动(m)网络节点,采用直线型拓扑,相邻两个节点之间为一跳距离,最大跳数设置为7,使用信道带宽1 000 kHz,数据传输率为100 000 b/s,移动速度为4 m/s。
2.2.1 平均端到端延迟和平均信道接入延迟
如图2和图3所示,可以看出,移动会使两种协议的延迟增加。
DSR协议平均端到端延迟增幅=0.00 125-0.001=0.000 25 s
AODV协议平均端到端延迟增幅=0.000 76-0.000 75=0.000 01 s
DSR协议平均信道接入延迟增幅=0.000 75-.=.
AODV协议平均信道接入延迟增幅=0.000 5-0.000 4=0.000 1 s
可以看出,DSR在延迟方面的增幅要高于AODV在延迟方面的增幅。
2.2.2 丢包率
如图4和图5所示,AODV的丢包数明显高于DSR。在节点移动状态下,AODV和DSR的丢包数都呈递增的状态,最终稳定。仿真过程中发送数据总量为3 500 b/s,对比场景一和场景二的丢包数,可以得到AODV的丢包率要明显高于DSR的丢包率:
计算结果表明移动后丢包率的增幅AODV要比DSR的小,也就是说在大范围下移动对DSR的影响要更大一些。
2.2.3 路由控制开销
如图6和图7所示,在网络中节点固定的场景中,DSR的路由控制信息为9 800 b,总的负载为66 000 b。AODV的路由控制信息为9 400 b,总的负载为62 000 b。因此可以计算如下:
如图8和图9所示,在网络中节点移动的场景中,DSR的路由控制信息为11 000 b,总的负载为70 000 b。AODV的路由控制信息为11 000 b,总的负载为69 000 b。因此可以计算如下:
根据上述两个场景的计算结果可以看出,在比较大的通信范围内,当节点不移动时,AODV的路由控制开销比DSR大;而节点移动时对DSR的影响要比对AODV的影响要大。
3 结语
建立相应的网络场景对AODV和DSR协议在网络延迟、丢包率和路由开销等方面的进行仿真分析。结果表明,在一个较大的通信范围中,节点的移动对两种路由协议都有一些影响,但总的说来,DSR比AODV协议要表现得更加稳定。仿真结果数据为评价路由协议算法提供了依据,也为后续对算法的改进提供了参考。
参考文献
[1]谢希仁.计算机网络[M].北京:电子工业出版社,2004.
[2]GANZ A,PHONPHOEM A.Robust superpoll with chain-ing protocol for IEEE 802.11 wireless LANs in support ofmulti media applications[J].Wireless Networks,2001,7(1):65-73.
[3]PERKINS C E,BAGWAT P.Highly dynamic destinationsequenced distance vector routing(DSDV)for mobile com-puters[C].Proceeding of ACM SIGCOMM 1994.NewYork:ACMPress,1994.
[4]PERKINS C E,ROYER E M.Ad-Hoc on-demand distancevector routing[C].Proceedings of IEEE WMCSA′99.LA:New Orleans University Press,1999.
[5]JOHNSON D B,Maltz D A.Dynamic source routingin Ad-Hoc wireless networks[J].Mobile Computing,1996(5):153-181.
[6]CHARLES E,PERKINS C E.Network working group C.perkins request for comments 3561[S].California:Univer-sity of Cincinnati,2003.
[7]JOHNSON D.Network working group request for co-mments:4728[S].Texas:Rice University,2007.
按需路由协议 第5篇
1 介绍虫洞(Wormhole)问题
也称隧道攻击(如图1所示)。它是两个蓄谋恶意节点间建立一条私有信道,将数据在一个恶意节点处进行封装,再通过此私有信道传递到网络中另一个恶意节点,然后再解封装,获取原数据,并将该数据从另一端注入网络。
例如当节点M接收到源节点发送的RREQ,它通过隧道把分组传给节点N,节点N再向下继续把RREQ传给目的节点。同样节点N也可以把RREP通过隧道传给源节点S。这样节点M,N虚假的宣称它们之间有一条最短路径,欺骗源点选择它们控制的这条隧道路径!攻击者隧道之间的速度要大于实际合法节点的速度,因此通过隧道传递包的速度大于其他路径。
这种攻击实质上破坏了网络中邻节点关系的完整性,造成两个事实上距离在多跳以外的节点误认为彼此相邻,严重的情况下可能将网络中大部分的通信量吸引到攻击者控制的链路上来。但这还不是最终目的,攻击者往往进一步实施各种攻击如丢弃数据分组(黑洞攻击),篡改数据分组的内容,进行通信量分析或者在特定时刻关闭隧道造成网络路由震荡等等。Worm hole攻击的实施不一定需要内部被捕获节点的参与,检测和抵御的难度都非常大。
2 针对按需路由协议中的虫洞问题的解决方案
虫洞检测非常困难,因为传递信息的路径通常不是实际网络的一部分;因为它们在不知道的网络协议或网络服务情况下照样可以破坏,因此更加危险。目前,已有一些学者提出了解决虫洞的方案。比如,Burmester等[1]建议了两种可能的解决方案:时间方案和位置方案。第1种方法计量每一跳的时间;第2种方法记录利用每个节点的地理位置。卡内基大学的Hu等人提出了一种称为“分组限制”(Packet Leash)的机制[2],采用一种有效的认证协议TIK来检测并防御虫洞攻击,即匹配每个数据分组的时间戳和位置戳以检测系统中是否有虫洞入侵。每个数据分组被发送结点打上了非常精确的时间信息或几何位置信息的标签,目标结点将数据分组到达的时间和位置信息与标签相比较,如果数据在不切实际的时间长度内传送了不切实际的距离,那么就认为网络中有虫洞。
本文结合文献[3]思想利用公钥密码体制建立一对节点的共享密钥,并用散列函数认证节点之间的路由交换信息,随后路由发现过程中,中间结点计算的MAC值以及邻居维护机制提供的认证信息以及加密/解密技术,不仅可以有效的抵制外部攻击,还能在一定程度上防御内部攻击。我们选择的公钥密码系统有独特的性能那就是仅在初始化网络信息时使用认证中心CA。随后,任何一对节点以非交互的方式获得和更新正确的共享密钥。
2.1 假设阶段
假设Ad hoc网络中的每个节点Z都拥有一对私钥/公钥(xz,yz),并且公钥yz是为其他节点所知的(包括恶意的节点的公钥)。并假设Ad hoc网络中的一对节点拥有共享密钥。
假设节点一旦进入网络,其MAC地址就不会改变,在节点进入网络之前,每个节点已经获得了被CA签名的证书,例如节点Z的身份证书基本格式为:
假设Ad hoc网络合法节点已通过安全方法获得本节点的身份证书及其他合法节点的公钥、证书版本号等相关资料。
由此可以绑定MAC和ID(可能是节点的IP地址)。节点A把证书赠予首次遇见的节点,如果证书得到成功验证,那么节点就可以和邻节点进行通信,否则丢弃此节点。
2.3 邻节点列表维护机制
当节点A首次接到另一个节点B的信息时,首先把包含在证书的MAC地址和数据包头部的源MAC地址比较。如果两个MAC地址相配,证书进一步验证CA的公钥。若两次验证均成功通过,就把ID和MAC地址加入到当前邻节点列表中。因为网络中的节点有可能处于移动状态,所以一个活跃比特始终用来显示此节点是否处在无限范围内。若在规定的时间内,端节点还没有收到节点的信息,活跃比特就失效。认证的
节点每次接到邻节点的数据包后,首先核查这个节点是否已经存在它的邻节点列表中,是否是活跃的。如果存在,它进一步核实这个数据分组的源MAC地址是否与已存在当前邻居列表中的节点配对的MAC地址是否相配。只有这些数据分组成功通过这两项验证,才能传递到上层进一步处理。
2.4 路由发现过程
路由发现过程(如图2所示)包括路由请求,请求转发以及在目的节点处对路由请求的验证,还有相对应的路由应答,路由应答转发,和在源节点对路由应答的验证。具体过程如下:
1.路由请求过程
当源节点想和目的节点通信但没有到目的节点的路由时,源节点S发起路由请求并广播:
其中S为源节点,D为目的节点。QNum是路由请求ID,是随机产生的数。TOP_CNT为跳数,开始时TOP_CNT=0,{Node List}={NULL}(路由请求没有经过任何中间节点,因此没有存储任何信息)
QMACs,d=HASH(CORE,TOP_CNT,{NodeList},Ks,d)被中间节点用来进一步处理的k-MAC,也被目的节点用来验证RREQ的完整性以及在{Node List}记录的路径的有效性。CORE=HASH(RREQ,S,D,QNum,Ks,d)是源节点的证书,用来保证RREQ的确来自源节点,并且保证固定域在传播过程中是完整的。
2.路由请求转发
当中间节点Ni首次收到RREQ分组时,它将处理RREQ并进一步广播,并将TOP_CNT增加1,然后附加上一节点Ni-1的ID加入到{Node List},并且更新QMAC为:
3.路径响应RREP过程
当路由请求消息RREQ到达目的节点时D时,节点D将TOP_CNT增加1,并利用自己的私钥以及源节点S的公钥对路由请求消息RREQ进行加密,即
Eys(ExDR REQ)),并且和RREP=(RREP,RNum,D,S,TOP_CNT,{NodeList},Ks,d)应答消息以单播的方式传给源节点S,中间节点只是转发此分组而不做任何处理,源节点S收到后用自己的私钥以及目的节点的公钥对其解密。
DyD(Dxs(Eys(ExD(RREQ))))=RREQ,并比较RREQ和RREP中对应的信息域如TOP_CNT等,如果没有通过验证则丢弃这个RREP,等待其他路径响应。否则将这条路径和ExD(RREQ)一起保存在路由表中。
3 安全性分析
虫洞攻击主要有两类:(1)至少有一个端节点是外部攻击者;(2)两端节点都是内部攻击者。外部攻击由于缺乏有效密钥来加密路由过程,所以对其他节点是无形的。因而外部攻击就仅仅是把数据分组从隧道一端传递到另一端而不做任何修改。然而另一方面,内部攻击却可以合法加入路由发现过程,因而它们能够很大程度操作隧道数据分组。
我们使用上述方法利用中间节点计算的k-MAC值和前面所讲的邻节点维护机制来分析虫洞攻击(如图3所示)。
图3中S为源节点,欲与目的节点D建立通信,A1、A2是两个恶意节点,W1、W2是参加虫洞攻击的两个节点,V1、V2是W1、W2伪造的两个节点,I是A2伪造的节点,R是A1移走的节点。
假设节点W1、W2是两个攻击者,它们构造了一条隧道Tulwlw2。
首先恶意节点W2可能冒充目的节点D来伪造RREP。然而由于缺乏共享密钥Ks,d(此密钥仅为源节点S和目的节点D所知)因此此操作也是徒劳。因为RREP绑定的k-MAC和S计算的MAC并不匹配,所以在RREP的域中的任何修改都能被源节点S检测到,其次,伪造节点A2可能把不存在的节点加入到{Node List},并且将TOP_CNT+1。此操作将要花费巨大的代价,因为攻击者A2要达到此目的必须执行更多次散列计算。因为共享密钥Ki,s仅仅被S和I节点所知,所以计算并不简单,故攻击者不可能模仿另一节点加入到{Node List}。
再次,攻击者也可能把不存在的节点V1、V2加入到{Node List},但是由于缺少共享密钥Kv1,s和Kv2,s这些攻击也是不可能实现的。
当两个共谋节点尝试通过隐藏的信道传递数据时,如果它们其中有一个是外部攻击者,因为外部节点MAC地址和邻居列表中的任何ID都不匹配,外部节点传送的任何一个数据分组都会被发现或者丢弃。再次假设节点W1、W2是两外部攻击者,形成了一条隧道Tulwlw2,W1或W2正在从节点2向D节点传送数据。因为在数据分组显示的MAC地址和被存在节点D邻居列表中的节点2的MAC地址不匹配或者节点2根本就不存在列表中,所以此数据分组不可能作为有效的数据分组被节点D接收!当源端和目的端都为外部攻击者时结果也如此。当共谋节点都为内部攻击者时,虽然它们都有有效的密钥,但是由于源节点S和目的节点D之间的跳数在RREQ中被目的节点用源节点的公钥ys加密了,所以只有源节点可以获得这个值,而节点W1无法获得。当W1拦截并转发RREP的时候,即使可以修改RREP中的值,它也无法保证RREP中的TOP_CNT在到达源节点后和加密的RREQ中的TOP_CNT一致,所以内部攻击也不可能实现。
4 结论
本文对移动Ad hoc网络按需路由协议中的虫洞问题进行了较为深入的探讨,并提出了综合解决方案。本文结合文献[3]的思想利用
参考文献
[1]Burmester M,Desmedt Y.Secure communication in an unknown network using certificate.Proc of the International Conference on the Theory and Applications of Cryptology and Information Security.1999.273~287
[2]Hu Y C,Perrig A,Johnson D B.Packet leashes:a defense against wormhole at tacks in wireless Ad hoc networks.Proc of the22nd An-nual Joint Conf of t he IEEE Computer and Communications Societies.2003.39~46
[3]Li Z J,Garcia J J,Aceves L.Enhancing the security of on-demand routing in Ad hoc networks.Sirotiuk V R and Chavez E(Eds.):AD-HOC-NOW2005,LNCS3738,Springer-Verlag Berlin Heidelberg,2005.164~177
[4]Yi P,Hou Y F,Zhong Y P.Flooding attack and defence in Ad hoc networks.Journal of Systems Engineering and Electronics.2006,17(2):410~416
按需路由协议范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。