【原創】藍芽Mesh, ZIGBEE, THREAD網路效能對比?
作者6年多業內知名半導體工作經驗,目前在國內某BAT企業做產品。 歡迎關注公眾號交流物聯網技術和物聯網產品。
原文連結:
藍芽Mesh, ZIGBEE, THREAD網路效能對比?
novaa 智聯網事 智聯網事
微訊號iotthings
功能介紹讓思緒, 漂一會;
昨天
本文測試資料主要基於SILABS的應用文件"AN1142 - 網狀網路效能對比"。針對藍芽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網路的效能,穩定性,實用性,不是簡單的通過資料吞吐及資料通訊延時能夠衡量,綜上...