Thread是什么?Thread可以与Wi-Fi、以太网等通信吗?

电子说

1.2w人已加入

描述

01

Thread规范概况

看了下面这张图,便可大概了解Thread是干什么的。图中橙色区域的部分便是Thread所涉及的内容:

UWB

首先,它无关乎底层(物理层和MAC层),用它自己的话说,Thread采用了IEEE这个强大而成熟的标准做基础,而不需要重新发明轮子。其次,它无关乎应用层,Thread是基于 IPv6 的网络层解决方案。任何可以在 IPv6 上运行的低带宽应用层都可以在 Thread 上运行,而且多个应用层可以共享同一个网络。总的说来:

Thread 是一种低功耗无线网状网络协议,基于普遍支持的互联网协议 (IP),采用开放和成熟的标准构建。

Thread 可实现设备到设备和设备到云的通信,可靠地连接数百(或数千)种产品,并包含强制实施的安全功能。

Thread 网络没有单点故障,在添加或移除设备时可自我修复和重新配置,而且设置和使用都很简单。

Thread 基于广泛支持的具有极低功耗和低延迟的IEEE 802.15.4无线标准。

02

Thread与IEEE802.15.4

我们曾在UWB的前世今生(一)中提到过IEEE 802.15.4的标准:2007年,UWB的新标准IEEE 802.15.4a出台,4a标准是在原有的WPAN网络IEEE 802.15.4标准的基础上增加的。那么,802.15.4到底定义了什么呢?

一是用于与固定、便携和移动设备进行低数据速率无线连接,且不需要电池或电池消耗非常有限的物理层(PHY)和媒体访问控制(MAC)层规范;

二是针对超低复杂性、超低成本、超低功耗和低数据速率的廉价设备之间的无线连接,特别是针对物联网(IoT)的通信要求。

三是对于一些备用 PHY 还提供精确到1m的精密测距能力。

四是定义了多种物理层来支持各种频段,如下图所示:从100多MHz一直到10多GHz。

UWB

然而Thread规范使用的是IEEE 802.15.4 在2.4 GHz 频段以 250 kbps 的速率运行的物理和MAC层通信。

IEEE 802.15.4 被用作 Thread 规范的基础,在链路层为单个 Thread 设备之间提供可靠的信息传输。

IEEE 802.15.4 提供载波侦听多路访问-碰撞避免(Carrier Sense Multiple Access – Collision Avoidance:CSMA-CA)机制,允许多个Thread设备在传输前等待畅通信道,从而利用共享的 2.4GHz 带宽。

IEEE 802.15.4 采用链路层确认和重试,实现了单个信息的可靠传输。

此外,还提供加密、验证和重放保护,以确保通信安全。

对于低功耗设备,定义了可以从始终在线的节点提取缓冲信息的机制。

Thread 使用的 IEEE 802.15.4 MAC层信息包括:64 位扩展地址;16 位短地址;能力信息;PAN ID;发送和接收的数据包;发送或接收时丢弃的数据包;安全错误;MAC 重试次数。

03

Thread可以与Wi-Fi、以太网等通信吗?

答案是可以的。我们来看下面这张图是一个Thread在企业网络环境中应用的例子:

UWB

橙色部分以下为Thread网络设备,橙色部分以上为传统的企业设备,例如有Wi-Fi接入设备,有以太网接入设备,等等。很显然,Thread网络设备之间可以互联互通,并且通过橙色实心圆代表的Border Router:边界路由器,可以实现传统网络设备与Thread的通信。在下图的家庭网络中亦是如此。

UWB

所以Thread的规范架构也可以这样来画:

UWB

04

Thread设备类型

Thread的规范中定义了哪些设备类型呢?总的来说包括Full Thread Device(FTD)和Minimal Thread Device(MTD)两大类。FTD是在Thread网络中扮演角色最为多样化的一种设备类型,包括上面提到的边界路由器。而MTD 对设备硬件(如内存大小)和功耗的要求最低。

1. FTD又进一步分为路由功能的FTD和非路由FTD。

路由FTD:路由FTD为试图加入网络的设备提供加入和安全服务。而且路由FTD可以降低功能等级,成为 REED(Router-eligible End Devices:符合路由器条件的终端设备)。而领导者(Leader)FTD是Thread网络中一个路由器的附加角色。一个领导者由路由器选举产生,负责在Thread网络中做出某些决定,如允许 REED 升级为路由器。如果Thread网络的 "领导者 "失效,将动态选择另一个路由器来恢复这一角色。所有路由器都拥有所需的Thread网络数据,可以无缝地担任这一角色。

Border Router:边界路由器,也是一种FTD。是Thread网络的一个关键角色,负责将Thread mesh网络的流量路由到互联网。它提供从Thread网络到其他物理层上的相邻网络(如 Wi-Fi 或以太网)的连接。除此之外,边界路由器还为Thread网络内的设备提供服务,包括网络外操作的路由服务。一个Thread网络中可能有多个边界路由器。任何Full Thread Device(FTD) 都能提供边界路由器服务,即使该设备在 Thread 网络中不充当路由器也是如此。

非路由FTD:包括REED和FED。REED 有能力成为路由器,但由于网络拓扑结构或条件的原因,并没有充当路由器。Full End Device:(全终端设备:FED)是与 REED 类似的终端设备,但它们不具备成为路由器的能力,因此永远不会成为路由FTD或领导者。

2. MTD又分为最小终端设备(Minimal End Devices:MED)、休眠终端设备 (Sleepy End Device:SED)和同步休眠终端设备(Synchronized Sleepy End Device:SSED)

最小终端设备(MED):只能通过Parent 路由器进行通信,不能为其他设备转发信息。即使在空闲时,MED 也会打开radio。

休眠终端设备 (SED) :只能通过Parent路由器通信,不能为其他设备转发信息。SED 在空闲期间关闭radio,并定期唤醒以与其Parent设备通信。

同步休眠终端设备(SSED):只能通过Parent路由器通信,不能为其他设备转发信息。SSED 在闲置期间关闭radio,并定期唤醒,按预定时间间隔监听Parent设备的信息。

05

Thread与IPv6

前面已经说了,Thread是基于 IPv6 的网络层解决方案。Thread Network 中的设备支持 [RFC4291:https://www.rfc-editor.org/rfc/rfc4291.html] 中指定的 IPv6 寻址架构。如下表所示,Thread Network 默认为每个设备自动配置特定的 IPv6 地址。每个 Thread 设备还可根据应用需要配置其他地址。

UWB

例如在一个智能大厦中,采用Thread网络,由于Thread完全基于 IPv6,它不仅可以利用广泛认可的网络安全机制,还可以无缝集成到现有的楼宇网络基础设施中。传统的自动化系统通常将每个应用都孤立在不同的网络中,与此相反,多个基于不同标准的应用都可以通过 IPv6 实现无缝集成。

此外,Thread 设备使用 [RFC 4944] 和 [RFC 6282] 中定义的 6LoWPAN 标准,通过 IEEE802.15.4 网络传输 IPv6 数据包。

什么是6LoWPAN?

 

6LoWPAN:IPv6 over Low-Power Wireless Personal Area Networks;

 

6LoWPAN这个工作组已完成两份 RFC:"IPv6 over Low-Power 无线个人局域网 (6LoWPAN)和"通过IEEE 802.15.4 网络传输IPv6 数据包"(RFC4949)。该文件定义了 IPv6 与 802.15.4 之间的适配格式。Thread网络内使用报头压缩,传输信息的设备尽可能压缩 IPv6 报头,以尽量减小传输数据包的大小。







审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分