Ensemble dominant connecté
Les routeurs doivent former un ensemble dominant connecté (CDS), ce qui signifie:
- Il existe un chemin de routeur à routeur.
- N'importe quel routeur d'un réseau Thread peut atteindre n'importe quel autre routeur en restant entièrement dans l'ensemble des routeurs.
- Chaque appareil final d'un réseau Thread est directement connecté à un routeur.
Un algorithme distribué gère le CDS, ce qui garantit un niveau minimal de redondance. Chaque appareil se connecte initialement au réseau en tant qu'appareil final (enfant). À mesure que l'état du réseau Thread change, l'algorithme ajoute ou supprime des routeurs pour maintenir le CDS.
Thread ajoute des routeurs aux éléments suivants:
- Augmenter la couverture si le réseau est inférieur au seuil de 16 du routeur
- Augmenter la diversité des chemins
- Maintenir un niveau minimal de redondance
- Connecter plus d'enfants
Thread supprime les routeurs pour:
- Réduire l'état de routage en dessous du nombre maximal de 32 routeurs
- Autoriser de nouveaux routeurs dans d'autres parties du réseau si nécessaire
Passer à un routeur
Après s'être connecté à un réseau Thread, l'appareil Child peut choisir de devenir un routeur. Avant de lancer le processus de demande d'association MLE, l'enfant envoie un message de sollicitation d'adresse au leader, lui demandant un ID de routeur. Si le leader accepte, il répond avec un ID de routeur et l'enfant devient un routeur.
Le processus de requête de liaison MLE est ensuite utilisé pour établir des liaisons bidirectionnelles entre routeurs et routeurs avec les routeurs voisins.
- Le nouveau routeur envoie une demande d'association multicast aux routeurs voisins.
- Les routeurs répondent par des messages Link Accept and Request (Acceptation et demande de liaison).
- Le nouveau routeur répond à chaque routeur avec un Link Accept (Accepter la liaison) unicast pour établir la liaison routeur-routeur.
1. Demande d'association
Une requête d'association est une requête envoyée par le routeur à tous les autres routeurs du réseau Thread. Lorsqu'il devient routeur pour la première fois, l'appareil envoie une requête de liaison multicast à ff02::2
. Plus tard, après avoir découvert les autres routeurs via des annonces MLE, les appareils envoient des requêtes de liaison unicast.
Contenus des messages de demande d'association | |
---|---|
Version | Version du protocole Thread |
Défi | Teste la rapidité de la réponse de liaison pour éviter les attaques par rejeu |
Adresse de la source | RLOC16 de l'expéditeur |
Données sur les leaders | Informations sur le leader du routeur, telles qu'elles sont stockées sur l'expéditeur (RLOC, ID de partition, poids de la partition) |
2. Association : acceptation et demande
Une demande d'association et d'acceptation est une combinaison des messages d'acceptation et de demande d'association. Thread utilise cette optimisation dans le processus de requête de liaison MLE pour réduire le nombre de messages de quatre à trois.
3. Lien d'acceptation
Une acceptation de liaison est une réponse unicast à une demande de liaison d'un routeur voisin qui fournit des informations sur lui-même et accepte la liaison avec le routeur voisin.
Associer Accepter le contenu du message | |
---|---|
Version | Version du protocole Thread |
Response (Réponse) | Teste la rapidité de la réponse de liaison pour éviter les attaques par rejeu |
Compteur de liaison de trames | Compteur de trames 802.15.4 sur l'expéditeur |
Compteur de frames MLE | Compteur de trames MLE sur l'expéditeur |
Adresse de la source | RLOC16 de l'expéditeur |
Données sur les leaders | Informations sur le leader du routeur, telles qu'elles sont stockées sur l'expéditeur (RLOC, ID de partition, poids de la partition) |
Passer à un REED
Lorsqu'un routeur passe à un REED, ses liaisons routeur-routeur sont interrompues, et l'appareil lance le processus d'association MLE pour établir une liaison enfant-parent.
Pour en savoir plus sur le processus d'association MLE, consultez la section Rejoindre un réseau existant.
Liens de réception à sens unique
Dans certains cas, il peut être nécessaire d'établir un lien de réception à sens unique.
Après une réinitialisation du routeur, les routeurs voisins peuvent toujours disposer d'une liaison de réception valide avec le routeur réinitialisé. Dans ce cas, le routeur réinitialisé envoie un message de demande d'association pour rétablir la liaison entre les routeurs.
Un dispositif final peut également souhaiter établir un lien de réception avec des routeurs voisins non parents pour améliorer la fiabilité du multicast. Nous en apprendrons davantage à ce sujet lorsque nous aborderons le routage multicast.
Récapitulatif
Connaissances acquises :
- Les routeurs d'un réseau Thread doivent former un ensemble dominant connecté (CDS, Connected Dominating Set).
- Les appareils Thread sont mis à niveau vers des routeurs ou rétrogradés vers des appareils finaux pour maintenir le CDS.
- Le processus de requête de liaison MLE permet d'établir des liaisons entre routeurs.