查看原文
其他

硬核答疑 | Thread网络技术,究竟好在哪儿?

NXP NXP客栈 2022-09-30

Thread是一种基于IPv6的网状网络协议,旨在将家庭和办公产品彼此连接、连接到互联网和云端。Thread网络易于安装,安全性高,可扩展至数百台设备,专为在低功耗的IEEE 802.15.4芯片组上运行而设计。


本文将从主要特性、低功耗技术应用、无单点故障健壮性,及其配网与安全机制几个方面,对Thread网络技术做一个全面的介绍。


Thread网络简介


总体来说,Thread是一种用于物联网产品的低功耗、高时效的网状网络技术,其主要特性包括:

  • 基于IEEE-802.15.4的Mesh网络

  • 6LoWPAN之上的IPv6通信

  • 支持电池供电的低功耗设备联网

  • 安全机制强大,确保网络可靠运行

  • 无单点故障,失去云连接仍可独立运行

  • 网络层上可灵活承载Matter、DotDot等多种应用




Thread网络结构


Thread网络中包括几类功能“角色”不同的节点设备,如终端或路由器、路由器、Leader、边界路由器等。



以下几张图对于Thread网络中不同节点设备的特性进行了更细致的说明。





无单点故障健壮性


与其他无线网络相比,Thread网络的一个突出的特点就是其具有无单点故障的健壮性。


Thread网络的健壮性的实现包括两个要点:

  • 引入Trickle(涓流)机制,在相邻Router之间通过周期性的MLE Adv消息逐步收集并更新完整的网络数据,使得网内所有Router设备同步到最新的网络配置,当任何FTD设备失效后其它FTD设备自动代替之

  • 引入低功耗及有损网络的组播协议MPL(Multicast Protocol for Low Power and Lossy Networks),Router设备通过重传消息确保可靠通信,同时也可以避免应用层多次处理重复收到的组播消息


Thread无单点故障的特性详解如下:

  • Leader失效后网络内某个Router设备自动升级为Leader设备

  • 当有需要时,比如Router设备失效,网络自动将某个REED升级为Router设备代替失效的Router设备以增强网络内部互连的可靠性

  • 对于单个Border Routers的网络,当BR失效,本地Thread网络内部节点工作不受影响;对于多个BR网络,当某个BR失效,可由其它BR自动代替之



低功耗技术应用


Thread网络的低功耗特性也是其备受青睐的原因之一。


具体来讲,Thread的低功耗技术包括:

  • 极低的无线SOC射频收发功率

  • SOC支持多种MCU超低功耗模式

  • 很短的工作期(active duty cycle)使得休眠设备使用电池供电也可以正常工作长达数年之久

  • 网络结构限制FTD常电设备的数量而支持大量电池供电的休眠设备,使系统整体功耗大幅降低

  • IEEE 802.15.4和6LoWPAN

  • MAC层使用16位短地址使更多负载可用于传输上层应用数据,降低数据包被分段再重组的几率

  • IP包压缩使原来超过40字节的开销减为不到10字节

  • 链路层包转发(link-layer packet forwarding)机制避免了在本地Mesh网络内的消息传输被提交到上面的网络层进行额外的处理


此外,Thread 1.2中还引入了以下低功耗新特性:

  • Enhanced Frame Pending(增强帧等待)

  • 消除了SED额外的Poll Request


▲无EFP的休眠设备从父节点获取数据


▲支持EFP的休眠设备从父节点获取数据


  • Synchronized Sleepy End Devices(同步休眠终端)

  • IEEE 802.15.4-2015引入Coordinated Sampled Listening (CSL,协调采样侦听)特性,使得休眠设备与其父节点保持同步,在预定时刻接收父节点保存的数据。

  • Link Metrics Probe(链路指标侦测)

  • 通过建立与父节点之间的链路指标侦测机制获取诸如LQI,RSSI和Link Budget等参数

  • 根据与父节点之间的链路性能动态调整休眠节点的发射功率,接收器放大增益及天线分集等参数

  • Enhanced Keep Alive(增强的保持链路激活消息)

  • 结合Enhanced Frame Pending,休眠设备无需通过向其父节点不断发送Data Poll Request来确保其自身是活跃设备,而仅仅上报数据就可以确保父节点不会删除该节点


Thread的低功耗特性使其非常适合于各类传感器应用,比如:

  • 大量上报数据

  • 利用定时器周期性唤醒并通过父节点上报数据,如温度传感器

  • IO口触发事件唤醒并通过父节点上报数据,如PIR传感器



配网与安全机制


Commissioning角色(Role)


Commissioner

作为身份认证服务器和授权者提供网络的 credentials


Border Agent

任何具备在Commissioner和Thread网络节点之间中继转发消息能力的设备


Commissioner Candidate

具有成为Commissioner能力且准备向Leader申请成为Commissioner的设备


Joiner

等待加入Thread网络的设备节点


Joiner Router

Thread网络内距离Joiner一跳的路由器或REED设备


Commissioning类型


Out-of-band Commissioner

Commissioner并不一定具有802.15.4的接口,而是带有WiFi / BLE等其它接口,能够向border agent发MGMT_GET命令


On-mesh Commissioner

Commissioner具有802.15.4的接口,且拥有Thread网络credentials


Native 802.15.4 

Commissioner拥有802.15.4的接口但没有Thread网络的credentials 



Commissioner


Border Router注册登记(Registration)

  • Discovery:Commissioner (如带WiFi的手机) 通过某个Border Router发现了Thread网络

  • Authentication:Commissioner通过commissioning credential安全连至Thread网络

  • Registration:Commissioner向Border Router注册了其ID


Thread网络管理

  • 申请Petitioning: Border Router向Leader单播请求其将候补Commissioner批准为正式的Commissioner

  • Management commissioner可以读取或设置诸如commissioner credential, 网络名称, 安全策略等参数 


JOINER


Joiner Protocol

  • Discovery:Joiner加网设备使用802.15.4的主动扫描active scan机制,在所有频道Channel广播发送信标请求beacon request消息以发现存在的Thread网络

  • Provisional Join:unsecure不安全的至Joiner Router的本地链接

  • Joiner Authentication:发给Joiner Router的DTLS 握手handshake消息


Joiner Finalization

  • Entrust:移交(handoff)网络credentials给 Joiner

  • Provisioning: 若Joiner请求特殊的 commissioning方式,则需要引入特定供应商( vendor-specific)认定的provisioning 

  • Close Session:使用DTLS Alert机制结束当前会话 


安全配网(Secure Commissioning)


  • 配网Commissioning 基于节点和Commissioner之间的端到端安全和加密信道,端到端之间其它参与中继转发的节点使用DTLS方式传输但并不会对报文内容进行解密

  • Shared secret一般通过扫描加网节点上印的QR码建立起来

  • Elliptic Curve  J-PAKE用于生成高强度秘钥,实现消息保护和安全配置数据的分发

  • Commissioning session 可用于更新网络配置参数



OPENThread NXP解决方案


恩智浦可以提供全面的OPENThread应用解决方案,相关技术信息如下:




本文作者潘健,恩智浦半导体无线互连产品线系统应用工程师



恩智浦

微招聘

关注我们

选择公众号菜单【用户中心 | 招贤纳士】

扫描消息中的二维码,关注恩智浦微招聘




打造安全的连接和

基础设施解决方案

为智慧生活保驾护航

关注NXP客栈





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存