基于ZigBee网络的路由算法研究

2017-04-13 01:34
软件导刊 2017年3期
关键词:数据包路由能量

陈 伟

(安庆职业技术学院 电子信息系, 安徽 安庆 246000)

基于ZigBee网络的路由算法研究

陈 伟

(安庆职业技术学院 电子信息系, 安徽 安庆 246000)

ZigBee网络的传统算法(簇树路由算法和AODVjr路由算法)在发现路由过程中节点能耗较大。为此,结合节点能量、簇树路由算法和AODVjr路由算法,提出一种改进的ZigBee网络路由算法。该路由算法选择路由时尽量避免能量较低的节点,选择最佳路径,维持网络稳定性。仿真结果表明,改进后的算法能有效降低整个网络总体能耗,合理分配网络负载,大大降低了死亡节点数量,从而延长整个网络的使用寿命。

ZigBee网络;簇树路由算法;AODVjr 路由算法;能量均衡;网络拓扑

0 引言

无线通信技术逐渐成为通信技术的发展方向。基于ZigBee技术的无线传感器网络技术是无线通信中面向短距离、低速率、低功耗和低成本的一项重要技术。它采用直接序列扩频(DSSS)技术,工作频率为868MHz、915MHZ和2.4GHz。ZigBee网络以良好的技术特性广泛应用于无线传感器网络中,ZigBee网络的路由算法和机制也获得了不断发展[1-2],但在ZigBee网络中,能量问题一直是发展瓶颈。本文对ZigBee网络协议的路由进行了分析,针对传统路由协议存在的问题,对传统的ZigBee网络路由算法进行优化,将路径中能量的消耗与传统路由算法结合,提出新的ZigBee路由算法,以提高ZigBee网络性能,延长网络使用时间。

1 ZigBee网络拓扑结构

ZigBee网络拓扑结构[3]有星形拓扑、树形拓扑和网形拓扑。

图1 ZigBee网络拓扑结构

节点通信规则:

(1)星形拓扑中只有协调节点和终端节点,节点间的数据通信只有唯一的一条路径。

(2)树形拓扑中节点向另外节点发送数据,必须沿着父节点上传,一直传递到最近的协调节点后,再传递到目标节点。

(3)网形拓扑是一种特殊的点对点自组通信网络,其网络中的路由可以自动建立和维护,而且自愈能力特别强。网络通信可以多跳方式来传输数据到达目标节点,网络的节点数目多而且网络的深度深,是ZigBee网络中最复杂的一种网络拓扑。

2 ZigBee网络地址分配及链路节点能量

ZigBee网络同其它无线传感器网络不同,主要在于其采用两种不同分配方式,即分布式地址分配和随机地址分配。如果节点加入网络,必须要通过已存在网络中的路由器或协调器。当一个节点加入网络后,会自动获得唯一的网络地址。网络建立开始,规定3个基本参数:网络中最大深度Lm;网络中父节点连接子节点最多数目Cm;网络中节点连接路由节点的最多数目Rm。网络深度为d的路由节点所能分配地址时的空间为Cskip(d),则 计算Cskip(d)为路由节点分配地址的个数。

Cskip(d)

(1)

父节点Afather分配给第I路由节点地址Ai满足:

(2)

分配给第M终端节点地址Am满足:

(3)

ZigBee网络一般是基于分布式网络,支持AODVjr路由算法。它的算法工作原理是通过路由请求包(RREQ)和路由回复包(RREP),寻找路由节点之间传输信息最短的路径,并记录保存到路由表中。

ZigBee网络中,假设路径M的长度为T,则路径中所消耗的能量为路径每条链路上的损耗之和。其中C[Mi,Mi+1]是节点Di到Di+1链路上所损耗的能量。

(4)

3 ZigBee网络路由方式

3.1 Cluster-Tree路由算法分析

簇树路由算法是一种以网络协调器为中心的树状网络拓扑结构,它主要适用于静态路由,节点上不需要存储路由表。树形拓扑结构中的大部分设备为FFD(全功能设备),RFD(半功能设备)只能作为树形结构的末端节点。节点成功加入网络时,父节点根据网络地址分配机制为其动态分配该网络中唯一的网络地址。若一个终端节点(RFD)发送数据包到其它节点时,首先直接发送数据给父节点,然后由父节点转发数据包。若一个父节点(FFD)接收到数据包,则先要判断目的节点是否是自己,如果是则向上层回复;否则,判断是否为子节点,如果是则转发给子节点,否则,为下一跳的父节点[4]。

3.2 AODVjr 路由算法分析

AODVjr路由算法是应用于网形拓扑结构的路由算法,是AODV(多跳网络距离矢量路由协议)算法的精简版[5],非常适用于ZigBee网络路由算法,并且还保留原始的AODV算法。主要工作原理是:通过传送路由数据包来查找和记录路由信息,路由数据包由两部分组成:路由请求包和路由回复包。如果收到数据包后立即查找该节点的路由表,有到目的节点最小损耗路由路径,则立即传送数据,否则就需要启动ADOVjr算法寻找新的路由路径,由节点发送请求(RREQ)包查找。若收到目的节点的回复(RREP)包,则网络中该路由路径是最优路径,数据包立即按此路由路径发送。在ZigBee网络中对AODV-jr路由算法进行改进,取消了HELLO消息的发送和ADOV中的先驱节点列表,这样可避免出现无效的回复(RREP)包和数据包在路径中循环的问题。只有目的节点才能发送回复(RREP)包,而且目的节点会定期向发送节点发送生命周期时间(KEEP-ALIVE)包来维持节点在路由表存在的时间[6-7]。图2是AODVjr算法寻找路由的方式,可看到请求包(RREQ)广播和(RREP)回复的过程。其中,A为源节点,H为目的节点。

4 改进路由算法

簇树路由是一种静态路由, 明知两个节点间的路由路径,簇树路由没有路由表,没有发现路由过程,也没有初始延迟过程。但是簇树寻找路由不一定是最佳路径而且也不能自适应网络。AODVjr路由算法具有动态查找功能,能快速适应动态路由环境,具有组播功能,会引起广播风暴增加功耗。所以在请求包(RREQ)中增加一个标签flag。flag=0则当前为父节点可以转发,当flag=1则当前为子节点不可转发,丢弃该分组。

本文通过结合AODVjr 路由算法和簇树路由算法以及链路消耗能量改进路由算法,不会单纯计算两个节点的最短路径,而是结合ZigBee网络树路由算法,根据路由节点能量,通过比较周围节点能量寻找最合适的下一个路由节点。通过能量均衡策略从有剩余能量的节点中选择合适的节点进行数据发送[8],能维持网络生命周期,提高网络健壮性。具体步骤如下:

(1)节点接收到RREQ 分组时,先查看RREQ分组的目的节点是否为本节点,如果是则回复,否则转(2)。

(2)判断本节点的剩余能量,如果数据转发所需的能量大于节点的剩余能量,则丢弃该分组,否则转(3)。

图3 改进算法流程

(3)判断RREQ分组中的标签flag值。如果flag=0,则此节点为父节点,可以转发数据,否则转(4)。

(4)flag=1,则此节点为子节点,不能转发数据,丢弃分组。

(5)找到目的节点后回复RREQ 分组。

5 仿真实验结果

为了测试改进后的路由算法性能,分别在NS2 环境中对传统算法和改进后的算法进行仿真实验,对比前后两种算法性能。主要对网络总体能耗、网络中死亡节点数量等进行比较。仿真结果表明,改进后的路由算法基本上达到预定效果,能增强网络的健壮性,提高网络和节点寿命。仿真环境参数设置如下:网络范围为:600×600,网络节点数量为100个,数据包大小为512B 。首先初始化每个节点的能量为1000 J,Cm=6,Rm=5,Lm=7。其次设置节点的工作能量阈值为400J,当节点能量小于400J时,该节点就为无效节点。

图4 ZigBee网络总体能耗对比

图5 ZigBee网络死亡节点对比

由图4和图5比较发现,改进后的算法和网络总体能耗明显降低。ZigBee网络中无效节点个数随时间变化 ,刚开始改进的算法由于节点能量充足,不会产生无效节点。随着时间的增长,传统算法中无效节点大量出现,而且出现比较早,主要是传统算法没有考虑到节点剩余能量的保存。而改进后的算法不仅考虑路由路径选择,同时还考虑到节点的剩余能量,均衡网络负载,提高了网络的健壮性。

6 结语

本文对ZigBee网络的传统路由算法进行了改进,提高了网络的可靠性,延长了网络的使用寿命,节省了网络能量。下一步将在节能方面对算法进行优化和改进。

[1] 徐小涛,孙少兰,熊华,等.ZigBee无线传感器网络的路由机制[J].数据通信,2009(3):19-22.

[2] SINEM COLERI ERGEN. ZigBee/IEEE 802.15.4 summary[EB/OL]. [2004-9].http://www.eecs.berkeley.edu/csinem/academic/publications/Zig Bee.pdf.

[3] ZigBee V1. 0 Architecture overview[EB/OL]. [2005-09-16].http:∥www.ZigBee.org Mar 2006-Open-House-Pres-entations/ZigBee%20 Architecture2.pdf.

[4] 郭瑞星,王庆生.ZigBee路由算法的研究与改进[J].电脑开发与应用, 2011,24(5):32-34.

[5] 李岩,袁安娜,柳培新,等.一种改进的ZigBee网络能量均衡簇树路由算法[J].哈尔滨理工大学学报,2013,18(5):56-60.

[6] 杜焕军, 张维勇, 刘国田. ZigBee 网络的路由协议研究[J]. 合肥工业大学学报, 2008, 31(10): 1617-1621.

[7] 谢川.基于ZigBee的AODVjr算法研究[J].计算机工程,2011,37(10):87-89.

[8] 丁飞,张西良,张世庆.基于ZigBee的无线通信技术及其应用[J].江苏通信技术,2006,22(5):24-27.

(责任编辑:杜能钢)

Research of Routing Algorithm Based on ZigBee Network

In view of the traditional algorithm of ZigBee network,the cluster tree routing alg-orithm and AODVjr routing algorithm in the routing discovery process, the node's energycon-sumpti-on is relatively large. To this end, an improved ZigBee network routing algorithm ispr-oposed by combining the node energy and the cluster tree routing algorithm and the AODVjr routing algorithm. The routing algorithm chooses the route to avoid the lower energy of the node. And select the best path, maintain network stability. Simulation results show that the improved algorithm can effectively reduce the overall energy consumption of the entire net-work, capable of rational allocation of network load equilibrium, to a large extent reduce the number of dead nodes, and prolong the service life of the entire network.

ZigBee Network; Cluster Tree Routing Algorithm;AODVjr Routing Algorithm;Energy Balance;Network Topology

安徽省质量工程教学研究项目(2015jyxm540)

陈伟(1983-),男,安徽桐城人,硕士,安庆职业技术学院电子信息系助教,研究方向为网络信息安全、无线传感器网络。

10.11907/rjdk.162446

TP312

A

1672-7800(2017)003-0042-03

猜你喜欢
数据包路由能量
能量之源
SmartSniff
探究路由与环路的问题
凝聚办好家长学校的正能量
PRIME和G3-PLC路由机制对比
WSN中基于等高度路由的源位置隐私保护
eNSP在路由交换课程教学改革中的应用
视觉注意的数据包优先级排序策略研究
移动IPV6在改进数据包发送路径模型下性能分析