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