在上篇中,我們了解到藍(lán)牙mesh網(wǎng)絡(luò)設(shè)備彼此之間可通過消息和發(fā)布/訂閱機(jī)制展開對(duì)話。
得益于mesh網(wǎng)絡(luò),設(shè)備可以在非常廣闊的區(qū)域中安裝,同時(shí)彼此之間保持通信。想象一下購物中心、機(jī)場或辦公大樓的占地空間有多廣闊。因?yàn)榇嬖趬Ρ诤推渌锢砩系恼系K物,樓宇中的設(shè)備可能無法與安裝在同一樓宇遠(yuǎn)側(cè)的設(shè)備、或臨近樓宇中的設(shè)備建立直接的無線連接。而藍(lán)牙m(xù)esh網(wǎng)絡(luò)則能夠?qū)⒕W(wǎng)絡(luò)中的某些設(shè)備指定為“中繼設(shè)備”,進(jìn)而解決這一難題。
中繼設(shè)備能夠轉(zhuǎn)發(fā)從其他設(shè)備接收到的消息。在轉(zhuǎn)發(fā)消息時(shí),它們能夠與位于初始消息發(fā)布設(shè)備無線范圍以外的設(shè)備進(jìn)行通信。消息可多次被中繼,每一次中繼即為一“跳”,最多可進(jìn)行127跳,足以在一片廣闊的物理區(qū)域中進(jìn)行消息傳輸。
藍(lán)牙 mesh網(wǎng)絡(luò)在節(jié)點(diǎn)之間中繼消息
管理型網(wǎng)絡(luò)泛洪(Managed Flooding)
藍(lán)牙m(xù)esh網(wǎng)絡(luò)采用一種稱為“網(wǎng)絡(luò)泛洪(flooding)”的方式來發(fā)布和中繼消息。這意味著消息不會(huì)通過某一進(jìn)程進(jìn)行路由, 也不會(huì)沿著由一系列特定設(shè)備構(gòu)成的特定路徑來進(jìn)行傳輸。相反,傳輸范圍內(nèi)的所有設(shè)備都會(huì)接收消息,負(fù)責(zé)中繼的設(shè)備能將消息轉(zhuǎn)發(fā)至其傳輸范圍內(nèi)的所有其他設(shè)備。
“網(wǎng)絡(luò)泛洪”這項(xiàng)技術(shù)在使用中往往是利弊參半。在藍(lán)牙m(xù)esh網(wǎng)絡(luò)的設(shè)計(jì)中,我們對(duì)此進(jìn)行了針對(duì)性的優(yōu)化,相信能夠揚(yáng)長避短。
網(wǎng)絡(luò)泛洪的優(yōu)勢
網(wǎng)絡(luò)泛洪的優(yōu)勢在于無需特定設(shè)備專門扮演集中式路由器的角色。集中式路由器一旦發(fā)生故障,就可能會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)無法運(yùn)行。沒有特定的路由也可能對(duì)網(wǎng)絡(luò)造成災(zāi)難性的影響,但這種情況也可以通過在mesh網(wǎng)絡(luò)中采用網(wǎng)絡(luò)泛洪的方法來避免。
網(wǎng)絡(luò)泛洪的方式也意味著消息一般能夠通過多重路徑到達(dá)其目的地。這就構(gòu)建了一個(gè)相當(dāng)可靠的網(wǎng)絡(luò)。
優(yōu)化mesh網(wǎng)絡(luò)
藍(lán)牙m(xù)esh網(wǎng)絡(luò)也采取了一系列措施,支持采用網(wǎng)絡(luò)泛洪的方式,同時(shí)優(yōu)化每臺(tái)設(shè)備、甚至整體網(wǎng)絡(luò)的能耗。
所有數(shù)據(jù)包都包含一個(gè)稱為TTL的字段,它可用于限制消息中繼的跳數(shù)。由設(shè)備間歇性發(fā)送的心跳消息中包含的信息,能夠讓網(wǎng)絡(luò)了解其拓?fù)浣Y(jié)構(gòu)、以及傳到其他每臺(tái)設(shè)備之間的跳數(shù)。這能夠讓設(shè)備將TTL設(shè)置為最佳值,從而避免不必要的中繼操作。
每臺(tái)設(shè)備都包含消息緩存,以確定自身是否已經(jīng)中繼過該消息。如果是,則會(huì)立即丟棄該消息,從而避免上層堆棧進(jìn)行不必要的處理。
最有趣的是,功率非常受限的設(shè)備(例如由小型電池持續(xù)供電多年的傳感器)可能被指定為“低功耗節(jié)點(diǎn)”。低功耗節(jié)點(diǎn)能夠與一個(gè)或多個(gè)被指定為 “friends” 的設(shè)備協(xié)同工作。Friends并非功率受限,它可以作為低功耗節(jié)點(diǎn),存儲(chǔ)尋址到這一低功耗節(jié)點(diǎn)的消息,并且只有在低功耗節(jié)點(diǎn)需要時(shí)才傳送消息。低功耗節(jié)點(diǎn)和“friends”之間的關(guān)系理所當(dāng)然就稱為“friendship”。
“Friendship”具體如何運(yùn)轉(zhuǎn)?
下面我們從節(jié)能的角度來進(jìn)行解讀。
低功耗設(shè)備通常將大部分時(shí)間用于傳輸數(shù)據(jù),例如傳感器。每當(dāng)溫度低于或高于指定閾值時(shí),傳感器才會(huì)發(fā)送溫度讀數(shù),這種情況也許每天只會(huì)發(fā)生兩次。這種不頻繁的傳輸方案本身就使這類設(shè)備保持相當(dāng)?shù)偷哪芎摹?/p>
但如果傳感器需要不時(shí)地接收數(shù)據(jù),又該怎么辦呢?
例如,可能它需要確保網(wǎng)絡(luò)中使用的安全密鑰始終處于最新狀態(tài)?;蛟S需要根據(jù)季節(jié)修改這些溫度閾值,采用不同的值。要使傳感器直接接收消息,就需要開啟無線電,以便數(shù)據(jù)接收。但大多數(shù)時(shí)候它什么都接收不到,但能量卻會(huì)被消耗。
對(duì)設(shè)備來說,通過與“friends”的合作, 低功耗節(jié)點(diǎn)能夠以合理的頻率使用無線電來接收消息,但重要的是,相較于始終“聆聽”所有消息,它能夠以更低的頻率工作,同時(shí)確保發(fā)送來的罕見事件也不會(huì)被遺漏。
“Friends” 能幫助低功耗節(jié)點(diǎn)完成大量工作。它們能夠?yàn)樗?wù)的低功耗節(jié)點(diǎn)存儲(chǔ)消息,并在低功耗節(jié)點(diǎn)明確要求的情況下向其提供消息,低功耗節(jié)點(diǎn)可按照自身的規(guī)劃進(jìn)行操作,從而最有效地利用無線電。
市場上的藍(lán)牙設(shè)備支持
藍(lán)牙m(xù)esh網(wǎng)絡(luò)雖然推出不久,但低功耗藍(lán)牙(Bluetooth Low Energy)卻面世已久。
那么市場上數(shù)十億臺(tái)設(shè)備呢?智能手機(jī)和平板電腦呢?它們能否訪問藍(lán)牙m(xù)esh網(wǎng)絡(luò)?
低功耗藍(lán)牙設(shè)備和mesh支持
幸運(yùn)的是,答案是YES!
藍(lán)牙m(xù)esh網(wǎng)絡(luò)會(huì)指定一臺(tái)設(shè)備來扮演代理節(jié)點(diǎn)(proxy node)的角色。代理節(jié)點(diǎn)包含一項(xiàng)標(biāo)準(zhǔn):低功耗藍(lán)牙GATT服務(wù),具有兩個(gè)GATT特性,分別是mesh代理數(shù)據(jù)輸入(Mesh Proxy Data In)和mesh代理數(shù)據(jù)輸出(Mesh Proxy Data Out)。諸如智能手機(jī)等低功耗藍(lán)牙設(shè)備均可使用這些特性,與mesh網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)收發(fā)。
這種mesh規(guī)格定義了一種代理協(xié)議(proxy protocol),同時(shí)通過代理節(jié)點(diǎn)的兩個(gè)GATT特性交換的數(shù)據(jù)中包含代理協(xié)議PDU。
欲知代理節(jié)點(diǎn)的作用,請(qǐng)持續(xù)關(guān)注本系列后續(xù)文章~
安全性
安全性是藍(lán)牙m(xù)esh網(wǎng)絡(luò)設(shè)計(jì)的核心,并且強(qiáng)制使用。
藍(lán)牙m(xù)esh網(wǎng)絡(luò)中強(qiáng)制性使用安全性
每個(gè)數(shù)據(jù)包都經(jīng)過加密和認(rèn)證。通過合理使用序列號(hào)能夠防止中繼攻擊。在重要流程中使用不對(duì)稱加密技術(shù)可防止中間人(Man-in-the-middle)攻擊。同時(shí)針對(duì)利用廢棄設(shè)備的垃圾桶攻擊提供保護(hù)。必要時(shí)還會(huì)刷新安全密鑰。
“安全分級(jí)考量”(Separation of Concerns)是藍(lán)牙m(xù)esh網(wǎng)絡(luò)安全性中體現(xiàn)的重要原則。網(wǎng)絡(luò)的安全性,以及諸如照明、供暖、或?qū)嶓w建筑安全等個(gè)別應(yīng)用的安全性彼此獨(dú)立??墒褂貌煌陌踩荑€來保護(hù)網(wǎng)絡(luò)層操作,例如中繼、或保護(hù)特定應(yīng)用的消息內(nèi)容。論其結(jié)果,舉例來說,由于燈泡和照明開關(guān)具有相同的應(yīng)用密鑰,因此燈泡能夠全面訪問照明開關(guān)所發(fā)送消息中的數(shù)據(jù)。但是,盡管相同的燈泡能夠?qū)碜运{(lán)牙物理訪問令牌的消息中繼到前門中的鎖,卻無法閱讀那些消息應(yīng)用層的內(nèi)容。
本系列的后續(xù)文章中也將詳細(xì)介紹安全性。我們還將密切關(guān)注一個(gè)稱為 “開通配置” (Provisioning)的安全流程,設(shè)備可通過這一流程變身為藍(lán)牙m(xù)esh網(wǎng)絡(luò)的一員。此外,我們還將探討如何從網(wǎng)絡(luò)中安全地刪除設(shè)備,以及如何在有需要時(shí)刷新安全密鑰。
協(xié)議棧
藍(lán)牙m(xù)esh網(wǎng)絡(luò)引入了全新的協(xié)議棧。如之前所述,這一協(xié)議棧建立在低功耗藍(lán)牙技術(shù)之上。下圖描繪了協(xié)議棧的層級(jí)。
藍(lán)牙m(xù)esh網(wǎng)絡(luò)協(xié)議棧
該規(guī)格是深入了解各層責(zé)任的最佳方式。為幫助您更好地了解其工作原理,以下列出了協(xié)議棧各層負(fù)責(zé)的工作:
承載層(bearer layer):承載層定義了如何使用底層低功耗堆棧傳輸PDU。目前定義了兩個(gè)承載層:廣播承載層(Advertising Bearer)和GATT承載層。
網(wǎng)絡(luò)層(network layer):網(wǎng)絡(luò)層定義了各種消息地址類型和網(wǎng)絡(luò)消息格式。中繼和代理行為通過網(wǎng)絡(luò)層實(shí)施。
底層傳輸層(lower transport layer):在需要之時(shí),底層傳輸層能夠處理PDU的分段和重組。
上層傳輸層(upper transport layer):負(fù)責(zé)對(duì)接入層進(jìn)出的應(yīng)用數(shù)據(jù)進(jìn)行加密、解密和認(rèn)證。它還負(fù)責(zé)稱為“傳輸控制消息”(transport control messages)這一特殊的消息,包括與“friendship”相關(guān)的心跳和消息。
接入層(access layer):負(fù)責(zé)應(yīng)用數(shù)據(jù)的格式、定義并控制上層傳輸層中執(zhí)行的加密和解密過程,并在將數(shù)據(jù)轉(zhuǎn)發(fā)到協(xié)議棧之前,驗(yàn)證接收到的數(shù)據(jù)是否適用于正確的網(wǎng)絡(luò)和應(yīng)用。
基礎(chǔ)模型(foundation models):基礎(chǔ)模型層負(fù)責(zé)實(shí)現(xiàn)與mesh網(wǎng)絡(luò)配置和管理相關(guān)的模型。
模型(models):模型層與模型等的實(shí)施、以及諸如行為、消息、狀態(tài)等的實(shí)施有關(guān)。
藍(lán)牙m(xù)esh網(wǎng)絡(luò)的未來
我們期待藍(lán)牙m(xù)esh網(wǎng)絡(luò)廣泛應(yīng)用于各行各業(yè)和各種應(yīng)用,預(yù)計(jì)最初會(huì)從樓宇自動(dòng)化、商業(yè)照明和傳感器網(wǎng)絡(luò)等應(yīng)用開始。尤其令人興奮的是藍(lán)牙m(xù)esh網(wǎng)絡(luò)在商業(yè)照明方面的應(yīng)用。試想一下,有了正確的固件,照明系統(tǒng)能實(shí)現(xiàn)的就不僅是無線燈光控制,還能夠成為樓宇中各種藍(lán)牙服務(wù)的平臺(tái),如物資跟蹤和定位服務(wù)!
-
傳感器
+關(guān)注
關(guān)注
2552文章
51359瀏覽量
755675 -
藍(lán)牙
+關(guān)注
關(guān)注
114文章
5862瀏覽量
170932 -
電池
+關(guān)注
關(guān)注
84文章
10669瀏覽量
130794
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論