Bluetooth mesh networking explained

Bluetooth mesh networking
Developer:Bluetooth SIG
Industry:Lighting, IoT
Range:100-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 .[4]

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

can be retransmitted with TTL = TTL - 1. Message caching is used to prevent relaying recently seen messages.

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.

Types of nodes

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

FeatureFunctionality
Relayreceive and retransmit mesh messages over the advertising bearerto enable larger networks.
Proxyreceive and retransmit mesh messages between GATT andadvertising bearers.
Low Poweroperate within a mesh network at significantly reduced receiverduty cycles only in conjunction with a node supporting the Friend feature.
Friendhelp a node supporting the Low Power feature to operate by storingmessages 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 network Value Remarks
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 384Number 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, 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.

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!Name!Submitter!Qualification date!QDID!Type
Bluetooth Stack for Embedded Systems - MESH profile[6] Silvair, Inc.98880Profile Subsystem
Qualcomm Bluetooth Mesh[7] Qualcomm Technologies International, Ltd.98856Profile Subsystem
Silvair Mesh Models[8] Silvair, Inc.99282Profile Subsystem
Wireless Gecko Mesh Profile[9] Silicon Laboratories101318Profile Subsystem
CYW-MESH 1.0[10] Cypress Semiconductor Corporation101726Component (Tested)
Qualcomm Bluetooth Mesh Model[11] Qualcomm Technologies International, Ltd.102243Profile Subsystem
EtherMind Bluetooth Protocol Stack, 5.0 (Single Mode) + Mesh[12] Mindtree Limited106544Component (Tested)
Telink SIG Mesh SDK[13] Telink Semiconductor106546Profile Subsystem
TOSHIBA Bluetooth_stack_mesh-1[14] Toshiba Corporation104143Component (Tested)
AMICCOM Mesh Profile[15] AMICCOM Electronics Corporation109370Profile Subsystem
Amiccom Bluetooth Mesh Model[16] AMICCOM Electronics Corporation110168Profile Subsystem
Airoha SIG mesh[17] Airoha Technology Corp.110202Profile Subsystem
Marvell Mesh stack v1.0[18] Marvell Technology Group110569Component (Tested)
nRF5 SDK for Mesh [19] Nordic SemiconductorMay 2, 2018111537Profile Subsystem
Realtek Bluetooth 5 Mesh Solution[20] Realsil Microelectronics Inc115668Profile Subsystem
STSW-BNRG-Mesh[21] STMicroelectronics116029Profile Subsystem
RDA BT Host 5.0[22] RDA Microelectronics, Inc.115860Profile Subsystem
JYMC-MESH-1[23] Shanghai Frequen Microelectronics Co., Ltd.119229End Product
RW-BLE-MESH[24] CEVA, Inc.119268Component (Tested)
ARM Ltd Cordio Mesh[25] ARM Ltd116593Profile Subsystem
Samsung SLSI Bluetooth Mesh[26] Samsung Electronics Co., Ltd.122442Profile Subsystem
Bluelet Host Stack V12[27] Barrot Technology Limited123056Component (Tested)
ESP BLE Mesh v0.6[28] Espressif Systems (Shanghai) Pte. Ltd.124137Profile Subsystem
BK3435 BLE Core Spec 5.0 with MESH[29] Beken Corp127926End Product
Actions Mesh Profile Subsystem[30] Actions (Zhuhai) Technology Co., Limited127646Profile Subsystem
AliOS Things BLE host and mesh profile v2.1.0[31] Alibaba (China) Co., Ltd.129750Host Subsystem
Tonly SIG Mesh Stack[32] Shenzhen Tonli Science and Technology Development Co., Ltd130160Profile Subsystem
Sino Wealth IBLE SIG Mesh Profile[33] Sino Wealth Electronic Ltd.133403Profile Subsystem
Qualcomm Bluetooth Mesh and Mesh Model v4.0[34] Qualcomm Technologies International, Ltd.128410Profile Subsystem
PAN1020 Mesh Profile subsystem[35] Shanghai Panchip Microelectronics Co., Ltd129291Profile Subsystem
Apache NimBLE BLE Host including BLE Mesh[36] JUUL Labs, Inc.131934Component (Tested)
Tmall mesh Stack[37] Alibaba (China) Co., Ltd.128246Profile Subsystem
ClarinoxBlue[38] Clarinox Technologies Pty Ltd134454Host Subsystem
BlueX Mesh[39] BlueX Microelectronics Corp Ltd.137436Profile Subsystem
Zephyr OS Mesh[40] The Linux Foundation139259Profile Subsystem
WCH Bluetooth Mesh[41] Nanjing Qinheng Microelectronics Co., Ltd.144808Profile Subsystem

Free and open-source software implementations

Free software and open source software implementations include the following:

See also

Notes and References

  1. Web site: Mesh Profile Bluetooth® Specification. 2017-07-13. Bluetooth Technology Website. PDF download. 2017-07-18.
  2. Web site: Mesh Model Bluetooth® Specification. 2017-07-13. Bluetooth Technology Website. PDF download. 2017-07-18.
  3. Web site: Range Limitation? What Range Limitation? Introducing Mesh Networks Bluetooth Technology Website. blog.bluetooth.com. dead. https://web.archive.org/web/20160409092727/http://blog.bluetooth.com/range-limitation-what-range-limitation-introducing-mesh-networks/. 2016-04-09. 2017-07-06.
  4. Web site: Low Energy: Mesh Bluetooth Technology Website. www.bluetooth.com. dead. https://web.archive.org/web/20170901202951/https://www.bluetooth.com/what-is-bluetooth-technology/how-it-works/le-mesh. 2017-09-01. 2017-07-18.
  5. Book: Adomnicai. A.. Fournier. J. J. A.. Masson. L.. 2018 IEEE Conference on Communications and Network Security (CNS) . Hardware Security Threats Against Bluetooth Mesh Networks . 2018-05-30. 1–9. https://ieeexplore.ieee.org/document/8433184. 10.1109/CNS.2018.8433184. 978-1-5386-4586-4. 52004479 .
  6. Web site: QD ID 98880 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2017-11-15.
  7. Web site: QD ID 98856 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2017-11-15.
  8. Web site: QD ID 99282 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2017-11-15.
  9. Web site: QD ID 101318 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2017-11-15.
  10. Web site: QD ID 101726 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2017-11-15.
  11. Web site: QD ID 102243 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2017-11-15.
  12. Web site: QD ID 106544 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-03-05.
  13. Web site: QD ID 106546 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-03-05.
  14. Web site: QD ID 104143 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-03-05.
  15. Web site: QD ID 109370 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-04-05.
  16. Web site: QD ID 110168 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-04-05.
  17. Web site: QD ID 110202 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-04-05.
  18. Web site: QD ID 110569 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-05-03.
  19. Web site: nRF5 SDK for Mesh / Bluetooth Low Energy / Products / Home - Ultra Low Power Wireless Solutions from NORDIC SEMICONDUCTOR. Systems. eZ. www.nordicsemi.com. en-GB. 2018-05-03.
  20. Web site: QD ID 115668 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-09-15.
  21. Web site: QD ID 116029 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-09-15.
  22. Web site: QD ID 115860 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-09-15.
  23. Web site: QD ID 119229 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-11-07.
  24. Web site: QD ID 119268 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-11-07.
  25. Web site: QD ID 116593 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-12-21.
  26. Web site: QD ID 122442 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-12-21.
  27. Web site: QD ID 123056 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2018-12-21.
  28. Web site: QD ID 124137 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-01-24.
  29. Web site: QD ID 127926 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-04-14.
  30. Web site: QD ID 127646 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-04-14.
  31. Web site: QD ID 129750 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-05-06.
  32. Web site: QD ID 130160 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-05-06.
  33. Web site: QD ID 133403 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-06-19.
  34. Web site: QD ID 128410 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-06-19.
  35. Web site: QD ID 129291 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-08-27.
  36. Web site: QD ID 131934 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-08-27.
  37. Web site: QD ID 128246 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-08-27.
  38. Web site: QD ID 134454 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-08-27.
  39. Web site: QD ID 137436 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2019-08-27.
  40. Web site: QD ID 139259 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2020-03-12.
  41. Web site: QD ID 144808 Launch Studio - Listing Details. launchstudio.bluetooth.com. 2020-06-01.
  42. Web site: BlueZ History. 2019-09-07. BlueZ.
  43. Web site: BlueZ » Blog Archive » Release of BlueZ 5.47. www.bluez.org. 2017-10-27.
  44. Web site: RN-1.2.0 - Apache Mynewt - Apache Software Foundation. cwiki.apache.org. 2018-07-02.
  45. Web site: Release Notes Zephyr Kernel 1.9.0. docs.zephyrproject.org. 2020-03-21.