Developed by | Bluetooth SIG |
---|---|
Introduced | July 13, 2017 |
Industry | Lighting, IoT |
Physical range | 100-1000 meters (depending on mesh relaying configuration) |
Bluetooth mesh networking, conceived in 2015, adopted on July 13, 2017Bluetooth Low Energy that allows for many-to-many communication over Bluetooth radio.
is a protocol based uponIt has been defined in Mesh Profile Specification and Mesh Model Specification.
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.
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:
As of version 1.0 of Bluetooth Mesh specification, following standard models and model groups has been defined:
Foundation models has been defined in the core specification. They are mandatory for all mesh nodes.
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 network key, common to the mesh nodes and a device key, unique to a given node are being used. Device key is generated by the device and then passed to the provisioner using P-256 elliptic curve cryptography. Network key is transferred to the device from provisioner.