路由协议的种类非常多。今天我们介绍的是AODV路由协议。这个协议可能大家都有所耳闻。那么现在就让我们来具体看看这方面的知识和应用吧。尽管协议具有路由维护机制,但是由于节点的移动性,有的时候会发生路由修复的失败,在这样的情况下,上游节点只能向源节点重新运行路由发现过程来完成节点之间的通信。
AODV路由协议在源节点重建路由修复过程中,由于它采用的路由发现方式,洪泛方式和协议的原理,所以路由建立过程中,由于源节点采用的TTL值在大多数情况下,不能够直接达到目的节点,所以还需要重新运行路由发现过程并且不断地运行该过程直到最终找到目的节点位置。
在一次又一次运行路由发现过程中会大大增加路由时延和开销率。因此研究人员提出了备份路由的技术,借鉴传统电路交换网络和分组网络的思想,给源节点提供多条路径到达目的节点。因此主路由发生路由中断时,节点可以利用其中的其它备份路径来完成通信。典型的备份路由技术有AODV-BR和AODV-ZHBR。
在认真分析研究了备份路由技术后,本文提出了一种改进方法,利用定时发送的改进hello消息来构造备份路由,在主路由发生断路的时候数据包能从备份路由给出的路径到达目的地,从而减少了丢包率和时延。
新的协议是在增加了Hello消息功能的基础上工作的。经典AODV协议中Hello消息在AODV路由协议中的功能为检测激活链路中断情况,它构成AODV路由协议的连通性管理机制。
机制的工作过程为:节点维护一张列表,记录与自相邻而且处于通信状态的节点,此列表称为邻居列表。正在进行通信的节点在一段时间内如果没有发送任何数据,就主动在自己直接通信范围内广播Hello消息通知邻节点自己的存在。收到该消息的节点延长相应邻节点的生存时间,如果它来自一个新的邻节点,则在邻居列表中增加一个记录。节点周期性检测邻节点的有效性,如果超时,则认为该节点离开了原来的位置。
本文提出了一种新方法,每当间隔时间到要发送Hello消息的时候,节点先从自己的路由表中查找生存期最长的路由选项,将AODV路由协议项中路由目的地址加入Hello消息中,这样Hello消息中就包含了发送节点所包含的一个可达路由,邻居节点收到Hello消息之后查找自己的路由表,如果没有路由项则添加进自己的路由表,路由项的可达地址为发送节点所包含的可达路由,下一跳地址为发送节点。如果有该路由项则根据条件进行更新。由A到E的路由备份过程如图1所示。
图1hello消息产生的备份路由
当前有效路径中断时,在路由解析的时候节点向外发出一个跳数为1的广播分组,这个广播分组有个特殊的标志位标记它为主路由中断广播。然后再开始修复路由损坏机制。当周围的节点收到这样的广播分组,如果自己的路由表中有到分组中的目的路由,则转发该分组。如果没有则忽略。因为有Hello消息产生的备份路由,断路的节点周围很可能有邻居节点存在到目的地的路由,所以广播分组发出后就会得到解析,没有了延时。AODV路由协议紧接着开始了修复路由损坏机制,同样因为有备份路由的存在,损坏的路由得到了修复,后续的分组就能顺利的到达目的地。当B节点移动,B和C的链路中断,经过路由修复重新产生到E的路由过程如图2所示。
图2利用备份路由发送数据并且修复过程