Thread是無線網(wǎng)狀網(wǎng)絡的未來,它有望成為“萬物”與Internet連接的關鍵技術?!叭f物”可以籠統(tǒng)的定義為功耗敏感、資源受限的設備,它們通常結合了MCU、傳感器、RF技術和軟件。這些設備通過無線連接橋接到網(wǎng)絡,而且能夠被遠程控制和自動化運行。當前已經(jīng)有多種無線技術能夠支持這種相互連接,但是Thread是為滿足家居互聯(lián)的特殊需求而設計的。它基于現(xiàn)有標準,通過提供低功耗、安全和可擴展的基于IP的無線網(wǎng)狀網(wǎng)絡協(xié)議,Thread成為IoT實現(xiàn)的關鍵技術所在。
為什么選擇IP
IP是Internet的主要通信協(xié)議。IP為IP網(wǎng)絡數(shù)據(jù)中繼提供了核心機制,它的路由能力實現(xiàn)了網(wǎng)絡互連。在Internet數(shù)十年快速發(fā)展之后,IP已經(jīng)無處不在。
本身不支持IP的網(wǎng)絡技術必須首先在網(wǎng)關中適配IP。這種處理過程涉及到本地網(wǎng)絡地址的映射,將網(wǎng)絡層數(shù)據(jù)包重新打包為IP數(shù)據(jù)包。如圖1所示,已加密的本地報文必須在網(wǎng)關中解密,然后重新在IP數(shù)據(jù)包中加密。
相比之下,本身支持IP的本地網(wǎng)絡,例如Thread和Wi-Fi,能夠無介入的轉發(fā)和路由應用的有效載荷。本地網(wǎng)絡加密的報文能夠安全的端到端傳輸。如圖2所示。
IPv6對比IPv4
IPv4支持32位尋址。但是自從上世紀90年代起,大約43億的地址空間越來越不能滿足Internet連接的增長預期。IPv6把地址長度增加到128位,這使得地址空間達到約240澗(1澗=10的36次方)!具有IPv6全球唯一地址(GUA)的本地設備可直接通過廣域網(wǎng)(WAN)尋址。
6LoWPAN
6LoWPAN是IPv6 over Low Power Wireless Personal Area Networks的縮寫。它可實現(xiàn)在802.15.4連接上有效傳輸IPv6數(shù)據(jù)報,因此資源受限的設備(例如“萬物”)能夠自然的加入IoT。它支持三種關鍵功能:
●報文長度自適應
IPv6支持的最小MTU(最大傳輸單元)是1280字節(jié)。在使用UDP(User Datagram Protocol)和DTLS(Datagram Transport Layer Security)的802.15.4報文中,典型應用的有效載荷大小是63字節(jié)。6LoWPAN提供分段和重組機制以適配IPv6數(shù)據(jù)報到這些更小的802.15.4有效載荷。不合適大小的IPv6報文將被分成片段,并通過802.15.4在空中發(fā)送。不是所有的片段都能夠以正確的順序被接收。然而,6LoWPAN僅僅需要接收到所有片段,然后按照需要再重新排序分段。
●報頭壓縮
為了最大限度的減少在802.15.4幀中發(fā)送IPv6消息的開銷,6LoWPAN利用協(xié)議間的跨層冗余(例如源和目標地址、負載長度、傳輸類型和流量標簽)為IPv6和傳輸報頭提供透明的壓縮機制。Thread使用IPHC(Improved Header Compression)和NHC(Next Header Compression)。IPHC被用于壓縮IPv6報頭。NHC被用于壓縮UDP報頭。
●層間轉發(fā)
Thread使用IP路由轉發(fā)報文。IP路由表用于維護每一個目的和到達它的下一跳。6LoWPAN網(wǎng)狀報頭使用IP路由表來實現(xiàn)鏈路的下一跳轉發(fā)。
實現(xiàn)互聯(lián)
網(wǎng)絡市場中存在多種無線技術。從長遠來看,我們認為在互聯(lián)家居和IoT領域中主要有三個領先的協(xié)議解決方案:Wi-Fi、Bluetooth Smart和802.15.4網(wǎng)狀網(wǎng)絡協(xié)議。
Wi-Fi是家庭網(wǎng)絡中傳輸音頻、視頻和數(shù)據(jù)的骨干無線技術。它支持高數(shù)據(jù)率和輸出功率,然而功耗較大。因此其在電池供電的應用中受到限制。
Bluetooth Smart適合連接智能手機的點對點解決方案,也適合在電池供電的設備上批量傳輸數(shù)據(jù)。雖然目前的解決方案本身不支持IP,但是Bluetooth Core Specification 4.2通過支持IPv6和6LoWPAN為支持IP奠定了基礎。
網(wǎng)狀網(wǎng)絡技術(例如ZigBee PRO和Thread)構成了家居互聯(lián)的骨干連接。這些自恢復網(wǎng)絡已經(jīng)被優(yōu)化去支持低帶寬控制和自動化應用,在這類應用中,支撐幾年的長電池壽命是關鍵點。
在過去的10年中,ZigBee PRO一直在802.15.4網(wǎng)狀網(wǎng)絡解決方案中占主導地位。它支持可靠、安全和可擴展的網(wǎng)狀網(wǎng)絡,支持超過250個節(jié)點,也廣泛支持電池供電操作的可休眠的終端節(jié)點。
Thread建立在ZigBee基礎之上,具有安全、可靠和容錯性好的優(yōu)勢。它也解決了市場中對于網(wǎng)狀網(wǎng)絡技術期待已久的需求:支持IPv6和6LoWPAN,為IoT中的每一個終端節(jié)點帶來亟需的IP連接能力。表1列舉了不同網(wǎng)絡協(xié)議的特性。
表1:IoT無線技術
為什么是Thread,為什么是現(xiàn)在?
Thread Group成立于2014年7月15日,目的是協(xié)作、共享專長和開發(fā)滿足這些需求的解決方案。成立一年后,Thread Group發(fā)布了Thread規(guī)范。該組織的創(chuàng)始成員包括Silicon Labs、Nest Labs、Yale Security、Samsung Electrics、Freescale Semiconductor、Big Ass Fans和ARM。
Thread的關注低功耗和固有支持IP實現(xiàn)了“萬物”和網(wǎng)絡之間無縫互聯(lián)的承諾。它不僅在低成本、電池供電的設備之間提供有效通信,也提供到云和移動設備的簡單接口。Thread提供具有吸引力的全新無線網(wǎng)狀網(wǎng)絡解決方案,設計旨在滿足下列家居互聯(lián)需求:
●基于標準的協(xié)議
開放基于標準的協(xié)議,實現(xiàn)跨廠商的互操作性和競爭性。Thread以目前的包括IEEE 802.15.4在內(nèi)的IEEE和IETF標準為基礎。官方的Thread Specification已經(jīng)在2015年7月13日由Thread Group發(fā)布。
●簡化的配置
Thread摒棄了一些之前網(wǎng)狀網(wǎng)絡標準的復雜性。只有兩種不同的節(jié)點類型:Router Eligible和 End Device。
Router Eligible節(jié)點在需要支持網(wǎng)狀網(wǎng)絡時成為路由器。構建網(wǎng)絡的第一個Router Eligible節(jié)點將自動的被指定為路由器并作為Leader。Leader執(zhí)行額外的網(wǎng)絡管理任務并代表網(wǎng)絡做決定。網(wǎng)絡中的其他Router Eligible節(jié)點也能夠自動的擔任Leader的角色,但是在一個時間內(nèi)每一個網(wǎng)絡中僅僅只能有一個Leader。
作為End Device加入的節(jié)點不支持任何路由功能。相反,它們把信息發(fā)送給指定為“父節(jié)點(parent)”的路由器,“父節(jié)點”代表它的“子節(jié)點(child)”執(zhí)行路由操作。End Device通過父節(jié)點進行路由通信并且能夠進入“Sleepy”狀態(tài)來減少功耗。不能與它們的父節(jié)點通信的End Device在多次嘗試后將自動掃描并連接到新的父節(jié)點。圖3所示為帶有REED(Router Eligible End Device)、一個Leader和Thread Router的Thread節(jié)點網(wǎng)絡。
圖3:Thread節(jié)點類型
●基于IP的信息傳送
Thread全面支持IP。Thread網(wǎng)絡中的所有設備都有一個IPv6地址,并且能夠被HAN(Home Area Network,家庭局域網(wǎng))中的本地設備或者離線網(wǎng)絡中具有Thread能力的被稱為Border Router(邊界路由器)的IP路由器直接訪問。圖4顯示典型的Thread網(wǎng)絡連接。
圖4:Thread網(wǎng)絡連接
網(wǎng)絡中的節(jié)點由Border Router分配的前綴構成IPv6全球地址,或者由本地自分配的前綴去構成ULA(Unique Local Address)。網(wǎng)絡中使用的路由ID通過Leader分配。Thread使用UDP(User Datagram Protocol)進行消息傳輸,而不是使用TCP。與TCP不同,UDP是無連接的協(xié)議,它摒棄了一些TCP特性,例如錯誤檢測、報文排序和重傳以換取更快速和更高效的傳輸。這種效率相當于減少了傳輸成本,這對于電池供電、資源受限的設備是極其重要的。Thread使用CoAP(Constrained Application Protocol)結合UDP去保持高效性,同時克服了UDP的一些限制。CoAP實現(xiàn)了重構以支持重傳和分組排序。CoAP進一步為GET、POST、PUT和DELETE方法的輕量級(版本提供支持,能夠容易的轉換成HTTP實現(xiàn)與萬維網(wǎng)的連接)。利用離線網(wǎng)絡CoAP到HTTP代理,Thread可以從瀏覽器中直接查詢IoT設備!
●低功耗運行
Thread為低功耗運行的可休眠終端節(jié)點提供了特別支持。正如其名稱所暗示,這些可休眠的終端設備大部分時間處于低功耗休眠狀態(tài)。在Thread協(xié)議中,不檢測處于休眠狀態(tài)的設備,以此來延長電池壽命。發(fā)送給可休眠終端設備的消息由它們的父節(jié)點緩存。消息傳輸僅僅在休眠終端設備被喚醒并查詢父節(jié)點時才被觸發(fā)。
●可擴展性和彈性
Thread的網(wǎng)絡設計目標是支持多于250個節(jié)點。在此約束下,多種特性和功能被優(yōu)化用以提供最大化的吞吐量和最小化資源需求。在Thread網(wǎng)絡中,活動路由器的最大數(shù)量是32個。這樣產(chǎn)生的一個重要的結果是路由信息能夠被有效的通過網(wǎng)絡分發(fā),并且所有路由器能夠直觀的維護網(wǎng)絡中的所有路由。當節(jié)點添加到網(wǎng)絡并且拓撲結構改變時,網(wǎng)絡通過交換MLE(Mesh Link Establishment)消息做調(diào)整。如果有作為終端設備操作的Router Eligible設備,能夠自主添加額外的路由器。這種Router Eligible終端設備或者REED,聆聽路由信息,并且在需要提升網(wǎng)絡的整體性能時,向網(wǎng)絡中的Leader申請成為路由器。
Thread是強大的、能自我修復的網(wǎng)狀網(wǎng)絡,提供無單點故障能力。如果一個路由器發(fā)生了故障,網(wǎng)絡將動態(tài)變向發(fā)送傳輸,繞過故障節(jié)點。如果一個Leader失效了,網(wǎng)絡中的另一個路由器將被自動的選擇成為新的Leader。多個邊界路由器能夠為離線網(wǎng)絡通信提供故障失效安全的冗余。
●互操作性
Thread Group已經(jīng)發(fā)布了標準的軟件測試工具用于所有Thread協(xié)議棧和最終Thread產(chǎn)品認證。這種測試工具將被提供給所有Thread成員公司以便在Thread認證測試之前獲得高質(zhì)量的軟件開發(fā)和測試。
所有Thread組件(IC、軟件協(xié)議棧或模組)在作為終端產(chǎn)品提供給用戶之前必須獲得Thread認證。所有想要攜帶Thread標識的終端產(chǎn)品設備必須提交他們的設備到批準的實驗室進行認證。
●安全和人性化
Thread網(wǎng)絡易于使用并極其安全。Thread在MAC層使用AES-128保護所有網(wǎng)絡傳輸,并且利用ECC和J-PAKE邏輯組合安全添加設備到網(wǎng)絡(即Commissioning)。應用有能力選擇利用基于標準的IP安全協(xié)議(例如DTLS)以實現(xiàn)額外的、安全的應用載荷。
Thread網(wǎng)絡假定用戶有一個可用的Commissioning設備用于添加新設備到Thread網(wǎng)絡。Thread可以指定離線網(wǎng)絡設備(例如智能電話和計算機)和在線網(wǎng)絡Thread設備成為Commissioner。離線網(wǎng)絡設備必須首先請求Thread Border Router以成為注冊Commissioner,符合Thread指定的安全DTLS認證。一旦注冊,Border Router將代表Commissioner候選人與Leader協(xié)商成為授權的Commissioner。在線網(wǎng)絡設備不需要注冊,但是可能需要與Leader協(xié)商以被授權(Leader確保網(wǎng)絡中同一時間僅僅有一個Commissioner被激活)。一旦得到授權,激活的Commissioner將會以廣播方式通知到整個Thread網(wǎng)絡。
在加入Thread網(wǎng)絡時,用戶通知Commissioner設備有個新設備將要加入,并且輸入一個唯一的與加入設備相關的密碼。這種密碼被用于建立安全的DTLS會話來認證并授權給加入的設備。僅僅在那時設備有權訪問Thread網(wǎng)絡。一旦設備加入到網(wǎng)絡,Commissioner設備不再處于激活狀態(tài)。
●加速產(chǎn)品上市
隨著物聯(lián)網(wǎng)設備的快速普及,對于產(chǎn)品來說,越來越重要的是盡快從概念階段進展到產(chǎn)品上市。Thread和Silicon Labs有助于加速產(chǎn)品上市。
●應用開發(fā)
Thread沒有規(guī)定應用層,而是為其提供基本的消息傳送服務,例如使用UDP和CoAP的單播和組播消息服務。類似Wi-Fi,Thread關注消息的安全和可靠傳輸,使用低功耗的網(wǎng)狀網(wǎng)絡代替高功耗的星狀網(wǎng)絡。使用Silicon Labs AppBuilder工具,利用易于使用的回調(diào)函數(shù)(callback)和插件(plug-in)使協(xié)議棧層細節(jié)不再抽象化,以簡化IP消息傳輸。在框架中開發(fā)的應用代碼是高度可移植的,并且可以在支持的802.15.4設備之間重用。AppBuilder提供簡單的GUI去配置設備和網(wǎng)絡參數(shù),例如設備類型、命令、組網(wǎng)和加入行為,以及安全模式和操作。Silicon Labs提供容易定制和擴展的Thread示例應用幫助用戶快速啟動項目開發(fā)。
●網(wǎng)絡調(diào)試
在為網(wǎng)狀網(wǎng)絡開發(fā)應用時,理解、適配和調(diào)整網(wǎng)絡層是重要的開發(fā)階段。傳統(tǒng)的解決方案使用無線sniffer去遠程捕獲空中網(wǎng)絡傳輸包。Silicon Labs網(wǎng)絡IC在芯片內(nèi)部集成了這種能力,使用Packet Trace專用的雙線接口,輸出被設備發(fā)送接收的每個數(shù)據(jù)包以及鏈路質(zhì)量信息。這些信息能夠通過Desktop Network Analyzer工具收集起來,將完整的網(wǎng)絡信息傳輸可視化。Desktop Network Analyzer通過事件聯(lián)系所有通信活動并且解碼Thread消息。網(wǎng)絡活動可以被記錄很長時間,從而識別網(wǎng)絡中極少發(fā)生或間歇性發(fā)生的問題。
結論
我們正在進入網(wǎng)絡連接的新時代。物聯(lián)網(wǎng)將大大超越臺式機、筆記本電腦和智能手機組合的歷史連接規(guī)模。憑借難以置信的、廣泛的應用,小型、資源受限的設備能夠驅動這一增長。從家庭自動化到建筑安防傳感器,從農(nóng)業(yè)灌溉到工業(yè)加工自動化,從醫(yī)療保健到個人衛(wèi)生。這將觸及我們生活的方方面面,并改變我們與周圍環(huán)境的互動方式。大多數(shù)這些設備將會是無線連接的?,F(xiàn)有的多種無線技術可以提供IP連接,但是我們認為三種解決方案將主導家居互聯(lián),即Wi-Fi、Bluetooth Smart和802.15.4網(wǎng)狀網(wǎng)絡協(xié)議。Thread是網(wǎng)狀網(wǎng)絡的未來。它提供安全、可靠和可擴展的基于IP的網(wǎng)狀網(wǎng)絡解決方案,以及優(yōu)化的低功耗操作。
評論
查看更多