Thread?是無線網狀網絡的未來,并有望成為將“事物”連接到互聯網的關鍵技術。“事物”可以廣泛地定義為對功耗敏感且空間受限的設備,其系統組件包含微控制器(MCU)、傳感器、射頻技術和軟件等。無線連接將這些設備串連到互聯網,然后可以通過遠程控制實現自動化。市場上有多種無線技術支持這種互聯性,但?Thread?是唯一能滿足互聯家庭特定需求的技術。它基于成熟的標準,提供低功耗、安全、可擴展的基于?IP?的無線網狀網絡協議,借此填補了物聯網(IoT)領域的關鍵技術空白。點擊文末的閱讀原文按鈕或復制下方鏈接至瀏覽器獲取白皮書內容:https://www.silabs.com/whitepapers/thread-ushering-in-new-era-of-internet-connectivity
物聯網
分析公司?IHS Technology?預測,到?2025?年,物聯網連接設備將增加到?754?億臺。這種行業前所未有的連接性是技術顯著進步的結果。連接性的發展最早可以追溯到?20?世紀?70?年代初,當時英特爾(Intel)發布了第一款商用微處理器?4004。十年后,桌面計算達到了先進的水平,迎來了一個前所未有的個人生產力時代。筆記本電腦出現于?20?世紀?90?年代,與互聯網的擴張同時出現,標志著互聯移動的開始。然而,直到?2000?年代中期智能手機的出現,我們才真正意識到不受束縛的互聯網體驗。智能手機將個人計算能力與互聯網連接結合在一起,讓我們觸手可及。低功耗計算、傳感和通信技術的進步催生了一類新的互聯設備。這些小的、資源有限的、電池供電的“設備”不再僅僅關注個人生產力,而是以全新有用的方式在家里、工作場所和整個城市環境中感知、互動和自動化我們的周圍環境。圖?1?顯示了連接設備發展過程中的這些變化。

圖1:物聯網的出現
為什么?IP?技術如此重要
Internet Protocol (IP)?是互聯網的主要通信協議。IP?提供了跨?IP?網絡中繼數據包(datagrams)的核心機制,其路由功能實現了互聯互通。經過互聯網幾十年來的快速擴張,IP?已經無處不在。不支持?IP?的網絡技術必須通過網關才得以支持,這個過程涉及到本地網絡地址的映射和將網絡層有效負載重新打包到?IP?數據包中。如圖?2?所示,加密的本地數據包必須在網關處解密,然后在?IP?數據包中重新進行保護。

圖2: 沒有本地IP支持的網絡
相比之下,具有本地?IP?支持的網絡(如?Thread?和?Wi-Fi)可以在不受干預的情況下轉發和路由應用程序有效負載。因此在本地網絡中加密的數據包可以保持端到端的安全,如圖?3?所示。

圖3: 支持本地IP的網絡
IPv6?與?IPv4?之比較
IPv4?支持?32?位尋址。在?20?世紀?90?年代,43?億(2^32 = 4 294 967 296)的地址空間顯然不足以支持互聯網連接的預期增長。隨后,IPv6?將地址大小增加到?128?位,并將產生的地址空間增加到大約?240?個十兆位!具有?IPv6?全局唯一地址(GUAs)的本地設備可以通過廣域網(WAN)直接尋址。
6LoWPAN
6LoWPAN?是?IPv6?低功耗無線個人區域網絡(IPv6 over Low Power Wireless Personal Area Network)的首字母縮寫。它旨在通過?802.15.4?鏈路實現?IPv6?數據包的高效傳輸,從而使資源受限的設備能夠從本地參與物聯網。它支持三個關鍵功能:
數據包大小適配(Packet Size Adaptation):IPv6?支持的最小?MTU(Maximum Transmission Unit)為?1280?字節。使用用戶數據包協議(UDP)和數據包傳輸層安全協議(DTLS)的?802.15.4?數據包中的典型應用程序有效負載大小為?63?字節。6LoWPAN?提供了一種碎片和重組機制,使?IPv6?數據包適應這些較小的?802.15.4?有效負載。不適合的?IPv6?數據包被分割成片段,并通過?802.15.4?通過無線傳輸(over the air)。不是所有的片段都可以按照正確的順序接收。然而,6LoWPAN?只要求接收所有的片段,并在需要時重新組裝片段。
標頭壓縮(Header Compression):為了最小化在?802.15.4?幀中發送?IPv6?消息的開銷,6LoWPAN?為?IPv6?和傳輸標頭提供無狀態的壓縮機制,利用協議之間的跨層冗余,如源和目標地址(destination addressing)、有效負載長度(payload length)、通信類型(traffic class)和流標簽(flow labels)。Thread?利用改進的標頭壓縮(IPHC)和下一個標頭壓縮(NHC)。使用?IPHC?來壓縮?IPv6?標頭。采用?NHC?壓縮?UDP 標頭。
二層轉發(Layer Two Forwarding):Thread?通過?IP?路由轉發封包。IP?路由表由每個目的地址和下一跳組成。6LoWPAN mesh header?用于根據?IP?路由表信息進行鏈路級下一跳轉發。
市場中存在各種各樣的無線技術。從長遠來看,有三種主要解決方案將成為互聯家庭和物聯網的領先協議:Wi-Fi、藍牙(Bluetooth)和?802.15.4?網狀網絡協議。Wi-Fi?是一種無線技術,適合在家中傳輸音頻、視頻和數據。然而,它所支持的高數據速率和輸出功率需要大量的電力。因此,它在電池電源方面的應用是有限的。藍牙是智能手機連接點解決方案和電池供電設備上的批量數據傳輸的理想選擇。雖然現有的解決方案不支持?IP,但藍牙核心規范?4.2?的引入通過增加對?IPv6?和?6LoWPAN?的支持奠定了基礎。Zigbee PRO?和?Thread?等網格技術構成了互聯家庭的支柱。
這些自修復網絡已經過優化,以支持低帶寬控制和自動化應用,其中多年的電池壽命是至關重要的。Zigbee PRO?作為?802.15.4 mesh?網絡解決方案已經超過?10?年了。它提供了一個強大、安全、可擴展的網狀網絡,支持超過?250?個節點,以及對電池支持操作的休眠終端設備的廣泛支持。Thread?建立在?Zigbee?的基礎上,在安全性、路由和容錯方面都有進步。它還解決了市場對支持?IPv6?和?6LoWPAN?的網狀網絡技術期待已久的吸引力,為物聯網中的每個終端節點帶來急需的?IP?連接。表?1?列出了各種網絡協議的特性。

表1:物聯網無線協議
為什么現在是啟用?Thread?的良機?
Thread Group?成立于2014年7月15日,旨在合作、匯集專業知識并開發滿足這些需求的解決方案。一年后,Thread Group?發布了?Thread?規范。該組織的創始成員包括?Silicon Labs(亦稱“芯科科技”)、Nest Labs、Yale Security、Samsung Electronics、Freescale Semiconductor、Big Ass Fans?和?ARM?等等。
Thread?專注于低功耗和對?IP?的本地支持,承諾實現“物”與互聯網之間的無縫連接。它不僅提供了低成本、電池支持的設備之間的高效通信,而且還簡化了與云和移動設備的接口。Thread?提供了一個引人注目的新型無線網狀網絡解決方案,旨在滿足互聯家庭的需求:
基于標準的協議: 基于開放標準的協議從同行技術的評審、跨供應商互操作性和競爭中皆可獲益。Thread?基于現有的?IEEE?和?IETF?標準,包括?IEEE 802.15.4。Thread Group?于2015年7月13日發布了官方?Thread?規范。
簡化配置:Thread?消除了先前網狀網絡標準的一些復雜性。只有兩種不同的節點類型-符合條件的路由器或終端設備。
路由器如果需要支持網格,符合條件的節點將成為路由器。形成網絡的第一個路由器合格節點將被自動指定為路由器和?Leader。Leader?執行額外的網絡管理任務,并代表網絡做出決策。網絡中的其他路由器節點可以自主地承擔?Leader?的角色,但在給定的時間,每個網絡只有一個?Leader?。以終端設備身份加入的節點不支持任何路由功能。相反,它們將消息發送到指定為?“Parent”?的路由器,該路由器代表它的?“Child”?執行路由操作。終端設備通過?Parent?設備路由通信,并可編程為“休眠”以降低功耗。在多次嘗試后無法與父設備通信的終端設備將自動搜索并連接到新的?Parent?設備。圖?4?顯示了具有路由器合格終端設備(REEDs)、Leader?和?Thread?路由器的?Thread?節點網絡。

圖4: Thread節點類型
基于?IP?的消息
Thread?提供了對?IP?的本地支持。Thread?網絡中的所有設備都有一個?IPv6?地址,可以被家庭區域網絡(HAN)上的本地設備直接訪問,也可以通過名為邊界路由器(Border routers)的支持?Thread?的?IP?路由器在網絡外訪問。圖?5?演示了一個典型的?Thread?網絡設置。

圖5:Thread網絡連接性
網絡上的節點通過邊界路由器分配的前綴(prefixes)形成?IPv6?全局地址,或者在本地通過自分配的前綴形成唯一本地地址(ULA)。網絡中使用的路由標識由?Leader?分配。Thread?利用用戶數據包協議(UDP)進行消息傳遞,而不是它的更重量級的替代方案-傳輸控制協議(TCP)。與?TCP?不同,UDP?是一種無連接協議,它放棄了?TCP?的特性,如錯誤檢查、數據包排序和重傳,以換取更快、更有效的傳輸。這種效率等同于更少的開銷,這對于電池支持的、資源受限的設備來說是極其重要的。Thread?利用?UDP?的約束應用協議(CoAP)來保持輕量級,但克服了?UDP?的一些限制。CoAP?重新整合了對重試和數據包排序的支持。CoAP?還提供了對?GET、POST、PUT?和?DELETE?方法的輕量級版本的支持,這些方法可以很容易地轉換為?HTTP,以簡化與?Web?的集成。利用離網?CoAP?到?HTTP?代理,Thread?可以直接從瀏覽器查詢物聯網設備。
低功耗操作
Thread?為采用休眠模式的終端節點提供了廣泛的低功耗操作(Low-Power Operation)支持。顧名思義,這些休眠設備大部分時間都處于低功率睡眠狀態。通過?Thread,休眠設備不需要連接網絡,從而延長了電池壽命。處于休眠狀態的設備收到的信息會被它們的?Parent?節點緩沖。消息傳輸只有在休眠設備醒來并輪詢其?Parent?設備以獲取入站消息后才會觸發。
可擴展性和彈性
Thread?的架構目標是支持?250+?節點的網絡。有了這個特定目標,其特性和功能被調整為最大限度地提高吞吐量和最小化資源需求。在?Thread?網絡中,運行路由器的最大數量是?32?個。這樣做的一個直接而重要的結果是路由信息可以有效地分布在整個網絡中,并且所有路由器都能夠保持網絡中所有路由的可見性。隨著節點的增加和網絡拓撲結構的變化,網絡通過交換?Mesh Link Establishment(MLE)消息進行調整。如果有路由器合格設備作為終端設備運行,則可以自動添加其他路由器。這樣的路由器合格終端設備(REEDs)可監聽路由消息,如果確定有必要提高網絡的整體性能還可請求網絡的?Leader?成為路由器。
Thread?是一個健壯的、自我修復的網狀網絡,提供沒有單點故障的架構。如果路由器發生故障,網絡將圍繞故障節點動態地重新路由流量。如果一個?Leader?失敗,網絡上的另一個路由器將自動選出新的?Leader??梢允褂枚鄠€邊界路由器為網絡外通信提供故障安全冗余。
可互操作
Thread Group?已經簽約了一個標準測試裝置,用于所有?Thread?協議棧以及最終?Thread?產品的認證。該測試套件將提供給所有?Thread?成員公司,以便在?Thread?認證測試之前進行高質量的軟件開發和測試。所有?Thread?組件(IC?或軟件堆棧)在被客戶用于最終產品之前必須被認證為?Thread?兼容。所有想帶有?Thread?標志的終端產品必須將其設備提交到認可的測試實驗室進行認證。
安全易用
Thread?網絡雖被構建為易于使用,但是非常安全。Thread?使用?AES-128?保護?MAC?級別的所有網絡事務,并結合?ECC?和?J-PAKE?算法安全地將設備添加到網絡(即調試)。應用程序可以選擇利用基于標準的IP安全協議(例如?DTLS )來額外保護應用程序有效負載。
Thread?網絡假設用戶可以指定一個調試設備向?Thread?網絡添加新設備。Thread?可以同時指定網絡外設備(如智能手機和計算機)和網絡上的?Thread?設備成為?Commissioner。離網設備必須首先使用?Thread?指定的安全?DTLS?身份驗證握手向?Thread?邊界路由器申請成為已注冊的?Commissioner。一旦注冊,邊界路由器將代表與?Leader?進行仲裁,以成為授權?Commissioner。聯網設備不需要注冊,但可能需要與?Leader?進行仲裁才能獲得授權。Leader?確保同一時間網絡上只有一個?Commissioner?處于活動狀態。一旦獲得授權,活躍的?Commissioner?將在整個?Thread?網絡中被告知。加入時,用戶需要在調試設備上輸入與加入設備相關聯的唯一密碼。該密碼短語用于建立一個安全的?DTLS?會話,以驗證和授權加入設備。只有這樣,設備才可以訪問?Thread?網絡。設備加入網絡后,調測設備不再處于活動狀態。
加快上市時間
隨著物聯網設備的迅速普及,將產品從創意階段盡快推向商店貨架變得更加關鍵。以下是?Silicon Labs?通過?Thread?技術幫助加快產品上市時間的兩種方式。
應用程序開發
Thread?沒有指定應用層,而是使用?UDP?和?CoAP?提供基本的消息服務,例如單播和組播消息服務。與?Wi-Fi?類似,Thread?專注于安全可靠的信息傳輸,但使用的是低功耗的網狀網絡,而不是高功率的星形網絡。Silicon Labs?提供的AppBuilder?等工具通過易于使用的回調函數(callbacks)和插件(plug-ins)抽象出堆棧級別的細節,從而簡化了這些?IP?消息傳遞服務的使用。在此框架中開發的應用程序代碼具有高度的可移植性,并且可以在受支持的?802.15.4?設備之間重用。AppBuilder?提供了一個簡單的圖形用戶界面(GUI),用于配置設備和組網參數,如設備類型、命令、網絡組建和加入行為、安全模式和操作等。Silicon Labs?為?Thread?提供了一個快速啟動的示例應用程序,可以輕松地自定義和擴展。
網絡調試
在開發網狀網絡應用程序時,理解、適應和調整網絡級行為是一個重要的開發階段。傳統的解決方案使用無線封包監聽(sniffers)來遠程捕獲空中網絡事務。Silicon Labs?的網絡集成電路通過使用一種稱為數據包跟蹤(Packet Trace)的獨特雙線接口來構建這種功能,該接口輸出設備發送和接收的每個數據包,并附帶鏈路質量信息。使用?Desktop network Analyzer?工具,這些信息可以跨網絡中的所有節點聚合到單個視圖中,從而提供所有網絡活動的完整而全面的視圖。Network Analyzer?將所有流量關聯到事件中,并可以解碼?Thread?消息??梢詫W絡活動進行長時間的日志記錄,以找出網絡中可能不頻繁或間歇性發生的問題。
結論
這是一個互聯網連接的新時代。物聯網將超越臺式電腦、筆記本電腦和智能手機的歷史巔峰。小型、資源受限的設備將推動這一令人難以置信的廣泛應用增長。從家庭自動化到建筑安全傳感器,從農業灌溉到工業自動化,從醫療保健到個人衛生。它將觸及我們生活的多個方面,改變我們與環境的互動方式。這些設備大部分都是無線連接的,目前有多種無線技術可以提供?IP?連接,但預計有三種解決方案將主導互聯家庭:Wi-Fi、藍牙和?802.15.4?網狀網絡協議。Thread?是網狀網絡的未來。它實現了基于?IP?的網狀網絡解決方案的承諾,并且針對安全、可靠、可擴展和低功耗操作進行了優化。
更多參考資源
Thread網絡解決方案頁面:
https://cn.silabs.com/wireless/thread
Thread學習中心:
https://www.silabs.com/products/wireless/learning-center/mesh-networking/thread-networking