我是靠谱客的博主 爱笑凉面,最近开发中收集的这篇文章主要介绍Ad hoc网络路由协议概述4——按需路由协议(2)AODV协议 (Ad-hoc on-demand distance vector algorithm protocol)1 一点前言2 路由发现3 路由表管理及维护4 AODV协议的特点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

1 一点前言

2 路由发现

2.1 相关概念

2.2 AODV的路由发现过程

2.3 与DSDV协议的对比

3 路由表管理及维护

3.1 更新路由表的策略

4 AODV协议的特点

4.1 优点

4.2 缺点


1 一点前言

在之前提过的DSR协议中,采用了源节点路由方式,每个数据报文头部都携带路由信息,增长了报文长度,降低了传输效率,尤其是在数据报文本身很短的情况下,其耗费尤为明显。在AODV协议中,路由中的每个节点都维护路由表,因而数据报文头部不再需要携带完整的路由信息,从而提高了协议的效率,其具体实现过程见下文: D

2 路由发现

2.1 相关概念

AODV协议采用与DSR协议类似的广播式路由发现机制。与DSR协议相比,AODV的路由依赖于中间节点建立和维护的动态路由表。AODV的路由发现过程由反向路由的建立和前向路由的建立这两部分组成。

反向路由是指从目的节点到源节点的路由,用于将路由响应报文回送至源节点。反向路由是源节点在广播路由请求报文的过程中建立起来的,具体过程见后面介绍。如图1(a)所示,反向路由可能会有多条。

前向路由是指从源节点到目的节点方向的路由,用于以后数据报文的传送。前向路由是在节点回送路由响应报文的过程中建立起来的,如图1(b)所示。

(a)反向路由的建立                                          (b)前向路由的建立

 图1 AODV的路由建立过程

2.2 AODV的路由发现过程

(1)源节点首先发起路由请求过程,在发起的路由请求报文中携带以下信息字段:

        <源地址,源序列号,广播ID,目的地址,目的序列号,跳数计数器>

        其中,序列对<源地址,广播ID>惟一标识一个路由请求。

(2)中间节点在收到路由请求报文时,比较本节点和目的节点的地址,

       ①如果自己是目的节点,则回复路由响应报文。否则转步骤②;

       ②根据<源地址,广播ID>判断是否收到过该请求消息,如果收到过则丢弃该请求消息,否则转向步骤③;

       ③记录相应的消息,以形成反向路由。记录的消息包括:上游节点地址(即向本节点发送路由请求消息的节点)、目的地址、源地址、广播ID、反向路由超时时长和源序列号等。同时跳数计数器加1,向邻节点转发该路由请求报文。

2.3 与DSDV协议的对比

与DSDV协议相似,在AODV协议中也引入了序列号,包括源序列号和目的序列号。不同的是在AODV中,这些序列号都是单调递增的,它们主要用于避免过时的缓冲路由对系统带来负面的影响。其中源序列号用在路由请求广播中保证反向路由的有效性,而目的序列号则用来维护前向路由的有效性。

3 路由表管理及维护

AODV路由协议中的路由表主要包括目的节点、下一跳节点、距离目的节点的跳数、目的节点序列号、本路由的活跃邻节点和本路由的超期时长等信息。

同时,在AODV协议中,节点还存储一些与路由表相关的信息。以下几点是其中比较重要的。

(1)路由请求超时定时器:和反向路由相关的定时器,当定时器超期后,节点仍未收到路由协议报文时,节点则认为该反向路由无效,删除该反向路由。

(2)活跃超时时长:和前向路由相关的时长。当超过活跃时长时间后,节点仍无数据利用该路由发送时,删除该路由(即使该路由可能有效)。

3.1 更新路由表的策略

当节点使用路由表中的某项路由发送数据时,该路由的超期时长更新为当前时间+活跃超时时长。当节点收到一条新的路由时,选择新路由和本节点存储路由中目的节点序列号大的路由为有效路由。当序列号一样时,则选择跳数小的路由。

节点的移动可能会造成现有路由的失效,根据节点的不同,AODV路由协议的处理方法不同:

(1)当由于源节点移动而造成路由失效时,此时只能由源节点再次发起路由请求过程。

(2)当由于中间节点或目的节点的移动而造成路由失效时,检测到路由断连的节点主动向其上游节点发送路由响应报文,该报文中将至目的节点的跳数设置为∞,同时将目的节点的序列号加1,。这样,上游节点在收到该路由响应报文时,会即使更新本地相关路由。

4 AODV协议的特点

4.1 优点

从前面介绍的DSDV协议和DSR协议来看,AODV协议综合了两者的特点。

(1)与基于表驱动方式的DSDV协议相比,AODV协议采用了按需路由的方式,即网络中的节点不需要实时维护整个网络的拓扑信息,而只是在发送报文且没有达到目的节点的路由时,才发起路由请求过程。

(2)与DSR协议相比,在AODV协议中,由于通往目的节点路径中的节点建立和维护路由表,数据报文头部不再需要携带完整路径,减少了数据报文头部路由信息对信道的占用,提高了系统效率。因此,协议的带宽利用率高,能够及时对网络拓扑结构变化作出响应,同时也避免了路由环路现象的发生。

4.2 缺点

但是在AODV协议中也存在一些问题。

(1)AODV协议仅适用于双向传输信道的网络环境。由于在路由请求消息的广播过程中建立了反向路由,供路由响应报文寻路,因此网络要满足双向传输信道的要求;

(2)路由表中仅维护一条到指定目的节点的路由,而在DSR协议中,源节点可以维护多条到目的节点的路由。如果节点间存在多条路由,当某条路由失效时,源节点可以选择其他的路由而不需要重新发起路由发现过程,这在网络拓扑结构变化频繁的环境中尤其重要。

(3)由于AODV协议采用了超时删除路由的机制,因此及时路由未失效,在超过时限后也将被删除。

最后

以上就是爱笑凉面为你收集整理的Ad hoc网络路由协议概述4——按需路由协议(2)AODV协议 (Ad-hoc on-demand distance vector algorithm protocol)1 一点前言2 路由发现3 路由表管理及维护4 AODV协议的特点的全部内容,希望文章能够帮你解决Ad hoc网络路由协议概述4——按需路由协议(2)AODV协议 (Ad-hoc on-demand distance vector algorithm protocol)1 一点前言2 路由发现3 路由表管理及维护4 AODV协议的特点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部