Réseau maillé Bluetooth – Wikipedia – Bien choisir son serveur d impression
| Bluetooth SIG | ||
| Introduit | 13 juillet 2017 | |
|---|---|---|
| Industrie | Éclairage, IdO | |
| Gamme physique | 100-1000 mètres (selon la configuration du relais de maillage) | |
Réseau maillé Bluetooth, conçu en 2015,[1] adopté le 13 juillet 2017[2] est un protocole basé sur Bluetooth Low Energy qui permet une communication multiple sur une radio Bluetooth.
Il a été défini dans la spécification du profil de maillage.[3] et spécification de modèle de maillage.[4]
Sommaire
Vue d'ensemble[[[[modifier]
La communication est acheminée dans des messages d’une longueur maximale de 384 octets lors de l’utilisation du mécanisme de segmentation et de réassemblage (SAR), mais la plupart des messages s’inscrivent dans un segment, c’est-à-dire 11 octets. Chaque message commence par un code opération, qui peut être un seul octet (pour les messages spéciaux), 2 octets (pour les messages standard) ou 3 octets (pour les messages propres au fournisseur).
Chaque message a une adresse source et une adresse de destination, déterminant quels périphériques traitent les messages. Les appareils publient des messages vers des destinations pouvant être des objets uniques / des groupes d'objets / tout.
Chaque message a un numéro de séquence qui protège le réseau contre les attaques par rejeu.
Chaque message est crypté et authentifié. Deux clés sont utilisées pour sécuriser les messages: (1) clés de réseau – affectées à un seul réseau maillé, (2) clés d’application – spécifiques à une fonctionnalité donnée de l’application, par ex. allumer la lumière vs reconfigurer la lumière.
Les messages ont une durée de vie (TTL). Chaque fois que le message est reçu et retransmis, TTL est décrémenté, ce qui limite le nombre de "sauts", en éliminant les boucles sans fin.
Bluetooth Mesh est un réseau inondable, similaire à VEmesh. Il est basé sur les nœuds relayant les messages: chaque nœud de relais qui reçoit un paquet réseau qui s’authentifie sur une clé réseau connue qui ne figure pas dans le cache des messages et qui a une durée de vie (TTL) ≥ 2 peut être retransmis avec TTL = TTL-1.
Cache de messages utilisé pour empêcher le relais des messages récemment vus.
Bluetooth Mesh a une architecture en couches, avec plusieurs couches comme ci-dessous.
| Couche | La fonctionnalité |
|---|---|
| Couche de modèle | Il définit un moyen standard d’échanger des messages spécifiques à une application. Par exemple, un modèle Light Lightness définit un moyen interopérable de contrôler la luminosité. Il existe des modèles obligatoires, appelés modèles de base, définissant les états et les messages nécessaires à la gestion d'un réseau maillé. |
| Couche d'accès | Il définit un mécanisme permettant de s'assurer que les données sont transmises et reçues dans le bon contexte d'un modèle et de ses clés d'application associées. |
| Couche de transport supérieure | Il définit le chiffrement authentifié des paquets de la couche d'accès à l'aide d'une application (ou d'une clé spécifique à un périphérique). Il définit également certains messages de contrôle pour gérer l’amitié ou pour notifier le comportement du noeud à l’aide des messages Heartbeat. |
| Couche de transport inférieure | Cette couche définit des paquets de couche supérieure de transmission segmentés fiables (via un accusé de réception de bloc), lorsqu'un paquet de couche supérieure complet ne peut pas être acheminé dans un seul paquet de couche de réseau. Il définit également un mécanisme permettant de réassembler des segments sur le récepteur. |
| Couche réseau | Cette couche définit la manière dont les paquets de transport sont adressés sur le réseau à un ou plusieurs nœuds. Il définit la fonctionnalité de relais pour la transmission de messages par un nœud de relais afin d'étendre la plage. Il gère le chiffrement authentifié de la couche réseau à l'aide d'une clé réseau. |
| Couche support | Il définit la manière dont les paquets du réseau sont échangés entre les nœuds. La spécification de profil de maille définit le support publicitaire BLE et le support BLE GATT. Le profil de maillage définit le protocole proxy, via lequel les paquets de maillage peuvent être échangés via d'autres supports tels que TCP / IP. |
Limites théoriques[[[[modifier]
Il reste à déterminer quelles sont les limites pratiques de la technologie Bluetooth Mesh. Certaines limites sont toutefois intégrées à la spécification:
| Limite pour un réseau | Valeur | Remarques |
|---|---|---|
| Nombre maximum de nœuds | 32 767 | La limite est de 32 768 adresses et, bien qu'un nœud puisse occuper plus d'une adresse, la limite pratique est probablement inférieure. |
| Nombre maximum de groupes | 16 384
Nombre de groupes virtuels est 2128. |
|
| Nombre maximum de scènes | 65 535 | |
| Nombre maximum de sous-réseaux | 4 096 | |
| TTL maximum | 126 |
Mailles modèles[[[[modifier]
À partir de la version 1.0 de la spécification Bluetooth Mesh, les modèles et groupes de modèles standard suivants ont été définis:
Modèles de fondation[[[[modifier]
Les modèles de base ont été définis dans la spécification de base. Deux d'entre eux sont obligatoires pour tous les nœuds de maillage.
- Serveur de configuration (obligatoire)
- Client de configuration
- Serveur de santé (obligatoire)
- Client de santé
Modèles génériques[[[[modifier]
- OnOff Server générique, utilisé pour représenter les périphériques qui ne correspondent à aucune des descriptions de modèle définies, mais qui prennent en charge les propriétés génériques de On / Off
- Generic Level Server, conservant l'état d'un élément dans un entier signé de 16 bits
- Serveur de temps de transition générique par défaut, utilisé pour représenter un temps de transition par défaut pour une variété de périphériques
- Generic Power OnOff Server et Generic Power OnOff Setup Server, utilisés pour représenter les périphériques qui ne correspondent à aucune des descriptions de modèle mais prennent en charge les propriétés génériques On / Off
- Serveur de niveau d'alimentation générique et serveur de configuration du niveau d'alimentation générique, comprenant un état d'alimentation générique réelle, un état d'alimentation générique dernier, un état d'alimentation générique par défaut et un état de plage d'alimentation générique
- Generic Battery Server, représentant un ensemble de quatre valeurs représentant l'état d'une batterie
- Serveur d'emplacement générique et serveur de configuration d'emplacement générique, représentant les informations d'emplacement d'un élément, qu'ils soient globaux (Lat / Lon) ou locaux
- Utilisateur générique / Admin / Fabricant / Serveur de propriétés client, représentant toute valeur devant être stockée par un élément
- Client OnOff générique et client de niveau générique
- Client de temps de transition générique par défaut
- Client générique Power OnOff et client générique Power Level
- Client générique de batterie
- Client d'emplacement générique
- Client générique
Capteurs[[[[modifier]
- Sensor Server & Sensor Setup Server, représentant un dispositif de capteur. Le capteur peut être configuré pour renvoyer une valeur mesurée périodiquement ou sur demande. la période de mesure (cadence) peut être configurée pour être fixe ou pour changer, de sorte qu'une plage de valeurs plus importante est signalée plus rapidement.
- Capteur Client
Temps et scènes[[[[modifier]
- Time Server & Time Setup Server, permettant la synchronisation de l'heure dans le réseau maillé
- Scene Server et Scene Setup Server permettent de configurer et de rappeler jusqu'à 65 535 scènes au besoin.
- Serveur du planificateur et serveur de configuration du planificateur
- Time Client, Scene Client et client de planification
Éclairage[[[[modifier]
- Serveur Light Lightness & Light Lightness Setup Server, représentant une source de lumière à intensité variable
- Serveur Light CTL, serveur Light CTL Temperature et serveur Light CTL Setup, représentant une source de lumière CCT ou "blanche ajustable"
- Serveur HSL léger, serveur de teinte HSL clair, serveur de saturation HSL clair et serveur de configuration HSL Light, représentant une source de lumière basée sur la représentation des teintes Teinte, Saturation, Luminosité
- Light xyL Server et Light xyL Setup Server, représentant une source de lumière basée sur l’espace colorimétrique CIE xyY modifié.
- Serveur Light LC (Lightness Control) et Light LC Setup, représentant un dispositif de contrôle de la lumière capable de contrôler le modèle Light Lightness à l'aide d'un capteur de présence et d'un capteur de lumière ambiante. Il peut être utilisé pour des scénarios de contrôle d'éclairage, tels que l'activation automatique, l'extinction automatique et / ou la récupération à la lumière du jour.
- Client Light Lightness, Client Light CTL, Client Light HSL, Client Light xyL et Client Light LC
Provisioning[[[[modifier]
Le provisioning est un processus d'installation du périphérique sur un réseau. Il est indispensable de créer un réseau maillé Bluetooth.
Dans le processus de provisionnement, un fournisseur de services distribue de manière sécurisée une clé réseau et un espace d'adressage unique pour un périphérique. Le protocole de provisioning utilise un échange de clé Diffie-Hellman à courbe elliptique à courbe P256 pour créer une clé temporaire permettant de chiffrer la clé de réseau et d'autres informations. Ceci fournit la sécurité d'un indiscret passif.
Il fournit également divers mécanismes d’authentification permettant de protéger les informations réseau contre les intrus actifs qui utilisent une attaque Man-In-The-Middle pendant le processus de provisionnement.
Une clé unique pour un périphérique, appelée "clé de périphérique", est dérivée du secret partagé de la courbe elliptique sur le provisioner et le périphérique pendant le processus de provisioning. Cette clé de périphérique est utilisée par le fournisseur pour chiffrer les messages de ce périphérique spécifique.
Le processus de sécurité d'approvisionnement a été analysé dans un document présenté lors de la conférence IEEE CNS 2018.[5]
Le provisionnement peut être effectué à l'aide d'une connexion Bluetooth GATT ou d'une publicité utilisant le support spécifique.[3]
Terminologie utilisée dans la spécification de réseau maillé Bluetooth[[[[modifier]
- Destination: adresse à laquelle un message est envoyé.
- Elément: une entité adressable dans un périphérique.
- Modèle: Opération standardisée de scénarios utilisateur typiques.
- Node: un périphérique mis en service.
- Provisioner: Un nœud pouvant ajouter un périphérique à un réseau maillé.
- Relais: Un nœud capable de retransmettre des messages.
- Source: l'adresse à partir de laquelle un message est envoyé.
Implémentations[[[[modifier]
| prénom | Envoyeur | Date de qualification | QDID | Type |
|---|---|---|---|---|
| Pile Bluetooth pour systèmes intégrés – Profil MESH[6] | Silvair, Inc. | 18 juillet 2017 | 98880 | Sous-système de profil |
| Qualcomm Bluetooth Mesh[7] | Qualcomm Technologies International, Ltd. | 18 juillet 2017 | 98856 | Sous-système de profil |
| Modèles maillés Silvair[8] | Silvair, Inc. | 26 juillet 2017 | 99282 | Sous-système de profil |
| Profil de maille de gecko sans fil[9] | Laboratoires de silicium | 21 septembre 2017 | 101318 | Sous-système de profil |
| CYW-MESH 1.0[10] | Cypress Semiconductor Corporation | 3 octobre 2017 | 101726 | Composant (testé) |
| Modèle de maillage Bluetooth Qualcomm[11] | Qualcomm Technologies International, Ltd. | 20 octobre 2017 | 102243 | Sous-système de profil |
| EtherMind Protocole Bluetooth Stack, 5.0 (Mode unique) + Maillage[12] | Mindtree Limited | 24 janvier 2018 | 106544 | Composant (testé) |
| Kit de développement de maillons SIG Telink[13] | Telink Semiconductor | 1er février 2018 | 106546 | Sous-système de profil |
| TOSHIBA Bluetooth_stack_mesh-1[14] | Toshiba Corporation | 13 février 2018 | 104143 | Composant (testé) |
| Profil de maille d'AMICCOM[15] | AMICCOM Electronics Corporation | 14 mars 2018 | 109370 | Sous-système de profil |
| Modèle de maillage Bluetooth Amiccom[16] | AMICCOM Electronics Corporation | 30 mars 2018 | 110168 | Sous-système de profil |
| Maille Airoha SIG[17] | Airoha Technology Corp. | 2 avril 2018 | 110202 | Sous-système de profil |
| Marvell Mesh stack v1.0[18] | Groupe de technologie Marvell | 27 avril 2018 | 110569 | Composant (testé) |
| nRF5 SDK pour Mesh [19] | Nordic Semiconductor | 2 mai 2018 | 111537 | Sous-système de profil |
| Solution Bluetooth Realtek 5 Mesh[20] | Realsil Microelectronics Inc | 27 juillet 2018 | 115668 | Sous-système de profil |
| STSW-BNRG-Mesh[21] | STMicroelectronics | 2 août 2018 | 116029 | Sous-système de profil |
| RDA BT Host 5.0[22] | RDA Microelectronics, Inc. | 13 septembre 2018 | 115860 | Sous-système de profil |
| JYMC-MESH-1[23] | Shanghai Frequen Microelectronics Co., Ltd. | 10 octobre 2018 | 119229 | Produit fini |
| RW-BLE-MESH[24] | CEVA, Inc. | 31 octobre 2018 | 119268 | Composant (testé) |
| ARM Ltd Cordio Mesh[25] | ARM Ltd | 11 décembre 2018 | 116593 | Sous-système de profil |
| Samsung SLSI Bluetooth Mesh[26] | Samsung Electronics Co., Ltd. | 21 décembre 2018 | 122442 | Sous-système de profil |
| Bluelet Host Stack V12[27] | Barrot Technology Limited | 25 décembre 2018 | 123056 | Composant (testé) |
| ESP BLE Mesh v0.6[28] | Espressif Systems (Shanghai) Pte. Ltd | 14 janvier 2019 | 124137 | Sous-système de profil |
| BK3435 BLE Core Spec 5.0 avec MAILLE[29] | Beken Corp | 12 mars 2019 | 127926 | Produit fini |
| Actions Sous-système de profil[30] | Actions (Zhuhai) Technology Co., Limited | 21 mars 2019 | 127646 | Sous-système de profil |
- Pile de protocoles Bluetooth officielle de Linux BlueZ prend en charge le profil de maillage à partir de la version 5.47[31], en fournissant l’outil meshctl pour configurer les périphériques maillés.
- Apache Mynewt NimBLE prend en charge le maillage Bluetooth à partir de la version 1.2.0.[32]
Références[[[[modifier]







Commentaires
Laisser un commentaire