AODV(Ad Hocon-demand distance-vector)
目录 |
AODV路由协议是为AdHoc网络节点设计的一种按需路由协议,它提供动态链路状况的快速自适应,而且实现简单,是一个比较成熟且被广泛接受的路由协议。AODV路由处理主要包括对RREQ、RREP和路由表项的相关操作。
AODV定义了3种路由控制包:路由请求(RREQ),路由应答(RREP),路由错误(RERR)。AODV的运行主要包括2个过程:路由发现和路由维护。
1.路由发现
当源节点需要与某目的节点进行通信时,它先在本节点维护的路由表中查找是否有到达该目的节点的路由。若路由表中已包含了到达该目的节点的有效路由,则立即使用此路由发送数据分组,否则它将向所有邻居广播RREQ分组,以启动一个路由发现过程来找到一条到达该目的节点的可用路由。如果一个节点接收到RREQ消息并且具有到达目的节点足够新的路由,或者节点本身就是目的节点,那么该节点则发送一个RREP单播给发送请求的节点。当节点收到RREP时,它将把传送RREP来的路径加入路由表中,保证数据包有通往目的节点的路径可用,这样反复进行完成路径发现。源节点收到RREP后,数据传送开始。
2.路由维护
节点通过定期广播hello消息确定链路的连接性。在特定的时间内,节点会检查自己是否接收到RREQ或其他报文,如果没有,这个节点就广播一个hello消息。如果节点接收到了邻节点的hello消息,然后在特定的时问内并没有收到来自该邻居的任何报文,则认为该路由失效。如果此节点距离目的节点较近的话,就会进行本地修复工作,如果此节点距离源节点较近或本地路由修复不成功,就向源节点发送RERR消息,以更新沿途节点的路由信息。当源节点收到这个RERR消息后,重新发起路由发现过程,进而重建路由。