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


对于自组织网络来说,当中的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攻击等。


相关内容