Thread communication protocol

Thread network protocol simplifies the interconnection of "everything" in the home

Thread is the future of wireless mesh networking, and it promises to be the key technology for connecting "everything" to the Internet. "Everything" can be broadly defined as power-sensitive, resource-constrained devices that typically combine MCUs, sensors, RF technology, and software. These devices are bridged to the network via a wireless connection and can be controlled and automated remotely. There are multiple wireless technologies that support this interconnectivity, but Thread is designed to meet the unique needs of home connectivity. It builds on existing standards and makes Thread a key technology for IoT implementation by providing a low-power, secure and scalable IP-based wireless mesh networking protocol.

Why choose IP

IP is the main communication protocol of the Internet. IP provides the core mechanism for IP network data relay, and its routing capability realizes network interconnection. After decades of rapid development of the Internet, IP has become ubiquitous.
Network technologies that do not natively support IP must first adapt IP in the gateway. This process involves mapping of local network addresses and repackaging of network layer packets into IP packets. As shown in Figure 1, encrypted local packets must be decrypted at the gateway and then re-encrypted in IP packets.

Figure 1: Native networks that do not natively support IP
In contrast, native IP-enabled networks, such as Thread and Wi-Fi, are capable of non-intrusive forwarding and routing of application payloads. Packets encrypted on the local network can be transmitted securely end-to-end. as shown in picture 2.

Figure 2: Local network natively supporting IP


IPv6 vs IPv4

IPv4 supports 32-bit addressing. But since the 1990s, the roughly 4.3 billion address space has increasingly been unable to meet the growth expectations of Internet connections. IPv6 increases the address length to 128 bits, which brings the address space to about 240 streams (1 stream = 10 to the 36th power)! A local device with an IPv6 Globally Unique Address (GUA) is directly addressable over a Wide Area Network (WAN).

6LoWPAN

6LoWPAN是IPv6 over Low Power Wireless Personal Area Networks的缩写。它可实现在802.15.4连接上有效传输IPv6数据报,因此资源受限的设备(例如“万物”)能够自然的加入IoT。它支持三种关键功能:
●报文长度自适应
IPv6支持的最小MTU(最大传输单元)是1280字节。在使用UDP(User Datagram Protocol)和DTLS(Datagram Transport Layer Security)的802.15.4报文中,典型应用的有效载荷大小是63字节。6LoWPAN提供分段和重组机制以适配IPv6数据报到这些更小的802.15.4有效载荷。不合适大小的IPv6报文将被分成片段,并通过802.15.4在空中发送。不是所有的片段都能够以正确的顺序被接收。然而,6LoWPAN仅仅需要接收到所有片段,然后按照需要再重新排序分段。
●报头压缩
为了最大限度的减少在802.15.4帧中发送IPv6消息的开销,6LoWPAN利用协议间的跨层冗余(例如源和目标地址、负载长度、传输类型和流量标签)为IPv6和传输报头提供透明的压缩机制。Thread使用IPHC(Improved Header Compression)和NHC(Next Header Compression)。IPHC被用于压缩IPv6报头。NHC被用于压缩UDP报头。
●层间转发
Thread使用IP路由转发报文。IP路由表用于维护每一个目的和到达它的下一跳。6LoWPAN网状报头使用IP路由表来实现链路的下一跳转发。

实现互联

网络市场中存在多种无线技术。从长远来看,我们认为在互联家居和IoT领域中主要有三个领先的协议解决方案:Wi-Fi、Bluetooth Smart和802.15.4网状网络协议。
Wi-Fi是家庭网络中传输音频、视频和数据的骨干无线技术。它支持高数据率和输出功率,然而功耗较大。因此其在电池供电的应用中受到限制。
Bluetooth Smart适合连接智能手机的点对点解决方案,也适合在电池供电的设备上批量传输数据。虽然目前的解决方案本身不支持IP,但是Bluetooth Core Specification 4.2通过支持IPv6和6LoWPAN为支持IP奠定了基础。
网状网络技术(例如
ZigBee PRO和Thread)构成了家居互联的骨干连接。这些自恢复网络已经被优化去支持低带宽控制和自动化应用,在这类应用中,支撑几年的长电池寿命是关键点。
在过去的10年中,ZigBee PRO一直在802.15.4网状网络解决方案中占主导地位。它支持可靠、安全和可扩展的网状网络,支持超过250个节点,也广泛支持电池供电操作的可休眠的终端节点。
Thread建立在ZigBee基础之上,具有安全、可靠和容错性好的优势。它也解决了市场中对于网状网络技术期待已久的需求:支持IPv6和6LoWPAN,为IoT中的每一个终端节点带来亟需的IP连接能力。表1列举了不同网络协议的特性。
表1:IoT无线技术

为什么是Thread,为什么是现在?

Thread Group成立于2014年7月15日,目的是协作、共享专长和开发满足这些需求的解决方案。成立一年后,Thread Group发布了Thread规范。该组织的创始成员包括Silicon Labs、Nest Labs、Yale Security、Samsung Electrics、Freescale Semiconductor、Big Ass Fans和ARM
Thread的关注低功耗和固有支持IP实现了“万物”和网络之间无缝互联的承诺。它不仅在低成本、电池供电的设备之间提供有效通信,也提供到云和移动设备的简单接口。Thread提供具有吸引力的全新无线网状网络解决方案,设计旨在满足下列家居互联需求:
●基于标准的协议
开放基于标准的协议,实现跨厂商的互操作性和竞争性。Thread以目前的包括IEEE 802.15.4在内的IEEE和IETF标准为基础。官方的Thread Specification已经在2015年7月13日由Thread Group发布。
●简化的配置
Thread摒弃了一些之前网状网络标准的复杂性。只有两种不同的节点类型:Router Eligible和 End Device。
Router Eligible节点在需要支持网状网络时成为路由器。构建网络的第一个Router Eligible节点将自动的被指定为路由器并作为Leader。Leader执行额外的网络管理任务并代表网络做决定。网络中的其他Router Eligible节点也能够自动的担任Leader的角色,但是在一个时间内每一个网络中仅仅只能有一个Leader。
作为End Device加入的节点不支持任何路由功能。相反,它们把信息发送给指定为“父节点(parent)”的路由器,“父节点”代表它的“子节点(child)”执行路由操作。End Device通过父节点进行路由通信并且能够进入“Sleepy”状态来减少功耗。不能与它们的父节点通信的End Device在多次尝试后将自动扫描并连接到新的父节点。图3所示为带有REED(Router Eligible End Device)、一个Leader和Thread Router的Thread节点网络。



图3:Thread节点类型
●基于IP的信息传送
Thread全面支持IP。Thread网络中的所有设备都有一个IPv6地址,并且能够被HAN(Home Area Network,家庭局域网)中的本地设备或者离线网络中具有Thread能力的被称为Border Router(边界路由器)的IP路由器直接访问。


网络中的节点由Border Router分配的前缀构成IPv6全球地址,或者由本地自分配的前缀去构成ULA(Unique Local Address)。网络中使用的路由ID通过Leader分配。Thread使用UDP(User Datagram Protocol)进行消息传输,而不是使用TCP。与TCP不同,UDP是无连接的协议,它摒弃了一些TCP特性,例如错误检测、报文排序和重传以换取更快速和更高效的传输。这种效率相当于减少了传输成本,这对于电池供电、资源受限的设备是极其重要的。Thread使用CoAP(Constrained Application Protocol)结合UDP去保持高效性,同时克服了UDP的一些限制。CoAP实现了重构以支持重传和分组排序。CoAP进一步为GET、POST、PUT和DELETE方法的轻量级(版本提供支持,能够容易的转换成HTTP实现与万维网的连接)。利用离线网络CoAP到HTTP代理,Thread可以从浏览器中直接查询IoT设备!


●低功耗运行
Thread为低功耗运行的可休眠终端节点提供了特别支持。正如其名称所暗示,这些可休眠的终端设备大部分时间处于低功耗休眠状态。在Thread协议中,不检测处于休眠状态的设备,以此来延长电池寿命。发送给可休眠终端设备的消息由它们的父节点缓存。消息传输仅仅在休眠终端设备被唤醒并查询父节点时才被触发。
●可扩展性和弹性
Thread的网络设计目标是支持多于250个节点。在此约束下,多种特性和功能被优化用以提供最大化的吞吐量和最小化资源需求。在Thread网络中,活动路由器的最大数量是32个。这样产生的一个重要的结果是路由信息能够被有效的通过网络分发,并且所有路由器能够直观的维护网络中的所有路由。当节点添加到网络并且拓扑结构改变时,网络通过交换MLE(Mesh Link Establishment)消息做调整。如果有作为终端设备操作的Router Eligible设备,能够自主添加额外的路由器。这种Router Eligible终端设备或者REED,聆听路由信息,并且在需要提升网络的整体性能时,向网络中的Leader申请成为路由器。
Thread是强大的、能自我修复的网状网络,提供无单点故障能力。如果一个路由器发生了故障,网络将动态变向发送传输,绕过故障节点。如果一个Leader失效了,网络中的另一个路由器将被自动的选择成为新的Leader。多个边界路由器能够为离线网络通信提供故障失效安全的冗余。
●互操作性
Thread Group已经发布了标准的软件测试工具用于所有Thread协议栈和最终Thread产品认证。这种测试工具将被提供给所有Thread成员公司以便在Thread认证测试之前获得高质量的软件开发和测试。

所有Thread组件(IC、软件协议栈或模组)在作为终端产品提供给用户之前必须获得Thread认证。所有想要携带Thread标识的终端产品设备必须提交他们的设备到批准的实验室进行认证。
●安全和人性化
Thread网络易于使用并极其安全。Thread在MAC层使用AES-128保护所有网络传输,并且利用ECC和J-PAKE逻辑组合安全添加设备到网络(即Commissioning)。应用有能力选择利用基于标准的IP安全协议(例如DTLS)以实现额外的、安全的应用载荷。
Thread网络假定用户有一个可用的Commissioning设备用于添加新设备到Thread网络。Thread可以指定离线网络设备(例如智能电话和计算机)和在线网络Thread设备成为Commissioner。离线网络设备必须首先请求Thread Border Router以成为注册Commissioner,符合Thread指定的安全DTLS认证。一旦注册,Border Router将代表Commissioner候选人与Leader协商成为授权的Commissioner。在线网络设备不需要注册,但是可能需要与Leader协商以被授权(Leader确保网络中同一时间仅仅有一个Commissioner被激活)。一旦得到授权,激活的Commissioner将会以广播方式通知到整个Thread网络。
在加入Thread网络时,用户通知Commissioner设备有个新设备将要加入,并且输入一个唯一的与加入设备相关的密码。这种密码被用于建立安全的DTLS会话来认证并授权给加入的设备。仅仅在那时设备有权访问Thread网络。一旦设备加入到网络,Commissioner设备不再处于激活状态。
●加速产品上市
随着物联网设备的快速普及,对于产品来说,越来越重要的是尽快从概念阶段进展到产品上市。Thread和Silicon Labs有助于加速产品上市。
●应用开发
Thread没有规定应用层,而是为其提供基本的消息传送服务,例如使用UDP和CoAP的单播和组播消息服务。类似Wi-Fi,Thread关注消息的安全和可靠传输,使用低功耗的网状网络代替高功耗的星状网络。使用Silicon Labs AppBuilder工具,利用易于使用的回调函数(callback)和插件(plug-in)使协议栈层细节不再抽象化,以简化IP消息传输。在框架中开发的应用代码是高度可移植的,并且可以在支持的802.15.4设备之间重用。AppBuilder提供简单的GUI去配置设备和网络参数,例如设备类型、命令、组网和加入行为,以及安全模式和操作。Silicon Labs提供容易定制和扩展的Thread示例应用帮助用户快速启动项目开发。


●网络调试
在为网状网络开发应用时,理解、适配和调整网络层是重要的开发阶段。传统的解决方案使用无线sniffer去远程捕获空中网络传输包。Silicon Labs网络IC在芯片内部集成了这种能力,使用Packet Trace专用的双线接口,输出被设备发送接收的每个数据包以及链路质量信息。这些信息能够通过Desktop Network Analyzer工具收集起来,将完整的网络信息传输可视化。Desktop Network Analyzer通过事件联系所有通信活动并且解码Thread消息。网络活动可以被记录很长时间,从而识别网络中极少发生或间歇性发生的问题。

结论

We are entering a new era of network connectivity. The Internet of Things will vastly surpass the historical connectivity scale of the desktop, laptop and smartphone combination. With an incredible range of applications, small, resource-constrained devices are able to drive this growth. From home automation to building security sensors, from agricultural irrigation to industrial process automation, from healthcare to personal hygiene. This will touch every aspect of our lives and change the way we interact with our surroundings. Most of these devices will be wirelessly connected. Multiple wireless technologies exist to provide IP connectivity, but we believe three solutions will dominate home connectivity, namely Wi-Fi, Bluetooth Smart and the 802.15.4 mesh networking protocol. Thread is the future of mesh networking. It provides secure, reliable and scalable IP-based mesh networking solutions with optimized low-power operation.


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325577924&siteId=291194637