ZigBee网络中Cluster_Tree路由算法优化
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2 地址分配机制
ZigBee网络中的每一节点都有两个地址段: 网络短地址段和扩 展地址段。 其中16bit网络短地址仅仅用于网络中的数据传输和路 由; 是在节点加入网络时由其父节点动态分配的, 类似于我们在 Internet中使用的IP地址;64bit地址类似于计算机的MAC地址, 唯 一标识每个节点。 加入ZigBee网络的节点通过IEEE802.15.4MAC 层提供的关联过程组成一棵逻辑树, 当网络中的节点允许一个新节 点加入网络时, 它们之间就形成了父子关系, 每个进入网络的节点 会得到父节点为其分配的一个唯一的网络地址[3]。 协调节点在建立 网络以后使用的16位的16进制数作为自己的网络地址,路由节点和 终端节点加入网络后, 使用父设备给他分配的1 6 位的短地址来通 信。 规定这些子节点中最多可以有Rm个路由节点, 每个父节点最多 可以连接C m 个子节点, 网络的最大深度为L m 。 因此地址为A p 深度 为d 的父节点。 如果新加入的节点是一个R F D , 并且该节点是其父 节点的第n个RFD 节点, 分配的网络地址可通过式(1)得出: An = Ap + Cskip (d ) ∗ Rm + n 1 ≤ n ≤ Rm (1) 如果新加入的节点是一个F F D , 并且该节点是其父节点的第n 个F F D 节点, 则父节点为该节点分配的网络地址: (2) An = Ap + 1 + Cskip(d ) ∗ (n − 1) (1 ≤ n ≤ Rm) 其中:
3 、ZigB ee 路由算法改进 3.1 问题分析
如图3-1所示,簇树就是由Coordinator节点展开生成的簇树状 网络拓扑结构,该簇树状网络分为3个簇A、 B、 C, Cluster—Tree算 法按照Cluster—Tree树形结构分层遍历, 算法简单快速。 但是它存 在一个问题: 两个相邻的节点都在一跳范围内可以完成通信,但由 于不在同一簇内,根据Cluster—Tree算法不能通过一跳完成通信, 造成网络节点资源的浪费和较大的通信延迟, 容易造成网络分割, 缩短网络的使用寿命。 例如:簇A中的1节点和簇B中的6节点要相互 通信,尽管他们的距离近,相互都处于对方的信号覆盖范围,但他们 属于不同的簇, 本需1跳就可完成通信(1, B6), 但依照Cluster—Tree 算法则需5跳来完成(A1,A2,A3、 B4、 B5、 B6)。 可见,按照Cluster— Tree算法额外增加了很多不必要的节点。
1 、Zig B ee 的相关概念 1.1 ZigBee 技术的定义
ZigBee的名字来源于蜜蜂的舞蹈, 一群蜜蜂通过跳ZigZag形 状的舞蹈交换各种信息, 来告知同伴发现食物的距离、 方向和具体 位置等信息。 为了形象的记忆, 国内有人甚至将其称之为 “紫蜂” 技 术[2]。 ZigBee技术是一种新型近距离、 低复杂度、 低功耗、 低数据速 率、 低成本的无线网络技术, 是一种基于IEEE802.15.4无线通信标 准; 介于无线标记技术和蓝牙技术之间的技术提案; 主要应用于短 距离无线通信。
算法分析
数字技术 与应用
ZigBee 网络中 Cluster — Tree 路由算法优化
彭设强 王为
(国防信息学院 湖北武汉 430010)
摘要: 随着无线通信、 集成电路和计算机技术的不断发展, 出现了无线传感器网络(Wireless Sensor Network , WSN) 通信技术。 无线传感器 网络是一种无中心的全分布系统。 通过随机投放的方式, 众多传感器节点被部署于指定的区域中; 他们通过无线信道相连, 自组织构成网络系 统。 由于其组网高效灵活, 易于使用等特性, 近年来无线传感器网络在民用和军用等诸多领域取得了显著的成就, 引起了相关学者和专家的广 泛关注 [ 1 ] 。 关键词: 无线传感器网络 ZigBee 路由协议 中图分类号: TN9 2 9 文献标识码: A 文章编号: 1007-9416(2012)04-0112-02
112
数字技术 与应用
算法分析
AddNb: 邻居节点地址。 Type: 邻居节点设备类型, 如果为F F D 设备, 既可以作为路由 器也可以作为终端设备; 如果为RFD设备, 不具有路由功能, 只进行 数据的收发。 Depth: 邻居节点的深度。
子节点,此时如果满足 D〉 A + Rm × Cskip(d ) ,则说明目的节点是它 的一个终端子节点,这时下一跳节点地址 N = D 。 否则,下一跳节点 地址N 可按下面表达式计算:
1 + Cm ∗ ( Lm − d − 1) 如 果 R m = 1 Cskip(d)
1.3 ZigBee 技术的特点
(1)可靠性。 可靠性又被称作鲁棒性。 在ZigBee中影响数据可靠 传输的因素主要有两个: 一是无线通信的误码率较高; 二是多个设 备共享信道产生的冲突。 ZigBee采取了载波检测多路访问冲突避免 机制 (C S M A - C A ) 很好的解决了共享信道时的冲突问题。 对于无线 通信本身误码率问题, ZigBee采用了两条措施: 一是在MAC层中采 用C R C 校验机制; 二是使用较短的帧格式, 来减小单个帧出错的概 率。 因此从根本上保证了数据传输的最大可靠性。 (2)短时延性。 ZigBee技术与蓝牙技术的时延对比可知, ZigBee 节点休眠和工作状态转换只需15ms, 入网约30ms。 (3)工作频段灵活。 Z i g B e e可以使用的频段主要有2 . 4 G H z、 8 6 8 M H z 以及9 1 5 M H z , 而且这些频段均为免执照频段。 (4)安全性。 ZigBee提供了数据完整性检查和鉴权功能, 采用通
4 、结语
在研究分析了ZigBee网络Cluster—Tree算法的基础上,提出 了Cluster—Tree算法存在一跳节点可以到达但需要多跳来完成的 问题, 并采用了一种利用邻居表改进节点路由效率的方法解决这个 问题。 通过实验表明,改进后的算法在延迟方面和路由跳数都有了 明显的提高, 同时减低了网络整体的能量消耗。 参考文献 [1]孙利民,李建中,陈渝,朱红松.2005.无线传感器网络[M].北京:清华 大学出版社. [2]顾瑞红,张宏科.基于ZigBee的无线网络技术及应用[J].电子技术 应用. [3]程利娟.无线传感器网络时间同步算法研究[D].西安:西北工业大 学. [4]班艳丽,柴乔林,王深.基于能量均衡的ZigBee网络树路由算法.计 算机应用.
3.2 改进的网络树算法
针对Cluster—Tree算法的局限性问题,我们引入了邻居表的 概念。 如果两节点在一跳范围内可以直接通信,我们就说这两个节 点是邻居。 当一个节点想加入ZigBee网络时,它会通过广播的方式 向所有经过一跳范围就能到达的已入网节点发送请求加入原语,收 到请求连接原语信息的已入网节点会向请求节点回传一个信息,最 后请求加入的节点根据收到的信息, 最优的选择一个合适的父节 点,父节点再回复确认信息。 在此过程中,新加入网络的ZigBee节点 会了解自己所有一跳范围内节点的基本信息,并将这些信息存放在 邻居表内。 每当此节点收到某个邻居节点发送消息时,邻居表的信 息就更新一次。 设计邻居表节点N b N o d e 如下表所示
1.2 Zigbee 协议栈
按照ISO的OSI模型完整的ZigBee协议栈分为四层, 自上而下 分别为由应用层 (A P L ) 、 网络层 (N W K ) 、 数据链路层 (M A C ) 、 物理 层 (P H L ) , 每一层都实现一部分通信功能, 并向它的上层提供相应 服务。 最下面的两层物理层和MAC层使用IEEE802.15.4; ZigBee联 盟制定了网络层和应用层的协议规范。
用的A S E - 1 2 8加密算法。 (5)节能性。 ZigBee设备为低功耗设备, 网络节点设备工作周期 较短、 收发信息功率低, 并且采用了休眠模式, 两节五号电池可持续 长达6个月到2年左右的使用时间。
2 、ZigB e e 路由算法 2.1 ZigBee 网络树路由算法
树路是一种基于网络地址分配机制的路由算法, 它不需要存储 路由表, 每个设备都给后裔结点预留一定的地址空间。 因此, 几乎任 何一个低资源的设备都可以加入到ZigBee网络, 但是其路由路径未 必是最优路径。
A ddN b Type D epth
图 3-2 邻居表节点结构体
・ ・ ・ ・ ・ ・上接第111页 5 、结语
本文针对无线传感器网络的特点, 详细分析了传统DV-Hop 定 位算法在计算平均跳距时产生偏小误差的原因, 以及信标节点数量 对偏小误差的影响, 同时考虑到平均跳距应反映网络整体情况, 对 平均跳距进行了修正。 改进算法不用改变传统DV-Hop 算法的定位 过程, 无需额外信息, 只需增加一定的通信量, 简单易行。 经过仿真 测试, 改进算法可以在任何网络环境下, 显著提高定位精度, 稳定性 好, 具有实用意义。 参考文献 [1]He T, Huang CD, Blum BM, Stankovic JA, Abdelzaher T.Range- Free localization schemes in large scale sensor networks. In: Proc of the 9th Annual Int’ l Conf. on Mobile Computing and Networking. San Diego: ACM Press ,2003. 81-95.http://www.cs. virginia.edu/ ̄th7c/paper/APIT_CS-2003-06.pdf.
4
5 3 2 6 B C
A 1
1 + Cm − Rm − Cm ∗ Rm 1 − Rm
Lm − d −1
ቤተ መጻሕፍቲ ባይዱ 其 他 (3)
2.3 Cluster — Tree 路由算法
图 3 — 3 端到端跳数对比图 图 3 — 4 端到端延迟对比图 图3-3表示的是随着网络中节点数的逐渐增多,端到端的路由 跳数也随着增多,选取节点数为40、 70、 100、 130、 160时的平均跳数 作分析,改进后算法的平均跳数明显要小于改进前的算法跳数。 图 3-4表示的是随着网络中节点数的逐渐增多,端到端的时间延迟也 随着增大,同样在选取点作分析,可看出改进后算法的延迟要小于 改进前的延迟。 因此,改进后的算法在路由效率上较改进前有很大 的提高。
协调器节点
路由节点 终端节点
图 3 - 1 簇间相邻节点路由分析图
在Cluster—Tree算法中,分组数据是沿着树形结构向下层节 点或者上层父节点转发的。 节点一跳地址[4]是根据网络地址计算出 来的。 对于地址为A 深度为d 的路由节点, 如果能够满足不等式 ,则地址为D 的目的节点是它的一个后代。 如果 A〈 D 〈 A + Cskip (d − 1) 确定目的节点是接收节点的一个后代,节点就将数据包发送给它的
D − ( A + 1) N = A + 1 × Cskip (d ) Cskip (d )
如果目的节点不是接收节点的一个后代, 则将数据包发送给 它的父节点。 在Cluster—Tree算法中,节点收到数据包后可以立即 将其转发给下一跳,没有路由发现过程,而且不需要维护路由表, 从而减少了路由协议的控制开销和节点能量消耗, 并且降低了存 储能力的要求, 所以该算法非常适合那些存储能力受限的节点。