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