Réseaux Thread
Les réseaux Thread sont identifiés par trois identifiants uniques:
- ID de réseau personnel (PAN ID) de 2 octets
- ID de réseau étendu de zone personnelle (XPAN ID) de 8 octets
- Nom de réseau lisible
Par exemple, un réseau Thread peut avoir les identifiants suivants:
Identifiant | Valeur |
---|---|
ID PAN | 0xBEEF |
ID XPAN | 0xBEEF1111CAFE2222 |
Nom du réseau | yourThreadCafe |

Lorsqu'il crée un réseau Thread ou recherche un réseau existant auquel se joindre, un appareil Thread effectue une analyse active des réseaux 802.15.4 à portée radio:
- L'appareil diffuse une requête de balise 802.15.4 sur un canal spécifique.
- En retour, tous les routeurs ou appareils finaux éligibles au routeur (REED, Router Eligible End Devices) à portée diffusent un signal qui contient leur ID de PAN de réseau Thread, leur ID XPAN et leur nom de réseau.
- L'appareil répète les deux étapes précédentes pour chaque canal.
Une fois qu'un appareil Thread a détecté tous les réseaux à portée, il peut s'associer à un réseau existant ou en créer un si aucun réseau n'est détecté.
Établissement de liaisons en réseau maillé
Thread utilise le protocole MLE (Mesh Link Establishment) pour configurer les liens et diffuser des informations sur le réseau aux appareils Thread.
Dans la configuration de liaison, MLE permet de:
- Découvrir les associations à des appareils voisins
- Déterminer la qualité des liens avec les appareils voisins
- Établir des associations avec des appareils voisins
- Négocier les paramètres de liaison (type d'appareil, compteurs de trames, délai avant expiration) avec les pairs
Le MLE diffuse les types d'informations suivants aux appareils souhaitant établir des liens:
- Données du leader (RLOC du leader, ID de partition, poids de la partition)
- Données réseau (préfixes sur le réseau maillé, autoconfiguration des adresses, routes plus spécifiques)
- Propagation des routes
La propagation des routes dans Thread fonctionne de manière similaire au protocole RIP (Routing Information Protocol), un protocole de routage à vecteur de distance.
Créer un réseau
Si l'appareil décide de créer un réseau, il sélectionne le canal le moins chargé et un ID de PAN non utilisé par d'autres réseaux, puis devient un routeur et s'autoproclame leader. Cet appareil envoie des messages d'annonce MLE à d'autres appareils 802.15.4 pour les informer de son état de liaison et répond aux requêtes de balise d'autres appareils Thread effectuant une analyse active.
Rejoindre un réseau existant
Si l'appareil choisit de rejoindre un réseau existant, il configure son canal, son ID de PAN, son ID XPAN et son nom de réseau pour qu'ils correspondent à ceux du réseau cible via la mise en service Thread, puis passe par le processus d'association MLE pour s'associer en tant qu'enfant (appareil final). Ce processus est utilisé pour les liens enfant-parent.
- L'enfant envoie une requête parent multicast à tous les routeurs et REED voisins du réseau cible.
- Tous les routeurs et REED voisins (si le masque de balayage de requête parent inclut des REED) envoient des réponses parent contenant des informations sur eux-mêmes.
- L'enfant choisit un appareil parent et lui envoie une requête d'ID enfant.
- Le parent envoie une réponse avec l'ID enfant pour confirmer l'établissement du lien.
1. Requête parentale
Une requête parent est une requête multicast de l'appareil qui s'associe, qui permet de détecter les routeurs voisins et les appareils finaux éligibles au routeur (REED) dans le réseau cible.

Contenu des messages de demande parentale | |
---|---|
Mode | Décrit l'appareil associé |
Défi | Teste la rapidité de la réponse parent pour éviter les attaques par rejeu |
Masque de numérisation | Limite la requête aux routeurs uniquement ou aux routeurs et aux REED |
2. Réponse du parent
Une réponse parent est une réponse unicast à une requête parent qui fournit des informations sur un routeur ou un REED à l'appareil qui s'y connecte.

Contenu des messages de réponse des parents | |
---|---|
Version | Version du protocole Thread |
Response (Réponse) | Copie de la demande de défi parental |
Compteur de liaison de trames | Compteur de trames 802.15.4 sur le routeur/REED |
Compteur de frames MLE | Compteur de trames MLE sur le routeur/REED |
Adresse de la source | RLOC16 du routeur/REED |
Marge de lien | Qualité du signal reçu par le routeur/REED |
Connectivité | Décrit le niveau de connectivité du routeur/REED |
Données sur les leaders | Informations sur le leader du routeur/du routeur de secours |
Défi | Teste la rapidité de la demande d'ID enfant pour éviter les attaques par rejeu |
3. Demande d'ID enfant
Une requête d'ID enfant est une requête unicast de l'appareil en cours d'association (enfant) envoyée au routeur ou au REED (parent) dans le but d'établir un lien enfant-parent. Si la requête est envoyée à un REED, il passe à un routeur avant d'accepter la requête.

Contenu des messages de demande d'ID enfant | |
---|---|
Version | Version du protocole Thread |
Response (Réponse) | Copie du défi de réponse parentale |
Compteur de liaison de trames | Compteur de trames 802.15.4 sur l'enfant |
Compteur de frames MLE | Compteur de frames MLE sur l'enfant |
Mode | Décrit l'enfant |
Délai avant expiration | Durée d'inactivité avant que le parent ne supprime l'enfant |
Enregistrement de l'adresse (MED et SED uniquement) | Enregistrer des adresses IPv6 |
4. Réponse de l'ID enfant
Une réponse d'ID enfant est une réponse unicast du parent envoyée à l'enfant pour confirmer qu'un lien enfant-parent a été établi.

Contenu des messages de réponse concernant les ID enfants | |
---|---|
Adresse de la source | RLOC16 du parent |
Address16 | RLOC16 de l'enfant |
Données sur les leaders | Informations sur le leader du parent (RLOC, ID de partition, poids de la partition) |
Données réseau | Informations sur le réseau Thread (préfixes sur le réseau maillé, autoconfiguration des adresses, routes plus spécifiques) |
Itinéraire (REED uniquement) | Propagation des routes |
Délai avant expiration | Durée d'inactivité avant que le parent ne supprime l'enfant |
Enregistrement de l'adresse (MED et SED uniquement) | Confirmer les adresses enregistrées |
Récapitulatif
Connaissances acquises :
- Un appareil Thread effectue une recherche active des réseaux existants
- Thread utilise l'établissement de liaisons réseau pour configurer les liaisons et diffuser des informations sur les appareils réseau.
- Les messages d'annonce MLE informent les autres appareils Thread sur le réseau et l'état de liaison d'un appareil.
- Le processus d'association MLE établit des liens enfant-parent.