图2.3 ZigBee协议的体系结构
从图2.3中可以看出,ZigBee协议标准采用分层结构,每一层为上层提供一系列特殊的服务:数据实体提供数据传输服务;管理实体则提供所有其他的服务。所有的服务实体都通过服务接人点SAP为上层提供接口,每个SAP都支持一定数量的服务原语来实现所需的功能。
ZigBee标准的分层架构是在OSI七层模型的基础上根据市场和应用的实际需要定义的。其中IEEE 802.15.4—2003标准定义了底层协议:物理层(physical layer,PHY)和媒体访问控制层(medium access control sub—layer,MAC)。ZigBee联盟在此基础上定义了网络层(network layer,NWK),应用层(application layer,APL)架构。在应用层内提供了应用支持子层(application support sub—layer,APS)和 ZigBee设备对象(ZigBee device object,ZDO)。应用支持子层APS提供了两个接口,分别是:应用支持子层数据实体服务接入点(APSDE-SAP)和应用支持子层管理实体服务接入点(APSME-SAP)。 APS是主要负责文护设备绑定表。设备绑定表根据设备的服务和要求两台设备匹配。AFS根据设备绑定表在被绑定在一起的设备之间传递消息。APS的另一个功能特点是能够识别设备的个人操作空间(POS)内其他设备的运行。ZigBee设备对象(ZDO)负责定义网络设备,如:协调器或终端设备的作用。此外,还包括的初始化绑定请求或响应,网络设备之间建立安全链接。实现这些功能,ZDO使用APS层的APSDE-SAP和网络层的NLME-SAP。ZDO是一个特定的应用对象,它实现在端点上。应用框架中则加入了用户自定义的应用对象。这些应用使用经ZigBee联盟批准的规范进行开发并运行在端点1至240上。
网络层负责拓扑结构的建立和文护网络连接,主要功能包括设备连接和断开网络时所采用的机制,以及在帧信息传输过程中所采用的安全性机制。此外,还包括设备的路由发现和路由文护和转交。并且,网络层完成对一跳(one—hop)邻居设备的发现和相关结点信息的存储。一个ZigBee协调器创建一个新网络,为新加入的设备分配短地址等。并且,网络层还提供一些必要的函数,确保ZigBee的MAC层正常工作,并且为应用层提供合适的服务接口。
网络层要求能够很好地完成在IEEE 802.15.4标准中MAC子层所定义的功能,同时,又要为应用层提供适当的服务接口。为了与应用层进行更好的通信,网络层中定义了两种服务实体来实现必要的功能。这两个服务实体是数据服务实体(NLDE)和管理服务实体(NLME)。网络层的NLDE通过数据服务实体服务访问点(NLDE—SAP)来提供数据传输服务,NLME通过管理服务实体服务访问点(NLME—SAP)来提供管理服务。NLME可以利用NLDE来激活它的管理工作,它还具有对网络层信息数据库(NIB)进行文护的功能。
2.3.2 ZigBee各协议版本比较
第一个ZigBee协议栈规范于2004年12月正式生效,称为ZigBee 1.0或ZigBee 2004。
第二个ZigBee协议栈规范于2006年12月发布,称为ZigBee 2006规范,主要是用“群组库(cluster library)”替换了ZigBee 2004中的MSG/KVP结构。最为重要的新的ZigBee 2006协议栈将不兼容原来的ZigBee 2004技术规范,对于已经投入ZigBee 2004的厂商而言,这是一个大悲剧。例如Jennic公司将ZigBee2004协议栈固化在ROM中(JN5121/JN5139)。将无法和ZigBee 2006以后的协议栈兼容。ZigBee 2006协议栈,将是ZigBee兼容的一个战略分水岭,从这里开始,ZigBee将实现完全向后兼容性。
2007年10月发布了ZigBee 2007规范,ZigBee 2007规范定于了两套高级的功能指令集(feature set):分别是ZigBee功能命令集和ZigBee Pro功能命令集。(ZigBee 2004和2006都不兼容这两套新的命令集)。ZigBee 2007包含两个协议栈模板(profile),一个是ZigBee协议栈模板(Stack Profile 1),它是2006年发布的,目标是消费电子产品和灯光商业应用环境,设计简单,使用在少于300个节点的网络中。另一个是ZigBee Pro协议栈模板 (Stack Profile 2),它是在2007年发布,目标是商业和工业环境,支持大型网络,1000个以上网络节点,相应更好的安全性。ZigBee Pro提供了更多的特性,比如:多播、多对一路由和SKKE(Symmetric-key key establishment)高安全,但ZigBee在内存和flash中提供了一个比较小的区域。两者都提供了全网状网络与所有的ZigBee应用模板工作。 ZigBee协议的研究+文献综述(7):http://www.751com.cn/zidonghua/lunwen_9398.html