Bluetooth mesh networking

Last updated
Bluetooth mesh networking
Bluetooth-logo.svg
Developed by Bluetooth SIG
IntroducedJuly 13, 2017 (2017-07-13)
Industry Lighting, IoT
Physical range100-1000 meters (depending on mesh relaying configuration)

Bluetooth Mesh is a computer mesh networking standard based on Bluetooth Low Energy that allows for many-to-many communication over Bluetooth radio. The Bluetooth Mesh specifications were defined in the Mesh Profile [1] and Mesh Model [2] specifications by the Bluetooth Special Interest Group (Bluetooth SIG). Bluetooth Mesh was conceived in 2014 [3] and adopted on July 13, 2017. [4]

Contents

Overview

Bluetooth Mesh is a mesh networking standard that operates on a flood network principle. It's based on the nodes relaying the messages: every relay node that receives a network packet that authenticates against a known network key that is not in message cache, that has a TTL ≥ 2 can be retransmitted with TTL = TTL - 1. Message caching is used to prevent relaying messages recently seen.

Communication is carried in the messages that may be up to 384 bytes long, when using Segmentation and Reassembly (SAR) mechanism, but most of the messages fit in one segment, that is 11 bytes. Each message starts with an opcode, which may be a single byte (for special messages), 2 bytes (for standard messages), or 3 bytes (for vendor-specific messages).

Every message has a source and a destination address, determining which devices process messages. Devices publish messages to destinations which can be single things / groups of things / everything.

Each message has a sequence number that protects the network against replay attacks.

Each message is encrypted and authenticated. Two keys are used to secure messages: (1) network keys – allocated to a single mesh network, (2) application keys – specific for a given application functionality, e.g. turning the light on vs reconfiguring the light.

Messages have a time to live (TTL). Each time message is received and retransmitted, TTL is decremented which limits the number of "hops", eliminating endless loops.

Architecture

Bluetooth Mesh has a layered architecture, with multiple layers as below.

LayerFunctionality
Model LayerIt defines a standard way to exchange application specific messages. For example, a Light Lightness Model defines an interoperable way to control lightness. There are mandatory models, called Foundation Models, defining states and messages needed to manage a mesh network.
Access LayerIt defines mechanism to ensure that data is transmitted and received in the right context of a model and its associated application keys.
Upper Transport LayerIt defines authenticated encryption of access layer packets using an application (or device specific key). It also defines some control messages to manage Friendship or to notify the behavior of node using Heartbeat messages.
Lower Transport LayerThis layer defines a reliable (through a Block Acknowledgement) Segmented transmission upper layer packets, when a complete upper layer packet can't be carried in a single network layer packet. It also defines a mechanism to reassemble segments on the receiver.
Network LayerThis layer defines how transport packets are addressed over network to one or more nodes. It defines relay functionality for forwarding messages by a relay node to extended the range. It handles the network layer authenticated encryption using network key.
Bearer LayerIt defines how the network packets are exchanged between nodes. Mesh Profile Specification defines BLE advert bearer and BLE GATT bearer. Mesh Profile defines Proxy Protocol, through which mesh packets can be exchanged via other bearers like TCP/IP.

Topology

Nodes that support the various features can be formed into a mesh network.

FeatureFunctionality
Relayreceive and retransmit mesh messages over the advertising bearer

to enable larger networks.

Proxyreceive and retransmit mesh messages between GATT and

advertising bearers.

Low Poweroperate within a mesh network at significantly reduced receiver

duty cycles only in conjunction with a node supporting the Friend feature.

Friendhelp a node supporting the Low Power feature to operate by storing

messages destined for those nodes.

Theoretical limits

The practical limits of Bluetooth Mesh technology are unknown. Some limits that are built into the specification include:

Limit for a networkValueRemarks
Maximum number of nodes32 767The limit is 32768 addresses and while a node may occupy more than one address, the practical limit is most likely lower.
Maximum number of groups16 384

Number of virtual groups is 2128.

Maximum number of scenes65 535
Maximum number of subnets4 096
Maximum TTL127

Mesh models

As of version 1.0 of Bluetooth Mesh specification, [2] the following standard models and model groups have been defined:

Foundation models

Foundation models have been defined in the core specification. Two of them are mandatory for all mesh nodes.

Generic models

Sensors

Time and scenes

Lighting

Provisioning

Provisioning is a process of installing the device into a network. It is a mandatory step to build a Bluetooth Mesh network.

In the provisioning process, a provisioner securely distributes a network key and a unique address space for a device. The provisioning protocol uses P256 Elliptic Curve Diffie-Hellman Key Exchange to create a temporary key to encrypt network key and other information. This provides security from a passive eavesdropper. It also provides various authentication mechanisms to protect network information, from an active eavesdropper who uses man-in-the-middle attack, during provisioning process.

A key unique to a device known as "Device Key" is derived from elliptic curve shared secret on provisioner and device during the provisioning process. This device key is used by the provisioner to encrypt messages for that specific device.

The security of the provisioning process has been analyzed in a paper presented during the IEEE CNS 2018 conference. [5]

The provisioning can be performed using a Bluetooth GATT connection or advertising using the specific bearer. [1]

Terminology used in the Bluetooth Mesh Model and Mesh Profile specifications

Implementations

Approved ("qualified") by Bluetooth SIG

Bluetooth mesh implementations approved ("qualified") by Bluetooth SIG
NameSubmitterQualification dateQDIDType
Bluetooth Stack for Embedded Systems - MESH profile [6] Silvair, Inc.July 18, 201798880Profile Subsystem
Qualcomm Bluetooth Mesh [7] Qualcomm Technologies International, Ltd. July 18, 201798856Profile Subsystem
Silvair Mesh Models [8] Silvair, Inc.July 26, 201799282Profile Subsystem
Wireless Gecko Mesh Profile [9] Silicon Laboratories September 21, 2017101318Profile Subsystem
CYW-MESH 1.0 [10] Cypress Semiconductor Corporation October 3, 2017101726Component (Tested)
Qualcomm Bluetooth Mesh Model [11] Qualcomm Technologies International, Ltd.October 20, 2017102243Profile Subsystem
EtherMind Bluetooth Protocol Stack, 5.0 (Single Mode) + Mesh [12] Mindtree Limited January 24, 2018106544Component (Tested)
Telink SIG Mesh SDK [13] Telink Semiconductor February 1, 2018106546Profile Subsystem
TOSHIBA Bluetooth_stack_mesh-1 [14] Toshiba Corporation February 13, 2018104143Component (Tested)
AMICCOM Mesh Profile [15] AMICCOM Electronics Corporation March 14, 2018109370Profile Subsystem
Amiccom Bluetooth Mesh Model [16] AMICCOM Electronics CorporationMarch 30, 2018110168Profile Subsystem
Airoha SIG mesh [17] Airoha Technology Corp. April 2, 2018110202Profile Subsystem
Marvell Mesh stack v1.0 [18] Marvell Technology Group April 27, 2018110569Component (Tested)
nRF5 SDK for Mesh [19] Nordic Semiconductor May 2, 2018111537Profile Subsystem
Realtek Bluetooth 5 Mesh Solution [20] Realsil Microelectronics Inc July 27, 2018115668Profile Subsystem
STSW-BNRG-Mesh [21] STMicroelectronics August 2, 2018116029Profile Subsystem
RDA BT Host 5.0 [22] RDA Microelectronics, Inc. September 13, 2018115860Profile Subsystem
JYMC-MESH-1 [23] Shanghai Frequen Microelectronics Co., Ltd. October 10, 2018119229End Product
RW-BLE-MESH [24] CEVA, Inc. October 31, 2018119268Component (Tested)
ARM Ltd Cordio Mesh [25] ARM Ltd December 11, 2018116593Profile Subsystem
Samsung SLSI Bluetooth Mesh [26] Samsung Electronics Co., Ltd. December 21, 2018122442Profile Subsystem
Bluelet Host Stack V12 [27] Barrot Technology Limited December 25, 2018123056Component (Tested)
ESP BLE Mesh v0.6 [28] Espressif Systems (Shanghai) Pte. Ltd. January 14, 2019124137Profile Subsystem
BK3435 BLE Core Spec 5.0 with MESH [29] Beken Corp March 12, 2019127926End Product
Actions Mesh Profile Subsystem [30] Actions (Zhuhai) Technology Co., Limited March 21, 2019127646Profile Subsystem
AliOS Things BLE host and mesh profile v2.1.0 [31] Alibaba (China) Co., Ltd. April 19, 2019129750Host Subsystem
Tonly SIG Mesh Stack [32] Shenzhen Tonli Science and Technology Development Co.,Ltd May 5, 2019130160Profile Subsystem
Sino Wealth IBLE SIG Mesh Profile [33] Sino Wealth Electronic Ltd. June 18, 2019133403Profile Subsystem
Qualcomm Bluetooth Mesh and Mesh Model v4.0 [34] Qualcomm Technologies International, Ltd.June 19, 2019128410Profile Subsystem
PAN1020 Mesh Profile subsystem [35] Shanghai Panchip Microelectronics Co., LtdJuly 1, 2019129291Profile Subsystem
Apache NimBLE BLE Host including BLE Mesh [36] JUUL Labs, Inc. July 15, 2019131934Component (Tested)
Tmall mesh Stack [37] Alibaba (China) Co., Ltd.July 20, 2019128246Profile Subsystem
ClarinoxBlue [38] Clarinox Technologies Pty LtdAugust 2, 2019134454Host Subsystem
BlueX Mesh [39] BlueX Microelectronics Corp Ltd.August 20, 2019137436Profile Subsystem
Zephyr OS Mesh [40] The Linux Foundation September 20, 2019139259Profile Subsystem
WCH Bluetooth Mesh [41] Nanjing Qinheng Microelectronics Co., Ltd.June 1, 2020144808Profile Subsystem

Free and open-source software implementations

Free software and open source software implementations include the following:

Related Research Articles

<span class="mw-page-title-main">Personal area network</span> Short distance computer network

A personal area network (PAN) is a computer network for interconnecting electronic devices within an individual person's workspace. A PAN provides data transmission among devices such as computers, smartphones, tablets and personal digital assistants. PANs can be used for communication among the personal devices themselves, or for connecting to a higher level network and the Internet where one master device takes up the role as gateway.

The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, and terminating communication sessions that include voice, video and messaging applications. SIP is used in Internet telephony, in private IP telephone systems, as well as mobile phone calling over LTE (VoLTE).

Wi-Fi Protected Access (WPA), Wi-Fi Protected Access 2 (WPA2), and Wi-Fi Protected Access 3 (WPA3) are the three security certification programs developed after 2000 by the Wi-Fi Alliance to secure wireless computer networks. The Alliance defined these in response to serious weaknesses researchers had found in the previous system, Wired Equivalent Privacy (WEP).

<span class="mw-page-title-main">Scatternet</span> Type of ad hoc computer network

A scatternet is a type of ad hoc computer network consisting of two or more piconets. The terms "scatternet" and "piconet" are typically applied to Bluetooth wireless technology.

Extensible Authentication Protocol (EAP) is an authentication framework frequently used in network and internet connections. It is defined in RFC 3748, which made RFC 2284 obsolete, and is updated by RFC 5247. EAP is an authentication framework for providing the transport and usage of material and parameters generated by EAP methods. There are many methods defined by RFCs, and a number of vendor-specific methods and new proposals exist. EAP is not a wire protocol; instead it only defines the information from the interface and the formats. Each protocol that uses EAP defines a way to encapsulate by the user EAP messages within that protocol's messages.

<span class="mw-page-title-main">Z-Wave</span> Wireless standard for intelligent building networks

Z-Wave is a wireless communications protocol used primarily for residential and commercial building automation. It is a mesh network using low-energy radio waves to communicate from device to device, allowing for wireless control of smart home devices, such as smart lights, security systems, thermostats, sensors, smart door locks, and garage door openers. The Z-Wave brand and technology are owned by Silicon Labs. Over 300 companies involved in this technology are gathered within the Z-Wave Alliance.

As the next version of Windows NT after Windows 2000, as well as the successor to Windows Me, Windows XP introduced many new features but it also removed some others.

Devicescape is an American developer of client/server software services for wireless networking connectivity, analytics, and context-awareness. Founded in 2001 as Instant802 Networks, the company was renamed to Devicescape in January 2005. Devicescape is a venture backed private company.

Notable issue tracking systems, including bug tracking systems, help desk and service desk issue tracking systems, as well as asset management systems, include the following. The comparison includes client-server application, distributed and hosted systems.

A Bluetooth stack is software that is an implementation of the Bluetooth protocol stack.

<span class="mw-page-title-main">Puppet (software)</span> Open source configuration management software

Puppet is a software configuration management tool which includes its own declarative language to describe system configuration. It is a model-driven solution that requires limited programming knowledge to use.

Bluetooth Low Energy is a wireless personal area network technology designed and marketed by the Bluetooth Special Interest Group aimed at novel applications in the healthcare, fitness, beacons, security, and home entertainment industries. It is independent of classic Bluetooth and has no compatibility, but Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR) and LE can coexist. The original specification was developed by Nokia in 2006 under the name Wibree, which was integrated into Bluetooth 4.0 in December 2009 as Bluetooth Low Energy.

<span class="mw-page-title-main">Google Wave</span> Software framework for real-time collaborative editing online

Google Wave, later known as Apache Wave, was a software framework for real-time collaborative editing online. Originally developed by Google and announced on May 28, 2009, it was renamed to Apache Wave when the project was adopted by the Apache Software Foundation as an incubator project in 2010.

MQTT is a lightweight, publish-subscribe, machine to machine network protocol for message queue/message queuing service. It is designed for connections with remote locations that have devices with resource constraints or limited network bandwidth, such as in the Internet of Things (IoT). It must run over a transport protocol that provides ordered, lossless, bi-directional connections—typically, TCP/IP, but also possibly over QUIC It is an open OASIS standard and an ISO recommendation.

Eddystone was a Bluetooth Low Energy beacon profile released by Google in July 2015. In December 2018 Google stopped delivering both Eddystone and Physical Web beacon notifications. The Apache 2.0-licensed, cross-platform, and versioned profile contained several frame types, including Eddystone-UID, Eddystone-URL, and Eddystone-TLM. Eddystone-URL was used by the Physical Web project, whereas Eddystone-UID was typically used by native apps on a user's device, including Google's first party apps such as Google Maps.

Firebase Cloud Messaging (FCM), formerly known as Google Cloud Messaging (GCM), is a cross-platform cloud service for messages and notifications for Android, iOS, and web applications, which as of May 2023 can be used at no cost. Firebase Cloud Messaging allows third-party application developers to send notifications or messages from servers hosted by FCM to users of the platform or end users.

<span class="mw-page-title-main">Philips Hue</span> Smart lightbulb brand

Philips Hue is a line of color-changing LED lamps and white bulbs which can be controlled wirelessly. The Philips Hue line of bulbs was the first smart bulb of its kind on the market. The lamps are currently created and manufactured by Signify N.V., formerly the Philips Lighting division of Royal Philips N.V.

Amazon Sidewalk is a low-bandwidth long-range wireless communication protocol developed by Amazon. It uses Bluetooth Low Energy (BLE) for short distance communication, and 900 MHz LoRa and other frequencies for longer distances.

<span class="mw-page-title-main">BlueTrace</span> COVID-19 contact tracing software

BlueTrace is an open-source application protocol that facilitates digital contact tracing of users to stem the spread of the COVID-19 pandemic. Initially developed by the Singaporean Government, BlueTrace powers the contact tracing for the TraceTogether app. Australia and the United Arab Emirates have already adopted the protocol in their gov apps, and other countries were considering BlueTrace for adoption. A principle of the protocol is the preservation of privacy and health authority co-operation.

References

  1. 1 2 "Mesh Profile Bluetooth® Specification" (PDF download). Bluetooth Technology Website. 2017-07-13. Retrieved 2017-07-18.
  2. 1 2 "Mesh Model Bluetooth® Specification" (PDF download). Bluetooth Technology Website. 2017-07-13. Retrieved 2017-07-18.
  3. "Range Limitation? What Range Limitation? Introducing Mesh Networks | Bluetooth Technology Website". blog.bluetooth.com. Archived from the original on 2016-04-09. Retrieved 2017-07-06.
  4. "Low Energy: Mesh | Bluetooth Technology Website". www.bluetooth.com. Archived from the original on 2017-09-01. Retrieved 2017-07-18.
  5. Adomnicai, A.; Fournier, J. J. A.; Masson, L. (2018-05-30). "Hardware Security Threats Against Bluetooth Mesh Networks". 2018 IEEE Conference on Communications and Network Security (CNS). pp. 1–9. doi:10.1109/CNS.2018.8433184. ISBN   978-1-5386-4586-4. S2CID   52004479.
  6. "QD ID 98880 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2017-11-15.
  7. "QD ID 98856 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2017-11-15.
  8. "QD ID 99282 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2017-11-15.
  9. "QD ID 101318 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2017-11-15.
  10. "QD ID 101726 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2017-11-15.
  11. "QD ID 102243 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2017-11-15.
  12. "QD ID 106544 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-03-05.
  13. "QD ID 106546 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-03-05.
  14. "QD ID 104143 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-03-05.
  15. "QD ID 109370 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-04-05.
  16. "QD ID 110168 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-04-05.
  17. "QD ID 110202 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-04-05.
  18. "QD ID 110569 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-05-03.
  19. Systems, eZ. "nRF5 SDK for Mesh / Bluetooth Low Energy / Products / Home - Ultra Low Power Wireless Solutions from NORDIC SEMICONDUCTOR". www.nordicsemi.com. Retrieved 2018-05-03.
  20. "QD ID 115668 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-09-15.
  21. "QD ID 116029 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-09-15.
  22. "QD ID 115860 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-09-15.
  23. "QD ID 119229 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-11-07.
  24. "QD ID 119268 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-11-07.
  25. "QD ID 116593 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-12-21.
  26. "QD ID 122442 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-12-21.
  27. "QD ID 123056 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2018-12-21.
  28. "QD ID 124137 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-01-24.
  29. "QD ID 127926 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-04-14.
  30. "QD ID 127646 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-04-14.
  31. "QD ID 129750 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-05-06.
  32. "QD ID 130160 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-05-06.
  33. "QD ID 133403 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-06-19.
  34. "QD ID 128410 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-06-19.
  35. "QD ID 129291 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-08-27.
  36. 1 2 3 "QD ID 131934 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-08-27.
  37. "QD ID 128246 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-08-27.
  38. "QD ID 134454 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-08-27.
  39. "QD ID 137436 | Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2019-08-27.
  40. "QD ID 139259| Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2020-03-12.
  41. "QD ID 144808| Launch Studio - Listing Details". launchstudio.bluetooth.com. Retrieved 2020-06-01.
  42. "BlueZ History". BlueZ. 2019-09-07.
  43. "index : bluez.git – Bluetooth protocol stack for Linux – Marcel Holtmann". kernel.org . 1991. Archived from the original on 2019-09-05. Retrieved 2019-09-05.
  44. "index : bluez.git – Bluetooth protocol stack for Linux – Marcel Holtmann". kernel.org . 1999. Archived from the original on 2019-09-05. Retrieved 2019-09-05.
  45. "BlueZ » Blog Archive » Release of BlueZ 5.47". www.bluez.org. Retrieved 2017-10-27.
  46. "Qualified Product Detail". Bluetooth SIG . Archived from the original on 2019-09-05. Retrieved 2019-09-05.
  47. "apache/mynewt-core/LICENSE". GitHub . 2018-06-04. Archived from the original on 2019-09-05. Retrieved 2019-09-05.
  48. "RN-1.2.0 - Apache Mynewt - Apache Software Foundation". cwiki.apache.org. Retrieved 2018-07-02.
  49. "zephyrproject-rtos/zephyr/blob/master/LICENSE". GitHub . 2020-03-21. Archived from the original on 2019-09-05. Retrieved 2020-03-21.
  50. "Release Notes Zephyr Kernel 1.9.0". docs.zephyrproject.org. Retrieved 2020-03-21.