ZigBee静态网络(精选5篇)
ZigBee静态网络 篇1
1. 引言
ZigBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术[1,2,3],工作在2.4 GHz的ISM频段上,传输速率为20 kb/s-250 kb/s,传输距离为10 m-75m。Zigbee网络可由多达65 000个无线数传模块组成,在整个网络范围内,它们可以相互通信,也可与现有的其它各种网络连接,范围最大达几公里[2,3],主要适合于工业控制、传感和远程控制、智能建筑等领域。
2. Zig Bee网络的安全架构
Zig Bee标准建立在IEEE 802.15.4标准基础上,包含物理层(PHY)、媒体访问控制层(MAC)、网络层、应用层,并定义了安全服务提供机制。物理层、媒体访问控制层则由IEEE 802.15.4标准定义。Zig Bee安全体系结构使用IEEE802.15.4的安全服务,利用这些安全服务对传输的数据进行加密处理,并提供对接入网络的设备的身份认证、密钥管理等功能。Zig Bee联盟定义的NWK、APS都包含该安全体系,他们采用128位的AES加密,CCM*模式,以及相应的密钥机制保证Zig Bee网络的安全性[2,3]。Zig Bee网络的安全架构如图1所示。
3. ZigBee网络安全分析
3.1 802.15.4安全性分析
IEEE802.15.4的安全机制是在MAC层实施的,应用通过在协议栈中设置恰当的参数表明采用了何种安全级,如果没有设置参数,那么默认没有采用安全措施。规范没有考虑确认包的安全问题。
IEEE 802.15.4定义了八种安全集,应用可以根据需要选择安全集中的任何一种,每个安全集提供不同类型的安全属性和安全保证,如表1所示。这些安全集可分为以下几类:没有安全机制,加密(AES-CTR)、认证(AES-CBC-MAC)、加密及认证(AES-CCM)。其中根据MAC的长度不同,认证、加密及认证这两种安全集又可进一步细分为不同的子安全集,MAC可以为4/8/16字节长。MAC越长,攻击者成功伪造MAC的可能性就越小,如对于一个8字节的MAC,攻击者通过暴力攻击方式成功伪造MAC的概率为2-64。规范并不要求设计者要实现所有的安全集,而只要支持Null和AES-CCM-64两种安全集,其它类型的安全集是可选的。
3.2 CCM*分析
ZigBee的NWK层的帧保护机制使用高级加密标准AES-128,CCM*安全模式。AES(Advanced Encryption Standard)是美国联邦政府采用的一种高级加密标准。ZigBee采用AES-128(密钥和数据块长度均为128位)的CCM*加密模式。CCM*加密模式是CCM(Counter With Cipher Block Chainingmessage Authentication Code)加密模式的扩展,包含CCM加密模式,同时又可单独使用CTR模式(Counter Mode)和CBC-MAC模式(Cipher Block Chaining Message Authentication Code)。
3.3 ZigBee网络密钥管理
(1)密钥层次结构
ZigBee技术在数据加密过程中,可以使用三种基本密钥:主密钥(MK)、链接密钥(LK)和网络密钥(NK)[3,4]。主密钥可以在设备制造时安装,也可以通过信任中心设置,或者是基于用户访问的数据,例如,个人识别码PIN、口令和密码等。主密钥是两个设备长期安全通信的基础,也可以作为一般的链接密钥使用。所以,必须维护主密钥的保密性和正确性。当在网络传输过程中,采用主密钥可以阻止窃听。链接密钥是在一个PAN网络中被两个设备共享的,它可以通过主密钥建立,也可以在设备制造时安装。网络密钥可以通过信任中心设置,也可以在设备制造时安装。它可应用在数据链路层、网络层和应用层。链接密钥和网络密钥不断地进行周期性的更新。当两个设备都拥有这两种密钥时,采用链接密钥进行通信。虽然存储网络密钥的开销小,但它降低了系统的安全性,因为网络密钥被多个设备所共享,所以它不能阻止内部的攻击。图2给出了ZigBee网络不同密钥的使用情况。
(2)信任中心(TC)
ZigBee安全引入了“信任中心”(Trust Center)的概念,信任中心允许设备进入网络,分配密钥和在设备间使能端到端的安全。信任中心把Zig Bee网络的安全分为两种模式:高安全模式(HS)也称商业模式(commercial)和标准模式(SS)也称居住模式(residential)。高安全模式下,信任中心维护设备列表,主密钥,链接密钥,需要控制的网络密钥,执行网络密钥更新和网络准入的政策。在此模式下,信任中心对内存的需求随着网络设备数量的增多而增加。标准模式被设计用于低安全的和居住有关的应用。在这种模式下,信任中心维护网络密钥和控制网络准入的政策,信任中心对内内存的需求不随着网络设备数量的增多而增加。在HS模式下,SKKE协议和MEA协议是强制使用的[5]。
4. ZigBee网络的安全实现
4.1 安全实现过程
ZigBee网络的安全实现过程包括加入安全的网络、认证、网络密钥的更新、端到端应用密钥的建立以及设备离开网络。图3表示了ZigBee网络的安全实现过程。图3中箭头表示过程,方框表示ZigBee设备的状态。端到端的密钥建立仅在高安全的商业模式下有效。
4.2 SKKE协议
SKKE(Symmetric-Key Key Establishment)协议的详细描述如表2所示。发起设备U和应答设备V之间使用共享MK建立一个LK。发起设备负责发送SKKE-1和SKKE-3,应答设备负责发送SKKE-2和SKKE-4。SKKE-1的数据域是由发起设备生成的EQU,SKKE-2的数据域是由应答设备生成的EQV,SKKE-3的数据域是由发起设备生成的Mac Tag2,SKKE-4的数据域是由发起设备生成的Mac Tag1。这里的设备地址是64位,kdf是密钥导出函数,它包括两个参数:共享位串和将要生成的密钥的长度。当验证收到正确的值后,设备U和V使用他们计算的值Key Data作为新的LK。H表示哈希函数,MAC表示HMAC函数(Hash Message Authentication Code)。
4.3 MEA协议
MEA(Mutual Entity Authentication)协议的详细描述如表3所示。发起设备和应答设备之间基于NK相互认证,即使用基于NK的随机数进行认证。发起设备负责发送MEA-1和MEA-3,应答设备负责发送MEA-2和MEA-4。OFC表示设备的离任的帧计数器,MAC表示HMAC函数。
5. 结束语
ZigBee是一项新兴的短距离无线通信技术,它弥补了低成本、低功耗和低速率无线通信市场的空缺,是无线个域网不可缺少的组成部分。本文对ZigBee标准安全性分析,了解ZigBee安全机制和安全性能,可促进ZigBee标准不断发展,满足人们日益增长的安全性需求。
摘要:ZigBee是一项新兴的短距离无线通信技术,是一种无线个域网。介绍了ZigBee网络的安全机制,描述了ZigBee的信任中心和安全密钥,详细分析了ZigBee网路的安全建立过程,以及密钥建立协议和认证协议:SKKE和MEA协议。
关键词:ZibBee,安全性,TC,Key
参考文献
[1]IEEE Std.802.15.4-2003,Wireless Medium Access Control(MAC)and Physical Layer(PHY)Specifications for Low Rate Wireless Personal Area Networks(WPANs),IEEE,2003.
[2]ZigBee Specification,ZigBee Alliance,r13,October2006.
[3]ZigBee Specification,ZigBee Alliance,r17,January2008.
[4]Ender Y/ksel,Hanne Riis Nielson,Flemming Nielson.Zig-Bee-2007Security Essentials,2007.
[5]ZigBee Smart Energy Profile Specification,ZigBee Alliance,r14,May2008.
ZigBee网络自剪裁路由算法 篇2
Zig Bee网络是近几年出现的一种新兴网络技术,因其低功耗、低成本、低复杂度、短时延、大网络容量及高节点集成度等特点,被广泛应用于短距离低速率的数据传输场景中。然而由于Zig Bee网络中节点的能量资源有限,故Zig Bee网络路由算法必须以能量有效性为首要的设计要素。经典AODVjr算法通过全网广播RREQ消息而获得发送数据的最短路径,节点因大量广播RREQ消息,而耗能迅速,同时网络堵塞的可能性也大大增加[1]。
如何优化Zig Bee路由算法、降低网络能量消耗一直是各国学者研究关注的热点[2,3,4,5]。文献[2]提出通过控制RREQ消息洪泛范围,以降低网络整体功耗。文献[3]提出利用分 层拓扑信息 来减少AODVjr算法中的路由开销,该算法为了平衡网络能耗,将节点剩余能量作为路由度量。文献[4]提出定向转发RREQ消息,该算法能 有效减少 冗余RREQ消息的转发,从而减少节点功耗。文献[5]提出Mesh拓扑混合路由优化算法,该算法在邻居表基础上,控制RREQ消息的转发范围和转发方向, 并在选择路径时避开剩余能量较少的节点。上述算法在一定程度上限制RREQ消息的转发次数,降低了网络能量消耗,但都以节点已知其他节点位置信息为前提,而这在实际中很难实现。
针对Zig Bee网络路由算法存在问题,在AODVjr算法基础上,结合节点邻居表,提出通过筛选RREQ消息的转发节点,能有效减少RREQ消息的转发次数,从而有效降低网络整体功耗的路由算法。
1 Zig Bee网络
1. 1地址分配方式
Zig Bee网络节点类型分为协调器节点 ( Zig Bee Coordinator,ZC) 、路由器节点( Zig Bee Router,ZR) 和终端节点( Zig Bee End Device,ZED) 3种。每一个无线个域网( WPAN) 中仅仅包含一个ZC节点,它负责初始化网络和管理网络结构[6]。
Zig Bee网络有2种地址分配方式,即分布式地址分配机制( Distributed Address Assignment Mechanism,DAAM ) 和随机地 址分配机 制 ( Stochastic Address Assignment Mechanism,SAAM)[7]。树型网络拓扑中节点默认采用DAAM获得唯一的16 bit网络地址。ZC节点首先进行参数设置: Cm是网络中任一父节点最大子节点数目; Lm是网络最大深度; Rm是网络中任一父节点最大路由子节点数目。则网络深度为d的父节点为其子节点分配网络地址时,通过式( 1) 计算地址偏移量Cskip( d)[8]。网络中,只有Cskip( d) > 0的节点才具有为其子节点分配网络地址,供其加入网络的能力。
Zig Bee网络组网时,优先让ZR节点加入网络, 这样能减少ZR节点向周围节点广播拓扑变化产生的广播开销。具体的地址分配机制[9]如下:
1 ZC节点先将自身的网络地址和网络深度分别设置为0;
2对于网络深度为d,网络地址为A的父节点,其第n个ZC子节点对应的网络地址如式( 2) 所示;
3其第m个ZED子节点对应的网络地址如式( 3) 所示:
由上可知,Zig Bee网络中任 意节点可 根据DAAM计算得到自身树邻居节点( 即父节点和子节点) 的地址。
1. 2 AODVjr路由算法
Zig Bee网络中基 于路由请 求的路由 算法AODVjr是在AODV算法基础 上做出的 改进[10]。 AODVjr算法中一旦节点有路由需求,节点则会以洪泛方式向邻居节点广播RREQ消息,中间节点会向邻居节点转发接收到的RREQ消息。目的节点一旦接收到RREQ消息,将沿RREQ消息的反向转发路径发送路由回复( Route Reply,RREP) 消息,直到源节点接收到RREP消息后,路由建立完成。通过AODVjr算法可以得到源节点与目的节点之间的最短路径,但此算法在寻路过程中需转发大量RREQ消息,这就增加了全网的路由控制开销,导致网络节点因大量转发RREQ消息而能量消耗过快,造成网络分割。所以,如何降低AODVjr算法中RREQ消息的转发次数,从而降低网络控制开销和节点能量消耗一直是各国学者研究的重点。
2自剪裁广播算法
2. 1假设与定义
为了更好地描述算法,在表1中给出如下定义, 这里的A代表的是任意节点或节点集合。
由于Zig Bee网络的资源限制,进行如下假设:
1任意节点之间的距离和具体位置不可知;
2任意节点的发送功率固定且相同;
3网络拓扑不一定是以ZC节点为圆心的圆, 但节点间邻居关系是对称的: 若节点i是节点j的邻居节点,则节点j也是节点i的邻居节点;
4使用分布式地址分配机制DAAM,任意节点在没有信息交换的的前提下,可获得父节点和子节点地址;
5任意节点维护一跳邻居表,任意邻居表记录由邻居网络地址和子节点数量组成。
2. 2 Zig Bee树节点自剪裁转发算法
通常Ad hoc网络的自剪裁广播算法中,节点v接收到RREQ消息后不会直接转发,而会先判断是否需要转发RREQ消息[12]。若节点v的所有邻居节点都已经接收到节点u转发的RREQ消息,即N( v) - N( u) = φ,那么节点v就没必要转发RREQ消息了。这就需要节点获悉两跳邻居表信息,而这对于能量和带宽有限的Zig Bee网络来说是不可能实现的,所以,提出Zig Bee树节点自 剪裁算法ZOSR。ZOSR算法步骤如下:
1一旦有路由请求,源节点就会向邻居节点广播RREQ消息;
2若中间节点v首次接收到RREQ消息则将RREQ消息缓存,并启动定时器;
3节点v根据DAAM地址分配方式计算TN( v) , 令TC( v) = TN( v) ;
4节点v接收到节点u发送的相同RREQ消息,则节点v根据DAAM地址分配方式计算TN( u) ,并计算TC( v) = TC( v) - TN( u) ;
5若TC( v) = φ,节点v丢弃该RREQ消息,并停止计时器;
6重复步骤4和步骤5,直到定时器超时;
7若定时器超时,则转发缓存中的RREQ消息;
8 RREQ消息到达目的节点之前,重复步骤2 ~ 7;
9目的节点接收到RREQ消息后,沿RREQ反向路径回复RREP消息;
10源节点接收到RREP消息后建立到目的节点之间的路由。
2. 3 Zig Bee转发节点选择算法
为了进一步减少RREQ消息的转发次数,在ZOSR算法基础上提出一种Zig Bee转发节点选择算法ZOFNS,此算法根据一定准则,进一步地在未被覆盖的树邻居节点中挑选最优的转发节点进行RREQ消息的转发。ZOFNS算法具体步骤如下:
1一旦节点v有路由需求,则向邻居节点广播RREQ消息,并初始化转发节点集合,令F( v) = φ;
2利用式( 4) 分别计算节点v的备选转发节点集S( v) 和覆盖节点集C( v) ;
3节点v若接收到节点u转发的RREQ消息, 则根据式( 5) 更新节点v的备选转发节点集合覆盖节点集;
4根据N( v) 中节点网络地址对节点进行排序;
5对于节点v的任意邻居节点w,若w∈S( v) , 则令节点w的状态为“初始”状态,反之,则令w状态为“已转发”状态;
6初始化当前深度值,令Current Level = Lm;
7对于处于当前深度,且为“初始状态”的任意节点x,若x没有子节点或所有子节点深度均为Current Level + 1,则将x的状态更新为“不转发”,反之将x的状态更新为“转发”;
8对于任意深度为Current Level + 1,状态不为 “已转发”,且父节点x深度不为Current Level的节点y,若节点y的状态为“不转发”且节点x的父节点深度为Current Level - 1,则将节点x的状态设置为“转发”。否则,将节点y的状态设置为“转发”;
9更新当前 深度值,令Current Level = Current Level - 1;
10重复步骤7 ~ 9,直到Current Level = 0;
11仅状态为“转发”的节点转发RREQ消息。
3仿真分析
为了有效地评价ZOSR算法和ZOFNS算法的性能,采用MATLAB软件来进行仿真。将ZOSR算法和ZOFNS算法与Zig Bee经典路由算法AODVjr分别在节点数目为20 ~ 100个的不同场景下进行了仿真比较: 包括转发节点数目和网络转发次数等指标。
仿真时网络节点静止且随机分布,并假定仿真是在MAC层和物理层都不会有数据包丢失的理想状态下进行的,取5次仿真的平均值为最终结果,其他仿真参数如表2所示。
当仿真节点数 目为90时,AODVjr、ZOSR和ZOFNS 3种算法的转发节点分布图分别如图1 ( a) 、 ( b) 、( c) 所示,图中实心节点为RREQ消息的转发节点,空心节点为无需转发RREQ消息的节点。
由仿真结果可得出AODVjr、ZOSR和ZOFNS算法的转发节点数分别为100、26和20,且算法均能覆盖全部网络节点。这说明ZOSR、ZOFNS算法能有效减少网络中转发节点数目,这是因为ZOSR算法中节点接收到RREQ消息后不会直接转发,而是等待一段时间,根据所有树邻居节点是否已接收到RREQ消息来决定当前节点是否转发RREQ消息。 而ZOFNS算法在ZOSR算法基础上,将一跳树邻居关系推广到两跳,即若当前节点的所有邻居节点的树邻居节点全部已经接收到RREQ消息,则当前节点无需转发RREQ消息。
3. 1转发节点数
随着节点数从20增加到90( 间隔设置为10) , 3种算法的转发节点数目都呈正比例增长,如图2所示。其中,AODVjr算法的转发节点数目与网络节点总数大致相等,因为AODVjr算法中一旦节点接收到RREQ消息,会向邻居节点广播RREQ消息, 则网络中所有节点都会转发RREQ消息; 而ZOSR算法和ZOFNS算法中,随着节点总数的增加,节点密度随之增加( 因为仿真区域固定) ,从而当前节点的邻居节点数目增加,能有效减少覆盖全网所需的转发节点数目。所以,随着节点数目增加,ZOSR和ZOFNS算法中转发节点数目涨幅远远小于AODVjr算法,且ZOFNS算法在一定程度上优于ZOFNS算法法。 。
3. 2转发次数
随着网络节点总数的增加,3种算法中网络总转发次数增加,如图3所示。
其中,AODVjr算法的任 意节点一 旦接收到RREQ消息后,会将RREQ消息直接转发,所以随着节点数量增加,网络总转发次数增长较快; 然而, ZOSR算法中,虽然网络节点数量增加,但转发节点数目涨幅不大,所以网络总转发次数随着网络节点总数增加而缓慢增长; 由于ZOFNS算法改进思想类似于ZOSR算法,且转发节 点的数目 更少,所以ZOFNS算法随节点总数增加,网络总转发次数增长趋势类似于ZOSR算法,但较ZOSR算法更优。
4结束语
ZigBee静态网络 篇3
关键词:ZigBee网关,ZigBee网络,IP网络,TCP/IP协议,ZigBee协议
0 引言
以数据为中心组成Zig Bee无线传感器网络,简称Zig Bee网络,依据IEEE 802.15.4标准、采用具有双向无线通信Zig Bee技术的网络协议,以近距离、低速率、低成本、低功耗、低复杂度、安全可靠、动态自组织网络等为主要特色。如果能够将Zig Bee网络与现有的互联网IP网络基础设施经Zig Bee网关连接起来,可以实现Zig Bee网络内的传感器节点信息与IP网络内的互联网信息的流通和共享,从而诞生多种行业解决方案。既带来了方便的同时,又节约了成本。
基于Zig Bee网络和IP网络的Zig Bee网关设计就是在Zig Bee无线传感器网络和互联网之间搭建一条传输数据的通道,实现Zigbee协议数据包和TCP/IP协议数据包的相互转换,并且实现数据在Zigbee协议和TCP/IP协议之间的双向传输,完成Zig Bee网络和IP网络的互通。
1 Zig Bee网关的位置
Zig Bee网关连接Zig Bee无线传感器网络(以下简称Zig Bee网络)与IP网络,处于Zig Bee无线传感器网络与IP网络之间的通道位置,如图1所示。
IP网络由服务器(Server)、客户机(PC)等组成,网络中的设备用惟一的IP地址标识,其资源定位和信息传输依赖于终端、路由器、服务器等网络设备的IP地址,是以地址为中心的互联网络。Zig Bee网络由传感器节点(Sensor Node)、汇聚节点(Sink Node)等组成,节点采用节点编号标识、随机部署,是以数据为中心的无线传感网络。
Zig Bee网络的节点数据包发送给Zigbee网关,并由其进行地址、协议转换后发送给IP网络;IP网络的数据包由Zigbee网关进行地址、协议转换后,再发送给Zigbee网络。
2 Zig Bee网络与IP网络的网关逻辑模型
2.1 Zig Bee协议栈
Zig Bee是电气电子学会(IEEE)无线个域网(PAN,Personal Area Network)的802.15.4技术标准,是基于开放系统互联(OSI)参考模型的体系结构,如图2所示。在ZigBee协议栈里,IEEE 802.15.4仅定义了物理层(PHY)协议和介质访问控制层(MAC)协议;Zig Bee联盟制定了网络层(NETWORK)、安全层(Security)和应用程序接口(API)等协议;用户根据需求及接口制定应用程序层(APPLICATION)。
关于物理层,规范了Zig Bee的通信频率,传输速率和调制方式等,具有基于直接序列扩频技术的2.4GHz和868/915MHz两个物理层标准。这两个物理层使用相同的物理层数据包格式。数据包的格式由同步包头、物理层包头和净荷三部分组成。同步包头由前导码和数据包定界符组成,用于获取符号同步、扩频码同步和帧同步、及频率调整;物理层包头含有净荷部分的长度;净荷部分含有MAC层数据包,净荷部分最大长度是127个字节。
关于MAC层,管理无线物理信道的接入过程,包括设备间无线链路的建立、维护和断开,及帧传送与接收、信道接入与控制、帧校验与快速自动请求重发(ARQ)、预留时隙管理以及广播信息管理等功能。数据包由帧头、业务数据单元及帧尾组成。
帧头由帧控制域、帧序号域和地址域组成。帧控制域指明帧的类型、地址域的格式以及是否需要接收方确认等控制信息;帧序号域包含发送方对帧的顺序编号,用于匹配确认帧,实现可靠传输;地址域采用64位IEEE MAC地址或者8位Zigbee网络地址的寻址方式。
业务数据单元承载净荷的数据包,可变长度、其内容取决于帧类型(广播帧、数据帧、确认帧和MAC命令帧)。广播帧和数据帧包含高层控制命令或者数据,确认帧和MAC命令帧则用于Zigbee设备间MAC层功能实体间控制信息的收发。
帧尾采用帧校验序列,判断该数据包是否正确,决定是否采用ARQ进行差错恢复。
关于网络层,提供一些必要的函数,确保MAC层正常工作,并为应用层提供合适的服务接口。通过网络层数据实体服务接入点提供数据传输服务,按照应用协议数据单元的格式进行传送数据;通过网络层管理实体服务接入点提供网络管理服务,如配置一个新的设备、初始化一个网络、连接和断开网络、路由发现、邻居设备发现和接收控制等。
关于安全层,主要实现密钥管理、存取等功能。
关于应用程序接口,负责向用户提供应用软件接口,包括应用支持层(Application Sub-layger Support,APS)、Zig Bee设备对象层(Zig Bee Device Object,ZDO)等,实现应用层对设备的管理。APS提供数据传输和管理服务,数据传输服务提供应用层之间的点对点的应用层协议数据单元的传输;管理服务提供与上一层的管理命令的传输,包括绑定、解除绑定等功能。ZDO层定义设备在网络中的角色(如Zig Bee协调器和终端设备),发起和响应绑定请求,建立安全机制;负责发现网络中的设备,并且决定向它们提供何种应用服务。
2.2 TCP/IP协议栈
TCP/IP协议的体系结构分为应用层、传输层、网络层和链路层四层,如图3所示。其中每一层都有相应的协议集合来完成不同的通信功能。
关于链路层,负责接收从网络层交来的网络层数据包(IP数据报),并将IP数据报通过物理层发送出去,或者从物理层接收物理帧,抽出IP数据报,交给网络层。链路层通常包括网卡驱动程序和对应的网络接口卡,及以太网、令牌环网、FDDI等网络的接口。
关于网络层,负责把源主机上的分组发送到互联网上的任何一台主机上,有IP、ICMP以及ARP等协议。IP协议数据报格式由首部和数据两部分组成。首部的前20字节是固定长度,是IP数据报必须具有的;后面是可选字段,其长度可变。因特网控制报文协议ICMP,提供主机或路由器报告差错情况和提供有关异常情况,ICMP报文有ICMP差错报告报文和ICMP询问报文。地址解析协议ARP用来实现IP地址到MAC地址的转换,有ARP响应协议和ARP请求协议。ARP请求帧用于在网络中查找IP地址对应的MAC地址,ARP响应帧用于回答该IP地址对应的MAC地址。网络层中的数据报交给目的主机,需要传到链路层转变成MAC帧后才能发送到网络上。
关于传输层,用于在两台主机的应用程序提供端对端的通信,提供UDP协议和TCP协议。UDP协议提供无连接不可靠的服务;TCP协议提供可靠的面向连接的流式服务,在传送数据之前先建立连接,数据传送结束后释放连接。一个TCP报文段分为首部和数据两部分。
关于应用层,提供超文本传输协议HTTP、文件传输协议FTP、远程终端协议TELNET、电子邮件E—MAIL以及域名系统DNS等。
2.3 Zig Bee网络与IP网络的Zig Bee网关逻辑模型
在网关支持层的Zig Bee协议栈和TCP/IP协议栈之上添加添加一个Zig Bee路由表控制(ROUTING TABLE CONTROLLER)层,在内存里动态操作Zig Bee路由表,实现Zig Bee网络与IP网络之间的数字信息交换功能,即实现Zig Bee网关的功能。Zig Bee网关具有连接Zig Bee网络的接口、连接IP网络的接口、及Zig Bee路由表控制层,如图4所示。
在Zig Bee路由表控制层,针对Zig Bee网络内的1个客户端(节点),分配1个IP网络内的虚拟IP地址。将Zig Bee网络内的节点MAC地址映射到IP网络内的IP地址,即使得节点在应用层同属于一个IP网络,为节点间数据的交换提供了理论方法、规范了节点间数据交换的格式、制定了统一的应用协议,解决了节点数字信息交换的问题。
实现办法是创建Zig Bee节点MAC地址到IP地址的映射表、以及映射表的软件接口。如映射表的创建、删除,表中记录的添加、删除,虚拟IP地址的映射接口等。Zig Bee路由表控制层是运行在Zigbee协议栈与TCP/IP协议栈之上,用于规范数据交换而制定的协议层。
3 Zig Bee协议与TCP/IP协议的转换
3.1 Zigbee网关中Zig Bee协议栈的ARP功能
由于TCP/IP协议的ARP完成IP地址和数据链路层MAC硬件地址之间的转换。Zigbee设备有64位IEEE MAC地址或者16位Zigbee网络地址。Zigbee设备的64位MAC地址是全球唯一的地址,在它的生命周期中一直拥有它,通常由制造商或者被安装时设置,由IEEE来维护和分配;16位网络地址是当设备加入网络后由协调器或路由器分配的,在网络中是唯一的,用来在网络中鉴别设备和发送数据。
因此在Zigbee网关中若要实现Zig Bee协议栈的ARP功能,参考TCP/IP的ARP实现机制即可。在Zig Bee路由表控制层建立Zig Bee节点64位MAC地址或者16位网络地址与虚拟IP地址的映射表、以及映射表的软件接口,可以实现Zigbee协议中的IP地址与Zigbee节点MAC地址的映射关系。
3.2 Zig Bee协议与TCP/IP协议的转换
Zig Bee协议与TCP/IP协议转换的工作原理,如图5所示。由TCP/IP协议向Zigbee协议转换过程如下:Ethernet端从网络接口接收一个发往Zigbee网关的IP数据包,经TCP/IP协议栈的网络层向上发给传输层UDP或TCP处理,再向上发给网关Zig Bee路由表控制层处理;网关Zig Bee路由表控制层的应用程序经过ARP解析后,确定出要转发给Zigbee网络中的该节点MAC地址或网络地址,然后按照图5生成Zigbee数据包,经由IEEE802.15.4物理层将Zigbee数据包交至该Zigbee节点,如此就完成了从Ethernet端向Zigbee端的协议转换。由Zigbee端向Ethernet端的协议转换与前述过程相反,按照图5可以类似地解决。
4 结论
Zigbee网关使Zigbee网络和IP网络融为一体,是实现无线传感网与互联网的数字信息交互的桥梁,可以发挥无线传感网与互联网的各自特点,从而产生各行业的多种应用及其解决方案。
参考文献
[1]胡国珍,王泉,魏旻.基于ZigBee的工业无线网关研究[J].单片机与嵌入式系统应用,2009(5):25-28.
[2]凌兴锋,何小敏.基于ZigBee的无线网关解决方案研究[J].微处理机,2010(4):36-38+42.
[3]凌兴锋,何小敏.基于嵌入式技术的无线网关解决方案[J].可编程控制器与工厂自动化,2009(12):65-68.
ZigBee静态网络 篇4
近年来, 随着传感器技术和芯片技术的飞速发展, 传统的传感器监测已经不能满足人们对信息获取的要求, 因此迫切需要一种新方法进行环境的监测。本文采用无线传感器网络技术进行周围环境的监测与控制。无线传感器网络不需要较高的传输带宽, 但却需要较低的传输时延和极低的功率消耗;而Zig Bee具有复杂度低、功耗低、成本低和安全性高的特点, 使得无线传感器网络与Zig Bee技术可完美地结合在一起。因此本文采用IEEE 802.15.4/Zig Bee协议, 设计了一种以射频芯片CC2430为核心的无线监测网络系统。
2 ZigBee协议简介
Zig Bee是Zig Bee联盟定义的无线网络标准[1,2]。ZigBee联盟提供了上层协议栈, 包括网络层、安全层和应用层。Zig Bee的通信范围大约是100m, 适合于多种应用方式, 诸如家庭自动化网络、工业控制网络、交互式玩具、远程监测等。
Zig Bee基于IEEE 802.15.4技术[3], 适合于低速率无线个域网, 传输速率分别为20k/s、40k/s和250k/s。射频工作频段分别为868MHz、915MHz和2.4GHz, 均使用直接序列扩频技术。IEEE 802.15.4仅仅规定了MAC层和物理层, MAC层使用CSMA/CA协议。
Zig Bee具有三种拓扑结构:星型网、簇状网和网状网。典型的Zig Bee个域网由全功能设备和简化功能设备组成。协调器和路由器通常是全功能设备, 总是处于开机状态。协调器支持所有点对点的连接, 负责网络的形成, 它决定是否接受新网络成员。路由器负责不同节点的路由。全功能设备可以是协调器、路由器和终端设备, 但简化功能设备只能是自动搜寻邻近协调器并与其通信的终端设备。
Zig Bee具有两种网络:信标使能网和非信标使能网。在信标使能网络中, 协调器周期性的发送信号, 终端设备使用这种信号进行数据传输的网络关联、加入与同步。Zig Bee也支持时隙CSMA/CA的延迟进行时隙的同步。在非信标使能网络中, 协调器周期性的发送信号暴露自己的存在, 以便终端设备发现自己。协调器和终端设备通过发送的数据请求信号和应答信号进行通信。协调器和路由器必须时刻作好准备, 进行点对点的通信。
Zig Bee支持两种数据类型:键值对和消息。键值对数据通常是一种命令——响应机制, 例如, 用户打开开关按钮时, 开关按钮向射频芯片发出信号使其开灯。消息数据支持二进制的数据传输, 数据量受支持的帧字节数限制。
3 传感器节点系统设计
传感器节点由传感器模块、无线通信模块 (包括处理器) 和电源模块组成。传感器模块负责监测区域内信息的采集和数据转换;处理器负责控制整个传感器节点的操作, 存储和处理本身采集的数据以及其他节点发来的数据;无线通信模块负责与其他传感器节点进行通信, 交换控制信息和收发采集数据;电源模块为传感器节点提供运行所需的能量[4]。下面分别设计各模块。
无线通信模块采用射频芯片CC2430。CC2430集成了CC2420射频收发机、Zig Bee射频前端、128k B闪存、8k B RAM和8位8051微处理器[5], 是实现嵌入式Zig Bee应用的片上系统, 支持IEEE 802.15.4/Zig Bee协议, 可用于各种Zig Bee无线网络节点, 包括协调器、路由器和终端设备等。传感器节点总体设计图如图1所示。
3.1 射频芯片CC2430外围电路的设计
CC2430芯片配合少数的外围元器件就能实现信号的收发功能[5]。其电路原理图如图2所示。电路原理图包括:晶振时钟电路和射频输入/输出电路。电路使用一个不平衡变压器。不平衡变压器由电容C341和电感L341、L321、L331以及PCB微波传输线组成, 整个结构满足RF输入/输出阻抗匹配 (50Ω) 的要求。内部T/R变换电路完成LNA和PA之间的变换。R221和R261为偏置电阻。32MHz的石英谐振器 (XTAL1) 和2个电容 (C191和C221) 构成32MHz的晶振电路;32.768k Hz的石英谐振器 (XTAL2) 和2个电容 (C441和C431) 构成32.768k Hz的晶振电路。电压调节器为所有要求1.8V电压的引脚和内部电源供电。去耦电容C241和C421用于电源滤波, 以提高芯片工作的稳定性。
3.2 传感器模块的设计
传感器模块的功能就是收集需要的环境信息, 如温湿度、压力、强度等。本设计传感器节点使用温度传感器MCP9700采集环境温度数据。MCP9700能将温度信号转换为模拟电压, 它有5个引脚:电源 (VCC) 、地 (GND) 、输出电压信号 (VOUT) 和2个悬空引脚[6]。当使用ADC采集温度时, 电压输出引脚 (VOUT) 可直接与CC2430的I/O口输入端相连。此处使用P0.7引脚采集温度信号。根据MCP9700手册的建议应该在VDD和GND引脚间连接一个0.1μF~1μF的去耦电容, 在电源电压和VDD引脚间连接一个200Ω的高频陶瓷电阻和一个1μF的去耦电容。布线时去耦电容与VDD和GND引脚应该靠近, 以提供有效的噪声保护, 同时使数字线路远离传感器。温度传感器的原理图如图3所示。
传感器采集到模拟信号后, 使用CC2430内置的模数转换器 (ADC) 进行模数转换。ADC在使用前, 需要对CC2430寄存器进行一些配置[5]。ADC的输入端使用CC2430芯片的P0口进行信号采集, P0口默认为数字输入输出口, 所以要设置寄存器ADCCFG=0x80, 使P0口用作ADC的输入端。同时I/O口默认为数字口, 因此寄存器P0SEL的相应位需要置1。CC2430选择内部的1.25V参考电压, ADC选择14位采样分辨率。所以应设置ADCCON2=0x37, ADCCON1=0x73。
3.3 电源模块的设计
由于CC2430的电源要求为2.0~3.6V, MCP9700的电压范围与CC2430一致, 因此传感器节点采用3.3V电源。为了使传感器节点获得稳定电源, 传感器节点使用直流电源和电池供电。直流电源优先启用, 当直流电掉电时, 电池开始供电。直流电源使用交流220V变到直流5V的电源模块, 电池供电使用3节五号干电池。为了将5V和4.5V电源变为3.3V电源, 使用电平转换芯片TPS7333Q实现[7]。
TPS7333Q无需输入电容。TPS7333Q需要在稳压器输出端和地线之间连接一个10μF的固态钽电容来维持器件的稳定性;需要使用陶瓷旁路电容 (0.047p F~0.1μF) , 来改善负载瞬态响应和噪声抑制功能;固定输出器件的SENSE端应该连接到稳压器的输出端, 来保证稳压器的正常工作。电源模块原理图如图4所示。
4 传感器节点在无线监测网络平台的实现
无线监测网络一般由大量的传感器节点组成, 这些节点通常部署在监测区域内部或者监测区域附近, 通过自组织方式构成网络[4]。传感器节点根据逻辑功能分为三种:协调器、路由器和终端设备。终端设备收集数据, 以多跳的方式通过路由节点把数据传送给协调器节点。协调器节点把这些数据传输到计算机上供用户处理。下面使用已经下载好程序的传感器节点进行实验。
实验使用传感器网络分析仪[8] (Daintree Sensor Networks Analyzer, SNA) 、串口调试助手、2台计算机和15个Zig Bee节点。15个Zig Bee节点包括:2个协调器、2个路由器和11个终端设备。一台装有SNA软件的计算机通过USB接口与捕获设备连接。捕获设备不用下载程序, 可以使用任意一个传感器节点, 这里使用协调器。另一台装有串口调试助手的计算机通过串口与协调器连接。当需要的软件和Zig Bee设备安装好后, 从SNA界面上选择捕获设备, 并点击捕获, 捕获设备开始捕获Zig Bee设备 (协调器、路由器或终端设备) 的信号, 协调器开始与路由器、终端设备通信。
当所有Zig Bee节点放置在室内时, 由于两个Zig Bee设备处于一条通信的辐射范围内, 因此协调器直接与终端设备通信。当将2个路由器和3个终端设备移到户外距离协调器120多米时, 两个节点之间的通信距离超出了ZigBee的辐射距离, 因此终端设备的信号开始变弱并通过路由器与协调器通信。图5是SNA软件显示的无线监测网络树形图。从图5中可以看出, 三个终端设备网络地址均发生改变, 7974关联为1431、7976关联为1430、7978关联为286d。网络地址为7974、7976、7978的终端设备图标均变成灰色, 网络地址为1431、1430、286d的终端设备经过路由器重新关联协调器。7976由于信号太弱, 对协调器没有响应, 因此带有“?”标记。当7976经过路由器时, 重新关联为1430与协调器通信。
此时, 打开计算机上的串口调试助手, 将波特率设置为38 400, 可以看到11个终端设备向协调器发送测量到的温度数据。串口调试助手显示的温度信息如图6所示。这样从计算机上就可以看到传感器节点采集到的温度数据。由此可以看出设计的传感器节点可以组成无线网络, 用于监测周围环境的温度。
5 结束语
本文采用Zig Bee协议栈, 给出了无线监测网络的通用设计方法。如果更换传感器节点的传感器, 无线监测网络可以应用于不同的场合。例如在企事业单位, 无线监测网络可以应用于不适合或无法布线的场合或需要移动办公、移动工作的系统[9];在机械系统上, 无线监测网络可以采集、监控传统方法无法获取的信号。如果无线监测网络配合有线网络如以太网, 可以实现整个工厂范围内机组的实时监控;无线监测网络配合蜂窝网络技术, 可以实现手机对设备的实时监测。目前无线监测网络的研究已经涉及到广阔的应用领域, 如目标跟踪、大鸭岛海燕监测、冰河检测、医疗健康、电子牧场、结构化监测和火山观测等[10]。可以说, 无线网络是信息感知和采集的一场革命, 它被《商业周刊》视为未来四大技术之一[11]。
参考文献
[1]ZigBee Specification (200612-1) [S].http://zigbee.org/en/spec_download/spec_download.aspDAccess-Coad=5018973.
[2]ZigBee TM:An Overview, http://www.must.edu.my/Pdwong/resources/sensors/ZigBee2.htm.
[3]Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (LR-WPAN) , IEEE Standard802.15.4-2006[S].
[4]I.F.Akyildiz, W.Su, Y.Sankarasubramaniam, E.Cayirci., A Survey on Sensor Networks[J].IEEE Communications Magazine, August2002P103.
[5]A True System-On-Chip solution for2.4GHz IEEE802.15.4/ZigBeeTM, Chipcon SmartRF CC2430Data Sheet (Rev2.1) , P1, P28-P29, P125-P130http://focus.ti.com/lit/ds/symlink/cc2430.pdf.
[6]Microchip MCP9700/01低功耗线性有源热敏电阻IC, P1, P7-8.http://ww1.microchip.com/downloads/cn/DeviceDoc/cn026636.pdf.
[7]Low-dropout voltage regulators with integrated delayed reset function, Texas Instruments TPS7333Q, P1-2, P35-37, http://focus.ti.com/lit/ds/symlink/tps7301.pdf.
[8]DaintreeNetworks Sensor Network Analyzer Quick Start Guide (2007-11-9) , http://www.daintree.net/products/sna.php.
[9]王英洲, 方旭明.短距离无线通信主要技术与应用[J].数据通信, 2004 (4) :53.
[10]李晓维.无线传感器网络技术[M].北京:北京理工大学出版社, 2007:9-10.
ZigBee网络结构及协议分析 篇5
一个符合IEEE 802.15.4的系统由几个部分组成。最基本的是器件, 设备可以是RFD (简化功能设备Rduced-function device) 或FFD (全功能设备Full-function device) 。由两个或两个以上的这样的设备构成一个网络, 但一个WPAN网络中至少要有一个FFD设备作为协调器, 所以RFD一般作为终端使用, 而FFD设备作为协调器或网关使用。网络是一个IEEE 802.15.4的另一个组成部分。
2 Zig Bee协议体系结构
2.1 物理层
IEEE 802.15.4规范定义了27个信道, 而在2.4GHz频段上定义了16条信道, 在具体工作时, 传感器网络可以在其中选择一个编号为11-26的信道, 也就是2.4GHz的信道传输信号。
2.2 MAC层
Zig Bee的MAC层提供两种服务:MAC层数据服务和MAC层管理服务。管理服务负责MAC层的各类管理工作以及信息数据库的维护;MAC数据服务通过MAC层的公共子层服务接入点支持在对等的MAC层的实体之间来传输数据。
2.3 网络层
网络层负责拓扑结构的建立、网络连接的维护, 主要功能有设备连接和断开的机制, 帧信息传送时的安全机制, 设备的路由发现、维护和转交, 发现和存储一跳邻居设备的信息, 当一个Zigbee协调器创建一个新的网络时网络层还要负责为新加入的节点分配短地址, 提供一些函数来完成MAC层的工作以并为应用层提供适合的服务接口。
2.4 应用层
应用支持子层 (Application Support sublayer:APS) 、Zig Bee设备对象 (Zig Bee Device Object, ZDO) 和应用对象。APS是应用层的一个子层, 它负责在绑定的设备之间传送信息及维护绑定表。ZDO是一个特殊的软件对象, 为网络层和应用支持子层以原主的形式提供服务, 它可以是一个Zig Bee设备或是一个Zig Bee路由器或是一个Zig Bee协调器。
3 Zig Bee协议关键概念解析
本节将介绍上文中所提到的有关Zig Bee体系结构时所涉及到的相关概念。这些概念都是Zig Bee联盟在制定Zig Bee规范时所定义的。这些关键概念的定义对于开发和设计Zig Bee网络是至关重要的。
3.1 原语
在Zigbee协议下的工作, 各层上都有不同的任务在执行, 而每层要完成的一般都会分为两个方面, 一方面是根据上一层的要求对下一层提供服务, 另一方面就是根据下一层的服务要求为上一层提供的服务。而这样的服务都必须一定的规范和时机下完成, 这样就只有原语才能实现这种封闭的要求。
3.2 配置文件
配置文件指对分布式应用的描述, 对逻辑设备及其接口描述的集合, 是面向某个类别的公约或准则。在消息、消息格式、请求数据等方面的一个共识。配置文件分为协议栈层次的应用层次的两种, 一种是来定义网络类型、拓扑结构等的网络通信规则的, 这一种是stack profile, 一种是与特定的应用场景相关的, 这一种就是application profile。
3.3 路由
在一个Zigbee网络当中, 设备的通信依赖于网络的地址, 当一个网络形成后, 每个设备都会被分配一个16位的网络短地址。当一个消息从源节点形成后, 到达目标节点可能有多种传输路径, 在这些路径中由路由发现 (route discovery) 寻找到一条最适合的路径, 这样可以节约开销减少传输时间。并且在路由的过程当中设备还要记录路由的信息, 为下面的路由发现提供依据。
3.4 端点
一个射频可以支持不同的应用, 每一个Zigbee节点可以包含多个端点, 端点就是一个8位的字段, 这8位的字段可以表示的0-255个端点的编号。其中0号端点作为Zigbee设备对象, 用于管理该节点的类似于初始化以及配置工作, 应用程序是可以通过0号端点实现与协议栈的其它层的通信的;255号端点用于发送广播帧, 寻找所有活动端点;241-254为保留端点;所以可以被用户所使用的端点号是由1-240这240个应用。
3.5 属性和簇
每一个Zigbee节点有很多的属性, 这些属性也都有自己的值。一个簇 (cluster) 就是一些属性和命令的集合。一个应用一般会定义出在这个应用当中不同操作的集合也就是簇, 而在这一个簇当中可能会有相关的操作命令及属性, 当要调用此应用的时候就可以先访问到该簇的编号即cluster ID, 再根据具体的操作而设置不同属性值以实现操作的目的。
摘要:目前, 在WSN的无线通信方面可以采用的主要有ZigBee、蓝牙、Wi-Fi和红外线等技术。其中ZigBee技术由于其自身的经济、可靠、高效的优点在WSN中有着广泛的应用前景。ZigBee技术是一组基于IEEE802.15.4无线标准研制开发的有关组网、安全和应用软件方面的通信技术。IEEE802.15.4规范是一种经济、高效、低数据速率的无线技术, 它工作的频率是2.4GHz和868/928MHz, 这个频率是用于个人区域网和对等网络的频率。它是ZigBee应用层和网络层协议的基础,
关键词:ZigBee,协议,网络
参考文献
[1]张亚琼, 杜永贵.基于CC2430的ZigBee智能传感器网络研究及应用[J].仪表技术, 2008 (04) .
【ZigBee静态网络】推荐阅读:
ZigBee网络06-13
ZigBee通信网络09-21
ZigBee11-14
ZigBee定位10-15
ZigBee模块06-15
Zigbee网关11-25
zigbee基础实验07-14
ZigBee数据传输06-25
物联网及ZigBee09-21
Zigbee数据中心09-24