華文網

BLE Mesh網路通訊協定綜述

徐春燕1,肖揚文2,蔡 敏1

(1.華南理工大學 電子與資訊學院,廣東 廣州510640;2.國家品質監督檢驗檢疫總局資訊中心,北京100088)

藍牙低功耗(BLE)技術由於其低功耗的特性被廣泛應用到物聯網領域。

然而,資料點對點的傳輸協議以及傳輸範圍小,組網能力差的限制使得BLE在物聯網應用中大打折扣。此時,Mesh組網技術顯得尤為重要,針對BLE提出的Mesh技術可以大範圍地延伸BLE設備或節點的傳輸距離。首先介紹Mesh網路的特點,再從路由選擇演算法、廣播通道的局限以及睡眠模式這三方面分析現有BLE Mesh技術的不足並展望了其發展前景。

藍牙低功耗;Mesh網路;物聯網;路由選擇演算法

中圖分類號:TN926+.22

文獻標識碼:A

DOI:10.16157/j.issn.0258-7998.2017.04.007

中文引用格式:徐春燕,肖揚文,蔡敏. BLE Mesh網路通訊協定綜述[J].電子技術應用,2017,43(4):29-31,35.

英文引用格式:Xu Chunyan,Xiao Yangwen,Cai Min. Overview of BLE Mesh network protocols[J].Application of Electronic Technique,2017,43(4):29-31,35.

0 引言

自2012年藍牙4.0規範推出之後,全新的藍牙低功耗(BLE)技術由於其極低的運行和待機功耗、低成本和跨廠商互通性,3 ms低延遲、AES-128加密等諸多特色,可以用於計步器、心律監視器、感測器物聯網等眾多領域,大大擴展藍牙技術的應用範圍[1-2]。

儘管BLE已經被廣泛應用於物聯網領域,但是仍然存在著點對點的拓撲結構的限制,

以及傳輸距離短、組網能力差等問題。由於藍牙4.1規範中說明,一個BLE設備既可以在一個網路中作為主設備,又可以在另一個網路中作為從設備[3]。因此,Mesh網路可以利用BLE的這一特性,就可以在不需要連接的情況下傳輸資料,同時也可以發起廣播。在藍牙4.1規範中還提到,v4.1是以物聯網為目標對v4.0軟體升級,硬體上沒有任何改動,並且可以通過IPv6建立網路連接,
解決了在無WiFi情況下設備上網不易的問題。

本文首先介紹了BLE Mesh網路結構的特點優勢,然後綜合評述了影響BLE Mesh組網發展的關鍵因素,並分析了現有BLE Mesh技術的不足之處,在此基礎上對BLE Mesh技術的發展方向進行了展望。

1 Mesh的網路結構特點

無線Mesh網路也稱為“多跳(multi-hop)”網路,它是一種與傳統無線網路完全不同的新型無線網路技術[4]。傳統的無線網路主要是點對點或點對多點的星型網路,

所有終端節點必須與中心節點交換資料,其拓撲結構如圖1。而無線Mesh網路採用對等式的網路拓撲,每個節點與其相鄰節點進行通信,並有資料轉發的功能,其拓撲結構如圖2。無線Mesh網路的可擴展性強,如果需要向網路中新增節點,只需將新增節點安裝並進行相應的配置[5-6]。無線Mesh網路的可靠性也極高,如果某個節點上行有線鏈路出現故障,不會影響整個網路的運行,可以有效避免單點故障。

多點對多點Mesh技術讓藍牙在組網能力上有了巨大的提升,基於BLE標準協定的Mesh網路中資料收發的過程如圖3所示。

圖3中的BLE邏輯鏈路控制和適配協議(L2CAP)主要負責節點設備兩端的邏輯連接,節點的新增或減少通過BLE的L2CAP控制。掃描管理(Scan Manager)負責廣播通道上的廣播資訊,通過發送掃描資訊到BLE的廣播監聽者,從而傳到節點進行節點的傳播。同樣地,廣播管理者(Advertise Manager)負責發送節點的廣播的資訊到目的節點。

當每個Mesh的節點不在廣播資料的狀態,就是在接受資料的狀態,即在一個廣播事件中BLE設備充當Advertiser 角色,也充當著Scanner角色。當Mesh節點需要廣播的時候,退出接收資料的狀態,正常收發的廣播的優先順序要比轉發資料的優先順序高。

2 影響BLE Mesh技術的關鍵因素

2.1 路由選擇演算法

2.1.1 CSR Mesh的洪泛式路由演算法

基於藍牙4.0的CSR Mesh組網技術採用的是最簡單最可靠的洪泛式路由演算法[6]。洪泛式路由演算法又稱為擴散法,其基本思想是每個節點都是用廣播轉發收到的資料分組,其節點和節點之間的距離為50 m,通過節點的不斷一級一級廣播,最終到達目的節點[7]。這種廣播式的洪泛路由演算法對於動態的節點,進出網路頻繁的場景下非常有效,但是,洪泛式的廣播會導致網路中充斥著大量重複的資料,佔用網路資源,使得節點嚴重地消耗能量,整個網路的生命週期也會受影響。

針對傳統的廣播式洪泛演算法缺陷,需要作出改進來避免無用的重複轉發,提高頻寬的利用率。例如: 將路由區域限定在指定區域內,在指定區域內再選擇下一節點的路由區域。這種方法可以有效降低網路中節點的無用消耗,同時也可能出現在指定區域內找不到的節點的問題,所以需要更進一步去探討如何有效地限定區域。

2.1.2 機會路由演算法

機會路由演算法的基本思想是每次資料包轉發給一組節點,從這一組節點中選出最優節點,再從這一最優節點轉發到下一組節點中,如此重複到目的節點接收到資料包,可以大大提高資料分組傳輸成功率[8]。機會路由演算法的優劣取決於多個方面的因素,一是後備轉發節點集,若後備轉發節點過多,會導致資料重複發送的問題,若後備轉發節點過少,則不利於提高資料分組的轉發率[9]。二是節點組中最優節點的選擇,確定最優節點的關鍵是能夠反映節點發送能力的度量參數。度量參數主要包括空時變數、期望傳輸時間、期望傳輸次數、跳數、地理距離等。三是後備轉發節點間的協調,正確接收到資料包的後備轉發節點根據其優先順序回復ACK應答幀,最先發送ACK的節點成為實際轉發節點[10]。

路由演算法設計的優劣直接決定了資料轉發的效率,不管是傳統的洪泛式路由演算法,還是機會路由演算法,在節點運動劇烈的情況下,往往得不到較優的網路性能。

2.2 廣播通道的局限

藍牙工作在免許可的2.4 GHz的ISM射頻頻段。其物理通道分為兩組:一組是廣播(Advertiser)通道,一組是資料(Data)通道。在連接建立之前,設備之間是通過廣播(Advertiser)通道交互資料的,當廣播者發送一個廣播包之後,它在同一通道上監聽連接請求包或者掃描請求包,當正確接收到連接請求包之後,連接開始建立。在連接成功建立之後,資料之間的交互使用的是資料(Data)通道。

傳統藍牙中,使用32個廣播通道和79個資料通道,每1 MHz一個頻道;而在BLE中,只用了3個廣播通道和37個資料通道,每2 MHz一個頻道。廣播通道的急劇減少是為了實現更低功耗,這意味著BLE掃描其他設備開啟的時間遠遠低於傳統藍牙的開啟時間。BLE技術設計的3個廣播通道是為了在魯棒性和低功耗之間取得平衡。在BLE中,如果只設1個廣播通道,假設該通道被其他設備阻塞,則設備無法配對或者廣播資料,整個系統將無法工作。如果通道設定的過多,該設備將需要花費大量的時間進行廣播資料的傳輸,將與低功耗的初衷背道而馳。

BLE的3個廣播通道用於Mesh網路中,則需重新考慮魯棒性的問題。隨著Mesh網路的節點不斷增加,所有節點都只能共用3個廣播通道,此時,出現信號衝突的概率就大大增加。

2.3 睡眠模式的關閉

BLE有三種工作模式:一是關閉模式,此時沒有任何時鐘在運行,晶片完全斷電,沒有任何設備能夠進行連接。二是睡眠模式,此時僅有low_power_clk在運行,這種情況下只有達到預定的睡眠時間或者有wake_up喚醒請求,睡眠模式才能轉換為正常工作的模式。三是正常工作模式,在這種模式下,可以進行廣播、掃描、連接以及即時資料包的處理。主時鐘hclk打開,若資料需要進行加密,加密時鐘crypt_clk也會打開。

BLE設計採用睡眠模式來替代傳統藍牙的空閒狀態,在睡眠模式下,主機長時間處於超低的負載迴圈狀態,只需要在運行的時候由控制器來啟動,因為主機比控制器消耗更多的能量。而且在睡眠模式下的資料發送間隔加大,由此,BLE的待機功耗大大減小。但是在BLE的Mesh網路中,一次事件中不僅是單一的廣播或者單一的連接,若進入到睡眠模式之後,睡眠時間過短導致射頻來不及關閉又必須打開,睡眠時間無效。如圖4所示。

如圖4(a)中,一次廣播事件包括了在(37,38,39)3個廣播通道上廣播,T1為廣播間隔範圍為20 ms到10.24 s。廣播完成後,BLE進入睡眠模式,直到下一次廣播事件的來臨。圖4(b)中,一次事件中包括了正常的廣播事件加上掃描事件。T1為廣播間隔時間,廣播事件的優先順序最高,這個事件不能被打斷。T2為掃描事件間隔,當掃描事件EVENTINT中斷產生後,如果10 ms內沒有新的事件需要處理,會重新開始掃描事件。T3為不可連接的廣播事件間隔,當不可連接廣播事件EVENTINT中斷產生後,如果在一次這個廣播事件間隔內沒有可連接廣播,並且UNCON_ADV_CNT(協定棧記錄不可連接廣播發送的次數)

3 結論

目前,BLE Mesh技術的宣傳很火熱,BLE Mesh技術的出現對於WiFi和ZigBee等無線傳輸技術來說,將成為一大挑戰。但是能夠真正融入人們的日常生活還有很長的一段路要走。值得慶倖的是,在2015年2月,藍牙技術聯盟宣佈成立藍牙智慧Mesh工作小組,旨在為BLE建立Mesh網路標準。雖然BLE Mesh目前還存在著許多問題,但是隨著BLE Mesh技術的不斷進步,相信在不久的將來,BLE Mesh能夠納入藍牙技術聯盟的標準之中,並且能夠普及在智慧家居和物聯網的應用。

參考文獻

[1] The Bluetooth Special Interest Group.Specification of the Bluetooth System,Covered Core Package,Version:4.0[EB/OL].https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=229737.

[2] A West.Smartphone,the key for Bluetooth low energy technology[EB/OL].(2012-06-24).http://www.bluetooth.com/Pages/Smartphones.aspx.

[3] Bluetooth SIG.Bluetooth Specification Version 4.0[EB/OL].https://www.bluetooth.com/specifications/adopted-specifications.

[4] OUNI A,RIVANO H,VALOIS F,et al.Energy and through-put optimization of wireless mesh networks with continuous power control[J].IEEE Transactions on Wireless Communications,2015,14(2):1131-1142.

[5] ALOTAIBI E,MUKHERJEE B.A survey on routing algorithms for wireless Ad-Hoc and mesh networks[J].Computer Networks,2012,56(2):940-965.

[6] ZENKER P,KRUG S,BINHACK M,et al.Evaluation of BLE Mesh capabilities:A case study based on CSRMesh[C]//Eighth International Conference on Ubiquitous and Future Networks.2016:790-795.

[7] GUO S,HE L,GU Y,et al.Opportunistic flooding in low-duty-cycle wireless sensor networks with unreliable links[J].IEEE Transactions on Computers,2014,63(11):2787-2802.

[8] GHADIMI E,LANDSIEDEL O,SOLDATI P,et al.Opportunistic routing in low duty-cycle wireless sensor networks[J].Acm Transactions on Sensor Networks,2016,10(4):1-39.

[9] KIM H S,LEE J,JU W J.BLEmesh:A wireless mesh network protocol for bluetooth low energy devices[C]//International Conference on Future Internet of Things and Cloud,IEEE Computer Society,2015:558-563.

[10] SIRUR S,JUTURU P,GUPTA H P,et al.A mesh network for mobile devices using Bluetooth low energy[C]//IEEE Sensors,IEEE,2015:1-4.

[11] SIEKKINEN M,HIIENKARI M,NURMINEN J K,et al.How low energy is bluetooth low energy? Comparative measurements with ZigBee/802.15.4[C]//Wireless Communications and NETWORKING Conference Workshops.IEEE,2012:232-237.

[12] Bluetooth Special Interest Group,Bluetooth Technology adding Mesh Networking to Spur New Wave of Innovation[EB/OL].2015,https://www.bluetooth.com/news/pressre-leases/2015/02/24/bluetoothtechnology-adding-mesh-networking-to-spur-new-wave-of-innovation.

通過發送掃描資訊到BLE的廣播監聽者,從而傳到節點進行節點的傳播。同樣地,廣播管理者(Advertise Manager)負責發送節點的廣播的資訊到目的節點。

當每個Mesh的節點不在廣播資料的狀態,就是在接受資料的狀態,即在一個廣播事件中BLE設備充當Advertiser 角色,也充當著Scanner角色。當Mesh節點需要廣播的時候,退出接收資料的狀態,正常收發的廣播的優先順序要比轉發資料的優先順序高。

2 影響BLE Mesh技術的關鍵因素

2.1 路由選擇演算法

2.1.1 CSR Mesh的洪泛式路由演算法

基於藍牙4.0的CSR Mesh組網技術採用的是最簡單最可靠的洪泛式路由演算法[6]。洪泛式路由演算法又稱為擴散法,其基本思想是每個節點都是用廣播轉發收到的資料分組,其節點和節點之間的距離為50 m,通過節點的不斷一級一級廣播,最終到達目的節點[7]。這種廣播式的洪泛路由演算法對於動態的節點,進出網路頻繁的場景下非常有效,但是,洪泛式的廣播會導致網路中充斥著大量重複的資料,佔用網路資源,使得節點嚴重地消耗能量,整個網路的生命週期也會受影響。

針對傳統的廣播式洪泛演算法缺陷,需要作出改進來避免無用的重複轉發,提高頻寬的利用率。例如: 將路由區域限定在指定區域內,在指定區域內再選擇下一節點的路由區域。這種方法可以有效降低網路中節點的無用消耗,同時也可能出現在指定區域內找不到的節點的問題,所以需要更進一步去探討如何有效地限定區域。

2.1.2 機會路由演算法

機會路由演算法的基本思想是每次資料包轉發給一組節點,從這一組節點中選出最優節點,再從這一最優節點轉發到下一組節點中,如此重複到目的節點接收到資料包,可以大大提高資料分組傳輸成功率[8]。機會路由演算法的優劣取決於多個方面的因素,一是後備轉發節點集,若後備轉發節點過多,會導致資料重複發送的問題,若後備轉發節點過少,則不利於提高資料分組的轉發率[9]。二是節點組中最優節點的選擇,確定最優節點的關鍵是能夠反映節點發送能力的度量參數。度量參數主要包括空時變數、期望傳輸時間、期望傳輸次數、跳數、地理距離等。三是後備轉發節點間的協調,正確接收到資料包的後備轉發節點根據其優先順序回復ACK應答幀,最先發送ACK的節點成為實際轉發節點[10]。

路由演算法設計的優劣直接決定了資料轉發的效率,不管是傳統的洪泛式路由演算法,還是機會路由演算法,在節點運動劇烈的情況下,往往得不到較優的網路性能。

2.2 廣播通道的局限

藍牙工作在免許可的2.4 GHz的ISM射頻頻段。其物理通道分為兩組:一組是廣播(Advertiser)通道,一組是資料(Data)通道。在連接建立之前,設備之間是通過廣播(Advertiser)通道交互資料的,當廣播者發送一個廣播包之後,它在同一通道上監聽連接請求包或者掃描請求包,當正確接收到連接請求包之後,連接開始建立。在連接成功建立之後,資料之間的交互使用的是資料(Data)通道。

傳統藍牙中,使用32個廣播通道和79個資料通道,每1 MHz一個頻道;而在BLE中,只用了3個廣播通道和37個資料通道,每2 MHz一個頻道。廣播通道的急劇減少是為了實現更低功耗,這意味著BLE掃描其他設備開啟的時間遠遠低於傳統藍牙的開啟時間。BLE技術設計的3個廣播通道是為了在魯棒性和低功耗之間取得平衡。在BLE中,如果只設1個廣播通道,假設該通道被其他設備阻塞,則設備無法配對或者廣播資料,整個系統將無法工作。如果通道設定的過多,該設備將需要花費大量的時間進行廣播資料的傳輸,將與低功耗的初衷背道而馳。

BLE的3個廣播通道用於Mesh網路中,則需重新考慮魯棒性的問題。隨著Mesh網路的節點不斷增加,所有節點都只能共用3個廣播通道,此時,出現信號衝突的概率就大大增加。

2.3 睡眠模式的關閉

BLE有三種工作模式:一是關閉模式,此時沒有任何時鐘在運行,晶片完全斷電,沒有任何設備能夠進行連接。二是睡眠模式,此時僅有low_power_clk在運行,這種情況下只有達到預定的睡眠時間或者有wake_up喚醒請求,睡眠模式才能轉換為正常工作的模式。三是正常工作模式,在這種模式下,可以進行廣播、掃描、連接以及即時資料包的處理。主時鐘hclk打開,若資料需要進行加密,加密時鐘crypt_clk也會打開。

BLE設計採用睡眠模式來替代傳統藍牙的空閒狀態,在睡眠模式下,主機長時間處於超低的負載迴圈狀態,只需要在運行的時候由控制器來啟動,因為主機比控制器消耗更多的能量。而且在睡眠模式下的資料發送間隔加大,由此,BLE的待機功耗大大減小。但是在BLE的Mesh網路中,一次事件中不僅是單一的廣播或者單一的連接,若進入到睡眠模式之後,睡眠時間過短導致射頻來不及關閉又必須打開,睡眠時間無效。如圖4所示。

如圖4(a)中,一次廣播事件包括了在(37,38,39)3個廣播通道上廣播,T1為廣播間隔範圍為20 ms到10.24 s。廣播完成後,BLE進入睡眠模式,直到下一次廣播事件的來臨。圖4(b)中,一次事件中包括了正常的廣播事件加上掃描事件。T1為廣播間隔時間,廣播事件的優先順序最高,這個事件不能被打斷。T2為掃描事件間隔,當掃描事件EVENTINT中斷產生後,如果10 ms內沒有新的事件需要處理,會重新開始掃描事件。T3為不可連接的廣播事件間隔,當不可連接廣播事件EVENTINT中斷產生後,如果在一次這個廣播事件間隔內沒有可連接廣播,並且UNCON_ADV_CNT(協定棧記錄不可連接廣播發送的次數)

3 結論

目前,BLE Mesh技術的宣傳很火熱,BLE Mesh技術的出現對於WiFi和ZigBee等無線傳輸技術來說,將成為一大挑戰。但是能夠真正融入人們的日常生活還有很長的一段路要走。值得慶倖的是,在2015年2月,藍牙技術聯盟宣佈成立藍牙智慧Mesh工作小組,旨在為BLE建立Mesh網路標準。雖然BLE Mesh目前還存在著許多問題,但是隨著BLE Mesh技術的不斷進步,相信在不久的將來,BLE Mesh能夠納入藍牙技術聯盟的標準之中,並且能夠普及在智慧家居和物聯網的應用。

參考文獻

[1] The Bluetooth Special Interest Group.Specification of the Bluetooth System,Covered Core Package,Version:4.0[EB/OL].https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=229737.

[2] A West.Smartphone,the key for Bluetooth low energy technology[EB/OL].(2012-06-24).http://www.bluetooth.com/Pages/Smartphones.aspx.

[3] Bluetooth SIG.Bluetooth Specification Version 4.0[EB/OL].https://www.bluetooth.com/specifications/adopted-specifications.

[4] OUNI A,RIVANO H,VALOIS F,et al.Energy and through-put optimization of wireless mesh networks with continuous power control[J].IEEE Transactions on Wireless Communications,2015,14(2):1131-1142.

[5] ALOTAIBI E,MUKHERJEE B.A survey on routing algorithms for wireless Ad-Hoc and mesh networks[J].Computer Networks,2012,56(2):940-965.

[6] ZENKER P,KRUG S,BINHACK M,et al.Evaluation of BLE Mesh capabilities:A case study based on CSRMesh[C]//Eighth International Conference on Ubiquitous and Future Networks.2016:790-795.

[7] GUO S,HE L,GU Y,et al.Opportunistic flooding in low-duty-cycle wireless sensor networks with unreliable links[J].IEEE Transactions on Computers,2014,63(11):2787-2802.

[8] GHADIMI E,LANDSIEDEL O,SOLDATI P,et al.Opportunistic routing in low duty-cycle wireless sensor networks[J].Acm Transactions on Sensor Networks,2016,10(4):1-39.

[9] KIM H S,LEE J,JU W J.BLEmesh:A wireless mesh network protocol for bluetooth low energy devices[C]//International Conference on Future Internet of Things and Cloud,IEEE Computer Society,2015:558-563.

[10] SIRUR S,JUTURU P,GUPTA H P,et al.A mesh network for mobile devices using Bluetooth low energy[C]//IEEE Sensors,IEEE,2015:1-4.

[11] SIEKKINEN M,HIIENKARI M,NURMINEN J K,et al.How low energy is bluetooth low energy? Comparative measurements with ZigBee/802.15.4[C]//Wireless Communications and NETWORKING Conference Workshops.IEEE,2012:232-237.

[12] Bluetooth Special Interest Group,Bluetooth Technology adding Mesh Networking to Spur New Wave of Innovation[EB/OL].2015,https://www.bluetooth.com/news/pressre-leases/2015/02/24/bluetoothtechnology-adding-mesh-networking-to-spur-new-wave-of-innovation.