logo资料库

《ZigBee2007协议规范》第3章(中).pdf

第1页 / 共161页
第2页 / 共161页
第3页 / 共161页
第4页 / 共161页
第5页 / 共161页
第6页 / 共161页
第7页 / 共161页
第8页 / 共161页
资料共161页,剩余部分请下载后查看
第三章
网络规范
3.1 概述
3.1.1 网络(NWK)层概述
3.2 服务规范
3.2.1 NWK数据服务
3.3 帧格式
3.3.1 通用NPDU帧格式
3.3.2 不同帧类型的格式
3.4 命令帧
3.4.1 路由请求命令
3.4.2 路由回复命令
3.4.3 网络状态命令
3.4.4 离开命令
3.4.5 路由记录命令
3.4.6 重新加入请求命令
3.4.7 重新加入响应命令
3.4.8 链路状态命令
3.4.9 网络报告命令
3.4.10 网络更新命令
3.5 常量和NIB属性
3.5.1 NWK常量
3.5.2 NWK信息库
3.6 功能描述
3.6.1 网络和设备维护
3.6.2 传输和接收
3.6.3 寻找路由
3.6.4 调度信标传输
3.6.5 广播通信
3.6.6 多播通信
3.6.7 MAC信标中的网络信息
3.6.8 永久性数据
3.6.9 低功耗路由器(LPR)
3.7 NWK层状态值
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 第三章 网络规范 3.1 概述 3.1.1 网络(NWK)层概述 网络层必须提供功能,以保证 IEEE802.15.4-2003 MAC 子层的正确操作,并为应用层提 供一个合适的服务接口。要和应用层通信,网络层的概念包括两个服务实体,提供必要的功 能。这些服务实体是数据服务和管理服务。NWK 层数据实体(NLDE)通过其相关的 SAP, NLDE-SAP,提供了数据传输服务,而 NLME-SAP 提供了管理服务。NIME 使用 NLDE 来获 得它的一些管理任务,且它还维护一个管理对象的数据库,叫做网络信息库(NIB)。 3.1.1.1 网络层数据实体(NLDE) NLDE 应提供一个数据服务,以允许一个应用程序在两个或多个设备之间传输应用协议 数据单元(APDU)。设备本身必须位于同一个网络。 NLDE 将提供以下服务: � 生成网络级别的 PDU(NPDU): NLDE 应该可以通过增加一个合适的协议头, 从一个应用支持子层的 PDU,生成一个 NPDU。 � 拓扑指定的路由:NLDE 应该可以传输一个 NPDU 给一个合适的设备,它是通 信的最终目的地或是通信链中朝向最终目的地的下一步。 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 � 安全:保证传输的真实性和保密性的能力。 ZigBee 协议规范 文件 053474r1 3.1.1.2 网络层管理实体(NLME) NLME 应提供一个管理服务,以允许一个应用程序与协议栈相互作用。 NLME 应提供以下服务: � 配置一个新设备:为所需的操作充分配置协议栈的功能。配置选项包括开始一 个作为一个 ZigBee 协调器的操作,或加入一个已存在的网络。 � 开始一个网络:建立一个新的网络的功能。 � 加入、重新加入和离开一个网络:加入、重新加入或离开一个网络的功能,以 及为一个 ZigBee 协调器或 ZigBee 路由器请求一个设备离开网络的功能。 � 寻址:ZigBee 协调器和路由器给新加入网络的设备分配地址的能力。 � 邻居发现:发现,记录和报告信息关于设备的单跳邻居的能力。 � 路由发现:发现并记录通过网络的路径的功能,即信息可以有效地传送。 � 接收控制:一个设备控制何时接收者是激活的,以及激活多长时间,从而使 MAC 子层同步或直接接收。 � 路由:这个是使用不同路由机制的能力,例如单播,广播,多播或者多对一, 在网络中高效交换数据。 3.2 服务规范 图 3.1 描述了 NWK 层的组件和接口。 NWK 层提供了两个服务,通过两个服务访问点(SAP)访问。这些是 NWK 数 据 服 务 , 通过 NWK 层数据实体 S A P(NLDE-SAP)访问和 NWK 管理实体,通过 NWK 层管理实体 SAP (NLME-SAP)访问。这两个服务通过 MCPS-SAP 和 MLME-SAP 接口,提供了应用层和 MAC 子层之间的接口(参见[B1])。除了这些外部接口,在 NLME 和 NLDE 之间还有一个隐藏的 接口,允许 NLME 使用 NWK 数据服务。 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 图 3.1 网络层参考模型 3.2.1 NWK 数据服务 NEK 层数据实体 SAP(NLDE-SAP)支持在对等的应用程序实体之间传输应用协议数据 单元(APDU)。 表 3.1 列出了 NLDE-SAP 支持的原语以及讨论这些原语的章节。 NLDE-SAP 表表表表 3.13.13.13.1 NLDE-SAP NLDE-SAP NLDE-SAP 原语原语原语原语 NLDE-SAP原语 请求 确认 指示 NLDE-DATA 3.2.1.3 3.2.1.1 3.2.1.2 3.2.1.1 NLDE-DATA.request 本原语请求传输一个数据 P D U(NSDU),从 本 地 APS 子层实体到一个或多个对等的 APS 子层实体。 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 3.2.1.1.1 服务原语的语义 本原语的语义如下: NLDE-DATA.request { ZigBee 协议规范 文件 053474r1 DstAddrMode, DstAddr, NsduLength, Nsdu, NsduHandle, Radius, NonmemberRadius, DiscoverRoute, SecurityEnable } 表 3.2 指明了 NLDE-DATA.request 原语的参数。 NLDE-DATA.request 表表表表 3.23.23.23.2 NLDE-DATA.request NLDE-DATA.request NLDE-DATA.request 参数参数参数参数 名称 类型 有效范围 描述 DstAddrMode Integer 0x01 or 0x02 DstAddr NsduLength 16-bit Address Integer 0x0000-0xFFFF < aMaxMACFrameSize- nwkcMinHeaderOverhead Nsdu Set of Octets - NsduHandle Integer 0x00 – 0xff 通过DstAddr提供的目的 地址类型;这可能有以下 两个值中的一个: 0x01=16位组播地址 0x02=设备的16位网络地 址或者一个16位广播地 址 目的地址 组成转移NSDU的字节 数。考虑到ZigBee网络层 不使用扩展的寻址模式, 这已被IEEE802.15.4规范 中的 aMaxMACFrameSize限 定所修改。这使得头闲置 的部分被用于有效载荷。 参见小节D.4。 组成转移NSDU的套接 字 与NSDU相联系的句柄 是通过网络层实体传输 的 ZigBee 标准组织版权© 2007。保留所有权利。
名称 Radius NonmemberR adius DiscoverRout e Unsigned Integer 0x00 – 0xff Integer 0x00 – 0x07 Integer 0x00 – 0x01 SecurityEnabl e Boolean TRUE or ALSE www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 表 3.2 NLDE-DATA.request 参数(续表) 类型 有效范围 描述 间隔,跳数,帧允许通过 网络传输 间隔, 跳数, 组播帧将通 过不是组成员的节点传 送; 0x07 被视为无穷 DiscoverRoute参数可能 用于控制传输该帧的路 由发现操作(见子章节 3.7.3.4): 0x00 =禁用路由发现 0x01 =启用路由发现 SecurityEnable参数可用 于启用当前帧网络层安 全处理,如果安全级别在 NIB中被指定为0,意思为 没有安全,然后这个参数 将会被忽略;否则,TRUE 表示安全处理通过应用 安全级别来指定,FALSE 表示没有合适的安全处 理 3.2.1.1.2 3.2.1.1.2 3.2.1.1.2 原语生成 3.2.1.1.2 原语生成原语生成 原语生成 每当一个数据 PDU(NSDU)要被传输给一个对等的 APS 子层实体时,本原语由一个本 地 APS 子层实体生成。 3.2.1.1.3 3.2.1.1.3 3.2.1.1.3 接收结果 3.2.1.1.3 接收结果接收结果 接收结果 如 果 本 原 语 被 一 个 当 前 没 有 连 接 的 设 备 接 收 , NWK 层 将 发 出 一 个 状 态 为 INVALID_REQUEST 的 NLDE-DATA.confirm 原语。 在接收本原语时,NLDE 首先构造一个 NPDU,以传输所提供的 NSDU。如果在处理期 间,NLDE 在传输 NSDU 之前发出了 NLDEDATA.confirm 原语,则中止所有进一步的处理。 在构造新的 NPDU 时,NWK 头的目标地址域将被设置为 DstAddr 参数提供的值,且源地址 域值将为 MAC PIB 中的 macShortAddress属性的值。NWK 头的帧控制域的发现路由子域将 被设置为 DiscoverRoute 参数提供的值。如果所提供的 Radius 参数值不为零,那么 NWK 头 的半径域就设置为 Radius 参数的值。如果 Radius 参数值为零,那么 NWK 头的半径域将被设 置为 NWK IB 的 nwkMaxDepth属性值的两倍。NWK 层将为 3.6.2.1 小节所述的帧生成一个序 列号。且帧的 NWK 头的序列号域设置为这个序列号的值。NWK 头的多播标志域将根据 DstAddrMode 参数的值设置。如果 DstAddrMode 参数值为 0x01,NWK 头将包括一个多播控 制域,其中的域将设置如下: � 如果该节点是 DstAddr 参数所指定的组的一个成员,多播模式域将设置为 0x01 � 否则,多播模式域将设置为 0x00 � 非成员半径和最大非成员半径域将设置为 NonmemberRadius 参数的值 一旦构造了 NPDU,如果 NSDU 是单播的,使用 3.6.3.3 小节所述的程序为它寻找路由; ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 如果是广播的,使用 3.6.5 小节所述的程序寻找路由;如果是多播的,使用 3.6.6.2 小节 所述的程序寻找路由。当寻找路由程序指定要传输 NSDU,这通过发出 MCPSDATA.request 原语来完成,且 SrcAddrMode 和 DstAddrMode 参数设置为 0x02,表示使用 16 位的网络地址 。 SrcPANId 和 DstPANId 参数应设置为 MAC PIB 的 macShortAddr 的值。DstAddr 参数的值是 下一跳的地址,由寻找路由程序确定。如果信息是单播的,TxOptions 参数的位 b0 应设置为 1,表示需要一个确认。在接收 MCPSDATA.confirm 原语时,NLDE 发出 NLDE-DATA.confirm 原语,它的状态值等于从 MAC 子层收到的状态值。 如果 NIB 属性 nwkSecurityLevel值为非零,且 SecurityEnable 参数值为 TRUE,那么在 按照 4.3 节所述的进行传输之前,为该帧应用 NWK 层的安全处理。否则,不为该帧在 NWK 层执行安全处理。如果执行了安全处理,且它因任何原因失败,那么帧被丢弃,且 NLDE 发 出 NLDE-DATA.confirm 原语,它的状态参数值等于安全组合返回的状态值。 3.2.1.2 NLDE-DATA.confirm 本原语报告请求从一个本地 APS 子层实体到一个对等 APS 子层实体,传输一个数据 PDU (NSDU)的结果。 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 3.2.1.2.1 服务原语的语义 本原语的语义如下: 表 3.3 指明了 NLDE-DATA.confirm 原语的参数。 名称 Status 类型 Status 表 3.3 NLDE-DATA.confirm 参数 有效范围 从securitysuite 或者 MCPSDATA.confirm 原语返 回的 INVALID_REQUEST,MAX_FRM_COUNTER,NO_ KEY,BAD_CCM_OUTPUT,ROUTE_ERROR,BT_T ABLE_FULL,FRAME_NOT_BUFFERED 或者任何 状态值(见[B1]) NsduHandle Integer 0x00 – 0xff TxTime Integer 执行相关 描述 相应的状态 请求 处理相关被 确认的NSDU 基于本地时 钟传输包的 时间指示。时 间应该基于 在规定执行 中每个传输 包的同一点。 该值只有在 nwkTimeStam p设置为 TRUE之后才 能提供。 3.2.1.2.2 原语生成 本原语由一个本地 NLDE 生成,以响应收到一个 NLDE-DATA.request 原语。 状态域将反映相应的请求的状态,如 3.2.1.1.3 小节所描述。 3.2.1.2.3 接收结果 在接收本原语时,发起设备的 APS 子层被告知其请求传输的结果。如果传输尝试成功, 状态参数将设置为 SUCCESS。否则,状态参数将指示错误。 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 3.2.1.3 NLDE-DATA.indication 本原语表示从 NWK 层到本地 APS 子层实体传输一个数据 PDU(NSDU)。 3.2.1.3.1 服务原语的语义 本原语的语义如下: 表 3.4 指明了 NLDE-DATA.indication 原语的参数。 表 3.4 NLDE-DATA.indication 参数 名称 DstAddrMod e 类型 Integer 有效范围 0x01 或 0x02 描述 通过DstAddr参数提供的目的地址类 型。这可能有以下两个值中其中一个: 0x01=16位组播地址 0x02=设备的16位网络地址或者16位 广播地址 NSDU发送的目的地址 0x0000-0xFFFF DstAddr SrcAddr 16-bit Address 16-bit Device address 除了广播地址的任何无效 的设备地址 来自NSDU起源的单个设备地址 ZigBee 标准组织版权© 2007。保留所有权利。
分享到:
收藏