Bluetooth mesh networking

Bluetooth mesh networking
Developed by Bluetooth SIG
Introduced July 13, 2017 (2017-07-13)
Industry Lighting, IoT
Physical range 100-1000 meters (depending on mesh relaying configuration)

Bluetooth mesh networking, conceived in 2015,[1] adopted on July 13, 2017[2] is a protocol based upon Bluetooth Low Energy that allows for many-to-many communication over Bluetooth radio.

It has been defined in Mesh Profile Specification[3] and Mesh Model Specification.[4]

Overview

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.

Bluetooth Mesh is a flood network. 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 cache used to prevent relaying messages recently seen.

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

Layer Functionality
Model Layer It defines a standard way to exchange application specific messages. For example, a Light Lightness Model defines an interoperable way to control lightness.
Foundation Model Layer It defines states and messages needed to manage a mesh network. It has Configuration and Health (indicates various health parameters of device) Models.
Access Layer It defines mechanism to ensure that data is transmitted and received in the right context of a model and its associated application keys.
Upper Transport Layer It 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 Layer This 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 Layer This 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 Layer It 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.

Theoretical limits

It's yet to be determined what are the practical limits of Bluetooth Mesh technology. There are some limits that are built into the specification, though:

Limit for a network Value Remarks
Maximum number of nodes 32 767 The limit is 32768 addresses and while a node may occupy more than one address, practical limit is most likely lower
Maximum number of groups 16 384 This limit applies to physical groups only. Number of virtual groups is 2128.
Maximum number of scenes 65 535
Maximum number of subnets 4 096
Maximum TTL 127

Mesh Models

As of version 1.0 of Bluetooth Mesh specification, following standard models and model groups has been defined:

Foundation Models

Foundation models has been defined in the core specification. They 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. 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.

Terminology used in Bluetooth mesh networking specification

Implementations

Qualified Bluetooth® mesh implementations
Name Submitter Qualification date QDID Type
Bluetooth Stack for Embedded Systems - MESH profile[5] Silvair, Inc. July 18, 2017 98880 Profile Subsystem
Qualcomm Bluetooth Mesh[6] Qualcomm Technologies International, Ltd. July 18, 2017 98856 Profile Subsystem
Silvair Mesh Models[7] Silvair, Inc. July 26, 2017 99282 Profile Subsystem

References

  1. "Get ready for Bluetooth mesh! | Bluetooth Technology Website". blog.bluetooth.com. Retrieved 2017-07-06.
  2. "Low Energy: Mesh | Bluetooth Technology Website". www.bluetooth.com. Retrieved 2017-07-18.
  3. "Mesh Profile Bluetooth® Specification" (PDF download). Bluetooth Technology Website. 2017-07-13. Retrieved 2017-07-18.
  4. "Mesh Model Bluetooth® Specification" (PDF download). Bluetooth Technology Website. 2017-07-13. Retrieved 2017-07-18.
  5. "QD ID 98880 | The Official Bluetooth SIG Member Website". www.bluetooth.org. Retrieved 2017-07-19.
  6. "QD ID 98856 | The Official Bluetooth SIG Member Website". www.bluetooth.org. Retrieved 2017-07-19.
  7. "QD ID 99282 | The Official Bluetooth SIG Member Website". www.bluetooth.org. Retrieved 2017-07-26.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.