Thread使用經(jīng)過實踐驗證的標準和IPv6技術(shù),以6LoWPAN為基礎(chǔ),為產(chǎn)品開發(fā)人員提供了優(yōu)于現(xiàn)有無線協(xié)議的許多技術(shù)優(yōu)勢。Internet運行在 IP 之上。IP 技術(shù)使手機、路由器以及全球各地的設(shè)備相互通信,與具體的接入鏈路無關(guān)。 Thread為智能家居中的低功耗無線設(shè)備提供IP接入,使其更容易與家庭中的其它IP設(shè)備(如智能手機,平板電腦和計算機等)進行通信,以創(chuàng)建和控制Thread網(wǎng)絡(luò)。
在此過程中,Thread設(shè)備不需要專有網(wǎng)關(guān)或轉(zhuǎn)換器,就可以直接連接到與其互操作的其它設(shè)備。這減少了對基礎(chǔ)設(shè)施的需求和投資,潛在的故障點和維護負擔。它還使依賴任何額外的Thread產(chǎn)品更容易連接到手機和平板電腦等個人設(shè)備。 因為在同一個IP網(wǎng)絡(luò)中,Thread設(shè)備間不需要借助手機即可相互通信。使用其它技術(shù)的設(shè)備可以通過集線器或網(wǎng)關(guān)與Thread設(shè)備進行交互。
Thread與其它IP網(wǎng)絡(luò)技術(shù)結(jié)合,可以無縫連接眾多供應(yīng)商的各種基于IP協(xié)議的物聯(lián)網(wǎng)終端設(shè)備,與各種云服務(wù)通信,可以同時運行多個應(yīng)用層,如Matter,LWM2M,OCF或Weave。
測試目標與方法
本文對用于評估Thread網(wǎng)狀網(wǎng)絡(luò)的性能、可擴展性和可靠性的一系列測試進行了介紹。除對Thread消息延遲和可靠性進行介紹外,還對測試條件和基礎(chǔ)設(shè)施進行了介紹。本測試是在測試網(wǎng)絡(luò)中真實的無線設(shè)備上進行的,并非模擬環(huán)境。
進行本測試是為了對不同的網(wǎng)絡(luò)技術(shù)進行對比,以便更好地理解其用法并推而廣之。不同的網(wǎng)絡(luò)和系統(tǒng)設(shè)計對設(shè)備和網(wǎng)絡(luò)的要求不同。因此,沒有哪個網(wǎng)絡(luò)能夠滿足所有的網(wǎng)絡(luò)要求。然而,本文對比了三種網(wǎng)狀網(wǎng)絡(luò)技術(shù),人們熱衷于將這些技術(shù)應(yīng)用于低功耗和電池供電的網(wǎng)狀網(wǎng)絡(luò),以對家庭和商業(yè)建筑進行監(jiān)控。
在分析網(wǎng)絡(luò)性能數(shù)據(jù)時,通常會考慮可以對網(wǎng)絡(luò)進行哪些改進,從而提高性能。由于有關(guān)當今大型網(wǎng)絡(luò)中網(wǎng)狀網(wǎng)絡(luò)性能的公開數(shù)據(jù)有限,因此很難在行業(yè)層面上就可能的改進或變化進行討論。舉例來說,在商業(yè)建筑中,以下問題令人關(guān)切:
其他網(wǎng)絡(luò)流量,因為可能有許多相互干擾的子網(wǎng)。
來自常規(guī)建筑的Wi-Fi 基礎(chǔ)設(shè)施的無線干擾,因為這些技術(shù)通常在2.4GHz ISM頻段運行。
網(wǎng)絡(luò)吞吐量和延遲以及大型網(wǎng)絡(luò)多播延遲和可靠性,因為多播通常用于密集辦公環(huán)境中的照明控制,并且系統(tǒng)用戶期望照明控制可以快速響應(yīng)。
注:本文測試結(jié)果僅限于在正常運行條件下或在特定測試中注明的壓力條件下對系統(tǒng)性能進行比較。本文并未明確解決系統(tǒng)干擾或其他類似的干擾的最終方案,盡管這些干擾已在其他已公布的測試結(jié)果中得以解決。但是,測試是在Silicon Labs的研發(fā)辦公場所中完成的,其RF 范圍內(nèi)有100多個Wi-Fi接入點。此外,該場所還配置了300節(jié)點的Zigbee照明網(wǎng)絡(luò),用于正常照明控制。
Thread測試網(wǎng)絡(luò)及環(huán)境
為了最大限度地降低不確定性,設(shè)備測試也會在固定拓撲中進行,射頻路徑通過分路器和衰減器連接在一起,以確保拓撲不會隨著時間和測試而改變。此方法用于7跳測試以確保網(wǎng)絡(luò)拓撲。MAC地址過濾也可以用于實現(xiàn)網(wǎng)絡(luò)拓撲。
典型的有線測試配置如下圖所示:
圖1. 抽屜內(nèi)有線RF設(shè)備(帶有分路器和同軸電纜連接)
大型網(wǎng)絡(luò)測試最好在開放環(huán)境中進行,因為在這樣的環(huán)境中,設(shè)備行為基于現(xiàn)有的RF條件和不斷變化的RF條件。Silicon Labs的研發(fā)場所被用作這種開放環(huán)境的測試,Silicon Labs的研發(fā)場所包括:帶電梯井的中央核心區(qū)、大樓西端帶有開放樓層的其他服務(wù)區(qū)、以及東端的辦公室和會議室。整個研發(fā)場所寬約120英尺,長約200英尺。研發(fā)場所布局請見下圖。較暗的線條為實墻,其余則為隔間分區(qū)。
圖2. 用于無線測試的Silicon Labs研發(fā)場所布局測試設(shè)備安裝在研發(fā)場所周圍的不同位置。這些設(shè)備都具有以太網(wǎng)通道連接,以實現(xiàn)以下功能:
固件更新
命令行接口
腳本運行
時序分析
數(shù)據(jù)包捕獲
能耗測量
下圖中的測試簇包括以下內(nèi)容:
六個EFR32MGxx設(shè)備
多頻段支持,以測試2.4 GHz(PCB天線)和私有sub-GHz協(xié)議(外部天線)
圖3. 典型的測試簇測試簇分布在整個場所的不同位置、開放區(qū)域以及封閉的會議室和辦公室。
圖4. Silicon Labs研發(fā)場所中的測試簇此測試網(wǎng)絡(luò)可定期添加或刪除設(shè)備,但在開展本測試時,該網(wǎng)絡(luò)包含以下設(shè)備:
EM35xx設(shè)備
EFR32MGxx 設(shè)備
這些用于開放環(huán)境下測試的網(wǎng)絡(luò)設(shè)備也同樣被網(wǎng)絡(luò)和軟件質(zhì)量保證團隊使用。所有設(shè)備都由中央測試服務(wù)器和基礎(chǔ)設(shè)施控制,允許工程師進行腳本回歸測試或手動測試。
吞吐量及延遲測試
吞吐量和延遲的測試在受控網(wǎng)絡(luò)(有線配置)內(nèi)進行,以測試不同包負載下的每一跳。
配置通常能測試到7跳。測試是通過一個源節(jié)點和一系列目的節(jié)點來完成的,并允許改變跳數(shù)。
本測試通過以下配置完成:
帶有確認的CoAP可確認型消息
包負載從10字節(jié)到最多300字節(jié)不等,以10字節(jié)為增量進行延遲測試
使用Leader作為源節(jié)點,從1到7跳
僅傳輸1個包
考慮ack時序后,應(yīng)盡可能快的發(fā)送
以毫秒為單位測量往返延遲(源節(jié)點到目的節(jié)點再返回到源節(jié)點)
對于每一個不同的網(wǎng)狀網(wǎng)絡(luò)而言,隨著包負載的不斷增大(如前所述),會產(chǎn)生不同的包分片。能否使用更大的包負載長度取決于應(yīng)用層,但這里提供了比較數(shù)據(jù)以說明產(chǎn)生包分片時的相對性能。
Thread多跳延遲
Thread延遲測量采用給定負載大小的CoAP消息的往返時間。
圖5. Thread EFR32–CoAp平均往返延遲時間在該多跳延遲測試中,以下幾點值得注意。
在1跳、包負載最大300字節(jié)條件下,Thread的往返延遲維持在50毫秒以下,表現(xiàn)出色。
即便在最大7跳、負載為300字節(jié)條件下,EFR32的往返延遲也小于200毫秒。
對于負載在單個包(50-60字節(jié))內(nèi)的大多數(shù)應(yīng)用來說,Thread可以維持在最大7跳的100毫秒以內(nèi)往返延遲。
Thread網(wǎng)絡(luò)測試和網(wǎng)絡(luò)規(guī)模
為了在盡可能少的受控條件下驗證協(xié)議棧性能,需要采用更大的開放網(wǎng)絡(luò)測試環(huán)境。這些網(wǎng)絡(luò)被部署在Silicon Labs的普通辦公場所內(nèi),這些辦公場所有常見的Wi-Fi干擾、其他運行的網(wǎng)絡(luò)、樓宇控制系統(tǒng)。測試不會嘗試屏蔽這些網(wǎng)絡(luò)RF干擾。
用于測試每個協(xié)議棧的網(wǎng)絡(luò)如下:
小型網(wǎng)絡(luò):24臺設(shè)備
中型網(wǎng)絡(luò):1–48臺設(shè)備
中型網(wǎng)絡(luò):2–96臺設(shè)備
大型網(wǎng)絡(luò):1–144臺設(shè)備
大型網(wǎng)絡(luò):2–192臺設(shè)備
注:對于以上任意一種測試來說,針對某組指定的測試,測試網(wǎng)絡(luò)中具體的設(shè)備數(shù)量可接受的浮動范圍為+/-10%。大型網(wǎng)絡(luò)中的測試是在設(shè)備的SoC模式下完成的。
這些網(wǎng)絡(luò)中的設(shè)備都是墻電供電設(shè)備,特別針對休眠終端設(shè)備的測試除外。
對于這些網(wǎng)絡(luò),測試將驗證一組通信條件下的可靠性和延遲。測試的目的是對100多條消息進行測試,但為了可靠性,也會使用10,000條消息進行更長時間的測試。測試中會使用相同的設(shè)備,以保持不同測試下的網(wǎng)絡(luò)拓撲和密度是相似的。實際的空中條件會有所不同,這在這些測試中無法控制。
Thread大網(wǎng)絡(luò)測試結(jié)果
Thread測試是使用最新版本的Silicon Labs Thread協(xié)議棧完成的。
下圖說明了Thread網(wǎng)絡(luò)的多播行為。Thread網(wǎng)絡(luò)將路由器的數(shù)量限制在32個(含)以內(nèi),而且隨著網(wǎng)絡(luò)增長或條件變化,作為活動路由器的設(shè)備也會隨著時間而發(fā)生變化。非活動路由器的設(shè)備也被稱為具有路由器資格的終端設(shè)備(REED),這些設(shè)備作為RF常開子設(shè)備。初始設(shè)備發(fā)送廣播,RF范圍內(nèi)的所有路由器以及以該初始設(shè)備作為父設(shè)備的任何REED設(shè)備都可以聽到該廣播。Thread規(guī)范要求REED與單個主要父設(shè)備同步,但同時也要至少與三個其他父設(shè)備同步以提高多播可靠性。
Thread設(shè)備采用32-64毫秒的多播退避機制,之后設(shè)備才會中繼多播。
圖6. Thread多播時序-EFR32 5字節(jié)負載和網(wǎng)絡(luò)規(guī)模
圖7. Thread多播時序-EFR32 25字節(jié)負載和網(wǎng)絡(luò)規(guī)模
圖8. Thread多播時序-EFR32 50字節(jié)負載和網(wǎng)絡(luò)規(guī)模測試結(jié)果如下:
不同網(wǎng)絡(luò)規(guī)模的Thread網(wǎng)絡(luò)行為是非常一致的,延遲隨著包大小的增加而增加。
Thread延遲不會隨著網(wǎng)絡(luò)規(guī)模的增大而延長,這是因為路由器較少,因而網(wǎng)絡(luò)中較少出現(xiàn)擁堵現(xiàn)象。
Thread在多播性能方面通常比Zigbee快一些,當網(wǎng)絡(luò)規(guī)模增大時速度更快。
這些測試均證明了100%的可靠性,但以下更大規(guī)模的測試則說明了網(wǎng)絡(luò)的可靠性。
以3秒的間隔進行測試,以與上面的Zigbee結(jié)果一致。Thread上較短的時間間隔不能顯示出性能差異,因此有必要運行下文提及的可靠性擴展測試,采用0.5秒廣播間隔,以顯示測試結(jié)果。
總結(jié)
Thread具有出色的可靠性和延遲,比通常200毫米的人機交互時間還短。即使在多播、大型網(wǎng)絡(luò)條件下,Thread網(wǎng)絡(luò)也能在0.5秒內(nèi)完成流量處理并確保延遲和可靠性。即使網(wǎng)絡(luò)規(guī)模增大,Thread的網(wǎng)絡(luò)行為也幾乎沒有什么變化,這歸功于網(wǎng)絡(luò)層對于路由器的靈活配置。在某種程度上這是預期的,這是因為Thread設(shè)備采用了更新的架構(gòu),可以以更高的時鐘速度運行,而且有更多的RAM用于包處理。隨著包負載的增長,網(wǎng)絡(luò)延遲也會增加,但在5、25和50字節(jié)的負載測試中這種影響卻很小。
評論