1. 程式人生 > >【原創】藍芽Mesh, ZIGBEE, THREAD網路效能對比?

【原創】藍芽Mesh, ZIGBEE, THREAD網路效能對比?

作者6年多業內知名半導體工作經驗,目前在國內某BAT企業做產品。 歡迎關注公眾號交流物聯網技術和物聯網產品。

原文連結:

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網路概覽

 

 

圖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網路的效能,穩定性,實用性,不是簡單的通過資料吞吐及資料通訊延時能夠衡量,綜上...

 

 

 

 

 

 

 

 

 

 


  •