Recherche périodique des parents

Afficher le code source sur GitHub

Pour permettre aux appareils finaux (ED) d'un réseau Thread de passer à un meilleur routeur parent que celui de son routeur actuel, tout en restant connecté au réseau, activez la fonctionnalité de recherche parentale périodique.

Pour déterminer si un routeur est un meilleur parent pour l'ED, cette fonctionnalité vérifie différents attributs de routeur, y compris:

  • RSSI (indicateur d'intensité du signal reçu)
  • Qualité des liens
  • Connectivité du routeur avec les autres routeurs
  • Nombre d'enfants existants pour le routeur

Cela permet aux ED de se connecter au meilleur routeur possible plutôt que de rester connectés à un routeur avec une mauvaise qualité de liaison ou de mauvaise connexion. Cette fonctionnalité est particulièrement utile lorsqu'un nouveau routeur est ajouté à un réseau Thread existant.

Comment ça marche ?

  1. L'ED vérifie la valeur RSSI moyenne de son routeur parent actuel, en fonction de l'intervalle de contrôle configuré (OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL).
  2. Si la valeur RSSI moyenne pour le routeur parent actuel de l'ED est inférieure au seuil configuré (OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD), une recherche parente est lancée :
    1. Si la recherche parente détecte un meilleur routeur parent, l'ED dissout son lien enfant-parent actuel et lance le processus d'association MLe avec le nouveau routeur.
    2. Si la recherche parente ne trouve pas un meilleur routeur parent, le lien enfant-parent existant reste.
  3. Après la tentative de recherche du parent, l'ED attend de vérifier la valeur RSSI moyenne de son routeur parent actuel en fonction de l'intervalle d'intervalle configuré (OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL). Cet intervalle entre les tentatives s'effectue quel que soit le résultat de la recherche parente.

Nous vous recommandons d'activer la fonctionnalité Informer l'ancien parent lors de la réassociation conjointement avec cette fonctionnalité.

Comment l'activer

Cette fonctionnalité est désactivée par défaut.

Pour activer la recherche périodique des parents, définissez OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE comme 1 dans le fichier /src/core/config/parent_search.h, avant de créer OpenThread:

#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif

Paramètres

Utilisez les paramètres suivants dans /src/core/config/parent_search.h pour personnaliser cette fonctionnalité:

Paramètres
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL
Valeur par défaut
540 secondes (9 minutes)
Description
Spécifie l'intervalle (en secondes) pendant lequel un enfant peut vérifier la condition de déclenchement afin d'effectuer une recherche parente.
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
Valeur par défaut
36 000 secondes (10 heures)
Description
Spécifie l'intervalle d'intervalle en secondes entre le moment où un enfant doit effectuer une recherche et celui où il n'effectue pas de recherche parente.
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
Valeur par défaut
-65
Description
Spécifie le seuil RSSI utilisé pour déclencher une recherche parente.

API

Il n'existe pas d'API publique pour cette fonctionnalité.

CLI

Aucune commande CLI ne correspond à cette fonctionnalité.