ZigBee协议栈解析:路由搜索与网络层详解

需积分: 44 29 下载量 130 浏览量 更新于2024-08-10 收藏 2.51MB PDF 举报
"这篇文档是关于ZigBee协议栈的中文详解,主要涉及路由请求命令帧的构建、ZigBee设备的网络层管理和路由发现过程,以及ZigBee协议栈的架构和各层功能。" 在ZigBee网络中,路由成本域设为0通常意味着在构建路由请求命令帧时,设备不考虑路径的成本或质量,这可能是为了进行初始的网络发现或者在特定条件下寻找路径。当设备创建路由搜索表和路由选择表入口后,会生成一个带有有效载荷的路由请求命令帧,其中: 1. 命令帧标识符域设置为路由请求帧,这用于识别帧的类型。 2. 路由请求标识符被设置为路由选择表的入口,以便在接收到响应时更新路由信息。 3. 多点传送标志位和目的地址域应与要发现的目的地址匹配,这样帧才能正确地广播到目标设备。 4. 路由成本域被设为0,表明路由搜索过程中不考虑成本因素。 在路由搜索阶段,网络层会使用MCPS-DATA.request原语将构造好的路由搜索命令帧发送到MAC层。广播会在开始时进行nwkclnitialRREQRetries次重试,加上首次广播,总共nwkclnitialRREQRetries+1次,每次重播间隔为nwkcRREQRetryInterval毫秒。 ZigBee路由器或协调器的网络层管理实体在接收到NLME-ROUTE-DISCOVERY.request原语,且DstAddrMode 参数值为0x00时,会启动多对一路由发现。如果路由请求命令帧的目的地址参数为0xfff9,可能表示一种特定的网络操作。 ZigBee协议栈基于IEEE802.15.4标准,包括PHY和MAC层,以及网络层(NWK)、应用层和安全服务提供层。每个ZigBee设备都有对应的模板,定义了设备的角色和通信簇。设备上的应用对象通过端点与堆栈其余部分交互,通信是通过簇进行的,簇包含了共享信息所需的所有属性。端点0用于设备配置和管理,而端点255用于广播。应用支持子层(APS)提供数据传输、安全和绑定服务,它依赖于网络层(NWK)来处理设备间的通信、消息路由和网络发现。网络层则依赖于物理层(PHY)和介质访问控制层(MAC)进行无线通信。