对于AODV路由协议的深入研究

网络 网络管理
下文摘要:对于AODV路由协议的深入研究。主要研究了AODV协议的黑洞供给问题,检测思想,路由算法,网络吞吐量,接收的概率开销等问题。

对于自组织网络来说,当中的AODV路由协议是一个重点,也是一个难点。所以我们今天就特意将这个协议的一些问题,在这里为大家仔细地深入研究一下。那么本文主要包括的内容则是:研究对Ad-hoc网络中AODV路由协议的路由黑洞攻击问题进行研究,希望基于对中间应答节点及其下一跳节点进行检测的思想,研究适用于AODV路由协议的可信路由算法,使AODV路由协议能够识别出进行路由黑洞进攻的恶意节点,同时,能进一步改善安全AODV路由协议的性能,包括网络吞吐量、分组成功接收的概率、网络开销和时延。

在对AODV路由协议、Ad-hoc网络面临的安全威胁和现有的安全AODV路由协议进行深入研究的基础上,提出可信AODV路由协议,以解决AODV路由协议中的路由黑洞。

AODV借用了DSR的路由发现策略及DSDV的逐跳路由、序列号和定期广播机制,是一种按需路由协议。

在AODV路由协议中,每个节点动态的生成并维护一张不完整的路由表。当数据到达网络层时,节点首先搜索自身路由表,若有到目的节点的有效路由则直接使用该路由发送数据,否则将启动路由建立过程。

源节点广播路由请求消息(RREQ),包括目的节点地址、目的节点序列号、广播序列号、源节点地址、源节点序列号、上一跳地址和跳数。当中间节点收到RREQ时,首先根据该RREQ提供的信息建立到上一跳的反向路由,接着查找自己的路由表,若发现有到目的节点的有效路由,则通过反向路由单播回送路由应答消息(RREP),包括源节点地址、目的节点地址、目的节点序列号、跳数和生存时间。否则再将收到的RREQ广播给邻居节点,直到该RREQ到达日的节点。

由目的节点生成RREP,并沿已建立的反向路由传给源节点。当同一个RREQ有若干不同的RREP时(可能由目的节点或者不同的中间节点发出),源节点采用最先到达的那个RREP。若几个RREP同时到达,源节点将选择目的节点序列号最大的路由,或者在目的节点序列号相同时,选择跳数最小的路由。至此,路由建立完毕,并可以在其有效期内使用。

数据沿着建立的路由传送过程中,中间节点在确定有有效路由,但下一跳节点无法到达(可能由于节点的移动或者链路断路)或者在没有有效路由时(例如有效期结束),该节点将广播路由出错消息(RERR)给邻居节点。RERR包括无法到达的节点地址和序列号,所有收到RERR的节点将相应的路由设置为无效,并同理广播RERR,源节点收到RERR后将重启路由建立过程。

恶意节点利用AODV路由协议的广播机制捕获经过自己的RREQ消息,并宣称自己有到达目的节点的最佳路由(通过伪造跳数或者伪造目的节点序列号),从而使源节点采用此虚假路由。这样,恶意节点可以轻易拦截下所有数据包而形成一个吸收数据包的“黑洞"。

由于恶意节点在收到RREQ消息时不需要查表也不需要判断路由的有效性就做出应答,所以往往会先于其它路由应答消息到达源节点,就算有其它正确的路由应答消息同时到达,由于恶意节点伪造了跳数或者目的节点序列号,使得源节点看起来该路由有到达目的节点的更短的路径(跳数小)或者比其它路由更新(目的节点序列号大),从而使源节点错误地选择了虚假路由。

在对于Ad-hoc网络的进攻上,国内外的许多研究者做了大量的工作,将攻击行为分成了以下几大类:拒绝服务攻击(Dos)、路由黑洞(Black hole)、路由重播(Replay)、Rushing攻击、Tunneling攻击等。#p#

恶意节点对AODV路由协议的攻击归纳为以下六类:

(1)假冒源结点S伪造一个RREQ包,让自己的地址看起来像源地址;

(2)当转发一个RREQ包的时候,减少跳数域;

(3)扮演接收方伪造一个RREP,让自己的地址看起来像目的地址;

(4)没有去转发相应的RREQ或者RREP,或者没有去响应相应的RREQ和数据包;

(5)用很高的目的结点序列号伪造一个RERR包;

(6)把一个结点的源或目的序列号设置得很大。

针对于Ad-hoc网络中的这些进攻,已经提出了几种安全AODV路由协议和方案。

ARAN(Authenticated Routing for Ad-hoc Networks)通过可信任的认证服务器,为所有的有效接点颁发证书,并且把路由跳数信息也加入到签过名的包内,下一跳收到路由包的节点,用从密钥服务器中得到的公钥对由上游结点发来的路由包进行验证,通过验证后,再用自己的私钥进行加密后进行转发。

Ariadne协议的目标在于用较小的计算开销,来保障路由发现的正确路径。采用了一个广播的认证协议—定时有效流损失容忍认证(Timed Efficient Stream Loss-tolerant Authentication,TELSA)。TELSA目标在于不用密钥分发机制提供的共享密钥,每个节点创建一个哈希链,哈希值被当成密钥,用来生成每个包的消息认证码MAC(Message Authentication Code)。

SAODV(Secure Ad-hoc On-Demand Distance Vector)提出了把可变域,如跳数,和不可变域分开进行处理。对于可变域,用哈希函数进行逐跳验证;对于不可变域进行数字签名,并拓展了一些字段用于已知目的节点的中间节点发送RREP包。

辛辛那提大学的Hongmei Deng等人提出了一种基于对响应节点的下游邻居节点验证的方案。当中间节点(假设是B)应答RREQ时必须在RREP中附加下一跳节点C的信息,源节点收到RREP后并不立即信任该路由,而是再向C发送验证询问包,如果返回的验证反馈包中确认有到目的节点和到B的可用路由(源节点忽略来自包含节点B的路径的返回的验证反馈包)源节点将信任的RREP,否则抛弃RREP,同时向全网发送警告信息孤立。

这些利用数字签名,加密等方法解决路由黑洞攻击问题的方案虽然有比较高的安全性,但由于每个节点都要执行加密和验证程序,因此应用在计算机能力和电源有限的移动终端中显得过于庞大,同时加密和验证还会引起时延,不利于大规模网络的构建。

本文研究在成组恶意节点攻击情况下,可信AODV路由协议。

责任编辑:佟健 来源: IT实验室
相关推荐

2010-06-19 14:03:20

2010-07-07 10:21:35

IGRP路由协议

2009-11-11 13:49:02

路由器技术

2011-12-15 10:43:20

JavaNIO

2010-06-21 14:29:43

AODV路由协议

2010-06-19 13:24:02

AODV路由协议

2010-06-21 14:58:35

AODV路由协议

2010-06-18 15:09:08

AODV协议

2010-06-18 14:00:16

AODV路由协议

2010-06-24 16:44:29

AODV路由协议

2011-06-01 10:58:54

Android Service

2022-05-11 09:03:05

CSS容器文本换行

2010-06-21 13:52:20

AODV路由协议

2010-05-31 17:45:50

MySQL行锁

2016-01-12 18:04:55

Java异常研究

2017-06-06 11:29:23

Java异常研究与分析

2010-07-13 14:47:08

AODV路由协议

2010-11-23 16:35:59

MySQL删除多表数据

2018-12-24 15:00:58

混合云多云云采用

2010-11-18 17:24:27

Oracle旋转ins
点赞
收藏

51CTO技术栈公众号