编辑: 南门路口 | 2019-07-15 |
作为路由器,终端需要运行相应的路由协议.在Ad Hoc 网络中, 节点间的路由通常由多跳(Hop)形式组成.由于终端的无线传输范围的限制,两个无法直接 通信的终端节点往往可以通过多个中间节点的转发来实现通信.所以,它又称为多跳无线网 或自组织等网络.因此,我们通常将它看作是一种特殊形式的移动计算机网络. 2.2 Ad hoc 网络 AODV 路由概述 AODV 是一种基于需求的反应式路由协议,既综合了基于表的 DSDV 协议的优点,也综合 了DSR 协议的优点.在网络拓扑发生变化时,AODV 协议能快速收敛,计算量相对较小,占用 的存储资源较小,能够自我修复断路,对网络的带宽占用小. AODV协议件,有五类控制消息:路由查询消息(RREQ)、路由回复消息(RREP)、路由错误 消息(RERR) 、RREP应答消息(RREP-ACK)、HELLO消息.RREQ消息主要用于节点在进行路由查 询时向邻居节点发送的消息, 该消息的发送以广播的方式实现;
RREP消息由目的节点或具有最 新有效路由的中间节点发出, 用于告知源节点通往目的节点的路由;
RERR消息由检测到路由失 效的节点发出,用于通知所有使用失效路由的节点,使这些节点能够及时的寻找新的路 由;
RREP一ACK由源节点应目的节点的要求发出,主要用于应答目的节点的RREP消息;
HELLO消 息是一类特殊的一跳RREP消息,该消息用于节点保持和邻居节点之间的有效链路[8-12] . AODV 协议中规定节点保存的数据结构主要有:路由表、先驱表、单向链路黑名单 (blacklist).路由表中保存节点到每一个目的节点的路由.先驱表用来保存使用相对应的路 由的所有邻居节点,使得一旦出现链路失效,本节点能够快速的通知到相关的邻居节点.单 向链路黑名单主要用于记录于本节点间存在单向链路的上游节点. AODV协议主要包括两个阶段:路由查询和路由维护. 路由查询阶段的主要任务是建立与期 望目的节点之间的可靠路由,这个路由可能是以前有的,也可能是通过算法新建立的;
路由维 护阶段的主要任务是维护和更新节点路由表中保存的路由表项 [34-37] . AODV 协议的路由建立主要过程是:当源节点需要发送数据时先查找路由表,如果表内存 有到达目的节点的路径, 则按路由表指示的下一跳转发数据;
若没有相关路由则源节点向其邻 节点广播路由查找消息 RREQ, 收到非重复 RREQ 分组的邻节点建立或更新逆向路径后再把 RREQ 广播出去, 直到目的节点或是有到达目的节点有效路由的中间节点收到 RREQ 后沿着逆向路径 回复一个 RREP(路由回应)控制分组到源节点.当RREP 分组沿着逆向路径回传时各中间节点 建立相应的前向路径,这样当源节点收到 RREP 时,从源节点至目的节点的路由就建立了. AODV 协议的路由查询和路由建立过程如图
1 一l所示. RREQ RREQ RREP RREP RREQ N4 N2 N5 N3 N7 N6 N1 N1 N5 N3 N2 N7 N6 N4 简单实用的 Zigbee 开发套件 http://www.dataie.com RREQ 广播查询过程 RREQ 确认建立过程 图1-1AODV 路由建立过程 在路由维护阶段,节点为路由表中的每一个路由表项都设有一个有效时间.有效时间结 束,路由将被标记为失效状态.同时,节点还要监控与每一条有效路由的下一跳节点之间的 链路状态.协议通过Hello消息来维护与邻居节点之间的连接性.如果某段时间内没有收到来 自某邻居节点的任何消息,则认为与该节点之间发生断路.对于一条有效路由而言,如果某 中间节点发现断路则会在尝试修复失败后发送RERR消息通知相关的节点[31-33] . 2.3 AODV 研究现状 虽然 AODV 协议被 MANET 接收 AODV 路由协议被提出以后, 许多研究机构都开始对它的研究, 进而提出许多修改版本,从不同角度对这个协议进行了完善和改进. AODV 路由协议的工作过程可分为路由发现和路由维护两大过程.在这两个过中都可以对 传统的 AODV 协议加以改进以提高协议的性能. 改进路由发现过程机制,提高网络性能.在路由发现过程中,需要多次启动路发现过程, 这就需要多次重传 RREQ 包,这使得路由开销增加.这是因为在路由发现过程中,中间节点只 获得的很少的路由信息,AODV 协议需要经常启动路由发现过程.同时,由于网络的拓扑结构 不断变化,路由也随之不断变化更新,在这些变化过程中某些原先有效的路由变为无效路由, 从而造成 RREQ 的多次重传,加大了路由开销.所以如果能减少 RREQ 的重传次数就可以减小 因为 RREQ 多次重传造成的路由开销增加. 改进路由维持过程机制,提高网络性能.在目前中外研究资料中提出的降低网络开销的 方法主要有改进 hello 机制、链路修复机制和基于备用路径的 AODV 路有协议改进等方法. (1)hello 机制的改进.由于 AODV 协议将 hello 包作为路由维护的手段之一,需要定期 发送 heno 包,这种机制加大了网络负载和时延.hello 机制的改进是针对基于同频共享信道 时分收发分配的无线传输技术.具体的工作过程是首先设置一个是否广播 hello 包的开关, 初始化时开关设置为开,节点周期广播 hello 包.当节点发送 RREQ、RREP、RERR 等数据包控 制信息或业务信息时,将开关设置为关.当hello 包的发送周期到来时,由于开关是关,就 不发送 hello 包. 结束数据包控制信息或业务信息发送后, 开关再次置为开. 节点收到 hello. 包、结束数据包控制信息或业务信息后,更新路由.这样就减少了 hello 包的发送次数,也 减少了网络的负载.这是应为当采用基于同频共享信道时分收发分配的无线传输技术时,当 某节点处于有效发送时,其邻节点能够接受或侦听到该节点发送的信息.但节点丢弃了其它 相邻节点间的交换信息,而这些信息也说明该节点与邻节点间链路还是连同的.将这部份信 息用于 AODV 路由维护中,就可以充分的提供协议的效率. (2)链路修复的改进.在实际应用中,链路断裂后,不可到达的节点在短时间内不会离开 原位置太远,所以在链路修复时发送的 RREQ 包的广播范围可以比路由发现时的 RREQ 包的广 播范围小. 根据资料表明链路修复时的 RREQ 中的 TTL 值大概为不可达节点的跳数再加上两到 简单实用的 Zigbee 开发套件 http://www.dataie.com 三跳.通过减少 RREQ 包的广播范围减轻网络负载. (3)基于备用路径的AODV路有协议改进. 由于路由发生断裂导致的重新开启路由发现降低 了网络的整体性能.所以如果可以降低路由发现带来的开销,就可以提高网络的整体性能. 目前提出的一种方法就是采用备用路径的AODV路有协议改进.具体的做法是:首先,将数据包 文件中的路由与自己缓存中的路由相比较,如果发现是不一样的路由,就将这条新路由加入 到节点的缓存里.之后将缓存中的到达目的节点的路由进行比较,将到达有效时间周期限制 的路由从缓存中删除.再次,按照各路由的序号进行排序,将比较后优先级别最高的路由设 定为当前可用路由,其它路由作为备用路由.最后,将数据包也当前可用路由发送出去.这 样一旦当前路由无法使用,由于备用路由的存在,重启路由发现的次数就会大大减少,从而 大大减少路由开销 [16-21][6-9] . 以上是几种提高 AODV 协议效率的思路和方法.除了上述的思路和方法外还有许多提高 AODV 协议效率的方法,如避免路由断裂的节能 AODV 协议、通过改进本地修复机制提高 AODV 协议性能、通过减少故障链路的生存时间的手段提高 AODV 协议性能等方法.在无线传感器网 络中,组网的用户终端通常以传感器节点这样的能源有限的设备.而传统的 AODV 协议存在着 网络开销大、能量消耗不够低等不足.所以,在不同场合针对不同需要改进 AODV 协议可以极 大的提高无线传感器网络的性能,满足实际工作环境对网络的要求. 2.4 Ad Hoc 网络 AODV 路由协议的缺陷和发展目标 虽然 AODV 协议被 MANET 接收并使用,但有下面的缺点并使用,但有下面的缺点: 1)大量的请求报文:当源节点发送数据报文到目标节点时,如果没有可用路由则洪泛路 由请求报文,直到存在到目标节点路由的节点或目标节点本身给予响应.但如果此步骤发生 频繁,会加剧 Ad Hoc 网络的负担;