1.导言
无线自组网(Ad Hoc)是由一组带有无线通讯收发设备的移动终端节点组成的一个多跳、暂时和无中心的网络,具有不依赖于固定基础设施、抗毁性强、可快速打开等长处,适用于军用和抢险救灾的应急通讯。
武警部队是国家保证公民生命财产安全、对立恐怖主义和处置突发事情的重要力气,要求在事发地域能够快速、有用地树立起应急通讯保证渠道。本文在AODV路由协议的基础上,提出了一种改善的AODV路由协议,意图在于均衡网络中每个节点的负载,进步网路的生计时刻。
2.Ad hoc路由协议
现在针对Ad Hoc网络提出的路由协议能够分为表驱动(table driven)路由和按需路由(demand based)两大类。
表驱动路由协议又称为先应式(proactive)路由协议,它的意图是为网络中的每一个节点保护到一切其它节点的一致和最新的路由信息,因此要求每个节点保护一个或多个路由表来保存这些信息。当网络拓扑发生改变(事情驱动)时,相关的节点在整个网络中发布更新信息,来保证路由信息的一致性。此外,即便网络拓扑没有发生改变,每个节点也需求周期性地(时刻驱动)播送它的路由表。表驱动路由协议的长处是它削减了节点取得路由的推迟,使源节点能够当即判别意图节点的可达性,缺陷是耗费了较多的网络资源,并且耗费了一些资源来树立和重建那些底子没有被运用的路由。首要的表驱动协议有:DSDV、WRP、CGSR、OLSR、FSR.
按需路由协议又称为需求驱动(demanddriven)或反应式(reactive)路由协议。
当选用这种路由协议时,源节点只要在需求树立一条抵达意图节点的路由时,才发生一个路由发现进程来树立相应的路由。树立了路由后,源节点发生一个路由保护进程来保护该路由,直到到意图端的每一条路由都不行达或许不再需求该路由时。按需路由的长处是不需求花费资源来保护无用的路由,但路由发现进程的费用比较贵重,并且源节点事前无法猜测能否发现到意图节点的路由,此外发现路由的推迟与表驱动路由协议中确认的查表时刻比较,也是不行猜测的。
3.改善的AODV路由协议
3.1 AODV路由协议
AODV是一种按需的间隔向量路由协议,它不只具有按需路由协议的特色,即网络中的每个节点只在需求进行通讯时才树立路由,而不必周期性的交流路由信息来取得到网络其它节点的路由信息;还具有间隔向量路由协议的特性,即各个节点的路由表只保护本节点到其它节点的路由,而无需把握全网拓扑结构。
AODV协议中有五类操控音讯:路由查询音讯(RREQ)、路由回复音讯(RREP)、路由过错音讯(RERR)、RREP应对音讯(RREPACK)、HELLO音讯。RREO音讯首要用于节点在进行路由查询时向街坊节点发送的音讯,该音讯的发送以播送的方法完成;RREP音讯由意图节点或具有最新有用路由的中心节点宣布,用于奉告源节点通往意图节点的路由;RERR音讯由检测到路由失效的节点宣布,用于告诉一切运用失效路由的节点,使这些节点能够及时的寻觅新的路由;RREPACK由源节点应意图节点的要求宣布,首要用于应对意图节点的RREP音讯;HELLO音讯是一类特别的RREP音讯,该音讯用于节点坚持和街坊节点之间的有用链路。
AODV协议中规则节点保存的数据结构首要有:路由表、前驱表、单向链路黑名单(black list)。路由表中保存节点到每一个意图节点的路由。前驱表用来保存运用相对应的路由的一切街坊节点,使得一旦呈现链路失效,本节点能够快速的告诉到相关的街坊节点。单向链路黑名单首要用于记载于本节点间存在单向链路的上游节点。
3.2 改善的AODV路由协议
在P改善AODV协议中,只更改了RREQ和RREP音讯的数据结构,在RREQ和RREP音讯中新增了metric(M)项,修改后AODV的RREQ报文格式如表1、表2所示。
当源节点建议路由恳求时,因为源节点与意图节点肯定会存在于链路中,故它们的metric值不作为途径挑选因子,将RREQ中metric值置0,然后进行播送。中心节点收到RREQ后,依据节点的m值以及是否有意图节点的路由信息,决议该节点是否能够作为中心节点。节点有三种状况:瘫痪、拥塞、正常。网络中每个节点可依据其负载状况和可用能量决议转发或丢掉收到的RREQ分组。
当一个中心节点处于“瘫痪”状况时,除非它是该链路的意图节点,不然将不处理任何路由恳求,丢掉一切收到的RREQ,使其不能再成为中心节点。当节点处于“拥塞”状况时,只要当它是该链路的意图节点或许其路由表中现已存在了意图节点的路由信息,才会回复其路由恳求,不然将丢掉该路由恳求,以此来削减因为RREQ播送形成的网络负载和下降路由发现的端到端时延。当节点处于“正常”状况时,首要判别它是否该路由的意图节点或路由表中存在意图节点的路由信息。若是则回复RREP,若否,则比较节点md值与RREQ中的metric值,若md值大,则更新metric值,转发该RREQ包,若metric值大,则直接转发RREQ.如果是重复收到RREQ,则按前段所述处理。处理流程如图1所示。