Mesh網絡增強藍牙無線IoT的地位
作者/P?r H?kansson Nordic Semiconductor產品營銷經理
本文引用地址:http://cafeforensic.com/article/201802/375438.htm雖然低功耗藍牙(Bluetooth? Low Energy / Bluetooth LE)技術作為物聯網(IoT)的基礎技術已經取得重大進展,但它仍然存在一個弱點:因為它主要用于支持電池供電的外設與智能手機等中央設備的通信,該技術無法支持mesh網絡。現在,藍牙m(xù)esh 1.0規(guī)范消除了這個弱點。
Mesh網絡允許網絡中的設備(節(jié)點)相互通信而無需中央樞紐設備,如果需要,可以經由其它節(jié)點中繼來傳播數據包。這樣的系統(tǒng)實現了更大的通信范圍、靈活性和冗余,并且是所有典型IoT無線技術的先決條件。藍牙m(xù)esh網絡的主要應用包括企業(yè)照明設施、用于托管信標的后端管理,以及工業(yè)監(jiān)控。
一些企業(yè),特別是Silvair,認為這項需求是不可或缺的,并開發(fā)了基于低功耗藍牙技術的專有mesh解決方案來填補這項空白。這家公司的工程師在起草正式的藍牙m(xù)esh規(guī)范方面發(fā)揮了重要的作用。藍牙m(xù)esh規(guī)范已經在7月正式發(fā)布。
1 并不僅僅適用于藍牙5
由于開發(fā)人員熟悉藍牙技術的發(fā)展路線,可能假設藍牙m(xù)esh是藍牙5的一個新特性,但是情況并非如此。實際上,通過軟件更新任何兼容藍牙4.0或更高版本的低功耗藍牙芯片都能夠支持藍牙m(xù)esh。這允許正在使用專有mesh聯網的低功耗藍牙設備通過空中升級實現兼容標準藍牙m(xù)esh網絡。
這并不意味著設備無需更新應用程序固件。藍牙m(xù)esh是一個具有七層(包括承載、網絡、下層和上層運輸、訪問、基礎模式以及模式層)的全新架構,建立于標準低功耗藍牙物理層(射頻)之上(如圖1)。一個節(jié)點在接收信息時,將信息從下層的低功耗藍牙物理層向上層傳播,經由承載層至網絡層。網絡層使用多個檢查方法來決定將信息傳遞到協(xié)議棧上層或丟棄[1]。
藍牙m(xù)esh規(guī)范詳細描述了四種節(jié)點:中繼節(jié)點、低功耗節(jié)點、朋友節(jié)點和代理節(jié)點。
中繼節(jié)點能夠重新發(fā)送所接收到的數據包,并且通過這個機制,使數據包可以在整個網絡上快速傳播。中繼機制的缺點是耗電量增加,這是由于它依賴于保持“醒著的”節(jié)點。雖然在mesh網絡配置中低功耗藍牙的功耗遠低于其他競爭技術,但這樣的運作模式單單依靠電池供電是無法持久的。對于智能照明等應用來說,這并不是缺點,因為燈具通過接入主干供電系統(tǒng)為LED供電,但這對于加入網絡中的其它非主干系統(tǒng)供電設備,比如設備開關,則可能不適用。
為了解決這個問題,藍牙網絡引入了低功耗節(jié)點(LPN),可以使用電池或能源采集來供電。LPN與朋友節(jié)點協(xié)同工作,朋友節(jié)點通常是由主干系統(tǒng)供電,因而能夠永遠保持喚醒狀態(tài);這些設備會緩存發(fā)往LPN的信息。LPN根據預先設定的進程表切換至接收模式,接收緩存的信息,根據指令進行操作,然后快速度返回省電的睡眠狀態(tài)。
代理節(jié)點允許支持低功耗藍牙,但不支持藍牙m(xù)esh的設備(例如現在的智能手機)連接至藍牙m(xù)esh網絡。通過節(jié)點和代理設備的通用屬性配置文件(GATT) 接口實現交互(如圖2)。
藍牙m(xù)esh借鑒了藍牙技術的GATT配置文件的概念,允許不同的情況下使用相同的信息結構。然而由于mesh的分布式特性,兩種技術的配置文件的設計是不同的。為了避免GATT配置文件被誤認為是mesh網絡配置文件,因此mesh配置文件稱作模式。
藍牙m(xù)esh1.0包括配置、心跳和健康基礎模式,mesh模式是基礎模式的擴充,比如通用、照明、傳感器和場景等。與GATT配置文件類似,用戶還可以創(chuàng)建定制的基礎和mesh模式[1]。
2 照明驅動
智能照明是無線IoT 技術的先驅應用,許多早期的藍牙網絡規(guī)范就是專為這個應用定制的。藍牙技術聯盟(SIG)在博客中這樣說到:藍牙m(xù)esh將在商業(yè)照明應用中產生巨大的深刻影響。
也就是說,集成用于智能照明的機制可以方便地支持其它的關鍵應用,比如信標、安全網絡,以及加熱、通風和空調(HVAC)網絡。這些機制中的關鍵是通過泛洪(flooding)進行通信,把每個數據包向網絡中的其他節(jié)點廣播,直至到達目標節(jié)點。
三種類型尋址可配合泛洪:單播(在初始節(jié)點設置期間使用)、 群組和虛擬(主要由設備制造商用來標記產品)。其中,群組尋址最適用于日常操作。群組地址是代表著網絡中一個或多個元素的組播地址。SIG定義了四個固定群組地址,即全代理、全朋友、全中繼和全節(jié)點,分別對應上面定義的節(jié)點類型。
除了這些群組地址,安裝商很可能在配置期間分配動態(tài)群組地址,以反映現實的mesh布局。例如,動態(tài)群組地址可以分配至建筑中每個房間的燈具。
泛洪mesh和群組尋址對于主要的智能家居應用,例如照明,是有意義的。泛洪mesh允許開關向智能照明群組發(fā)送“ON”指令,通過網絡進行快速傳播,每個節(jié)點接收指令并且相應地執(zhí)行指令。目標群組的燈將迅速點亮。相比需要中樞來向每個連接的燈具傳送單獨指令的網絡,例如星形網絡,泛洪mesh的延遲可降低很多。
泛洪架構還帶來了其它的優(yōu)勢,但也包括一些缺點。一個主要的附加優(yōu)勢是簡化,特別是把通信限制在低功耗藍牙技術的三個廣播和掃描信道上 (請記住這項技術擁有總共40個頻率信道)。但是這樣的缺點是帶寬減小了,原因是需要管理通信,以防止數據包超出這些信道。
這項規(guī)范包括了多個機制,以緩減廣播和掃描信道的擁堵。首先是定義一個特定的數據包,這是一個計算中繼傳輸次數數目的TTL(Time-To-Live)計數器,在滿足定義的步驟數目之后,將不會繼續(xù)進行中繼傳輸。
例如,設置TTL計數器為3,允許一個數據包從起源開始最多傳遞三次,而后不再重新傳播。
圖 1 藍牙m(xù)esh協(xié)議棧位于低功耗藍牙的物理層上面
來源:藍牙技術聯盟(SIG)
第二個防止擁堵的機制是數據包的消息緩存。數據包在整個mesh傳輸后,最終只會形成緩存——緩存可以安全地認為該數據包不必在當前節(jié)點進行傳播。可選中繼功能也可以限制mesh擁堵。通過關閉中繼,節(jié)點可以接收數據包而不傳送。由于設計人員必需折衷權衡mesh靈活性和帶寬消耗,可選中繼增加了復雜性,這樣可以提升總體mesh的性能。
圖2 代理節(jié)點(“P”)允許不支持藍牙m(xù)esh的低功耗藍牙設備(例如智能手機)連接至藍牙m(xù)esh網絡
來源:藍牙技術聯盟(SIG)
3 安全第一
藍牙m(xù)esh將藍牙技術更深入地引入到IoT中,使安全變得至關重要。因此,藍牙m(xù)esh的設計人員必須確保網絡、各項應用,以及裝置全部是安全的,并且無法被非法關閉或限制。對于藍牙m(xù)esh,安全特性不是可選的,而是強制的。
這個強制性方法是從配置開始的,配置是使外部設備變成mesh網絡節(jié)點的過程,可以由智能手機或平板電腦上的app來實現。這個過程有五個步驟:廣播(指示可以加入mesh)、邀請(來自供應設備)、公匙交換、認證以及會話密匙交換(保證數據進行配置的安全)。
配置過程實現了高度的安全性,隨后數據包經過AES-128進行端至端加密,并且在每個中繼之間進行附加的AES-128加密,從而增強了隱私。此外,還會定期刷新加密密匙,以檢測和對抗重放攻擊。
參考文獻:
[1]藍牙Mesh網絡/面向開發(fā)者的介紹[S].藍牙技術聯盟(SIG),2017,8.
評論