Zigbee系列(网络)
Zigbee设备类型
Coordinator:形成网络,选择信道、PANID、允许其他设备加入等。
Router: 作为路由节点,转发报文。
End Device: 终端节点,不转发报文。
Zigbee网络类型

Zigbee PRO标准只支持mesh网络类型。
R
outer device常规入网流程示例

- 子设备在各个信道广播beacon request,查询哪个网络允许加入。
- 协调器和路由节点回应beacon报文。
主要字段:
PAN Coordinator: 是否是协调器 (source address)
Association permit: 是否允许新设备入网
GTS相关字段: zigbee pro不使用GTS非竞争网络的字段。
Stack profile、NWK protocol version: zigbee版本。
Router Capacity: 是否能接受路由设备的入网请求
End Device Capacity: 是否能接受end device的入网请求,即作为end device设备的父节点。
NWK extended pan id: 网络的唯一标识,pan id可变,extended pan id不变。

- 子设备在可入网的网络中,选择信号最优的一个进行关联。
Association Request

- 协调器接收设备的关联请求后,单播回应Association Response.
给子设备分配短地址。

- 协调器通过子设备的认证后,发送网络密钥,负载使用tc link key加密。
Transport Key

- 子设备解析network key,入网成功。发送device announce通知网络中的其他设备,自己加入网络。
Zigbee3.0子设备入网后需要更新link key,参考《zigbee3.0 security特性.docx》
End device入网流程
- End device通过beacon request查询信道是否有网络可以加入。
- 协调器和路由节点回应beacon
- End device选择协调器或路由节点加入。
End device 直接接入协调器

- End device发送association request,请求加入网络
- 协调器(父节点)回应association response,分配短地址给子设备。
- 协调器(Trust Center)通过Transport Key命令传输nwk key,报文使用TC link key加密。(这里协调器和子设备没有使用install codes,使用的是global link key)
- 子设备正确解析transport key报文,获得nwk key
- 子设备广播device announce报文,通知其他设备自己已成功加入网络。
以路由节点做父节点
- 向父节点发送Association Request
- 父节点回应Asspciation Response, 提供短地址
- 父节点向协调器发送update device,通知协调器有设备加入(unsecured join, 还没有经过TC验证)
- TC验证通过后,协调器经过end device的父节点给end device发送network key,需要父节点做中转。协调器和该父节点的数据使用nwk key加密,父节点转发给子设备的数据,去掉tunnel头,使用link key加密。
- 子设备获得网络密钥,入网成功。
- 子设备广播device announce.


BDB中定义的流程:

Zigbee系列(网络)的更多相关文章
- ZigBee无线网络技术在小区路灯照明系统的应用
小区路灯照明系统是楼宇智能的一部分,但受制于布线.成本等的问题,难以得以实施.随着计算机技术的迅猛发展,无线网络技术越来越成熟,ZigBee无线网络成本低.功耗低.传输距离远等的特点,非常适合在无线路 ...
- OpenStack实践系列⑤网络服务Neutron
OpenStack实践系列⑤网络服务Neutron 3.8 Neturn 服务部署 注册neutron服务 [root@node1 ~]# source admin-openrc.sh [root@n ...
- 抓住“新代码”的影子 —— 基于GoAhead系列网络摄像头多个漏洞分析
PDF 版本下载:抓住“新代码”的影子 —— 基于GoAhead系列网络摄像头多个漏洞分析 Author:知道创宇404实验室 Date:2017/03/19 一.漏洞背景 GoAhead作为世界上最 ...
- iOS开发系列--网络开发
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- Linux网路编程系列-网络I/O模型
应用程序从网络中拿数据,要经历两个阶段:1.等待数据准备好-分组到达,被拷贝到内核缓冲区,组装数据报:2.数据从内核缓冲区拷贝至用户态应用程序的缓冲区.Unix下五个I/O模型: 阻塞I/O: 进程调 ...
- Zigbee系列(end device)
End device设备分为睡眠和非睡眠两种(RxOnWhenIdle标记不同). 入网时的association请求,会使用这个标记. 共同特性 子节点多次发送数据失败(无回应),发送孤点扫描(re ...
- Zigbee系列(概览)
Zigbee技术特点 低速率: 数据传输速率只有20~250kb/s, 2.4GHZ提供250kb/s, 915MHz对应40kb/s, 868Mhz对应20kb/s 低功耗:睡眠模式设备使用电池供电 ...
- 三、ZigBee无线网络工具
CC2530概述 CC2530是德州仪器Ti公司用于2.4-GHz IEEE 802.15.4.ZigBee 和 RF4CE 应用的一个真正的片上系统(SoC)解决方案,是作为ZigBee无线传 感网 ...
- 二、ZigBee无线网络
概述 ZigBee是基于IEEE802.15.4标准的低功耗局域网协议.根据国际标准规定,ZigBee技术是一种短距离.低功耗的无线通信技术.这一名称(又称紫蜂协议)来源于蜜蜂的八字舞,由于蜜蜂(be ...
随机推荐
- Kali-linux绘制网络结构图
CaseFile工具用来绘制网络结构图.使用该工具能快速添加和连接,并能以图形界面形式灵活的构建网络结构图.本节将介绍Maltego CaseFile的使用. 在使用CaseFile工具之前,需要修改 ...
- indexzero/http-server-1-简介
ethereumjs-vm的例子有用到这个 看完ethereumjs-vm,再看他ethereumjs/browser-builds,然后最后看他http-server,然后就能了解ethereumj ...
- 使用Apache HttpClient 4.x发送Json数据
Apache HttpClient是Apache提供的一个开源组件,使用HttpClient可以很方便地进行Http请求的调用.自4.1版本开始,HttpClient的API发生了较大的改变,很多方法 ...
- Spring@PostConstruct注解和构造方法的调用顺序
先看下@PostConstruct的注解 * The PostConstruct annotation is used on a method that needs to be executed * ...
- struts2的动态方法调用(DMI)和通配符映射
动态方法调用 1.Struts2默认关闭DMI功能,需要使用需要手动打开,配置常量 struts.enable.DynamicMethodInvocation = true 2.使用“!”方法,即 ...
- OPENGL绘制文字
OPENGL没有提供直接绘制文字的功能,需要借助于操作系统. 用OPENGL绘制文字比较常见的方法是利用显示列表.创建一系列显示列表,每个字符对应一个列表编号.例如,'A'对应列表编号1000+'A' ...
- Source folder is not on the Java build class path
源文件夹不在Java构建类路径上 只需右键单击文件夹src - > build path - >Using source folders就是这样
- TCP中的三次握手和四次挥手
三次握手:目的是同步连接双方的序列号和确认号 并交换 TCP窗口大小信息. 理论上跟通话一样: a: 你听的到吗? b: 我能听到.只需要两次就可以了,但建立连接阶段不是双向即时通信的,且最终的目的 ...
- python3 datetime和time获取当前日期和时间
import datetime import time # 获取当前时间, 其中中包含了year, month, hour, 需要import datetime today = datetime.da ...
- java学习无止境,工资价更高
原 推荐10个Java方向最热门的开源项目(8月) 2018年08月28日 17:54:32 SnailClimb在CSDN 阅读数:849 版权声明:本文为博主原创文章,未经博主允许不得转载. ...