1.3 zigbee协议分析
1.3.1 zigbee协议
zigbee的协议栈结构是由一系列称为层的协议块所组成的。每个层为上一层提供一系列特定的服务。数据入口提供数据传输的服务,管理入口提供其余的所有服务。每个服务接口都通过SAP(Service Access Point)接口与上一层进行数据交换,每个SAP都支持一系列的服务原语。
zigbee协议栈是基于OSI(Open Systems Interconnection)标准的,但只定义了所需要的那些层。主要由物理层PHY,媒体接入层MAC,网络层以及应用框架层组成,框架图如图所示。其中,PHY层和MAC层采用了IEEE 802.15.4协议标准。
zigbee网络层主要用于zigbee的无线个人区域网WPAN网的组网连接,数据管理以及网络安全等。
zigbee应用框架层主要为zigbee技术的实际应用提供一些应用框架模型等,以便对zigbee技术的开发应用,在不同的应用场合,其开发应用框架不同,从目前来看,不同厂商提供的应用框架是有差异的。
1.3.2 zigbee网络层
网络层需要在功能上保证与IEEE 802.15.4标准兼容,同时也需要上层提供合适的功能接口。
对于网络层,其完成和提供的主要功能如下:
(1)产生网络层的数据包:当网络层接受到来自应用子层的数据包,网络层对数据包进行解析,然后加上适当的网络层包头向MAC传输。
(2)网络拓扑的路由功能:网络层提供路由数据包的功能,如果包的目的节点是本节点的话,将该数据包向应用子层发送。如果不是,则将该数据包转发给路由表中下一结点。
(3)配置新的器件参数:网络层能够配置合适的协议,比如建立新的协调器并发起建立网络或者加入一个已有的网络。
(4)建立PAN网络
(5)连入或脱离PAN网络:网络层能提供加入或脱离网络的功能,如果节点是协调器或者是路由器,还可以要求子节点脱离网络。
(6)分配网络地址:如果本节点是协调器或者是路由器,则接入该节点的字节点的网络地址由网络层控制。
(7)邻居节点的发现:网络层能发现维护网络邻居信息。
(8)建立路由:网络层提供路由功能。
(9)控制接收:网络层能控制接收器的接受时间和状态。
zigbee网络层的结构
为了向应用层提供接口,网络层提供了两个功能服务实体,分别为数据服务实体NLDE和管理服务实体NLME。NLDE通过NLDE-SAP为应用层提供数据传输服务,NLME通过NLME-SAP为应用层提供网络管理服务,并且,NLME还完成对网络信息库NIB的维护和管理。
1.3.3 zigbee应用层
zigbee应用层包括应用支持子层APS、应用框架AF、zigbee设备对象ZDO。它们共同为各应用开发者提供统一的接口。
1.3.3.1 应用支持子层APS
APS层主要功能:
(1)APS层协议数据单元APDU的处理。
(2)APSDE提供在同一个网络中的应用实体之间的数据传输机制。
(3)APSME提供多种服务给应用对象,这些服务包括安全服务何绑定设备,并维护管理对象的数据库,也就是我们常说的AIB。
1.3.3.2 应用框架AF
应用框架(Application Framework)为各个用户自定义的应用对象提供了模板式的活动空间,为每个应用对象提供了键值对KVP服务和报文MSG服务两种服务供数据传输使用。
每个节点除了64位的IEEE地址,16位的网络地址,每个节点还提供了8位的应用层入口地址,对应于用户应用对象。端点0为ZDO接口,端点1至240供用户自定义用于对象使用,端点255为广播地址,端点241 -254保留将来使用。每一个应用都对应一个配置文件(Profile)。配置文件包括:设备ID(Device ID),事务集群ID(cluster ID),属性ID(Attribute ID)等。AF可以通过这些信息来决定服务类型。
1.3.3.3 zigbee设备对象ZDO
ZDO是一个特殊的应用层的端点(Endpoint)。它是应用层其他端点与应用子层管理实体交互的中间件。它主要提供的功能如下:
(1)初始化应用支持子层,网络层。
(2)发现节点和节点功能。在无信标的网络中,加入的节点只对其父节点可见。而其他节点可以通过ZDO的功能来确定网络的整体拓扑结构已经节点所能提供的功能。
(3)安全加密管理:主要包括安全key的建立和发送,已经安全授权。
(4)网络的维护功能。
(5)绑定管理:绑定的功能由应用支持子层提供,但是绑定功能的管理却是由ZDO提供,它确定了绑定表的大小,绑定的发起和绑定的解除等功能。
(6)节点管理:对于网络协调器和路由器,ZDO提供网络监测、获取路由和绑定信息、发起脱离网络过程等一系列节点管理功能。
ZDO实际上是介于应用层端点和应用支持子层中间的端点,其主要功能集中在网络管理和维护上。应用层的端点可以通过 ZDO提供的功能来获取网络或者是其他节点的信息,包括网络的拓扑结构、其它几点的网络地址和状态以及其他几点的类型和提供的服务等信息。
1.4 zigbee网络拓扑结构
zigbee网络支持多种网络拓扑结构,最典型的网络结构是星型网络的拓扑结构。对于星型网络,由一个协调器和多个终端节点组成。在星型网络中,所有的通信都是通过协调器转发。这样的网络结构有三个缺点:一是会增加协调器的负载,对协调器的性能要求很高;二是协调协作都通过协调器转发的话,会极大的增加系统的延时,使得系统的实时性受到影响;三是单一节点的破坏造成整个网络的瘫痪,降低了网络的鲁棒性。
除了支持星型网络以外,zigbee还支持树状(Tree)和网状(Mesh)等对等网络,如图2-11。在对等网络中,也存在一个PAN协调器(Coordinator),但是它已经不是网络的主控制器,而是主要起到发起网络和组网的作用。在对等网络中,一个设备在另一设备的通信范围之内,他们就可以互相通信。因此,对等网络拓扑结构统一构成较为复杂的网络结构。对等网络拓扑结构主要在工业检测和控制,无线传感网络,供应物资跟踪,农业智能化以及安全监控方面都有广泛的应用。在网络中,各个设备之间发送消息时,使用了多跳传输,以增大网络的覆盖范围。其中,组网的路由协议是采用了无线自组网按需平面距离矢量AODV路由协议(Ad Hoc On Demand Distance Vector Routing),无论是星型拓扑还是对等拓扑,每个独立的PAN都有一个唯一的标志符PAN ID,用以同一个网络之内节点的互相识别和通信。
评论
查看更多