Détection et formation de réseau

Afficher le code source sur GitHub

Réseaux Thread

Les réseaux Thread sont identifiés par trois identifiants uniques:

  • ID de réseau personnel (2 octets) (PAN ID)
  • ID réseau étendu de 8 octets (ID XPAN)
  • Un 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
OT-Active Scan

Lors de la création d'un réseau Thread ou de la recherche d'un réseau existant à rejoindre, un appareil Thread effectue une analyse active des réseaux 802.15.4 dans une plage radio:

  1. L'appareil diffuse une demande de balise 802.15.4 sur un canal spécifique.
  2. En retour, tous les routeurs ou appareils finaux éligibles du routeur (REED) situés dans la plage peuvent diffuser une balise contenant leur ID PAN, ID XPAN et nom de réseau du réseau Thread.
  3. L'appareil répète les deux étapes précédentes pour chaque chaîne.

Une fois qu'un appareil Thread a découvert tous les réseaux à portée, il peut être associé à un réseau existant ou en créer un si aucun réseau n'est détecté.

Thread utilise le protocole MLE (Messaging Link Establishment) pour configurer les liens et diffuser des informations sur le réseau aux appareils Thread.

Dans la configuration des associations, MLE permet de:

  • Découvrir des liens vers des appareils à proximité
  • Déterminer la qualité des liens vers les appareils à proximité
  • Établir des liens vers les appareils à proximité
  • Négocier des paramètres d'association (type d'appareil, compteurs d'images, délai avant expiration) avec les pairs

Le MLE diffuse les types d'informations suivants aux appareils souhaitant établir des liens:

  • Données des leaders (RLOC responsable, ID de partition, pondération de la partition)
  • Données réseau (préfixes sur le réseau maillé, configuration automatique des adresses, routes plus spécifiques)
  • Propagation du routage

La propagation des routes dans Thread fonctionne de la même manière que le protocole RIP (Routage Information Protocol), un protocole de routage vectoriel.

Créer un réseau

Si l'appareil décide de créer un réseau, il sélectionne le canal le moins occupé et un ID de PAN non utilisé par d'autres réseaux, puis devient un routeur et élu responsable. Cet appareil envoie des messages d'annonce MLE à d'autres appareils 802.15.4 pour les informer de son état d'association et répond aux demandes de balises par d'autres appareils Thread qui effectuent une analyse active.

Rejoindre un réseau existant

Si l'appareil décide de rejoindre un réseau existant, il configure son canal, son ID PAN, son ID XPAN et son nom de réseau pour qu'ils correspondent à ceux du réseau cible via la mise en service des threads, puis passe par le processus MLE Attaching pour être associé en tant qu'enfant (appareil final). Cette procédure est utilisée pour les liens parents-enfants.

  1. L'enfant envoie une requête parente multicast à tous les routeurs et REED voisins du réseau cible.
  2. Tous les routeurs et REED voisins (si le masque de requête parent contient des REED) envoient des réponses parentes contenant des informations les concernant.
  3. L'enfant choisit un appareil parent et lui envoie une demande d'ID enfant.
  4. Le parent envoie une réponse d'ID enfant pour confirmer l'établissement de l'association.

1. Demande parentale

Une requête parente est une requête de multidiffusion envoyée par l'appareil qui l'associe. Elle permet d'identifier les routeurs et les appareils de fin de projet éligibles au routeur (REED) voisins dans le réseau cible.

Demande de rattachement de ML OT ML
Contenu du message de la demande parentale
Mode Décrit l'appareil connecté
Défi Teste la ponctualité de la réponse parentale pour éviter les attaques répétées
Scanner le masque Limite la requête aux routeurs uniquement ou aux routeurs et aux REED

2. Réponse parentale

Une réponse parente est une réponse unicast à une requête parente qui fournit des informations sur un routeur ou un REED à l'appareil associé.

OT MLE Joindre la réponse parentale
Contenu du message de réponse parentale
Version Version du protocole Thread
Response (Réponse) Copie du défi de la demande parentale
Compteur de cadres de liaison Compteur de trames 802.15.4 sur le routeur/l'analyseur ED
Compteur de cadres MLE Compteur de trames MLE sur le routeur/l'anus
Adresse source RLOC16 du routeur/REED
Marge de liaison Recevoir la qualité du signal du routeur/de l'appareil REED
Connectivité Décrit le niveau de connectivité du routeur ou du REED
Leader Data Informations sur le responsable/routeur du REED
Défi Teste la disponibilité en temps opportun de la requête d'ID enfant pour éviter les attaques par relecture

3. Demande d'ID enfant

Une requête d'identification enfant est une requête unicast de l'appareil joint (enfant) qui est 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, elle se met à niveau vers un routeur avant d'accepter la requête.

OT MLE Joindre la demande d'ID enfant
Contenu du message de la demande d'ID enfant
Version Version du protocole Thread
Response (Réponse) Copie du défi de réponse des parents
Compteur de cadres de liaison 802.15.4 Compteur d'images sur l'enfant
Compteur de cadres MLECompteur de cadres MLE sur l'enfant
Mode Décrit l'enfant
Délai avant expiration Durée d'inactivité avant la suppression de l'enfant par le parent
Enregistrement d'adresses (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 Child-Parent a été établi.

OT MLE Joindre la réponse de l'ID de l'enfant
Contenu du message de la réponse de l'ID de l'enfant
Adresse source Parent RLOC16
Adresse 16 Enfant RLOC16
Leader Data Informations sur la variante optimale 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é, configuration automatique des adresses, routes plus spécifiques)
Route (REED uniquement) Propagation du routage
Délai avant expiration Durée d'inactivité avant la suppression de l'enfant par le parent
Enregistrement d'adresses (MED et SED uniquement) Confirmer les adresses enregistrées

Résumé

Connaissances acquises :

  • Un appareil Thread effectue une analyse active des réseaux existants
  • Thread utilise Mesh Establishment pour configurer des liens et diffuser des informations sur les appareils réseau
  • Les messages publicitaires MLE informent les autres appareils Thread sur le réseau et l'état du lien.
  • Le processus MLE Attaching établit des liens enfants-parents

Testez vos connaissances

Quel identifiant n'est pas utilisé pour identifier un réseau Thread ?
ID de réseau personnel (PAN) de 2 octets.
Mauvaise réponse. Un réseau thread est identifié, en partie, par un ID PAN.
ID réseau étendu 8 octets (ID XPAN).
Mauvaise réponse. Un réseau thread est identifié, en partie, par un ID XPAN.
Nom de réseau lisible.
Mauvaise réponse. Un réseau thread est identifié, en partie, par un nom de réseau lisible.
SSID de 32 caractères.
Bonne réponse. Contrairement à un réseau Wi-Fi 802.11, les identifiants de réseau Thread n'utilisent pas de SSID.
À quoi sert une demande parentale ?
Pour découvrir les routeurs et les appareils finaux éligibles du routeur voisin (REED) dans le réseau cible :
Bonne réponse. Une requête parente est émise par un appareil cherchant à se connecter à un réseau.
Pour annoncer qu'un routeur devient un parent
Mauvaise réponse. Un routeur ne crée pas de relation parent-enfant avec un autre appareil réseau. Au lieu de cela, un appareil réseau sélectionne un routeur pour qu'il devienne un enfant.
Pour demander qu'un appareil final éligible au routeur soit promu en routeur.
Mauvaise réponse.
Quel type d'adresse les demandes parentales utilisent-elles ?
unicast
Mauvaise réponse.
Anycast
Mauvaise réponse.
multidiffusion
Bonne réponse.
annonce
Mauvaise réponse.
Lorsqu'un appareil est initialement associé à un réseau Thread, quelle est sa classification ?
Enfant (appareil de fin)
Bonne réponse. Un appareil qui rejoint un réseau Thread démarre toujours en tant qu'appareil final sur ce réseau.
FTD (Full Thread Device)
Mauvaise réponse.
REED (appareil final éligible au routeur)
Mauvaise réponse.