Content deleted Content added
m →Provisioning: Grammar fix: More missing article words |
Citation bot (talk | contribs) Removed URL that duplicated identifier. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 301/1032 |
||
(14 intermediate revisions by 13 users not shown) | |||
Line 1:
{{Short description|Computer mesh networking standard}}
{{Infobox protocol
| name = Bluetooth mesh networking
| image = Bluetooth
| standard =
| developer = [[Bluetooth Special Interest Group|Bluetooth SIG]]
| introdate = {{Start date|2017|07|13}}
| industry
| connector =
| hardware =
| range
}}
'''Bluetooth Mesh''' is a computer [[mesh networking]] [[Technical standard|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<ref name=":0">{{Cite web|url=https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=429633|title=Mesh Profile Bluetooth® Specification|date=2017-07-13|website=Bluetooth Technology Website|format=PDF download|access-date=2017-07-18}}</ref> and Mesh Model<ref name=":1">{{Cite web|url=https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=429634|title=Mesh Model Bluetooth® Specification|date=2017-07-13|website=Bluetooth Technology Website|format=PDF download|access-date=2017-07-18}}</ref> specifications by the [[Bluetooth Special Interest Group]] (Bluetooth SIG). Bluetooth Mesh was conceived in 2014<ref>{{Cite web|url=http://blog.bluetooth.com/range-limitation-what-range-limitation-introducing-mesh-networks/|title=Range Limitation? What Range Limitation? Introducing Mesh Networks {{!}} Bluetooth Technology Website|website=blog.bluetooth.com|url-status=dead|archive-url=https://web.archive.org/web/20160409092727/http://blog.bluetooth.com/range-limitation-what-range-limitation-introducing-mesh-networks/|archive-date=2016-04-09|access-date=2017-07-06}}</ref> and adopted on {{Start date|2017|07|13}}.<ref>{{Cite web|url=https://www.bluetooth.com/what-is-bluetooth-technology/how-it-works/le-mesh|title=Low Energy: Mesh {{!}} Bluetooth Technology Website|website=www.bluetooth.com|url-status=dead|archive-url=https://web.archive.org/web/20170901202951/https://www.bluetooth.com/what-is-bluetooth-technology/how-it-works/le-mesh|archive-date=2017-09-01|access-date=2017-07-18}}</ref>
== Overview ==
Bluetooth Mesh is a [[mesh networking]] standard that operates on a [[Flooding (computer networking)|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 * is not in message cache * has a TTL ≥ 2 can be retransmitted with TTL = TTL 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).
Line 52 ⟶ 59:
|}
==
Nodes that support the various features can be formed into a particular mesh network topology.
{| class="wikitable"
Line 157 ⟶ 164:
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 Communications Society|IEEE CNS]] 2018 conference.<ref>{{Cite
The provisioning can be performed using a Bluetooth GATT connection or advertising using the specific bearer.<ref name=":0" />
Line 337 ⟶ 344:
|-
|Tonly SIG Mesh Stack<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/130160|title=QD ID 130160 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-05-06}}</ref>
|[[Tonli|Shenzhen Tonli Science and Technology Development Co., Ltd]]
|{{Dts|2019-05-05}}
|130160
Line 373 ⟶ 380:
|-
|ClarinoxBlue<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/134454|title=QD ID 134454 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-08-27}}</ref>
|
|{{Dts|2019-08-02}}
|134454
Line 399 ⟶ 406:
=== Free and open-source software implementations ===
[[Free software]] and [[The Open Source Definition|open source software]] implementations include the following:
* The official (included in [[Linux kernel]] by [[Linus Torvalds]] in 2001<ref>{{Cite web|url=http://www.bluez.org/about/history/|title=BlueZ History|date=2019-09-07|website=BlueZ}}</ref>) Linux Bluetooth protocol stack [[BlueZ]], dual free-licensed under the [[GNU General Public License|GPL]]<ref name="bluez_GPL" /> and the [[GNU Lesser General Public License|LGPL]],<ref name="bluez_LGPL" /> supports Mesh Profile, from release version 5.47,<ref>{{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}}</ref> by providing meshctl tool (deprecated) to configure mesh devices. Release version 5.53 introduced mesh-cfgclient tool for configuring mesh networks. BlueZ was approved as a "qualified" software package by Bluetooth SIG in 2005.<ref name="bluez_SIGqualified" /> BlueZ is not considered to be a qualified Bluetooth Mesh stack as Bluetooth Mesh is not listed in aforementioned qualification record as a supported profile.
* [[Bluetooth stack#Apache Mynewt NimBLE|Apache Mynewt NimBLE]], free-licensed under the [[Apache License#Compatibility|Apache License 2.0]],<ref name="mynewt_apache2p0" /> supports Bluetooth Mesh from release version 1.2.0.<ref>{{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}}</ref> It was qualified on {{Start date|2019|07|15}} with QDID 131934.<ref name=":2" />
* [[Bluetooth stack#Zephyr OS Mesh|Zephyr OS Mesh]], free-licensed under the [[Apache License#Compatibility|Apache License 2.0]],<ref name="zephyr_apache2p0" /> supports Bluetooth Mesh from release version 1.9.0.<ref>{{Cite web|url=https://docs.zephyrproject.org/latest/releases/release-notes-1.9.html#zephyr-kernel-1-9-0|title=Release Notes Zephyr Kernel 1.9.0|website=docs.zephyrproject.org|access-date=2020-03-21}}</ref> Zephyr OS Mesh 1.14.x was qualified on {{Start date|2019|09|20}} with QDID 139259.<ref name=":2" />
== See also ==
* [[Cabir (computer worm)]]
* [[BlackArch]]
* [[Bluejacking]]
* [[Bluebugging]]
* [[Bluesnarfing]]
* [[AirDrop]]
== References ==
Line 410 ⟶ 425:
<ref name="mynewt_apache2p0">{{cite web | title = apache/mynewt-core/LICENSE | website= [[GitHub]] |date = 2018-06-04 | url = https://github.com/apache/mynewt-core/blob/master/LICENSE | access-date = 2019-09-05 |archive-url= https://web.archive.org/web/20190905203215/https://github.com/apache/mynewt-core/blob/master/LICENSE |archive-date= 2019-09-05 |url-status=live}}</ref>
<ref name="zephyr_apache2p0">{{cite web | title = zephyrproject-rtos/zephyr/blob/master/LICENSE | website= [[GitHub]] |date = 2020-03-21 | url = https://github.com/apache/mynewt-core/blob/master/LICENSE | access-date = 2020-03-21 |archive-url= https://web.archive.org/web/20190905203215/https://github.com/zephyrproject-rtos/zephyr/blob/master/LICENSE |archive-date=
<ref name="bluez_GPL">{{cite web | title =index : bluez.git – Bluetooth protocol stack for Linux – Marcel Holtmann | website= [[kernel.org]] |year = 1991 | url = https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/COPYING | access-date = 2019-09-05 |archive-url= https://web.archive.org/web/20190905201757/https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/COPYING |archive-date= 2019-09-05 |url-status=live}}</ref>
|