1. 网络层
(1) 网络拓扑结构。ZigBee网络组网可以灵活地采用多种拓扑结构,可以采用星形,可以采用网状和树簇状拓扑等。在星形拓扑结构组网时,整个网络有一个ZigBee 协调器设备来进行整个网络的控制,ZigBee协调器能启动和维持网络的正常工作,使网络内的终端设备实现通信,如果采用网状和树形拓扑结构组网,ZigBee协调器则负责启动网络以及选择关键的网络参数。在树形网络中,路由器采用分级路由策略来传送数据和控制信息。网状网络中,设备之间使用完全对等的通信方式。ZigBee路由器不发送通信信标。
(2) 网络层及路由算法。ZigBee网络层的功能包括拓扑管理 、MAC管理、路由管理和安全管理。网络层的主要功能是路由管理,路由算法是它的核心 。网络层主要支持两种路由算法-----树状路由和网状路由。
(3) 网络层中各部分的数据接口和网络层服务功能
1) 网络层中各部分的数据接口。ZigBee网络层的各个组成部分和彼此间的接口关系如下图
图5 ZigBee 网络层的各个组成部分和彼此间接口关系
图中的NLDE-SAP是网络层数据实体的服务接入点,MLME-SAP是网络层管理实体的服务接入占,MCPS-SAP是媒体接入控制公共部分子层的服务接入点,MALME-SAP是MAC子层管理实体的服务接入点。
网络层通过两种服务接入点提供网络层数据服务和网络层管理服务,层数据服务通过层数据实体服务接入点接入,网络层管理服务通过网络层管理实体服务接入点接入、这两种服务通过媒体接入控制公共部分子层的服务接入点和MAC子层管理实体的服务接入点为MAC层提供接口;通过网络层数据实体的服务接入点和MAC子层管理实体的服务接入点为应用层实体提供接口服务。
2) 网络层服务功能。网络层要为IEEE802.15.4的MAC子层提供支持,确保ZigBee的MAC层正常工作,并为应用层提供合适的服务接口。为了向应用层提供其接口,层提供了两个必需的功能服务实体,它们分别为数据服务实体和管理服务实体。网络层数据实体(NLDE)通过网络层数据实体服务接入点(NLDE-SAP)提供数据传输服务。网络层管理实体(NLME)通过网络层管理实体服务接入点(NLME-SAP)提供网络管理服务。
① 网络层数据实体提供的服务
l 产生网络层协议数据单元(NPDU),网络层数据实体通过增加一个适当的协议头,从应用支持层协议数据单元中生成网络层的协议数据单元。
l 指定拓扑传输路由,网络层数据实体能够发送一个网络层的协议数据协议数据单元到一个数据传输的目标终端设备,目标终端设备也可以是通信链路中的一个中间通信设备。
② 网络层管理实体提供的服务
- 配置一个新的设备。为保证设备正常工作的需要,设备应具有足够的堆栈,以满足配置的需要。配置选项包括对一个ZigBee协调器和连接一个现有网络设备的初始化操作。
- 加入或离开网络。具有连接或者断开一个网络的能力,以及建立一个ZigBee协调器或者ZigBee路由器,具有要求设备同网络断开的能力。
- 寻址。ZigBee协调器和ZigBee路由器具有为新加入网络的设备分配地址的能力。
- 邻居发现。具有发现。记录和汇报相关的一跳邻居设备信息的能力
- 接收控制。具有控制设备接收机接收状态的能力,即控制接收机什么时间接收。接收时间长短,以保证MAC层的同步或者正常接收等
(4) 原语 在分层的通信协议中,层之间通过服务访问点SAP相连,每一屋都可以通过本层和下层的SAP调用下层为其提供相应的服务,同时通过与上层的SAP为上层提供相应的服务。访问点SAP有通信协议中层与层之间的为通信接口,但具体的服务是以通信原语的形式供上层调用的。在调用下层服务时,只需要遵循统一的原语规范,而不必了解下层是怎样处理原语的,通过这咱方式实现了数据层与层之间的透明传输。层与层之间的原语分成请求原语,确认原语,指示原语和响应原语
(5) 网络层管理服务。网络层管理实体服务接入点为其上层和网络层管理实体之间传送管理命令提供通信接口,网络层管理实体支持NLME-SAP接口原语,这些原语包括网络发现、网络的形成、允许设备连路由器初始化、设备同网络的连接等原语。
(6) 网络层帧格式。ZigBee网络帧由下列基本部分组成:网络层帧报头,包含帧控制、地址和序列信息;第二个部分是,网络层帧的可变长有效栽荷,包含帧类型所指定的信息。
图 6 通用的网络层帧格式
1) 通用网络层帧的结构与格式,网络层帧的格式由一个网络层报头和一个网络层网负载组成。帧头部分域的顺序是固定的,但根据不同的具体应用情况,不是必须包括所有域。通用网络层帧格式所示:
2) 不同域的说明:
- 帧控制域。由16位组成,内容包括帧类型、地址、序列域以及其他的控制标记。
- 目地地址域。在网络层帧中,必须要有目的地址域,该域长度两个字节,用来存放目标设备的网络地址或广播地址(0xffff).
- 源地址域。在网络层帧中,该域也是必备的,长度为两个字节,其值是16位的源设备网络地址
- 广播半径域。广播半径域在帧的目的地址为广播地址时才存在,长度一个字节。该域用来设定传输半径。
- 序列号域。在网络层帧中,该域是必备的,长度一个字节,每次发送帧时改为加1.
- 帧负载域。该域长度可变,包含了各种帧的具体信息。
4. 应用层规范
ZigBee协议栈的层级有IEEE802.15.4的MAC、物理层(PHY)以及ZigBee网络层,网络层上面是应用层。
网络层的頉是应用层,包括APS(Application Support Layer:应用支持子层)和ZDO(ZigBee设备对象:ZigBee Device Object)等部分,主要规定了一些和应用相关的功能,包括端点(Endpoint)的规定,还有绑定(Binding)、服务发现和设备发现等。
APS子层的任务包括维护绑定表和绑定设备间消息传输;绑定指的是根据两个设备所提供的服务和它们的需求将两个设备关联起来。
(1) ZigBee应用支持子层。应用支持子层(APS)是网络层和应用层之间接口。通过此接口可以调用一系列被ZDO和用户自定义应用对象的服务
(2) ZigBee设备协定。ZigBee应用层规范描述了ZigBee设备的绑定、设备发现和服务发现在ZigBee设备对象(ZDO)中的实现方式,ZigBee设备协定(devic profile)支持以下几种设备间通信功能:
1) 设备和服务发现
2) 终端设备绑定请求过程
3) 绑定和接触绑定过程
4) 网络管理
(3) ZigBee设备对象。ZigBee设备对象(ZDO)是一种通过调用网络和应用支持子层原语来实现ZigBee规范中规定的ZigBee终端设备。ZigBee路由器能及ZigBee协调器的应用。ZigBee设备对象ZDO主要功能:
1) 对APS子层、网络层、安全服务模块(SSP)以及除了应用层中端点1~~240以外的ZigBee设备层和初始化
2) 集成终端应用的配置信息,实现设备服务发现、网络管理、网络安全、绑定管理和节点管理等功能。
上面主要是简单的描述了ZigBee中各层之间的相互关系和作用,希望对以后的学习有帮助。