请输入您要查询的百科知识:

 

词条 Bluetooth mesh networking
释义

  1. Overview

  2. Theoretical limits

  3. Mesh models

      Foundation models    Generic models    Sensors    Time and scenes    Lighting  

  4. Provisioning

  5. Terminology used in Bluetooth mesh networking specification

  6. Implementations

  7. References

{{Infobox protocol
| name = Bluetooth mesh networking
| image = Bluetooth-logo.svg
| standard =
| developer = Bluetooth SIG
| introdate = {{Start date|2017|07|13}}
| industry = Lighting, IoT
| connector =
| hardware =
| range = 100-1000 meters (depending on mesh relaying configuration)

}}Bluetooth mesh networking, conceived in 2015,[1] adopted on {{Start date|2017|07|13}}[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.

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.

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 networkValueRemarks
Maximum number of nodes32 767The limit is 32768 addresses and while a node may occupy more than one address, 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 TTL126

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.

  • Configuration Server (mandatory)
  • Configuration Client
  • Health Server (mandatory)
  • Health Client

Generic models

  • Generic OnOff Server, used to represent devices that do not fit any of the model descriptions defined but support the generic properties of On/Off
  • Generic Level Server, keeping the state of an element in a 16-bit signed integer
  • Generic Default Transition Time Server, used to represent a default transition time for a variety of devices
  • Generic Power OnOff Server & Generic Power OnOff Setup Server, used to represent devices that do not fit any of the model descriptions but support the generic properties of On/Off
  • Generic Power Level Server & Generic Power Level Setup Server, including a Generic Power Actual state, a Generic Power Last state, a Generic Power Default state and a Generic Power Range state
  • Generic Battery Server, representing a set of four values representing the state of a battery
  • Generic Location Server & Generic Location Setup Server, representing location information of an element, either global (Lat/Lon) or local
  • Generic User/Admin/Manufacturer/Client Property Server, representing any value to be stored by an element
  • Generic OnOff Client & Generic Level Client
  • Generic Default Transition Time Client
  • Generic Power OnOff Client & Generic Power Level Client
  • Generic Battery Client
  • Generic Location Client
  • Generic Property Client

Sensors

  • Sensor Server & Sensor Setup Server, representing a sensor device. Sensor device may be configured to return a measured value periodically or on request; measurement period (cadence) may be configured to be fixed or to change, so that more important value range is being reported faster.
  • Sensor Client

Time and scenes

  • Time Server & Time Setup Server, allowing for time synchronization in mesh network
  • Scene Server & Scene Setup Server, allowing for up to 65535 scenes to be configured and recalled when needed.
  • Scheduler Server & Scheduler Setup Server
  • Time Client, Scene Client & Scheduler Client

Lighting

  • Light Lightness Server & Light Lightness Setup Server, representing a dimmable light source
  • Light CTL Server, Light CTL Temperature Server & Light CTL Setup Server, representing a CCT or "tunable white" light source
  • Light HSL Server, Light HSL Hue Server, Light HSL Saturation Server & Light HSL Setup Server, representing a light source based on Hue, Saturation, Lightness color representation
  • Light xyL Server & Light xyL Setup Server, representing a light source based on modified CIE xyY color space.
  • Light LC (Lightness Control) Server & Light LC Setup Server, representing a light control device, able to control Light Lightness model using an occupancy sensor and ambient light sensor. It may be used for light control scenarios like Auto-On, Auto-Off and/or Daylight Harvesting.
  • Light Lightness Client, Light CTL Client, Light HSL Client, Light xyL Client & Light LC Client

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.

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

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

Terminology used in Bluetooth mesh networking specification

  • Destination: The address to which a message is sent.
  • Element: An addressable entity within a device.
  • Model: Standardized operation of typical user scenarios.
  • Node: A provisioned device.
  • Provisioner: A node that can add a device to a mesh network.
  • Relay: A node able to retransmit messages.
  • Source: The address from which a message is sent.

Implementations

Qualified Bluetooth mesh implementations
NameSubmitterQualification dateQDIDType
Bluetooth Stack for Embedded Systems - MESH profile[6]Silvair, Inc.2017-07-18}}98880Profile Subsystem
Qualcomm Bluetooth Mesh[7]Qualcomm Technologies International, Ltd.2017-07-18}}98856Profile Subsystem
Silvair Mesh Models[8]Silvair, Inc.2017-07-26}}99282Profile Subsystem
Wireless Gecko Mesh Profile[9]Silicon Laboratories2017-09-21}}101318Profile Subsystem
CYW-MESH 1.0[10]Cypress Semiconductor Corporation2017-10-03}}101726Component (Tested)
Qualcomm Bluetooth Mesh Model[11]Qualcomm Technologies International, Ltd.2017-10-20}}102243Profile Subsystem
EtherMind Bluetooth Protocol Stack, 5.0 (Single Mode) + Mesh[12]Mindtree Limited2018-01-24}}106544Component (Tested)
Telink SIG Mesh SDK[13]Telink Semiconductor2018-02-01}}106546Profile Subsystem
TOSHIBA Bluetooth_stack_mesh-1[14]Toshiba Corporation2018-02-13}}104143Component (Tested)
AMICCOM Mesh Profile[15]AMICCOM Electronics Corporation2018-03-14}}109370Profile Subsystem
Amiccom Bluetooth Mesh Model[16]AMICCOM Electronics Corporation2018-03-30}}110168Profile Subsystem
Airoha SIG mesh[17]Airoha Technology Corp.2018-04-02}}110202Profile Subsystem
Marvell Mesh stack v1.0[18]Marvell Technology Group2018-04-27}}110569Component (Tested)
nRF5 SDK for Mesh [19]Nordic SemiconductorMay 2, 2018111537Profile Subsystem
Realtek Bluetooth 5 Mesh Solution[20]Realsil Microelectronics Inc2018-07-27}}115668Profile Subsystem
STSW-BNRG-Mesh[21]STMicroelectronics2018-08-02}}116029Profile Subsystem
RDA BT Host 5.0[22]RDA Microelectronics, Inc.2018-09-13}}115860Profile Subsystem
JYMC-MESH-1[23]Shanghai Frequen Microelectronics Co., Ltd.2018-10-10}}119229End Product
RW-BLE-MESH[24]CEVA, Inc.2018-10-31}}119268Component (Tested)
ARM Ltd Cordio Mesh[25]ARM Ltd2018-12-11}}116593Profile Subsystem
Samsung SLSI Bluetooth Mesh[26]Samsung Electronics Co., Ltd.2018-12-21}}122442Profile Subsystem
Bluelet Host Stack V12[27]Barrot Technology Limited2018-12-25}}123056Component (Tested)
ESP BLE Mesh v0.6[28]Espressif Systems (Shanghai) Pte. Ltd.2019-01-14}}124137Profile Subsystem
  • Official Linux Bluetooth protocol stack BlueZ supports Mesh Profile, from release version 5.47[29], by providing meshctl tool to configure mesh devices.
  • Apache Mynewt NimBLE supports Bluetooth mesh from release version 1.2.0[30]

References

1. ^{{Cite web|url=https://blog.bluetooth.com/trashed|title=Get ready for Bluetooth mesh! {{!}} Bluetooth Technology Website|website=blog.bluetooth.com|access-date=2017-07-06}}
2. ^{{Cite web|url=https://www.bluetooth.com/what-is-bluetooth-technology/how-it-works/le-mesh|title=Low Energy: Mesh {{!}} Bluetooth Technology Website|last=|first=|date=|website=www.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2017-07-18}}
3. ^{{Cite web|url=https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=429633|title=Mesh Profile Bluetooth® Specification|last=|first=|date=2017-07-13|website=Bluetooth Technology Website|format=PDF download|archive-url=|archive-date=|dead-url=|access-date=2017-07-18}}
4. ^{{Cite web|url=https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=429634|title=Mesh Model Bluetooth® Specification|last=|first=|date=2017-07-13|website=Bluetooth Technology Website|format=PDF download|archive-url=|archive-date=|dead-url=|access-date=2017-07-18}}
5. ^{{Cite journal|last=Adomnicai|first=A.|last2=Fournier|first2=J. J. A.|last3=Masson|first3=L.|date=2018-05-30|title=Hardware Security Threats Against Bluetooth Mesh Networks|url=https://ieeexplore.ieee.org/document/8433184/|journal=2018 IEEE Conference on Communications and Network Security (CNS)|volume=|pages=1–9|doi=10.1109/CNS.2018.8433184|via=|isbn=978-1-5386-4586-4}}
6. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/20708|title=QD ID 98880 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2017-11-15}}
7. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/1903|title=QD ID 98856 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2017-11-15}}
8. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/18763|title=QD ID 99282 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2017-11-15}}
9. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/25011|title=QD ID 101318 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2017-11-15}}
10. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/480|title=QD ID 101726 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2017-11-15}}
11. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/1905|title=QD ID 102243 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2017-11-15}}
12. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/52845|title=QD ID 106544 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-03-05}}
13. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/52851|title=QD ID 106546 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-03-05}}
14. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/49426|title=QD ID 104143 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-03-05}}
15. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/109370|title=QD ID 109370 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-04-05}}
16. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/110168|title=QD ID 110168 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-04-05}}
17. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/110202|title=QD ID 110202 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-04-05}}
18. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/110569|title=QD ID 110569 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-05-03}}
19. ^{{Cite web|url=http://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF5-SDK-for-Mesh|title=nRF5 SDK for Mesh / Bluetooth Low Energy / Products / Home - Ultra Low Power Wireless Solutions from NORDIC SEMICONDUCTOR|last=Systems|first=eZ|website=www.nordicsemi.com|language=en-GB|access-date=2018-05-03}}
20. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/115668|title=QD ID 115668 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-09-15}}
21. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/116029|title=QD ID 116029 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-09-15}}
22. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/115860|title=QD ID 115860 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-09-15}}
23. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/119229|title=QD ID 119229 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-11-07}}
24. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/119268|title=QD ID 119268 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-11-07}}
25. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/116593|title=QD ID 116593 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-12-21}}
26. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/122442|title=QD ID 122442 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-12-21}}
27. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/123056|title=QD ID 123056 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2018-12-21}}
28. ^{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/124137|title=QD ID 124137 {{!}} Launch Studio - Listing Details|last=|first=|date=|website=launchstudio.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2019-01-24}}
29. ^{{Cite web|url=http://www.bluez.org/release-of-bluez-5-47/|title=BlueZ » Blog Archive » Release of BlueZ 5.47|website=www.bluez.org|access-date=2017-10-27}}
30. ^{{Cite web|url=https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.2.0|title=RN-1.2.0 - Apache Mynewt - Apache Software Foundation|website=cwiki.apache.org|access-date=2018-07-02}}

4 : Bluetooth|Open standards|Wireless networking|Mesh networking

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/11 4:45:15