无线网络基础
网络技术的核心就是使网络中的节点设备能都互通互联,这就意味着要解决两个问题:
1. 网络中的节点之间如何通信
2. 网络中的节点之间怎么建立链路
无线网络和有线网络的拓扑结构有很大的不同。有线网络的拓扑结构跟节点之间连接的电缆有直接关系,如果所有的节点被连接成一个环,网络的拓扑就是相对稳定的环形结构。无线网络
的拓扑结构则会复杂很多,因为所有的节点共享同一无线资源,由于无线信号的碰撞以及节点物理位置的相对变化都会使无线网络的拓扑结构不断变化,很难用模型去描述。
常见的网络拓扑类型有星型、总线型和环型三种,如下图所示:
环型网络,节点仅与自己相邻的节点相连。数据报文可以按照顺时针或者逆时针的方式在在环型网络的节点间进行传递。当收到一个数据报文,节点首先会判断是否是发给自己的,如果是
则接收否则将该报文传递给下一个节点。这种网络类型通常是用电缆连接的有线网络,也可以被想象成特殊的无线网络,网络中节点之间的距离都很远以至于每个节点只能跟相邻的节点才
能直接通信。
总线型网络,所有的节点都共享、抢占同一个通信介质。典型的是采用 CSMA 类型的网络。由于使用同一个传输介质,碰撞和重传随着网络的负荷的增加而增加。对于有线的情况,这样网
络常见是通过以太网集线器相连的计算机组成的局域网。对于无线的情况,就会变得复杂很多,因为无线信道其实就是一个共享的通信介质。尽管无线网络的路由可以按照星型、环型或者其
他的拓扑结构进行处理,但本质上来说往往是总线型的网络。因此在本文中,无线网络的默认的基本拓扑结构是总线型。
星型网络,所有的节点都与一个中心节点进行通信。中心节点负责监听所有节点的数据报文并转发给对应的目的节点。星型网络的在计算机网络中应用十分广泛。对于有线的情况如以太网
交换机连接的局域网,交换机就是中心节点。对于无线的情况如 Wi-Fi 网络,AP 就是中心节点,所有的数据报文都通过 AP 进行路由和转发。但是所有的 Wi-Fi 设备与 AP 通信必须抢占
同一个无线资源,用的却是总线型网络的协议 CSMA。
Mesh 网络,增加了节点间的互连性,节点之间连接路径很多,网络的拓扑结构不同于之前的定义的三种情况。对于全连接的 Mesh 网络,每两个节点都能直接相连。对于部分 Mesh 网络,
一些节点与其它所有的节点相连,但是另外一些节点可能只和部分节点相连。下图是全连接Mesh 网络的示意图,图中一共有 5 个节点,每个节点都能与其它节点直接相连。
全连接的网络往往很难实现,除非网络的规模非常小。全连接的网络随着节点数目的增加很快变得非常复杂。对于有线方式的 Mesh 网络,由于节点之间的连接电缆的数目非常多而复杂,
因此几乎没有实际应用。实际中,一个 Mesh 网络中只有部分节点具有路由的功能,其它的节点作为终端不具备路由的能力。下图给出了三种不同的 Mesh 网络的实例,绿色的节点是终端,
黄色的节点是路由器,紫色的节点是协调器用来将节点加入网络或者移除网络。
星型结构的 Mesh 网络仅有一个路由器和多个终端组成。分类树 Mesh 网络中由多个能够相互连接的路由器和挂接在每个路由器下的终端组成。Peer-to-Peer Mesh 网络是完全对等的网络,所有的节点都有路由和终端的功能。有线网络几乎完全不可能是 Mesh 网络拓扑,而无线网络则很可能是 Mesh 网络拓扑。相对于有线网络,无线网络有两个重要不同点:
- 由于无线信号的传播性质,无线网络把节点之间的多连接变成现实。而在有线网络里由于成本太高或者不容易布线等因素,把网络中每两个节点都用电缆相连几乎是不可能的。
- 无线网络节点之间的无线链路往往受到噪声、干扰的影响,相对于有线网络,无线链路具有不可预知性和不确定性
正是因为无线信道给了我们更多的自由度以及无线链路的不确定性才导致需要一种拓扑结构复杂、连接链路众多的无线网络 – Mesh 网络。无线 Mesh 网络需要解决的一些难题:
- 无线链路的访问 – 既然所有的节点都共享同一无线链路资源,对链路的监听比发送更重要。如果有两个以上的节点同时在发送就会产生报文碰撞,导致没有节点都能正确接收。因此,无线 Mesh 网络节点的链路层必须有很好的碰撞避免机制。
- 路由的发现 – 由于无线环境和网络的拓扑在不停的变化,因此选择无线 Mesh 网络中节点间的路径变得非常困难。通常的做法有两个:提前选择好整条路径;或者每前进一步都重新选择下一步的路由。通常是这两个做法相结合,首先是每一步都选择路由,在整条路径建立完毕,就可以按照建立好的路径进行传输数据。
- 应对环境的变化 – 在无线特别是移动的环境中,节点间的无线链路可能不断的消失或者重新出现。无线 Mesh 网络需要大量的路由的维护工作。
- 低功耗 – 由于采用无线的方式,节点往往没有电源线,只能采用电池供电,因此需要有效的措施降低功耗。通常采用的电源管理的方法是在节点不工作的时候进入睡眠或者待机状态。这个方式听起来很好,但是节点在睡眠的时候无法接收也无法发送,需要解决节点睡醒的时间同步等问题
比较准则我们从可靠性、可裁剪性、吞吐量、功耗、安全性、以及成本去比较目前业内几种不同的Mesh 网络的综合性能。
可靠性 – 报文能够在规定时间内到达目的节点的概率。如果,所有的报文都能在规定的时间内到达目的节点,则是非常可靠的网络。在实时性的要求不苛刻的情况下,报文能否到达目的节点可以作为可靠性的度量依据。下面列出了评估无线 mesh 网络的几个因素:
- 频率灵活度 – 对网络周围潜在的频率干扰的检测和避免的能力。
- 报文丢失 – 报文在节点之间向前传递的过程中是否会有丢失的可能。网络可以通过重建路由选择别的路径的方式去尽可能的避免报文的丢失,并且能够丢弃通过不同路径接收到的重复报文。
- 自愈性 – 用来描述网络根据节点的位置变化和无线信道的不稳定因素去动态改变路由的能力,在路由变化同时能够防止报文的丢失。
- 节点故障 – 网络中的一些节点出现故障会对网络造成怎么样的影响,怎样去恢复网络的功能。
功耗 – 无线传感网络会经常被客户问到的一个问题就是用设备用电池供电能够工作多久?设备的功耗越低,系统的维护成本也就越低。Mesh 网络中的设备类型可能有三种:终端、路由器和协调器,设备的类型不同对功耗的要求也有所不同。一般来说会要求终端设备有最低的低功耗,这是因为这些设备最有可能远离市电。其次是路由器,对于采用电池供电或者能休眠的路由器来说会增加网络拓扑的不确定性。对功耗要求最低的是协调器,这些设备通常采用固定电源而不是电池供电。对于能休眠的节点需要计算平均功耗,需要关注醒来的频率和醒来的时间,以及射频发射的时间和接受的时间。因为,设备在射频发射时往往消耗的功耗最大,因此有效降低射频发射时间至关重要。
可裁剪性 – 能有效支持多大规模的网络。几乎业内流行的 mesh 网络技术都支持上万节点的网络,也有例外如 Z-Wave 仅支持 232 个节点。但实际应用中的网络规模要小的多,这是因为网络的规模跟实际应用和网络的稳定性有很大的关系。如果一张 mesh 网络不会遇到路由失效的问题,路由表项不需要去维护而且很有效率,也几乎不会发生错误重传的问题,这样的稳定网络规模可以很大。可裁剪性还需要依赖网络传输的数据类型和数据量,可以分为 3 种数据类型:少量数据、突发数据和流数据。少量数据是指周期很长、数据量不大的周期性数据。流数据是指不间断的固定流量的数据。如果 mesh 网络仅传输少量数据那么网络规模可以很大,而且对于节点能够休眠的网络也很容易处理。但是对于需要传输流数据的 mesh 网络,网络规模相对要小而且很难对节点的应用休眠机制。
吞吐量 – 这里不去考虑网络裁剪性等特性,仅考虑网络的处理数据的能力。对于不同的应用需求其衡量标准也有所不同。例如对于实时、大数据量的应用和允许非实时、小数据量的应用的
衡量标准应该有所不同。网络的吞吐量需要在 5 个方面进行折中考虑:数据速率、延时、包大小、分片机制和网络规模。
安全性 – 我们更多的考虑应用中的实际威胁,然而安全性更容易用一些传统的参数去评估。首先是加密,用来保护信息本身,现在流行的加密算法是密匙最小长度为 128-bit 的 AES128。然后是认证,怎么去验证伪造的节点,典型的手段是通过密钥的交换和数字证书。最后是授权,就是通过密钥和数字证书的认证的结果决定是否给予权限。另外,还有其它与认证和授权相关的参数。
成本 – 成本包括几个方面:设备成本、安装成本和整个网络的运营、维护成本。其中维护成本很难去衡量,最容易衡量的是每个节点设备的购买价格。对于支持休眠采用电池供电的设备来说,情况会有些复杂。比如,有些 Mesh 网络不支持路由器休眠仅支持终端休眠,需要通过部署不能休眠的路由器等设备来支持终端设备的休眠;另外一些 Mesh 网络的终端具备路由的功能而且能够睡眠。即使所有终端、路由器等设备的价格相同,不支持路由器休眠的网络所需的设备数量要远大于支持路由器休眠的网络。因此,整个网络的设备成本不能单看每个终端设备的成本。
几种 Mesh 网络简介点对多点其实是一个简单的星型网络而不是一个真正的 Mesh 网络,但经常被看作最简单的 mesh 网络。这种网络的空口调制方式常见是跳频扩频和直接序列扩频方式如 802.15.4。需要指定网络的PAN ID、路由和安全策略。终端节点都和中心路由节点进行通信,终端节点之间不直接通信。终端节点可以睡眠而中心路由节点不能睡眠。典型的网络结构如下图所示,所有的节点都在相同的物理信道或者相同的跳频信道。网络的带宽和吞吐量的瓶颈在于中心节点的并发能力。对于大数据量或者节点数目很多的网络,空口报文碰撞会很显著,需要采用一定的分时、轮询的机制来避免碰撞的发生。
优点:最大的点对多点的网络是简单。由于没有多跳和中级的问题,空口报文碰撞避免也可以用很多的方法解决,因此网络传输的相对确定性好。由于没有路由发现和路由的维护开销,物理带宽可以达到很高的利用率。理解和管理起来很容易。对于特定的应用,由于协议很简单,设备成本很低。
缺点:网络的覆盖范围十分有限,网络的规模小。网络的抗干扰能力和自愈能力差。如果某个终端节点受到遮挡或者受到外界干扰不在中心路由节点有效空口覆盖范围之内,网络没有办法通过寻找新的路由等方式进行自我修复。
ZigBee 2007ZigBee 的物理层和链路层是基于 802.15.4 标准,用的是 2.4GHz 的 DSSS 调试方式。网络有3 种设备组成:可以休眠的终端、不能休眠的路由器以及一个用于启动和控制网络的协调器组成。ZigBee 标准有三个不同的版本:2004,2006 和 2007。其中 ZigBee 2004 不再使用,并且 ZigBee 2006 有很多的局限性。ZigBee 2007 引入了很多关键特性如:频率跳变、消息分片、密钥的管理等。网络的路由结构是之前提到的分簇树型,路由的发现和维护工作由每簇的簇头节点(路由器)来实现。终端节点之间不能直接通信,必须通过路由器中转。网络的路由维护开销小,但是网络中需要大量的路由器。在路由器之间建立路由,路由协议采用 AODV 算法。ZigBee 网络由三种典型的设备组成。每个网络需要一个 ZigBee 协调器(ZC – ZigbeeCoordinator)用来初始化整张网络。网络初始化完毕之后,协调器就转变一个路由器。
ZigBee 路由器(ZR – ZigBee Router)是网络的可选组件,没有路由器的 ZigBee 网络就完全变成之前提到的点对多点的网络。路由器负责路由维护和数据报文的转发工作。
最后是ZigBee 终端(ZED – ZigBee End Device),终端不参与路由不负责报文转发,没有任何的组网责任。ZigBee 网络的组网示意图如下:
优点:由于终端节点没有任何的组网责任,功耗可以很低。分簇树型的网络结构的大大节点间路由的数量,因此路由的效率很高。ZigBee 2007 允许按照一定的跳频规则,在需要的时候能够从有干扰的信道切换到别的信道。由于支持报文的分片,因此能够传输长度很长的数据报文。支持分布式的密匙,网络的安全性很好。最后,网络的规模可以很大。
缺点:网络中的路由器和协调器不能休眠,功耗是一个很大的问题。由于采用的是簇树型的网络结构,如果网络拓扑结构发生改变,就会影响很多节点间的通信链路,新路由的发现和维护期间网络几乎瘫痪。由于节点间的路由链路利用率不高,网络的吞吐量不高,大数据量时报文的碰撞明显,会有潜在的数据的丢失。最后,协调器需要启动和管理整个网络,如果协调器不能工作,则就不能增加新的节点甚至网络瘫痪。
Wireless HART
Wireless HART 是由 Dust Networks 创建的采用时间同步的 Mesh 网络协议(TSMP – TimeSynchronized Mesh Protocol)。与其它的网络协议不同,该系统基于时间片链路层采用时
分的方式。整个网络的所有节点都是路由器并且所有节点都能睡眠,是一个低功耗的网络。节点的睡醒机制需要在时间片上严格同步,网络需要一个网关来负责整个网络的时间同步。和
ZigBee 一样,该协议基于 802.15.4 DSSS,但是增加了一个更精确的跳频算法。安全策略包括加密和授权。
下图是 Wireless HART 网络的典型的网络拓扑结构,所有的节点都是路由器。路由根据在不同时间片内和不同的跳频信道能看到的不同节点动态改变。两个节点之间会动态协商一个时间片
进行通信,因此就会降低报文碰撞的可能性。当节点睡眠的时候,会在属于自己的时间片内醒来去监听有没有传输的任务。节点的时钟由网关保持同步。
优点:每个节点都有路由的能力而且功耗非常低,大部分时间都处在监听状态。报文的传输都在分配好的时间片内完成,采用跳频技术降低了冲突的发生,因此会大大降低报文的碰撞和重传。每个消息都有 ACK,通讯的可靠性高。网络的规模可以达到 1000 个节点左右。安全策略包括加密和授权。
缺点:由于采用时间分片的方式,传输延时很长和确定性。需要很长的时间进行网络的初始化,所有的节点都必须协商自己的时间片。由于划分了时间片,可用的 802.15.4 的物理带宽被切分,因此网络的吞吐量很低,尤其在网络中有突发数据流量的情况下。一个上电的网关必须要时刻都能正常工作,如果网关不能工作那么整个网络在一个时间片周期之后便会瘫痪。最后,和其它的 Mesh 网络相比设备成本非常昂贵。
6LoWPAN
6LoWPAN 是低功耗无线个人局域网的 IPv6 版本的缩写。目前这只是一个基于 IETF RCF4944 的提案,也是基于 802.15.4 的芯片和射频。和传统的 IPv6 不同,6LoWPAN 的最大传输报文大小只有 128 字节而不是 IPv6 标准的 1280 字节,以便能用在内存有限的低廉设备中。到今天为止,还只是一个点对多点的系统,但基于 Mesh 路由的草案正在讨论之中。
下图是 6LoWPAN 组网的拓扑图,这样到现在为止还是点对多点的结构。与别的网络拓扑图不同,这张图显示的是从宿主计算机到终端设备的端到端的基于 IP 的连接。终端设备的 IP 地址由网络远端的宿主计算机分配。图中终端设备的网关提供在数据链路层的协议转换和报文的拆装。
优点:可以支持现有的广泛流行的 TCP/IP 协议,能够利用 IETF 现有的协议组、QoS 和网络安全相关的架构。因此,能够无缝地路由 Internet IP 报文。缺点:系统非常新目前只是一个草案。因为目前还在公众评审阶段,将来可能会有很多的变化。事实上,Mesh 路由工作组目前正处在组建阶段,因此该协议被广泛应用前还有很长一段路要走。因此,能与 Internet 互联目前只是个构思,还没有证明其可能性。由于该协议还不成熟,目前还没有相关的产品问世,估计产品的价格不会便宜。
DigiMesh和 Wireless HART 很相似,DigiMesh 也是为低功耗的传感器网络所设计的,每个节点都具备路由功能且都可以用电池供电。DigiMesh 可以工作在多个频段如 2.4GHz DSSS 和 900MHzFHSS。该协议在 2.4GHz DSSS 频段工作时并不完全遵循 802.15.4 的物理层和数据链路层的标准。路由协议采用类似 AODV 算法,路由表在需要时才被建立,网络的拓扑结构是 Peerto-Peer mesh 而不是 ZigBee 网络的分簇树结构。所有的节点的地位都是平等的,每个节点都可以具备路由的能力并且都可以睡眠。碰撞避免采用的是时间同步的 CSMA 算法。有安全策略。DigiMesh 的网络拓扑结构如下图所示,为典型的 Ad Hoc 网络结构。DigiMesh 的路由只有在需要时才去建立,而不像 ZigBee 网络中的路由器之间的路由是时刻被维护的。DigiMesh网络中不是使用的路由不会占据路由表项,路由在每次使用时都会进行更新。DigiMesh 为了支持休眠节点之间的睡醒时间片必须进行同步,节点间的时间同步有专门的节点向全网广播同步报文来实现。为了实现自治的目的,负责时间同步的节点并不是协调器或者网关来完成,由提名机制在网络节点中选举产生。
优点:每个节点都具备路由能力并且都可以休眠。每个报文的转发都采用 ACK 应答的方式保证系统的可靠性。路由仅在需要时才去建立,因此系统不会被没有必要的路由发现工作占据太多的带宽。支持频率的跳变和安全机制加密和鉴权。支持报文分片。
缺点:低功耗就意味着响应时间慢和不确定性。虽然系统的瞬时吞吐量不受时间片的限制,但是会影响路由的发现。网络规模最多能支持 500 个节点左右的网络,对于传输的数据量小数据流变化小的网络支持的规模会大一些。
Z-WaveZ-Wave 是针对家居自动化应用定制的 Mesh 网络协议,射频采用 FSK 调制方式,波特率为9.6Kbps 或者 40kbps,发射功率最大为 0dBm,工作频率为 868.42MHz 或 908.42MHz,链路层有碰撞避免机制。Z-Wave 网络节点数目最多为 232 个,每个控制节点都有唯一的 4 字节网络地址,Z-Wave 网络会为每个组网设备动态分配 1 字节的节点地址。设备类型大致分为控制节点和受控节点两种,支持休眠节点和可移动节点。对休眠的支持采用异步模式,节点间不需要同步时间片。支持单播、多播和广播,其中单播是可靠的而多播和广播是不可靠的。Z-Wave 网络拓下图所示的 Ad Hoc 网络。Z-Wave 网络中控制节点拥有全网的拓扑结构并计算路由,受控节点不能自己计算路由但具有报文转发的能力。Z-Wave 采用“源路由”的路由方式,控制节点在发送命令时根据全网路由表计算出一条最佳路径,并将路由信息内嵌在命令报文中一起发送。Z-Wave 网路有可以有多个控制节点但只能有一个主控节点,只有主控节点有添加和删除网络设备、分配网络地址的权利。
优点:每个节点有转发功能,支持休眠和移动的控制节点。报文的转发采用 ACK 应答的方式保证系统的可靠性。休眠为异步模式,休眠节点不需要进行时间片同步。缺点:网络规模很小,最大支持 232 个节点的网络。应用领域狭窄,主要针对家居自动化应用,报文长度很短用来发送命令信息。工作方式简单,控制节点和受控节点之间主要以应答模式为主。网络需要一个主控节点作为网络的中心节点,负责网络节点的地址分配和网络拓扑结构。如果主控节点不能工作,网络就会瘫痪需要重新初始化网络才能正常工作,而网络初始化需要相当长时间。另外虽然支持可移动的控制节点,这里移动其实是便携的意思与移动自组网是完全不同的概念。
WaveMeshWaveMesh 是为低功耗、低成本的 MANET(Mobile Ad-Hoc Network 移动自组网络)所设计的 Peer-to-Peer Mesh 网络协议。与其它的 Mesh 网络协议不同,WaveMesh 是唯一能够有效支持节点快速移动的网络,数据流能够在节点移动过程中无缝地在不同的路径之间切换。WaveMesh 物理层可以采用不同调制方式和不同频段,链路层采用先进的碰撞避免算法,能够自动信道跳变和速率自适应,网络层采用私有路由协议 OLDM(On-demand Light-weightDynamic Multipath)。WaveMesh 是一个完全分布式的网络,所有节点的地位都是平等的,没有中心节点,所有节点都够休眠,都具备路由能力。WaveMesh 网络拓扑结构如下图所示,路由协议 OLDM 是多径路由协议,每个节点都会维护到其它节点尽可能多的路由,网络节点间的路由数量要远远大于其它的 Mesh 网络。节点能够实时感知拓扑结构的变化,在现有路由失效之前主动发现的新路由,能够支持快速移动的网络。对休眠的支持有两种模式:同步模式和异步模式,两种模式可以灵活切换以适应不同的应用需求。支持上万节点的超大规模网络,不需要网络初始化过程,即插即用。网络层和物理层有智能的并行机制,网络吞吐量比其它网络高很多倍。支持单播、多播和广播,其中单播是可靠的而多播和广播是不可靠的。
优点:支持快速移动的网络,完全分布式的 Mesh 网络,每个节点都具备路由能力并且都可以休眠。节点能感知网络拓扑结构并计算路由,采用私有的 OLDM 多径路由协议和并行机制保证了路由的健壮性和高吞吐量。报文的转发采用 ACK 应答的方式保证了可靠性。组网速度快,不需要进行网络初始化,网络规模大,支持频率跳变、速率自适应和安全机制。休眠节点可以工作在同步模式或者异步模式,并且在两种模式下灵活转换,采用特有的 MAC 层全网唤醒技术进行时间片的同步。另外产品价格低廉、应用领域非常广泛。
缺点:低功耗就意味着响应时间慢和不确定性。
节点休眠技术简介一些应用要求无线 Mesh 网络节点使用电池供电能正常工作很多年,对节点的功耗要求十分苛刻。上述的 Wireless HART、DigiMesh 和 WaveMesh 网络全部节点都可以休眠并且都具备路由功能。Z-wave 网络也能支持部分节点休眠并且具有报文转发能力。ZigBee 网络的终端节点也具备休眠的能力但不具备报文转发和路由的能力。在这里对不同的 Mesh 网络所采用的休眠技术进行简单介绍。ZigBee 2007终端设备是 ZigBee 网络中唯一能都休眠的设备,由于终端设备在休眠的时候不能接收到无线信号,因此需要路由器或者协调器为终端设备缓存数据报文。当终端设备加入网络时,必须要选择一个路由器或者协调器作为父节点组成父子关系。当终端设备醒来时会主动向自己的父节点询问是否缓存了属于自己的数据报文,父节点在收到请求后会向终端节点返回 MAC 层的ACK 报文告诉终端是否有缓存报文。当终端节点被告知没有缓存的数据报文时,终端可以再次进入休眠或者待机模式。如果有缓存的数据报文,则终端继续处于工作模式接收和处理属于自己的报文。这种终端轮训的机制可以使终端在没有数据传输的情况下有效地减少功耗。终端设备只能与自己的父节点进行通信,无论是单播还是广播报文终端都转发给其父节点,有父节点代表终端进行路由查找和报文的转发。由于父节点的内存空间有限,缓存报文和路由信息很有可能会耗尽父节点的内存。ZigBee 引入超时机制,如果超时发生父节点会删除缓存的报文甚至删除与子节点的父子关系,不同类型的报文可以有不同的超时时间。从这个角度来看,ZigBee 协议的 MAC 层并不能保证可靠性。
ZIGBEE 3.0
特性:
- 支持多种网络拓扑,比如点对点,点对多点,自组网;
- 低工作占空比能力,提供长电池供电的可能;
- 低延迟;
- 采用DSSS扩频技术;
- 每个网络最高可支持65,000节点
- 128-bit AES 加密
- 碰撞避免,重试和应答确认
ZigBee标准体系内各种标准的统一,拉开了ZigBee联盟统一ZigBee标准的序幕。简单说,ZigBee联盟将不再针对家庭自动化、智能建筑、能源管理等细分领域,在ZigBee标准的基础上发展不同的标准,而是全部统一为ZigBee3.0,如此以来,为基于ZigBee标准的家庭自动化、智能照明等设备互联互通奠定基础。
一是网络层的标准化,基于IEEE 802.15.4标准,工作频率为2.4 GHz(全球通用频率),使用ZigBee PRO网络;二是应用层的标准化,定义网络和设备运行之间的一切连接方式,使不同供应商的设备可以无缝协作。
ZigBee 3.0软件栈集成了一个“基础设备”,它为配置节点加入到网络提供一致的行为。它提供了一套通用的配置方法,包括Touchlink,一种通过邻近节点的配置入网的方法。
ZigBee 3.0增强了网络的安全特性,有两种安全的方法来生成网络: 集中式安全入网//p1.toutiaoimg.com/large/2e957000930f08e8ba7ce" web_uri="2e957000930f08e8ba7ce" img_width="809" img_height="303" fold="0" onerror="javascript//p1.toutiaoimg.com/large/2e95a0009355348a82010" web_uri="2e95a0009355348a82010" img_width="477" img_height="260" fold="0" onerror="javascriptregistered//www.cnblogs.com/leime/p/9435239.html)
其本质协议还是WirelessHart技术。
SmartMesh IP 网络拓扑结构
SmartMesh IP 网络由高度可扩展的自成形多跃点无线节点网格和网络管理器构成,无线节点称为智能微尘,用于收集和中继数据;网络管理器用于监控和管理网络性能和安全,并与主机应用程序交换数据。
图4 网络拓扑结构
除了常见的“网格模式”外,SmartMesh IP 还支持一种称为闪烁模式的超低功耗漫游节点功能。
SmartMesh IP 智能微尘
SmartMesh IP 智能微尘是 SmartMesh IP 网络中的无线节点。它们连接到传感器/致动器并路由来自其他智能微尘的数据,同时保持低功耗。
每个智能微尘都可以发送和接收消息(支持双向数据)。每个智能微尘可以有不同的数据报告速率,网络管理器会自动协调各个成对通信以便高效地路由流量。
每个智能微尘可以有不同的供电能力(例如线路电源、电池电源或能量收集电源)。网络管理器会相应地对流量进行负载平衡以便将时间延长至网络的第一次电池更换。
SmartMesh IP 网络管理器
SmartMesh IP 网络管理器针对网状网络执行两种主要功能。首先,它们充当接入点微尘,将无线网状网络连接到客户主机应用。其次,网络管理器运行复杂的网络管理算法以保持网络的性能。
SmartMesh IP 网络管理器具有两种版本:EManager(支持多达 100 个智能微尘,可以运行于嵌入式设备上)、VManager(支持多达 50,000 个智能微尘,运行于 x86 虚拟机 (VM) 上运行)
蓝牙Mesh
蓝牙mesh并非无线通信技术,而是一种网络技术。蓝牙mesh网络依赖于低功耗蓝牙。低功耗蓝牙技术是蓝牙mesh使用的无线通信协议栈。
蓝牙Mesh采用ble低功耗蓝牙广播的方式就行信息发送和接受,将信息从网络当中的某一个节点转发至目的节点,在蓝牙mesh组网中,这种广播模式也称为网络泛洪。
采用网络泛洪的方式,通过可控的泛洪消息传递,不需要创建和管理复杂的路由表、路由发现表等,节省了维护网络运行的存储器空间的开销。同时,网络泛洪消息传播的本质是多路径(Multi path)的,确保了信息可以通过多条路径传递到目的节点,因此网络中任何一个单点的故障也不会对网络传输造成致命性的影响,这使得网络高度可靠。
特点
- 单播、组播和广播:蓝牙网状网络支持单播、广播和组播,以支持单一节点、组或整个网络的通讯需要;
- 多路径:蓝牙网状网络通过继电功能来发送有管理广播信息,以提供多路径传送消息管理信息泛滥的问题;
- 消息存活时间(TTL):TTL用于所有蓝牙网状网络消息,以控制消息将被中继时的弹跳(hop)数;
- 消息缓存:消息缓存由所有节点执行,用于防止最新接收的消息再次被传输;
- 中继具选择功能:不是所有的节点都需要执行中继功能。
网络拓扑
中继功能:可中继信息,扩展蓝牙网状网络的范围和规模,属于选项功能
低功耗功能:休眠和轮询(polling)朋友节点讯息,轮询间隔时间可从毫秒到4天
朋友功能:可执行消息缓存(cache)的附加功能,以支持低功耗节点
代理功能:可启用蓝牙网状网络和GATT设备之间的讯息代理功能
低功耗节点和Friend节点
在蓝牙Mesh网络中,低功耗节点可以通过减少射频收发机(RF transceiver)开启的占空比来达到低功耗的目的,这些低功耗节点只有在需要进行消息收发的时候才会打开射频收发器,其他时间都处于休眠状态。
在蓝牙Mesh网络中还有一类节点是专门为低功耗节点服务的,其具有Friend特性,也可以称为Friend节点。Friend节点与低功耗节点可以建立Friendship关系。建立此种关系之后,Friend节点可以暂存发往低功耗节点的信息,待低功耗节点退出休眠模式之后,再从Friend节点取回相关信息。
在实际应用中,Friend节点可以是灯泡、机顶盒、路由器,这些设备都是通过市电供电的,对于功耗不是很敏感;低功耗节点可以是由电池供电的设备,如传感器等。
基于低功耗蓝牙mesh模块SKB369,功耗极低!
Thread 协议
现在,三星、Nest、ARM又联手推出了一种新的协议Thread。不知道Thread会加速行业统一标准形成,还是让原本已经够乱的通信协议更加“剪不断、理还乱”。
现在比较常用的网络协议有WiFi、蓝牙、ZigBee、Z-Wave,不过都有不足:
- WiFi的功耗比较大,适合传输大量的数据;
- 蓝牙功耗比较低,但现在还存在蓝牙2.0与蓝牙4.0并存的混乱局面,且不支持IPv6(蓝牙版本4.1以下);
- ZigBee布线比较复杂,更适合商用;
- Z-Wave由丹麦公司Zensys主导,暂时还没有ZigBee联盟强大。
不少大公司都在呼吁、倡导建立一个新的或者统一的新标准,这其中就包括了半导体生产商Freescale(飞思卡尔)、混合信号器生产商 Silicon Labs。
这次三星、ARM、Nest三家公司,强强联手,推出Thread,改进了上述协议中的不足,通过6LoWPAN技术支持 IPv6 。Thread可支持250个以上设备同时联网,能够覆盖到家中所有的灯泡、开关、传感器和智能设备。优化了功耗,超低能耗,设备可以运行数年。此外,Thread是基于ZigBee的,也就是说原有的ZigBee设备只需更新软件即可兼容Thread。综合来看,Thread很可能像Homekit、高通的 开源框架AllJoyn一样,是一种在顶层工作的顶层架构。
比较结果采用在本文之前描述的比较准则对几种不同 mesh 网络做出尽可能准确的比较结果。
比较范畴 点对多点ZigBee 2007 Pro(1.0协议)Zigbee 2016 (3.0协议)Wireless HART6LoWPANDigiMeshZ-WaveWaveMeshSmartMesh IP蓝牙MeshThread可靠性-跳频机制-丢包率-自适应性★★★★★ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★电源管理-休眠策略-节点功耗★★★★ ★★★N/A★★★★★★★★★★★★★★★★★★可裁剪性-网络规模-路由开销-覆盖范围★★★★★ ★★★N/A★★★★★★★★★★★★★★★★★★吞吐量-数据速率-并行机制-延时★★★★★★ ★N/A★★★★★★★★★★★★★★安全-加密-认证-授权★★★★★★★ ★★★★★★★★★★★★★★★★★★★★★★★★★★★成本-芯片成本-维护成本★★★★★★★ ★★★★★★★★★★★★★★★★★★★★
最终选择比较
对于可靠性来说,点对多点和 Z-Wave 系统的弱点来自于中心节点,中心节点坏掉整个网络瘫痪。有些系统定义了频率跳变,在 ZigBee 2007 之前的版本没有频率跳表机制,在 2007 版本引入了频率跳变和报文分片机制。对于 Wireless HART 和 WaveMesh 网络从设计的角度来说,网络不会丢弃任何报文,因此可靠性比较高。而 ZigBee 和 DigiMesh 网络的报文有被丢弃的可能。对 6LoWPAN 可靠性的评估是基于现有的 TCP/IP 协议族。对于电源管理能力,Wireless HART、DigiMesh 和 WaveMesh 都能支持全部节点包括路由节点在内都能进行休眠,相比较之下 WaveMesh 的休眠技术比较灵活。ZigBee 和 Z-Wave只能支持部分节点休眠:ZigBee 的终端设备可以休眠;Z-Wave 网络中传感器类设备可以休眠。对点对多点系统的评估参考了 Wi-Fi 和 Bluetooth 网络的电池的续航能力。
可裁剪性主要评估网络能支持多大的规模而且还能够有效低工作。ZigBee 2007 Pro 的分类树网络拓扑可以支持几万节点规模的网络,路由仅在路由器之间建立,路由的维护开销小。WaveMesh 采用完全分布式的 peer-to-peer Mesh 拓扑结构可以支持几万点的网络规模,并且采用私有 OLDM 路由协议,路由开销很小。对于 Wireless HART 和 DigiMesh 网络可以支持几百点的规模,网络规模再变大网络性能就会迅速降低。Z-Wave 只能支持最多 232 节点的网络规模。点与多点网路显然在这方面是最差的,所有节点必须在中心节点的无线信号覆盖范围之内。
吞吐量用来评估网络处理数据的能力。点对多点的系统网络拓扑十分简单,具有确定的时延和高吞吐量。WaveMesh 网络在物理层和网络层有高度并行的机制,吞吐量比其它的 Mesh 网络高出很多倍甚至远远大于点对多点网络。WaveMesh 网络支持节点休眠,尽管休眠在一定程度上带会来延时,但有特殊的全网唤醒机制能在必要时可以在很短时间内唤醒全网。Wireless HART、DigiMesh 和 Z-Wave 系统为了支持节点休眠却牺牲了网络的吞吐量并且增加了传输时延。对于 ZigBee 来说由于路由器不能休眠,路由器之间的链路相对稳定减少了系统的处理延时,但是 ZigBee 分簇树状网络拓扑结构路由器之间物理带宽要在很多终端节点间共享,这就大大降低了网络的吞吐量。对于安全性,上述的几种 mesh 网络都是加密、认证和授权机制,基于 AES-128bits 的加密算法。ZigBee 和 6LoWPAN 系统的安全性比较灵活、协议详细并且易于实现。对于成本,主要从硬件成本如芯片的价格和软件成本如开发和维护费用两个角度来考虑。点对多点和 WaveMesh 系统芯片选择非常灵活,市场上的芯片资源比较丰富;另外这两个系统的软件实现也相对简单一些,维护成本也最低。ZigBee、DigiMesh 和 Z-Wave 协议规定了物理层需要选择特定的芯片,成本稍高一些。而 Wireless HART 的芯片供货商少,其价格是别的网络的 10 倍左右。对 6LoWPAN 成本估计主要根据 TCP/IP 协议栈的复杂度对内存容量和处理器能力的要求等。
总结我们介绍了几种不同拓扑结构的无线网络基础并给出 Mesh 网络的评估方法,之后就几种不同的 Mesh 网络做了介绍,并根据我们给出评估方法对这几种 Mesh 网络进行了比较客观的比较。由于很难有统一的尺度去衡量不同的 Mesh 网络,不同的网络也有自己独特的优势。实际应用中只能根据自己的实际需要多种因素综合考虑,选择能满足需要的最佳网络。不能否认,在不同的评估准则之间会有一个灰色地带,比如功耗、可靠性和吞吐量之间的权衡。随着市场和技术的发展,将来的比较结果可能会和本文中现在所得出的比较结果迥然不同。