引言
在过去的几年里,Mesh 网络逐渐变得流行,随之会有愈来愈多的无线产品面世。Mesh 网络
技术做为一种无线自组网技术是物联网的核心技术。物联网的概念如今也逐渐贴近人们的生活,
据预测 2011 年物联网相关产品的市场将突破兆亿美元。正如 3G 移动通信有不一样标准同样,
Mesh 网络技术也有不少的协议标准。本文介绍了不一样的 Mesh 网络,并对不一样的技术进行比
较。首先,简要介绍了无线网络技术的基础;而后,阐述了对不一样的 Mesh 网络的评价标准;
以后,对几种不一样的 Mesh 网络相关技术进行了介绍包括主要特性、网络架构以及优点和劣势;
最后,把全部的比较信息进行融合,给出了这几种不一样 Mesh 网络的评价结果和适合应用的领
域。
无线网络基础
网络技术的核心就是使网络中的节点设备能都互通互联,这就意味着要解决两个问题:
1. 网络中的节点之间如何通讯
2. 网络中的节点之间怎么创建链路
无线网络和有线网络的拓扑结构有很大的不一样。有线网络的拓扑结构跟节点之间链接的电缆有
直接关系,若是全部的节点被链接成一个环,网络的拓扑就是相对稳定的环形结构。无线网络
的拓扑结构则会复杂不少,由于全部的节点共享同一无线资源,因为无线信号的碰撞以及节点
物理位置的相对变化都会使无线网络的拓扑结构不断变化,很难用模型去描述。
常见的网络拓扑类型有星型、总线型和环型三种,以下图所示:
环型网络,节点仅与本身相邻的节点相连。数据报文能够按照顺时针或者逆时针的方式在在环
型网络的节点间进行传递。当收到一个数据报文,节点首先会判断是不是发给本身的,若是是
则接收不然将该报文传递给下一个节点。这种网络类型一般是用电缆链接的有线网络,也能够
被想象成特殊的无线网络,网络中节点之间的距离都很远以致于每一个节点只能跟相邻的节点才
能直接通讯。
总线型网络,全部的节点都共享、抢占同一个通讯介质。典型的是采用 CSMA 类型的网络。由
于使用同一个传输介质,碰撞和重传随着网络的负荷的增长而增长。对于有线的状况,这样网
络常见是经过以太网集线器相连的计算机组成的局域网。对于无线的状况,就会变得复杂不少,
由于无线信道其实就是一个共享的通讯介质。尽管无线网络的路由能够按照星型、环型或者其
他的拓扑结构进行处理,但本质上来讲每每是总线型的网络。所以在本文中,无线网络的默认
的基本拓扑结构是总线型。
星型网络,全部的节点都与一个中心节点进行通讯。中心节点负责监听全部节点的数据报文并
转发给对应的目的节点。星型网络的在计算机网络中应用十分普遍。对于有线的状况如以太网
交换机链接的局域网,交换机就是中心节点。对于无线的状况如 Wi-Fi 网络,AP 就是中心节
点,全部的数据报文都经过 AP 进行路由和转发。可是全部的 Wi-Fi 设备与 AP 通讯必须抢占
同一个无线资源,用的倒是总线型网络的协议 CSMA。
Mesh 网络,增长了节点间的互连性,节点之间链接路径不少,网络的拓扑结构不一样于以前的
定义的三种状况。对于全链接的 Mesh 网络,每两个节点都能直接相连。对于部分 Mesh 网络,
一些节点与其它全部的节点相连,可是另一些节点可能只和部分节点相连。下图是全链接
Mesh 网络的示意图,图中一共有 5 个节点,每一个节点都能与其它节点直接相连。
全链接的网络每每很难实现,除非网络的规模很是小。全链接的网络随着节点数目的增长很快
变得很是复杂。对于有线方式的 Mesh 网络,因为节点之间的链接电缆的数目很是多而复杂,
所以几乎没有实际应用。实际中,一个 Mesh 网络中只有部分节点具备路由的功能,其它的节
点做为终端不具有路由的能力。下图给出了三种不一样的 Mesh 网络的实例,绿色的节点是终端,
黄色的节点是路由器,紫色的节点是协调器用来将节点加入网络或者移除网络。
星型
结构的 Mesh 网络
仅
有一个路由
器
和多个
终端
组成。
分类树
Mesh 网络中由多个能
够
相互链接的路由
器
和
挂
接在
每
个路由
器下
的
终端
组成。Peer-
t
o-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 2007
ZigBee 的物理层和链路层是基于 802.15.4 标准,用的是 2.4GHz 的 DSSS 调试方式。网络有3 种设备组成:可以休眠的终端、不能休眠的路由器以及一个用于启动和控制网络的协调器组
成。ZigBee 标准有三个不一样的版本:2004,2006 和 2007。其中 ZigBee 2004 不再使用,并且 ZigBee 2006 有不少的局限性。ZigBee 2007 引入了不少关键特性如:频率跳变、消息分
片、密钥的管理等。网络的路由结构是之前提到的分簇树型,路由的发现和维护工做由每簇的簇头节点(路由器)来实现。终端节点之间不能直接通讯,必须经过路由器中转。网络的路由
维护开销小,但是网络中需要大量的路由器。在路由器之间创建路由,路由协议采用 AODV 算法。
ZigBee 网络由三种典型的设备组成。每个网络需要一个 ZigBee 协调器(ZC
–
Zigbee
Coordinator)用来初始化整张网络。网络初始化完毕以后,协调器就转变一个路由器。
ZigBee 路由器(ZR
–
ZigBee Router)是网络的可选组件,没有路由器的 ZigBee 网络就完
全变成之前提到的点对多点的网络。路由器负责路由维护和数据报文的转发工做。
最后是ZigBee 终端(ZED
–
ZigBee End Device),终端不参与路由不负责报文转发,没有任何的组
网
责
任
。ZigBee 网络的组网
示
意
图
如
下
:
优势:因为
终端
节点
没
有
任
何的组网
责
任
,
功耗可
以很
低
。
分
簇
树型
的网络结构的大大节点间路由的
数量
,因
此
路由的
效率
很
高
。ZigBee 2007
容许
按照
必定的
跳
频规
则,在
需
要的
时候
能
够从
有
干扰
的信
道
切
换到别
的信
道
。因为
支持报
文的
分
片
,因
此
能
够传输
长
度
很
长
的
数
据
报
文。
支持分布式
的
密匙
,网络的
安全
性很
好
。最后,网络的
规模可
以很大。
缺
点:网络中的路由
器
和协
调器
不能休眠,
功耗
是一个很大的问题。因为
采
用的是
簇
树型
的网络结构,若是网络拓扑结构
发
生
改
变,就会
影响
不少节点间的通讯链路,
新
路由的
发
现和
维护
期
间网络几
乎
瘫痪
。因为节点间的路由链路
利
用
率
不
高
,网络的
吞吐量
不
高
,大
数
据
量时报
文的碰撞
明显
,会有
潜
在的
数
据的
丢失
。最后,协
调器需
要
启
动和
管
理
整
个网络,若是协
调器
不
能
工
做,则就不能
增长新
的节点
甚
至
网络
瘫痪
。
Wireless HART
Wireless HART 是由 Dust Networks 建立的采用时间同步的 Mesh 网络协议(TSMP – Time
Synchronized Mesh Protocol)。与其它的网络协议不一样,该系统基于时间片链路层采用时
分的方式。整个网络的全部节点都是路由器而且全部节点都能睡眠,是一个低功耗的网络。节
点的睡醒机制须要在时间片上严格同步,网络须要一个网关来负责整个网络的时间同步。和
ZigBee 同样,该协议基于 802.15.4 DSSS,可是增长了一个更精确的跳频算法。安全策略包
括加密和受权。
下图是 Wireless HART 网络的典型的网络拓扑结构,全部的节点都是路由器。路由根据在不一样
时间片内和不一样的跳频信道能看到的不一样节点动态改变。两个节点之间会动态协商一个时间片
进行通讯,所以就会下降报文碰撞的可能性。当节点睡眠的时候,会在属于本身的时间片内醒
来去监听有没有传输的任务。节点的时钟由网关保持同步。
优势:
每
个节点都有路由的能
力并且功耗很是低
,大
部分时
间都
处
在
监听状态
。
报
文的
传输
都在
分
配
好
的
时
间
片
内完
成,
采
用
跳
频
技术
下降
了
冲
突的
发
生,因
此
会大大
下降报
文的碰撞和
重
传
。
每
个
消
息都有 A
C
K
,通信的
可靠
性
高
。网络的
规模可
以
达到
1000 个节点
左右
。
安全
策略
包括
加
密
和
受权
。
缺
点:因为
采
用
时
间
分
片
的
方式
,
传输
延
时
很
长
和
确
定性。
需
要很
长
的
时
间进行网络的
初始
化,全部的节点都
必须
协
商
自
己
的
时
间
片
。因为
划
分
了
时
间
片
,
可
用的 802.15.4 的物理
带宽
被
切
分
,
因
此
网络的
吞吐量
很
低
,
尤
其
在网络中有突
发数
据流
量
的
状况下
。一个
上
电的网关
必须
要
时刻
都能正
常工
做,若是网关不能
工
做
那
么
整
个网络在一个
时
间
片
周
期
以后
便
会
瘫痪
。最后,和
其
它
的 Mesh 网络相比设备成本
很是
昂贵
。
6LoWPAN
6LoWPAN 是
低功耗
无线我的
局
域网的
I
Pv6
版
本的
缩写
。
目前
这
只
是一个基于
I
ET
F
R
CF
4944 的
提
案
,也是基于 802.15.4 的
芯片
和
射频
。和
传统
的
I
Pv6 不一样,6LoWPAN 的最大
传
输报
文大
小只
有 128
字
节
而
不是
I
Pv6 标准的 1280
字
节,以
便
能用在
内
存
有
限
的
低
廉
设备中。
到
今天
为
止
,
还
只
是一个点对多点的系
统
,
但
基于 Mesh 路由的
草案
正在讨论之中。
下图
是 6LoWPAN 组网的拓扑
图
,这样
到
如今为
止
还
是点对多点的结构。
与别
的网络拓扑
图
不
同,这
张
图
显
示
的是
从
宿
主
计算机到终端
设备的
端到端
的基于
I
P 的链接。
终端
设备的
I
P
地址
由网络
远端
的
宿
主
计算机分
配
。
图
中
终端
设备的网关
提供
在
数
据链路
层
的协议
转换
和
报
文的
拆
装
。
优势:
可
以
支持
现有的
普遍
流行的 T
C
P
/I
P 协议,能
够
利
用
I
ET
F
现有的协议组、
Q
o
S
和网络
安全
相关的架构。因
此
,能
够
无
缝地
路由
In
t
er
n
e
t
I
P
报
文。
缺
点:系
统很是新目前只
是一个
草案
。由于
目前
还
在
公
众
评
审阶段
,未来
可
能会有不少的变化。
事
实上
,Mesh 路由
工
做组
目前
正
处
在组建
阶段
,因
此该
协议被
普遍
应用
前
还
有很
长
一
段
路要
走
。因
此
,能
与
In
t
er
n
e
t
互联
目前只
是个构
思
,
还
没
有
证实
其可
能性。因为
该
协议
还
不成
熟
,
目前
还
没
有相关的产品问世,
估计
产品的价
格
不会
便宜
。
DigiMesh
和 Wireless HART 很相似,DigiMesh 也是为低功耗的传感器网络所设计的,每个节点都具备路由功能且都可以用电池供电。DigiMesh 可以工做在多个频段如 2.4GHz DSSS 和 900MHz
FHSS。该协议在 2.4GHz DSSS 频段工做时并不彻底遵循 802.15.4 的物理层和数据链路层的标准。路由协议采用类似 AODV 算法,路由表在需要时才被创建,网络的拓扑结构是 Peerto-Peer mesh 而不是 ZigBee 网络的分簇树结构。全部的节点的地位都是平等的,每个节点都可以具备路由的能力并且都可以睡眠。碰撞避免采用的是时间同步的 CSMA 算法。有安全策略。
DigiMesh 的网络拓扑结构如下图所示,为典型的 Ad Hoc 网络结构。DigiMesh 的路由只有在需要时才去创建,而不像 ZigBee 网络中的路由器之间的路由是时刻被维护的。DigiMesh
网络中不是使用的路由不会占据路由表项,路由在每次使用时都会进行更新。DigiMesh 为了支持休眠节点之间的睡醒时间片必须进行同步,节点间的时间同步有专门的节点向全网广播同
步报文来实现。为了实现自治的目的,负责时间同步的节点并非协调器或者网关来完成,由提名机制在网络节点中选举产生。
优势:
每
个节点都
具
备路由能
力
并
且
都
可
以休眠。
每
个
报
文的
转发
都
采
用 A
C
K
应
答
的
方式
保证
系
统
的
可靠
性。路由
仅
在
需
要
时才
去创建,因
此
系
统
不会被
没
有
必
要的路由
发
现
工
做
占
据
太
多
的
带宽
。
支持频率
的
跳
变和
安全机制加
密
和
鉴权
。
支持报
文
分
片
。
缺
点:
低功耗
就意味着
响
应
时
间
慢
和不
确
定性。
虽
然系
统
的
瞬
时吞吐量
不
受时
间
片
的
限
制
,
但
是会
影响
路由的
发
现。网络
规模
最多能
支持
500 个节点
左右
的网络,对于
传输
的
数
据
量小数
据流变化
小
的网络
支持
的
规模
会大一
些
。
Z-Wave
Z-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 网路有可以有多个控制节点但只能有一个主控节点,只有主控节点有添加和删除网络设备、分配网络地址的权利。
优势:
每
个节点有
转发功
能,
支持
休眠和移动的
控
制
节点。
报
文的
转发采
用 A
C
K
应
答
的
方式
保证
系
统
的
可靠
性。休眠为
异
步模式
,休眠节点不
需
要进行
时
间
片
同
步
。
缺
点:网络
规模
很
小
,最大
支持
232 个节点的网络。应用领域
狭窄
,主要
针
对
家居
自动化应用,
报
文
长
度
很
短
用来
发送
命令
信息。
工
做
方式
简
单
,
控
制
节点和
受
控
节点之间主要以应
答
模式
为
主。网络
需
要一个主
控
节点做为网络的中心节点,
负责
网络节点的
地址
分
配
和网络拓扑结构。若是主
控
节点不能
工
做,网络就会
瘫痪
需
要
从新
初始
化网络
才
能正
常工
做,
而
网络
初始
化
需
要
相
当
长
时
间。
另外
虽
然
支持可
移动的
控
制
节点,这里移动
其实
是
便携
的意
思
与
移动自组网是
彻底
不一样的概念。
WaveMesh
WaveMesh 是为低功耗、低成本的 MANET(Mobile Ad-Hoc Network 移动自组网络)所设计的 Peer-to-Peer Mesh 网络协议。与其它的 Mesh 网络协议不一样,WaveMesh 是惟一能够
有效支持节点快速移动的网络,数据流能够在节点移动过程中无缝地在不一样的路径之间切换。WaveMesh 物理层可以采用不一样调制方式和不一样频段,链路层采用先进的碰撞避免算法,能
够自动信道跳变和速率自适应,网络层采用私有路由协议 OLDM(On-demand Light-weightDynamic Multipath)。WaveMesh 是一个彻底分布式的网络,全部节点的地位都是平等的,
没有中心节点,全部节点都够休眠,都具备路由能力。
WaveMesh 网络拓扑结构如下图所示,路由协议 OLDM 是多径路由协议,每个节点都会维护到其它节点尽可能多的路由,网络节点间的路由数量要远远大于其它的 Mesh 网络。节点能够
实时感知拓扑结构的变化,在现有路由失效之前主动发现的新路由,能够支持快速移动的网络。对休眠的支持有两种模式:同步模式和异步模式,两种模式可以灵活切换以适应不一样的应用需
求。支持上万节点的超大规模网络,不需要网络初始化过程,即插即用。网络层和物理层有智能的并行机制,网络吞吐量比其它网络高不少倍。支持单播、多播和广播,其中单播是可靠的
而多播和广播是不可靠的。
优势:
支持快
速
移动的网络,
彻底分布式
的 Mesh 网络,
每
个节点都
具
备路由能
力
并
且
都
可
以休眠。节点能
感知
网络拓扑结构并
计算
路由,
采
用
私
有的
O
LDM 多
径
路由协议和并行
机制
保
证
了路由的
健壮
性和
高吞吐量
。
报
文的
转发采
用 A
C
K
应
答
的
方式
保证
了
可靠
性。组网
速
度快
,
不需要进行网络初始化,网络规模大,支持频率跳变、速率自适应和安全机制。休眠节点可以
工做在同步模式或者异步模式,并且在两种模式下灵活转换,采用特有的 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加强了网络的安全特性,有两种安全的方法来生成网络: 集中式安全入网:这种方法采用协调器/信任中心来生成网络,管理网络资源和链接密钥。 分布式安全入网:这种方法没有协调器/信任中心,它经过路由节点为其它节点提供入网密钥。 Zigbee 3.0支持愈来愈多和越大的网络, ZigBee网络有强大的自愈能力能应对各类场景的变化。ZigBee具备向前兼容能力, ZLL 1.0和ZHA 1.2已经支持ZigBee 3.0。ZigBee smart energy在功能上兼容zigBee 3.0,但它有额外的安全要求仅在这个profile中处理。
Wireless HART (
SmartMesh WireLess HART
)
Wireless HART 使用时分多址(TDMA)技术来协调设备间的通讯,TDMA 数据链路层指定了在设备之间创建链路链接并进行通讯的时间片和信道频率。采用“超级帧”周期性地对设备间
的链路信息进行管理和广播。可以容许多个不一样周期的“超级帧”同时存在,以知足周期性和非周期性的传输需要。节点间的链路可以被某个实时性要求高的应用专用,也可以被不少应用
共享物理带宽。时间被划分为 10ms 为单位的时间片,全部节点的时间片彻底同步的。时间片是进行数据传输的基本间隔单位,可以在一个时间片进行多次数据交换。数据收发必须在一个
时间片内结束,若是一块数据不能在一个时间片内发送完毕,则需要被分片以便在多个时间片分别传输。节点在不一样的时间内可以处于不一样的状态:发送、接收和空闲,在空闲状态的时间
片内节点可以休眠。
由数据链路协议数据单元(DLPDU)和带有时间信息的 ACK 报文连续进行全网 TDMA 的时间片的同步。最开始,节点刚加入网络并不知道当前时间,可以经过接收到 DLPDU 报文的时间
计算出下一时间片的起始时间。当节点再接收到 DLPDU 报文时会比较自己与发送节点的时间差,接收节点会在相应的 ACK 报文中添加时间调整信息。接收到 ACK 报文的节点需要根据报
文中的时间信息调整时间片。网络的每个节点都需要指定一个节点做为时间源获得时间同步信息。在时间片同步失效的状况下,节点采用过采样的方法把将时间片长度缩短为正常值的 1/2-
1/10 以减小从新同步的时间。
DigiMesh
DigiMesh 网络是周期性的休眠网络,全部节点按照同步的方式在同一时刻进行睡眠和醒来。由睡眠协调器节点向全网广播同步报文实现时间片的同步,睡眠协调器在每个醒来时间片开始
时刻发送一个同步报文,收到同步报文的节点对该报文进行中继实现全网广播。为了实现网络的自治目的,睡眠协调器由网络中的普通节点采用“提名和选择”的方式产生。DigiMesh 支
持三种休眠模式,正常模式、周期睡眠模式和睡眠支持模式,其中正常模式和睡眠支持模式并不能睡眠,并且正常模式节点不能和周期睡眠模式、睡眠支持模式节点混合组网。
同步报文包含本次睡醒周期的醒、睡时间长度,因此 DigiMesh 的睡醒时间片可以变化。新上电的节点会一直不停监听网络直到接收到一个同步报文,实现与网络的同步。同步失效节点会
主动减小在醒来时间片内发送报文并且增长醒来时间片的长度,还可以主动发送报文请求同步报文,但这样作会大大下降电池的续航能力。另外,改变睡醒时间片的参数会大大增长节点同
步失败的可能,对于最坏状况节点可以需要很长的时间才能从新同步。
Z-Wave
Z-Wave 在 ZDN5.0 版本后开始支持特定类型的休眠节点,但不是所有的节点都能休眠,休眠节点的时间片是异步模式。节点的睡醒时间点不需要进行同步,但节点的时间片是固定的长度,
间隔为 250ms 或者 1s。对休眠节点的唤醒采用延长物理层报文特殊前导信号的方式,休眠节点会在休眠周期结束以后自动醒来很短暂的时间间隙监听网络,若是检测到特殊的前导报文则
会推迟睡眠进行报文的接收和处理。唤醒休眠节点的特殊前导称之为 beam,其持续时间需要大于或者等于休眠节点的休眠周期。Beam 的结构如下图所示:
Beam
方式
唤
醒
的最
坏
状况发
生在接
收
节点
醒
来
刚
好收到
第
一个
b
eam 的
分
片
,接
收
节点就
必须等待
很
长
的
时
间直
到
b
eam 结
束
。为了
减小
接
收
节点不
必
要的
等待时
间
达到
节电的
目
的,
每
个
b
eam
分
片
都
携带
者
剩余 b
eam
分
片
数目
,接
收
节点
可
以
从新
进
入
短暂
的休眠并在
b
eam结
束
前从新醒
来接
收
以后的
报
文。这就要
求
Z-Wave 节点有
高
精
度
的
时
钟
并
且
对
芯片
物理
层
的
能
力
有较
高
的要
求
。因为 Beam 的
持
续
时
间是
固
定的,休眠节点间的
睡醒时
间
片
同
步
的越
好
Beam
唤
醒
所
带
来的系
统时
延
就越大。
WaveMesh
WaveMesh 网络节点的休眠有同步和异步两种模式,不一样模式有各自的适用场景,并且两种模式可以随时转换。WaveMesh 支持不休眠节点和休眠节点混合组网。
同步模式下,网络中节点的睡醒时间片是严格同步的,时间片的同步由网关或者指定节点向全网广播同步报文实现。同步报文在醒来时间片的结束时而不是在开始时进行发送,同步报文指
定点本次休眠时间片的长度而不指定下次醒来时间片的长度。WaveMesh 网络不去假设和预测当前网络的负荷,网络中若没有数据传输时便可以立即进入休眠而不需要等待某个预约的时
间片结束,也不去限制网络中数据传输必须在某个时间点结束。同步模式下节点休眠时间片和醒来时间片的长度是动态变化的。
异步模式下节点睡醒周期是固定的,但节点睡醒的时间点不需要进行同步,节点的睡醒周期长度可以根据需要设定。WaveMesh 网络采用特殊的 MAC 全网异步唤醒技术,对整个网络每个
节点的时间片进行同步,从异步模式转变成同步模式。全网异步唤醒技术最大的特色是唤醒速度快,唤醒所用的时间几乎是确定的,和网络节点密度以及网络的规模没有太大关系。对于单
播来说,仅需要对于单点进行唤醒, WaveMesh 采用重复发送短唤醒报文的方式。与 ZWave 的 Beam 唤醒方法相比,WaveMesh 下降了对射频芯片物理层的要求同时大大缩短了
唤醒时间。当不一样节点的时间片同步的很好时,唤醒带来的时延就可以忽略。
同、异步模式对于节点来说没有本质的区别,都是按照时间片进行周期性睡醒。新上电的节点默认为异步模式。异步模式下的节点在接收到同步报文时会自动校准自己的时间片变成同步模
式,这种同步方式速度慢并且有不确性,在必要时可以采用全网异步唤醒机制实现网络全部节点的快速同步。为了下降功耗,同步模式节点若是在接收时间同步报文超时会自动切换为异步模式。
SmartMesh IP
ADI公司的SmartMesh® IP产品为无线芯片和预认证的PCB模块,集成了当即可部署的无线mesh网络软件。它们面向IP兼容性而构建且基于6LoWPAN和802.15.4e标准。SmartMesh IP产品线支持低功耗,即便在恶劣和不断变化的RF环境中,也能提供99.999%以上的数据可靠性。(参考连接:https://www.cnblogs.com/leime/p/9435239.html)
其本质协议仍是
WirelessHart技术。
SmartMesh IP 网络拓扑结构
SmartMesh IP 网络由高度可扩展的自成形多跃点无线节点网格和网络管理器构成,无线节点称为智能微尘,用于收集和中继数据;网络管理器用于监控和管理网络性能和安全,并与主机应用程序交换数据。html


图4 网络拓扑结构算法
除了常见的“网格模式”外,SmartMesh IP 还支持一种称为闪烁模式的超低功耗漫游节点功能。缓存

SmartMesh IP 智能微尘
SmartMesh IP 智能微尘是 SmartMesh IP 网络中的无线节点。它们链接到传感器/致动器并路由来自其余智能微尘的数据,同时保持低功耗。安全

每一个智能微尘均可以发送和接收消息(支持双向数据)。每一个智能微尘能够有不一样的数据报告速率,网络管理器会自动协调各个成对通讯以便高效地路由流量。网络
每一个智能微尘能够有不一样的供电能力(例如线路电源、电池电源或能量收集电源)。网络管理器会相应地对流量进行负载平衡以便将时间延长至网络的第一次电池更换。架构

SmartMesh IP 网络管理器
SmartMesh IP 网络管理器针对网状网络执行两种主要功能。首先,它们充当接入点微尘,将无线网状网络链接到客户主机应用。其次,网络管理器运行复杂的网络管理算法以保持网络的性能。框架

SmartMesh IP 网络管理器具备两种版本:EManager(支持多达 100 个智能微尘,能够运行于嵌入式设备上)、VManager(支持多达 50,000 个智能微尘,运行于 x86 虚拟机 (VM) 上运行)less

蓝牙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 HART |
6LoWPAN |
DigiMesh |
Z-Wave |
WaveMesh |
SmartMesh IP |
蓝牙Mesh |
Thread |
可靠性 -跳频机制 -丢包率 -自适应性 |
★★ |
★★★ |
|
★★★★ |
★★★ |
★★★ |
★★★ |
★★★★ |
★★★★ |
★★★ |
★★★★ |
电源管理 -休眠策略 -节点功耗 |
★★ |
★★ |
|
★★★ |
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 网络,不一样的网络也有自己独特的优点。实际应用中只能根据自己的实际需要多种因素综合考虑,选择能知足需要的最佳网络。不能否定,在不一样的评估准则之间会有一个灰色地带,好比功耗、可靠性和吞吐量之间的权衡。随着市场和技术的发展,未来的比较结果可能会和本文中如今所得出的比较结果迥然不一样。
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">