Thread是無線網狀網路的未來,它可望成為「萬物」與網際網路連結的關鍵技術。「萬物」可以籠統的定義為功耗敏感、資源受限的裝置,它們通常結合了微控制器(MCU)、感測器、射頻(RF)技術和軟體。
這些裝置透過無線連結橋接到網際網路,且能被遠端控制和自動化執行。目前已經有多種無線技術能夠支援這種互連,但是Thread是專為滿足聯網家庭的特殊需求而設計。
Thread基於IP無線網狀網路通訊協定,具備低功耗、安全和可擴充性是物聯網(Internet of Things, IoT)實現的關鍵技術。
低功耗運算/感測/通訊催化IoT服務
根據研究機構IHS Technology的資料顯示,到2025年時IoT可連結裝置的數量將成長到754億個。這種前所未有的連結規模是技術進步的結果。
筆記型電腦出現於1990年代,伴隨著網際網路的發展,標誌著行動互連的開始。然而直到2000年代中期智慧型手機問世,才真正體驗到不受限制的網際網路體驗。智慧型手機把個人運算能力和網際網路連結整合到使用者手上。低功耗運算、感測和通訊帶來全新風貌的可連結裝置。這些小型、資源受限、電池供電的「萬物」不再僅僅關注個人運算,而是以全新並有效的方式為家庭、工廠以及整個城市提供感測、互連和自動化服務。圖1所示為可連結裝置的演變。
|
圖1 物聯網裝置演進 |
IP路由實現網路互連
IP是網際網路的主要通訊協定。IP為IP網路資料中繼提供了核心機制,它的路由能力實現了網路互連。在網際網路數十年的快速發展之後,IP已經無處不在。
本身不支援IP的網路技術必須先在閘道中適配IP。這種處理過程關係到本機網路位址的對映,將網路層資料封包重新封包為IP資料包(Datagram)。如圖2所示,已加密的本機封包必須在閘道中解密,然後重新在IP資料包中加密。相較之下,本身支援IP的本機網路,例如Thread和Wi-Fi,能夠無介入的轉發和路由應用的有效負載(Payload)。本機網路加密的封包能夠安全的實現點對點傳輸。如圖3所示。
|
圖2 本身不支援IP的本機網路 |
|
圖3 本身支援IP的本機網路 |
IPv6滿足網路連結需求 提高位址長度達128位元
IPv4支援32位元位址。但是自從1990年代起,約43億(2^32=4294,967,296)的位址空間越來越不能滿足網際網路連結的成長預期。IPv6把位址長度增加到128位元,這使得位址空間達到約240Undecillion(1Undecillion=10的36次方)。具有IPv6全球單播位址(GUA)的本機裝置可直接透過廣域網路(WAN)定址。
6LoWPAN支援三大關鍵功能
低功率無線區域網路(6LoWPAN)是IPv6 over Low Power Wireless Personal Area Networks的縮寫。它可實現在802.15.4連結上有效傳輸IPv6資料封包,因此資源受限的裝置(例如「萬物」)可自然的加入IoT。它支援三種關鍵功能:
IPv6支援的最小最大傳輸單位(MTU)是1280位元組。在使用用戶資料通訊協定(User Datagram Protocol, UDP)和資料包傳輸層安全性(Datagram Transport Layer Security, DTLS)的802.15.4封包中,典型應用的有效Payload大小是63位元組。6LoWPAN提供分段和重組機制以調配IPv6資料封包到這些更小的802.15.4有效Payload。大小不合適的IPv6封包將被分成片段,並透過802.15.4傳輸。不是所有的片段都能夠以正確的順序被接收。然而,6LoWPAN僅僅需要接收到所有片段,然後按照需要再重新排序分段。
為了盡可能減少在802.15.4幀中發送IPv6訊息的負擔,6LoWPAN利用協定間的跨層容錯(例如來源和目標位址、Payload長度、傳輸型態和流量標籤)為IPv6和傳輸表頭提供透明的壓縮機制。Thread使用改善表頭壓縮(Improved Header Compression, IPHC)和下一表頭壓縮(Next Header Compression, NHC)。IPHC被用於壓縮IPv6表頭。NHC被用於壓縮UDP表頭。
Thread使用IP路由轉發封包。IP路由表用於維護每一個目的和到達它的下一跳(Hop)。6LoWPAN網狀表頭使用IP路由表來實現鏈路的下一跳轉發。
三大主要無線技術達成網路互連
網路市場中存在多種無線技術。從長遠來看,聯網家庭和IoT領域中有三種主要的領先協定解決方案:Wi-Fi、藍牙智慧(Bluetooth Smart)和802.15.4網狀網路通訊協定。
Wi-Fi是家用網路中傳輸音訊、視訊和資料的骨幹無線技術。它支援高資料率和輸出功率,然而功耗較大,因此其在電池供電的應用中受到限制。Bluetooth Smart適合連結智慧手機的點對點解決方案,也適合在電池供電的裝置上批次傳輸資料。雖然目前的解決方案本身不支援IP,但是Bluetooth Core Specification 4.2則透過支援IPv6和6LoWPAN為支援IP奠定了基礎。網狀網路技術(例如ZigBee PRO和Thread)組成了家居互連的骨幹連結。這些自恢復網路已經透過最佳化以支援低頻寬控制和自動化應用,在這類應用中,可支撐數年的長電池壽命是關鍵點。
在過去10年中,ZigBee PRO一直在802.15.4網狀網路解決方案中占主導地位。它支援可靠、安全和可擴充的網狀網路,支援超過250個節點,也廣泛支援電池供電操作的可休眠的終端節點。Thread建立在ZigBee基礎之上,具備安全、可靠和容錯性佳的優勢。
它也解決了市場中對於網狀網路技術期待已久的需求,支援IPv6和6LoWPAN,為IoT中的每一個終端節點帶來亟需的IP連結能力。表1列舉了不同網路通訊協定的特性。
|
表1 IoT無線技術 |
Thread低功耗/支援IP特性實現聯網家庭
Thread Group成立於2014年7月15日,目的是協作、共享和開發滿足這些需求的解決方案。成立一年後,Thread Group發表了Thread標準。該組織的創始成員包含芯科實驗室(Silicon Labs)、Nest Labs、Yale Security、三星電子(Samsung Electrics)、飛思卡爾半導體(Freescale Semiconductor)、Big Ass Fans和安謀國際(ARM)。
Thread低功耗和固有支援IP的特性實現了「萬物」和網際網路之間無縫互連的承諾。它不僅在低成本、電池供電的裝置之間提供有效通訊,也提供到雲端和行動裝置的簡單介面。Thread提供具有吸引力的全新無線網狀網路解決方案,設計旨在滿足聯網家庭應用需求。Thread具備以下幾項特色:
開放基於標準的協定,可讓技術同行檢閱,實現跨廠商的互通性和競爭性。Thread以包含IEEE 802.15.4在內的IEEE和IETF標準為基礎。官方的Thread規格已經在2015年7月13日由Thread Group發布。
Thread摒棄了一些之前網狀網路標準的複雜性。只有兩種不同的節點型態:Router Eligible和End Device。
Router Eligible節點在須要支援網狀網路時成為路由器。建構網路的第一個Router Eligible節點將自動的被指定為路由器並作為領頭者(Leader)。Leader執行額外的網路管理工作並代表網路做決定。網路中的其他Router Eligible節點也能夠自動擔任Leader的角色,但是在一個時間內每一個網路中僅僅只能有一個Leader。
作為End Device加入的節點不支援任何路由功能。相反的,它們把資訊發送給指定為「Parent」的路由器,「Parent」代表它的「Child」執行路由操作。End Device透過「Parent」節點進行路由通訊並且能夠進入睡眠「Sleepy」狀態來減少功耗。不能與它們的「Parent」節點通訊的End Device在多次嘗試後將自動掃描並連結到新的「Parent」節點。圖4所示為帶有REED(Router Eligible End Device)、一個Leader和Thread Router的Thread節點網路。
|
圖4 Thread節點型態 |
Thread全面支援IP。Thread網路中的所有裝置都有一個IPv6位址,並且能夠被家用區域網路(Home Area Network, HAN)中的本機裝置或者離線網路中具有Thread能力的被稱為Border Router的IP路由器直接存取。圖5顯示典型的Thread網路連結。
|
圖5 Thread網路連結 |
網路中的節點由Border Router分配的首碼(Prefix)組成IPv6全球位址,或者由本機自分配的首碼去組成唯一區域地址(Unique Local Address, ULA)。網路中使用的路由識別碼(ID)透過Leader分配。Thread使用UDP進行訊息傳輸,而非使用傳送控制協定(Transmission Control Protocol, TCP)。與TCP不同,UDP是不需連線的協定,它摒棄了一些TCP特性,例如錯誤檢測、封包排序和重傳以換取更快速和更高效的傳輸。這種效率相當於減少了傳輸成本,這對於電池供電、資源受限的裝置是極其重要的。Thread使用受限應用協定(Constrained Application Protocol, CoAP)結合UDP以保持高效性,同時克服UDP的一些限制。CoAP實現了重構以支援重傳和分組排序。CoAP進一步為GET、POST、PUT和DELETE方法的輕量級版本提供支援,能夠容易的轉換成HTTP實現與網路的連結。利用離線網路CoAP到HTTP的代理,Thread可以從瀏覽器中直接查詢IoT裝置。
Thread為低功耗執行的可休眠終端節點提供了特別支援。正如其名稱所暗示,這些可休眠的終端裝置大部分時間處於低功耗休眠狀態。在Thread協定中,不檢測處於休眠狀態的裝置,而以此來延長電池壽命。發送給可休眠終端裝置的訊息由它們的「Parent」節點快取。訊息傳輸僅僅在休眠終端裝置被喚醒並查詢「Parent」節點時才被觸發。
Thread的網路設計目標是支援多於250個節點。在此約束下,多種特性和功能被最佳化以提供最大化的傳輸量和最小化資源需求。在Thread網路中,工作路由器的最大數量是32個。如此產生的重要直接結果是路由資訊能夠被有效的透過網路分發,並且所有路由器能夠直覺性的維護網路中的所有路由。當節點增加到網路並且拓撲結構改變時,網路透過交換MLE(Mesh Link Establishment)訊息做調整。如果有作為終端設備操作的Router Eligible裝置,能夠自主增加額外的路由器。這種Router Eligible終端設備或者REED,聽從路由資訊,並且在需要提升網路的整體效能時,向網路中的Leader申請成為路由器。
Thread是強大的、能自我修復的網狀網路,提供無單點故障能力。如果一個路由器發生了故障,網路將動態變向發送傳輸,繞過故障節點。如果一個Leader失效了,網路中的另一個路由器將被自動選擇成為新的Leader。多個邊界路由器能夠為離線網路通訊提供故障失效安全的容錯。
Thread Group已經推出標準的軟體測試工具,以用於所有Thread協定堆疊和最後Thread產品認證。這種測試工具將提供給所有Thread成員公司,以便在Thread認證測試之前獲得高品質的軟體開發和測試。
所有Thread元件(IC、軟體協定堆疊或模組)在作為終端產品提供給使用者之前必須獲得Thread認證。所有想要具備Thread標誌的終端產品裝置必須送交他們的裝置到批准的實驗室進行認證。
Thread網路易於使用且相當安全。Thread在媒體存取控制(MAC)層使用AES-128保護所有網路傳輸,並且利用錯誤碼修正(ECC)和J-PAKE邏輯組合安全增加裝置到網路(即部署)。應用有能力選擇利用基於標準的IP安全協定(例如DTLS)以實現額外的安全應用Payload。
Thread網路假設使用者有一個可用的偵錯裝置用於增加新裝置到Thread網路。Thread可以指定離線網路裝置(例如智慧型手機和電腦)和線上網路Thread裝置成為管理員(Commissioner)。離線網路裝置必須首先請求Thread Border Router以成為註冊Commissioner,符合Thread指定的安全DTLS認證。
一旦註冊,Border Router將代表Commissioner候選人與Leader協商成為授權的Commissioner。線上網路裝置不須要註冊,但是可能要與Leader協商以被授權。(Leader確保網路中同一時間僅僅有一個Commissioner被啟動)。一旦獲得授權,啟動的Commissioner將會以廣播方式通知到整個Thread網路。
在加入Thread網路時,使用者通知Commissioner裝置有個新裝置將要加入,並且輸入一個唯一的與加入裝置相關的密碼。這種密碼被用於建立安全的DTLS階段來認證並授權給加入的裝置。僅僅在那時裝置有權存取Thread網路。一旦裝置加入到網路,Commissioner裝置不再處於啟動狀態。
Thread沒有規定應用層,而是為其提供基本的訊息傳送服務,例如使用UDP和CoAP的單一傳播和廣播訊息服務。類似於Wi-Fi,Thread重視訊息的安全和可靠傳輸,使用低功耗的網狀網路代替高功耗的星狀網路。使用適當的應用程式開發工具如AppBuilder,利用易於使用的回調(Callback)和外掛程式(Plug-in)使協定堆疊細節抽象化,以簡化IP訊息傳輸。在框架中開發的應用代碼是高度可移植的,並且可以在支援的802.15.4裝置之間重用。AppBuilder提供簡單的GUI以設定裝置和網路參數,例如裝置型態、指令、網路組成和加入行為,以及安全模式和操作。晶片商提供容易訂製和擴充的Thread範例應用幫助使用者快速啟動專案開發。
在為網狀網路開發應用時,了解、適應和調整網路層是重要的開發階段。傳統的解決方案使用無線偵測器去遠端捕捉網路傳輸包。有些晶片商在其方案內部整合了這種能力,使用封包布線(Packet Trace)專用的雙線介面,輸出被裝置發送接收的每個資料封包以及鏈路品質資訊。
這些資訊能夠透過桌面分析儀(Desktop Network Analyzer)工具收集起來,將完整的網路資訊傳輸視覺化。Desktop Network Analyzer透過事件聯繫所有通訊活動並且解碼Thread訊息。網路活動可以被長時間記錄,以進一步識別網路中極少發生、或間歇性發生的問題。
IP網路助力聯網家庭發展
物聯網將大幅超越桌上型電腦、筆記型電腦和智慧手機組合的歷史連結規模。大多數這些裝置將會是無線連結的。Wi-Fi、Bluetooth Smart和802.15.4網狀網路通訊協定可以提供IP連結,將主導聯網家庭發展。Thread是網狀網路的未來,它提供了安全、可靠和可擴充的基於IP的網狀網路解決方案,以及最佳化的低功耗操作。
(本文作者為Silicon Labs物聯網無線產品行銷總監)