【原创】蓝牙Mesh, ZIGBEE, THREAD网络性能对比?

作者6年多业内知名半导体工作经验,目前在国内某BAT企业做产品。 欢迎关注公众号交流物联网技术和物联网产品。

【原创】蓝牙Mesh, ZIGBEE, THREAD网络性能对比?_第1张图片

原文链接:

https://mp.weixin.qq.com/s?__biz=MzI3NDE2NDMwNQ==&mid=2649905817&idx=1&sn=456cb55c9f452ade7e3daacab3044909&chksm=f31ec5a7c4694cb18b40be1df487d8237913ca1efe4365df060bcbe02661823c2e62d38ce3cf&token=1642403924&lang=zh_CN#rd

 

蓝牙Mesh, ZIGBEE, THREAD网络性能对比?

novaa 智联网事 智联网事

微信号iotthings

功能介绍让思绪, 漂一会;

昨天

本文测试数据主要基于SILABS的应用文档"AN1142 - 网状网络性能对比"。针对蓝牙Mesh性能及特点,可参考

 

蓝牙Mesh网络性能及网络特点总结(一)

蓝牙Mesh网络性能及网络特点总结(二)

 

目录

  • 三种Mesh网络概述

  • 吞吐率和延时性能对比

  • 网络性能对比

  • 总结

 

] 1 [   三种Mesh网络概述

 

首先,我们看下三种Mesh技术的概览及网络模型,如图1,2,3,4。

 

图1 - Mesh网络概览

 

【原创】蓝牙Mesh, ZIGBEE, THREAD网络性能对比?_第2张图片

 

图2 - Thread网络模型

 

 

图3 - Zigbee网络模型

 

 

图4 - BLE Mesh网络模型

 

 

本文的测试,均是Silabs在研发中心实际环境测试,具体可参考上篇文章。

 

] 1 [  吞吐率和延迟测试比拼

 

吞吐率及传输延时的测试在一个稳定的6Hop拓扑下进行(通过衰减器搭建的稳定的6跳网络),测试节点拓扑如下图。本测试结果主要取决于协议栈本身的PHY及MAC的特性;

 

图 - 6跳网络示意图

 

本测试针对未分段8bytes小数据传输下的性能及100Bytes的大数据传输下的数据吞吐率性能进行了验证。分别如图5和图6;我查了下Thread和Zigbee的MAC层结构,都是按照802.15.4的MAC和PHY;由于文档中没有针对具体的数据收发情景做出说明,图5与图6显示Thread能够有更好的结果,大概率与Thread的最终PHY数据包结构有关系;有深入看过协议的朋友可以分享下~ 

 

而蓝牙由于分包机制,在大数据包情况下,数据吞吐率,嗯,非常稳定;

 

图 5 - 8 Bytes吞吐率对比

 

图 6 - 100 Bytes吞吐率对比

 

同时,针对小数据包的数据通信延时如图7,这里不得不说,凭什么拿20Bytes的Thread和50Bytes的ZIGBEE对比? 这点不理解?

 

图 7 - 8 Bytes通信延时对比

 

接着, SILABS针对4HOP的拓扑下的不同数据长度做了延时的对比,结果如下,简单而言,由于Payload的增大,不同拓扑的分包机制带来的传输延时会成比例增加。当然,我也不理解为什么结果中,ZIGBEE与蓝牙Mesh均是 点状结果+ 预估趋势线而 Thread则是实线? 且Thread分包带来的影响如此之小??

 

图 8 - 4 Hops下不同数据包延时对比

 

] 2 [  网络性能测试

 

针对Mesh网络实际应用,实际环境下的不同大小网络的性能,也是验证协议栈性能及稳定性,实用性的重要方面;Silabs的网络性能测试,基于如下不同大小的网络,测试100包不同大小数据的传输延时及数据包成功接收比例;

 

小型网络: 24节点
中型网络:1~48节点
中型网络:2~96节点
大型网络:1~144节点
大型网络:2~192节点

 

> 24节点网络性能测试

 

测试结果如下图10,三种网络在约100ms内完成100个数据包的传输,而可以看到的是Thread总体完成时间更快更高效;

 

图 10- 24节点100Bytes数据包网络性能对比

 

 

而如果增大数据包大小,Thread和Zigbee采用50Bytes,蓝牙Mesh 32 Bytes情况下,测试结果如下图11。可以看到Thread还能够在稳定的100ms内完成,而Zigbee时间明显的增加,蓝牙Mesh则呈现出了按时间平均分布的传包率,延时大大增加;从这个结果,结合蓝牙基于Flooding的技术,基因决定蓝牙Mesh适合小数据包?

 

图 11 - 24节点100Bytes数据包网络性能对比

 

> 192节点网络性能测试

 

随着网络增大,存在的冲突会增加,跳数会增加,对应会导致传输延时的增加;192节点小数据包的传输延时如下图12,这里需要注意的是,蓝牙Mesh有~3%的数据包超过250ms才完成传输(有多少传输最终失败就不清楚了,也不明白为什么蓝牙不能是5Bytes)

 

图 12 - 192节点5 Bytes数据包网络性能对比

 

随着数据包的增大,分包导致的冲突阻塞,25Bytes下(蓝牙16Bytes)的测试结果如下图13

 

图 13 - 192节点25 Bytes数据包网络性能对比

 

] 3 [  总结

 

总体来说,本篇应用文档的测试合理性,数据测试及统计具体方法,分析,信息都不够;应用文档里面也有说明,ZIGBEE 他们从2006年开始,Thread从2015,而BLE Mesh从2017,他们针对不同协议的优化程度都不一致;

 

但是从协议角度看, Thread与Zigbee基于同PHY和MAC,其特性类似;但是蓝牙Mesh由于采用了Flooding技术,其在大网络及大数据包情况下,显得更力不从心;

 

Mesh网络的性能,稳定性,实用性,不是简单的通过数据吞吐及数据通信延时能够衡量,综上...

 

 

 

 

 

 

 

 

 

 


  •  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(【原创】蓝牙Mesh, ZIGBEE, THREAD网络性能对比?)