王惠清,周 雷,王 静/Wang Huiqing,Zhou Lei,Wang Jing

(1.泸州医学院现代教育技术中心 泸州646000;2.中南大学信息科学与工程学院 长沙410083)

1 引言

ZigBee网络是一种近距离的无线传感网络,具有低数据量、低能耗、灵活组网的特点,在局域区域中使用广泛。ZigBee 是建立在IEEE 802.15.4 标准的基础上,在数千个微小的传感器之间相互协调实现通信[1]。2003年12月,IEEE 正式发布了该技术物理层和媒体接入层(MAC)所采用的标准协议,即IEEE 802.15.4 协议标准,作为ZigBee 技术的网络层和媒体接入层的标准协议。2004年12月,ZigBee联盟在IEEE 802.15.4 定义的物理层和MAC的基础上,定义了网络层和应用层,正式发布了基于IEEE 802.15.4的ZigBee 标准协议[2]。本文在分析ZigBee网络配置、组网和网络拓扑结构的基础上,对比常用的几种ZigBee网络路由算法,并且利用Matlab 软件对其网络性能进行仿真实验。

2 ZigBee网络拓扑结构

ZigBee网络层支持3 种拓扑结构: 星型拓扑、树型拓扑和网状型拓扑[3]。其拓扑结构如图1所示。星型拓扑网络主要为一个节点与多个节点的通信设计; 树型拓扑网络采用基于信标的方式进行通信,使用分级路由策略来传送控制信息和数据;网状型拓扑网络是一种骨干网,由若干个FFD 节点连接在一起组成。在网状型拓扑结构中,网络节点之间进行通信需要预先设定一个节点作为整个ZigBee网络的协调点。

图1 ZigBee网络拓扑结构

3 ZigBee网络组网

ZigBee网络的组网分为以下几个步骤。

①初始化ZigBee网络环境并将网络设备节点加入到ZigBee网络,网络初始化的主要工作是确定ZigBee的节点协调点。

②为了避免节点干扰,需要对信道进行扫描,以准确获取节点信息。

③对网络的节点ID 进行设置,获取合适的信道后,协调器选取一个标识符作为网络标识符(PAN ID),PAN ID 在信道中必须唯一,且不能为广播地址,这样就实现了ZigBee 网状网络的初始化。

④最后将选取的设备节点加入ZigBee网络中,主要有两种节点加入情况:一种情况是有新的节点需要加入网络;另一种情况是已失效的节点重新唤醒,申请加入网络。第一种需要原来保存的路由信息向父节点发起申请; 第二种则需要FFD网络节点向协调器发出连接请求,协调器根据实际网络情况决定是否允许其连接,建立连接后,才能实现数据的收发。

ZigBee网络组网时,节点网络地址的获得基于树型地址分配机制[4],其主要步骤为:ZigBee网络中选定的协调器需要建立一个新的网络,首先利用树形分配算法给网络分配地址0,网络深度Depth0,新节点i 加入网络并且与节点k 连接,这里,节点k 称为节点i的父节点。节点k 本身的网络地址为Ak,网络深度为Depthi=Depthk+1。ZigBee网络自身的协调器节点深度定义为0,作为根节点,且它的子节点深度定义为1。父节点k 为子节点i 分配网络地址的关系为

若新增加的子节点为FFD 设备,并且为路由节点,则给它分配网络地址

4 ZigBee 路由算法

ZigBee网络层支持Tree、AODV 和EHRP 等多种路由协议,ZigBee网络进行路由选择主要有以下几个步骤。

①ZigBee网络源节点以广播的方式发送路由请求报文。

②目的节点在网络报文中接收到请求报文后,发送响应回答报文。

③路由路径上的网络节点对收到的响应回答报文进行计算和分析,得到所有路由路径的跳数和数据时延。

④将计算和分析后的最优路径信息记录到此路径网络节点的路由表中。

考虑到ZigBee网络低能耗和简单配置等各项特点,对ZigBee网络中的典型路由算法,如Tree算法、AODV算法[5]、EHPR算法、Cluster-Tree+AODVjr算法等进行对比分析,在此基础上对这些算法进行改进和完善,使其适应不同的网络环境。

4.1 Tree 路由算法

Tree 型路由机制主要包括树形地址的分配和树形地址的路由选择,其Tree 型路由算法的核心就是寻找网络中源节点到目的节点之间的路由路径。例如,设某路由节点向目的地址为D的节点发送报文,其中,A 为路由节点的网络地址,d 为网络深度,判断目的节点位置的表达式为

若当前节点是目的节点的祖先节点,则当前节点的下一跳地址为

Tree 路由算法的优点主要是通过简单的路由计算便可获得节点的数据传输路径,且需要的路由开销小,节点功耗低以及网络节点维护简单;缺点主要是层次低的节点会成为祖先节点,其作为数据传输的路由路径的可能性大,随着网络规模逐渐增大,拓扑结构树中根节点附近的路由数据负载会越来越严重,进而造成网络拥塞和延迟,最终导致网络的整体性能降低。

4.2 AODV 路由算法

DSDV 协议是一个基于传统的BellmanFord 路由机制的表驱动算法,被认为是最早的无线自组网络路由协议。DSDV 在传统Distance-Vector算法的基础上采用了序列号机制,用于区分路由的新旧程度,防止Distance-Vector算法可能产生的路由环路。DSDV 采用时间驱动和事件驱动技术控制路由表的传送,即每个移动节点在本地都保留一张路由表,包括所有有效目的节点、路由跳数、目的节点路由序列号等信息,目的节点路由序列号用于区别有效和过期的路由信息,以避免环路的产生[6]。

AODV 路由协议在DSDV 协议的跳路由、序列号、定期广播机制的基础上,加入了DSR 按需路由发现和维护机制。AODV 路由算法在此基础上有所改进,主要是引入路由表,在网络节点的路由表中保存路由信息,减少网络中广播的次数。AODV算法作为无线传感网络中的经典算法,运用十分广泛,算法复杂度高,消耗的网络资源多。针对这种情况,对其路由算法进行改进,涉及以下几个方面:简化了路由表的项目,删除了路由跳数和节点的先驱节点项;简化了路由路径的查询过程,只授权网络的目的节点对请求数据帧发送响应;改进了路由维持的机制,若源节点在时钟定时器内无法接收到目的节点的确认帧,路由算法重新对路径进行计算,规划新的路由路径; 改进了路由环路形成的条件,基于AODV 路由算法所需开销小,对其运用最优化的原理,使用节点序列号对路由更新情况进行区分,而且目的节点仅响应RREQ 报文分组。故改进后的AODV 路由算法开销更小、路由路径更短。

4.3 EHRP 路由算法

EHRP 路由算法是在Tree 路由算法的基础上进行改进,以适应动态变化的网络环境。Tree 路由算法的路由选择只适用于父节点与子节点的路由选择,而EHRP 路由算法在此基础上增加了路由寻址功能,并在网络节点中增加了一个路由邻接表,路由选择过程中EHRP 路由算法先按照Tree 路由算法计算路由开销S1,然后在邻接路由表中计算源节点到目的节点的路由开销S2,最后判断S1和S2+1的大小,将分组发送到开销较小的路由节点上,后续的节点类似,直到到达目的节点。EHPR算法的路由开销小,选择最短路径进行数据报转发。

5 算法比较及仿真

算法的对比分析采用Matlab 软件模拟仿真,其过程为:首先组建一个仿真ZigBee网络,在ZigBee组网实验中,选取70 个网络节点,从分布在网络中的70 个节点中,选取出一个ZigBee网络的协调节点,同时,还需要选择40 个路由器节点用来转发分组,30 个连接到网络中的设备节点,用来实现设备的连通性,其节点分布情况如图2所示。组网过程中,运用Tree 型路由拓扑结构分配节点地址,其ZigBee网络组网结果如图3所示。

图2 ZigBee网络节点分布情况

图3 ZigBee网络节点组网结果

对比分析相同的源节点和目的节点的路由选择算法,对网络中的节点分别采用Tree 路由算法、EHRP 路由算法和AODV 路由算法,然后计算路由路径长度。由图4 可知,Tree 路由算法路径最长,EHRP 路由算法次之,AODV 路由算法路径最短。通过对3 种路由算法的对比分析可知,Tree 路由算法路径的建立可通过计算网络节点的地址得到;EHRP 路径的建立则需要建立邻接表,然后对节点路径进行计算和比较,最后获得最优路径;AODV 路由算法路径的建立,首先需要建立路由表,即自适应路由,通过目的节点的反馈信息建立路由路径,最后获得最短路径。

图4 3 种路由算法的路由路径

综合分析可知,从节点能量消耗和存储使用角度来看,Tree 路由算法节点能量耗费最少,EHRP 路由算法的存储空间消耗较少,AODV 路由算法的性能最佳。然而在实际的网络环境中,需要依据节点的能量消耗、时延和负载均衡等各项性能指标选择最佳的路由算法。一般而言,ZigBee网络依据设备节点和直接连接的路由节点进行通信的情况以及当路由节点因能量消耗无法进行主动路由的情况,均采用“Cluster-Tree +AODV”混合的路由算法,可以使网络的性能达到最优。

6 结束语

本文主要介绍了ZigBee网络的体系结构和组网过程,对ZigBee网络常用的几种路由算法进行了分析,重点对Tree算法、EHPR算法和AODV算法的路由开销、功耗进行对比分析。最后,对ZigBee网络中的源节点和目的节点分别运用Tree 路由算法、EHRP 路由算法和AODV 路由算法进行模拟仿真,计算路由路径。

实验结果显示,根据具体的节点能量消耗、数据传输时延和数据负载等各项网络性能指标选择合适的路由算法,才能使网络性能达到最佳。因此,随着无线传感网络的发展,ZigBee 技术被广泛应用于各个领域的生产生活中,如智能电网、智能家居等。

[1]ZigBee specification[EB/OL].http://www.zigbee.org.

[2]刘丽钧,童丽丽.ZigBee 技术网络层的路由算法分析[J].计算机与信息技术,2008,(1).

[3]ZigBee Alliance.ZigBee architecture overview[EB/OL].http://www.zigbee.org/ en/events/documents,2005.

[4]JAE Y H,SUNGHYUN C,WOOK H K.EHRP:enhanced hierarchical routing protocol for ZigBee mesh networks[J].IEEECommunications Letters,2007.

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

[6]赵新伟,郑洪飞.Ad hoc网络路由协议分析与仿真[J].计算机安全,2011,(7).