当前位置:文档之家› 基于ZRP的AdHoc网络路由协议的优化研究

基于ZRP的AdHoc网络路由协议的优化研究

󰀁信息科学与工程󰀂

基于ZRP的AdHoc网络路由协议的优化研究

杨 羽

(辽东学院信息工程学院,辽宁丹东 118003)

摘 要:文章在ZRP协议的基础上,对现有ZRP协议进行了扩展。提出根据移动节点自身移动速度,

动态调整探测节点信号发射范围和频率以配合ZRP调整虚拟区范围和探测邻节点频率路由优化策略。通

过NS2仿真进行论证,结果表明:新ZRP同原ZRP协议比较,在没有明显增加路由协议开销的情况下,

端到端平均时延没有明显增加,端到端传输率平均却有显著的提高。关键词:Adhoc;ZRP;发射功率;半径自适应

中图分类号:TP393.02 文献标志码:A 文章编号:1673-4939(2009)03-0227-05

AdHoc网络的前身是分组无线网。对分组无

线网的研究源于军事通信的需要,早在1972年,

美国DARPA(DefenseAdvancedResearchProjectA󰀁

gency就启动了PRNET项目,研究PRNET在战场环境下数据通信中的应用。PRNET项目完成之后,

DARPA又在1983年启动了高残存性自适应网络

(SURAN)项目,将PRNET的成果加以扩展[1]。

Adhoc网络特点是由带有无线通信收发装置的移动终端组成的一个临时性多跳(Hop)自治系统。

节点间路由通常由多跳(Hop)组成,不需要网络

基础设施,可以在任何地方、任何地点快速构建这种特殊的自组织、对等式、多跳无线移动通信网

络。

如果网络内任意两个节点互相在通讯功率覆盖

范围内就直接进行通讯,否则就通过互相相邻的节点以接力的方式进行远程通讯,即多跳通讯。每个

(移动)终端同时具有路由器和主机两种功能:作

为主机,终端需要运行用户自身使用的应用程序;作为路由器,终端需要根据网络特点运行相应的路

由协议,提供适合自身要求的远程连接服务。

目前AdHoc网络已经得到了国际学术界和工

业界的广泛关注,并正在得到越来越广泛的应用,己经成为移动通信技术向前发展的一个重要方向,

必将在未来的通信技术中占据重要地位。1 ZRP协议

ZRP(ZoneRoutingProtocol)协议结合了Ad

Hoc按表驱动路由协议和按需驱动路由协议的优点

属于混合性路由协议。ZRP协议结构见图1,使用

ZRP协议网络内的所有节点都以自身为中心以一定

的半径建立虚拟区,区内的节点数与设定的区半径

有关。在区内使用按表驱动路由算法,中心节点使

用区内路由协议IARP维持一个到区内其他成员的

路由表;对区外节点的路由使用按需路由算法,利

用区间路由协议IERP建立临时的路由。ZRP协议

中还使用了BRP协议,用于控制发现新节点分组第16卷第3期 辽东学院学报(自然科学版) Vo.l16No.3 2009年9月 JournalofEasternLiaoningUniversity(NaturalScience) Sept.2009

!收稿日期:2009-04-13作者简介:杨羽(1971∀),男,辽宁丹东人,满族,硕士,讲师,工程师,主要从事宽带网络IP技术教学与研究。信息的传送,使用邻节点发现协议NDP来不断探

知本节点功率覆盖范围内节点的情况[2]。

路由发现按需路由协议DSR算法在该算法中,

由源节点决定分组转发的完整的节点序列,并将这

个路由记录在分组头中。#源路由∃的使用有效地

避免了环路的出现和转发分组的中间节点路由信息

的更新,在路由出错的时候,路由表中的相应记录

将被删除,而在发现新路由时,向路由表添加新的

路由发现记录[3]。

在AdHoc网络中路由协议的选取要根据本网

络特征来确定。ZRP协议根据不同的网络特征来确

定区域半径参数,进而,ZRP可以提供比单纯使用

按表路由协议或按需路由协议更好的路由性能,例

如:在节点移动速率相对较快的密集型网络中设定

ZRP区域半径较小,在节点移动速率相对较慢速的

稀疏型网络中设定ZRP区域半径较大[4],通过合

理的设定半径的大小,取得区内合理数目的节点,

可以取得相对较好的路由性能。

2 ZRP协议的不足

虽然,ZRP结合了主动路由协议和按需路由协

议的长处,但也有些不足,如使用的是统一一致的

区域半径,只要一个节点发起路由,其它节点也不

管其移动速度就参加查询,成为路由的一部分。

ZRP有N个节点,就会产生N个相互重叠的通信

区域,这样对区域内部的网络带宽有不少的消耗和

占用并不能满足对网络性能要求高的情况[5]。

如果对频繁变化的网络,根据网络变化的情

况,使节点的区域半径通过一定的算法进行自适应

调整,同时调整节点发射功率配合路由区域半径的

调整,使网络环境达到最佳的匹配,将会使ZRP

协议的性能得到更进一步的提高[6]。

3 新ZRP优化策略

3.1 优化策略相关问题移动节点的自身位移速度v的取得,可以有多

种方法,例如:本机添加卫星定位GPS接收器

(现价格极其低廉)或者使用激光(光电)位移速

度检测器等等。

节点发射功率的调整可以使用电子继电器电路根据自身位移速度进行进行实时控制。3.2 优化策略的具体内容

新优化策略及原理需要配合图2、图3来说明。

图2为ZRP协议下S节点中心虚拟区示意图;图3表示S节点功率增强后高速移动时对其它节点的拓

扑影响。

首先设图2、图3中源节点S区域半径值r;

节点密度k;节点速度v;邻节点发现探测周期T;

节点n,能量值ej。图2为S节点未高速移动前的区内拓扑情况。

在图3中,当S节点高速移动时通讯功率被增

大,与之通信的节点H可以应S节点要求而增大功率,以保持通信的双向对等作为接应。当S节点

靠近H节点速度v减少时,双方降低信号发射功

率;当S节点由原位置高速离开E节点时,由于增加了发射功率覆盖范围,使得原来于E连接的F

节点和C节点拓扑结构相对不变,减少了区内节

点拓扑变化产生的路由信息。具体内容如下:

(1)移动源节点S移动速度v<󰀁r时,其中󰀁

为系数,节点之间互相探测周期探测周期T加长,

T=󰀁v,其中󰀁为系数,同时探测信号功率不变或%228%辽东学院学报(自然科学版) 第16卷者减小,减少探测信号范围,可以减少生存时间较

短的路由信号产生,以保证节点S以及周围节点现

有通讯带宽,并最大限度节省电池能量,电池能量

公式:ej=&k-1i=1T(ni,ni+1)=(k-1)T,移动节点S移

动速度v>f(r)时相邻节点互相探测T周期减小,

移动节点S探测周围邻节点的频率增大,同时探测

信号功率增大,(节点功率增强可适当减少探测频

率,当节点功率增大到可直接探测到的部分节点2

跳节点时保持功率或减小探测功率,功率的减少要

有一定的滞后),交换功率覆盖节点缓存路由信息

备用,以到达减少新通讯时路由迟延。通过扩大功

率来相对抵消由于高速移动而影响的原拓扑结构的

改变,即可以减少按表驱动的更新范围,增大新节

点的发现。通过变可能的2跳、多跳节点为1跳节

点,已达到保持#区半径∃缓存表变化较少目的,

减少了路由更新所产生的冗余,同时为将来的通讯

减少端到端的时延[7]。

(2)移动源节点S移动速度V∋󰀂v时,其中󰀂

为系数,即移动节点S移动较快,本节点功率增强

通知正在通讯的邻节点增强功率,区域内减少节点

路由缓存信息的交换。减少由于高速移动导致的过多的冗余路由信息,并加快对于过时路由的删除,

减少将来通讯通讯迟延。

(3)高速移动节点S如遇当前通信量较大时,

时减少探测路由信号发射功率,减少中心区范围

(减小区内节点跳数),以减少高速移动节点路由

更新信息,达到减少冗余路由发现信号、路由维护

信号,保证留出通讯带宽。

(4)高速移动的节点S当通讯量降低时,增

大探测路由信号发射功率,增大功率发射范围,发

射频率,增大中心区范围(减少中心区节点跳数,

或者保持当前跳数),适当增大高速移动节点路由

更新信息,达到少量增加路由发现信号、维护路由

维护信号,保证后继通讯响应时间。通过定时采样

增加或者减少跳数,比较出最小的路由控制开销量。当找到此最小量时,相对应的半径就是最佳半

径r约束公式为:󰀁(r)=IERPtrafficLARPtraffic[7]

(5)部分代码如下:

ZRP区内使用按表路由,中心区以外区域使用DSR协议,RREQ结构:

//currentnode

Structhdr_dsr{(((

ints_addr_;

intd_addr_;inthopnumbers_;

structsr_addraddrs_[MAX_SR_LEN];

structroute_requestsr_request_;(((

路由要求(route_request):

structroute_request{

intreq_valid_;/*requestheaderisvalid?*/

intreq_id_;/*uniquerequestidentifier*/

intreq_ttl_;/*maxpropagation*/}

}

DSR路由维护:

Structroute_error{interror_valid_;/*replyheaderisvalid?

*/

structsr_addrerror_node;/*whichnodeislos?t*/

ZRP主结构及Agen:t

ZRPAgen:t:ZRPAgent(nsaddr_tid):Agent(PT

_TCP),NeighborScanTimer_(this),BeaconTransmitTimer_(this),AckTimer_

(this),

num_neighbors_(0),suspend_flag_(0),PeriodicUpdateTimer_(this),rtable(this),

myaddr_(id),myid_()\0)),seq_(1),

qid_(1),

radius_(DEFAULT_ZONE_RADIUS),transmit_jitter_(DEFAULT_TRANSMIT_

JITTER),

startup_jitter_(DEFAULT_STARTUP_JIT󰀁

TER),process_jitter_(DEFAULT_PROCESS_JIT󰀁

TER),

beacon_period_(DEFAULT_BEACON_PE󰀁%229% 第3期 杨 羽:基于ZRP的AdHoc网络路由协议的优化研究

相关主题