ZigBee协议网络层..doc
文本预览下载声明
3.1网络层状态值
网络层确认原语通常都包括一个参数,这个参数记录回答请求原语的状态。网络层状态参数值如表3.1所示。
表3.1
名称 值 描述 SUCCESS 0x00 请求执行成功 INVALID_PARAMETER 0xc1 从高层发出的原语无效或者超出范围 INVALID_REQUEST 0xc2 考虑到网络层目前的状态,高层发送的请求原语无效或者不能执行 NOT_PERMITTED 0xc3 NLME-JOIN.request原语不被接受 STARTUP_FAILURE 0xc4 NLME-NETWORK-FORMATION.request原语启动网络失败 ALREADY_PRESENT 0xc5 产生NLMEDIRECT-JOIN.request原语的设备的邻居表中已经存在有地址设备提供的NLMEDIRECT-JOIN.request原语 SYNC_FAILURE 0xc6 用来表明在MAC层NLME-SYNC.request原语失败 NEIGHBOR_TABLE_FULL 0xc7 NLME-JOIN-DIRECTLY.reques失败,因为邻居表没有更多的空间 UNKNOWN_DEVICE 0xc8 NLME-LEAVE.request原语失败,因为产生原语的设备地址不在邻居表中的参数列表中 UNSUPPORTED_ATTRIBUTE 0xc9 NLME-GET.request or NLME-SET.request原语产生带有未知的属性标识符 NO_NETWORKS 0xca 没有检测到网络环境产生NLME-JOIN.request原语 LEAVE_UNCONFIRMED 0xcb 设备确认从网络出发失败 MAX_FRM_CNTR 0xcc 因为帧计数器达到最大值,所以输出帧安全处理失败 NO_KEY 0xcd 输出帧尝试安全处理且失败,因为对于处理没有有效的钥匙 BAD_CCM_OUTPUT 0xce 输出帧尝试安全处理且失败,因为安全设计产生一个错误的输出 NO_ROUTING CAPACITY 0xcf 由于缺少路由表或者发现路由表能力,尝试发现路由失败 ROUTE_DISCOVERY_FAILED 0xd0 尝试发现路由失败,由于缺少路由能力 ROUTE_ERROR 0xd1 由于发送设备的路由失败,NLDE-DATA.request原语失败 BT_TABLE_FULL 0xd2 由于没有足够的空间在BTT,尝试发送一个广播帧或成员模式多点传送失败 FRAME_NOT_BUFFERED 0xd3 一个非成员多点传送帧丢弃未决路由发现
3.2概况描述
3.2.1网络层概述
ZigBee网络层的主要功能就是提供一些必要的函数,确保ZIgBee的MAC层(IEEE 802.15.4-2003)正常工作,并且为应用层提供合适的服务接口。为了向应用层提供其接口,网络层提供了两个必须的功能服务实体,它们分别为数据服务实体和管理服务实体。网络层数据实体(NLDE)通过网络层数据服务实体服务接入点(NLDE-SAP)提供数据传输服务,网络层管理实体(NLME)通过网络层管理实体服务接入点(NLME-SAP)提供网络管理服务。网络层管理实体利用网络层数据实体完成一些网络的管理工作,并且,网络层管理实体完成对网络信息库(NIB)的维护和管理,下面分别对它们的功能进行介绍。
3.2.1.1网络层数据实体(NLDE)
网络层数据实体为数据提供服务,在连个或者更多的设备之间传送数据时,将按照应用协议数据单元(APDU)的格式进行传送,并且这些设备必须在同一个网络中,即在同一个内部个域网中。
网络层数据实体提供如下服务:
生成网络层协议数据单元(NPDU):网络层数据实体通过增加一个适当的协议头,从应用支持层协议数据单元中生成网络层的协议数据单元。
指定拓扑传输路由,网络层数据实体能够发送一个网络层的协议数据单元到一个合适的设备,该设备可能是最终目的通信设备,也可能是在通信链路中的一个中间通信设备。
安全:确保通信的真实性和机密性。
3.2.1.2网络层管理实体(NLME)
网络层管理实体提供网络管理服务,允许应用与堆栈相互作用。网络层管理实体应该提供如下服务:
配置一个新的设备:为保证设备正常工作的需要,设备应具有足够的堆栈,以满足配置的需要。配置选项包括对一个ZigBee协调器或者连接一个现有网络设备的初始化的操作。
初始化一个网络:使之具有建立一个新网络的能力。
连接和断开网络。具有连接或者断开一个网络的能力,以及为建立一个ZigBee协调器或者路由器,具有要求设备同网络断开的能力。
寻址:ZigBee协调器和路由器具有为新加入网络的设备分配地址的能力。
邻居设备发
显示全部