Afficher et gérer les données réseau avec l'interface de ligne de commande OT

Afficher le code source sur GitHub

Les données du réseau Thread contiennent des informations sur les routeurs de bordure et les autres serveurs disponibles sur le réseau Thread. Les routeurs de bordure et les appareils qui proposent des services enregistrent leurs informations auprès du leader. Le leader collecte et structure ces informations dans les données du réseau Thread et les distribue à tous les appareils du réseau Thread.

Les routeurs de bordure peuvent enregistrer des préfixes attribués au réseau Thread et des préfixes pour lesquels ils proposent des routes. Les services peuvent enregistrer toute information pertinente.

Les informations sur le routeur de bordure et le service peuvent être stables ou temporaires. Les données du réseau Thread stable sont distribuées sur tous les appareils, y compris les appareils de fin de sommeil. Les données réseau temporaires sont réparties sur tous les nœuds, sauf les SED.

Commandes de données réseau

Pour obtenir la liste des commandes netdata, saisissez help:

netdata help
help
full
length
maxlength
publish
register
show
steeringdata
unpublish
Done

Commandes full

Les commandes full signalent l'état de l'indicateur ou annulent le suivi de l'indicateur si le rappel "net total" a été appelé.

Cette commande nécessite OPENThread_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

Commandes length et maxlength

La commande length obtient la longueur actuelle des données du réseau Thread, signalée en nombre d'octets. Les commandes maxlength obtiennent la longueur maximale observée ou réinitialisent la longueur maximale suivie.

Commandes publish

L'éditeur de données réseau fournit des mécanismes permettant de limiter le nombre d'entrées de service et de préfixe similaires (préfixe sur réseau maillé ou route externe) dans les données réseau Thread en surveillant les données réseau et en déterminant quand ajouter ou supprimer des entrées.

L'éditeur a besoin de OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE.

Créer un réseau et configurer le préfixe

  1. Générez une nouvelle configuration réseau.

    dataset init new
    Done
    
  2. Affichez la configuration du réseau.

    dataset
    Active Timestamp: 1
    Channel: 13
    Channel Mask: 0x07fff800
    Ext PAN ID: d63e8e3e495ebbc3
    Mesh Local Prefix: fd3d:b50b:f96d:722d::/64
    Network Key: dfd34f0f05cad978ec4e32b0413038ff
    Network Name: OpenThread-8f28
    PAN ID: 0x8f28
    PSKc: c23a76e98f1a6483639b1ac1271e2e27
    Security Policy: 0, onrcb
    Done
    
  3. Validez le nouvel ensemble de données dans l'ensemble de données opérationnel actif dans un espace de stockage non volatile.

    dataset commit active
    Done
    
  4. Activer l'interface Thread

    ifconfig up
    Done
    thread start
    Done
    
  5. Affichez les adresses IPv6 attribuées à l'interface Thread.

    ipaddr
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    
  6. Enregistrer un préfixe IPv6 attribué au réseau Thread.

    prefix add fd00:dead:beef:cafe::/64 paros med
    Done
    netdata register
    Done
    
  7. Afficher les données du réseau Thread

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    fd49:7770:7fc5:0::/64 s med 4000
    Services:
    44970 5d c000 s 4000
    44970 01 9a04b000000e10 s 4000
    Done
    

    Les préfixes et les routes incluent les mappages d'arguments et la valeur RLOC.

    Les enregistrements de service incluent des valeurs otServiceConfig, y compris mEnterpriseNumber, mServiceData, otServerConfig::mServerData et s pour indiquer otServerConfig::mStable. Le RLOC est également ajouté à la fin de l'enregistrement.

  8. Affichez la longueur actuelle, en nombre d'octets, des données du réseau Thread de Partition.

    netdata length
    23
    Done
    
  9. Affichez les adresses IPv6 attribuées à l'interface Thread, y compris le préfixe ajouté.

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

Associer au réseau existant

Seule la clé réseau est nécessaire pour qu'un appareil puisse être connecté à un réseau Thread.

Bien que cela ne soit pas obligatoire, spécifier le canal évite d'avoir à effectuer une recherche sur plusieurs canaux, ce qui améliore à la fois la latence et l'efficacité du processus d'association.

Une fois qu'un appareil est correctement associé à un réseau Thread, il récupère l'intégralité de l'ensemble de données opérationnel actif.

  1. Créer un ensemble de données opérationnel actif partiel

    dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
    Done
    dataset commit active
    Done
    
  2. Activer l'interface Thread

    ifconfig up
    Done
    thread start
    Done
    
  3. Une fois le réseau existant associé, affichez les données du réseau Thread.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    Services:
    Done
    
  4. Affichez la longueur actuelle, en nombre d'octets, des données du réseau Thread de Partition.

    netdata length
    23
    Done
    
  5. Affichez les adresses IPv6 attribuées à l'interface Thread.

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

Débogage et diagnostics

La taille des données réseau est limitée à 254 octets. Si les routeurs de bordure continuent d'ajouter des entrées (préfixes, routes ou entrées de service, par exemple) aux données réseau, elles peuvent être complètes. Dans ce cas, les nouvelles requêtes d'un routeur de bordure permettant d'ajouter des éléments sont refusées ou ignorées par le responsable. Le responsable n'indique pas nécessairement le rejet du routeur de bordure, auquel cas il peut ne pas se rendre immédiatement compte que les données réseau sont saturées. Toutefois, il existe une méthode permettant de détecter quand les données du réseau sont saturées.

La méthode de détection, mise en œuvre à la fois sur les routeurs Border et le leader, utilise un mécanisme d'API de rappel et permet aux utilisateurs d'être avertis lorsque les données réseau sont complètes. Le rappel peut être utilisé pour effectuer une action, comme supprimer des préfixes ou des entrées de service obsolètes. Les commandes netdata full sont utilisées pour l'indicateur qui détermine si le rappel "net data full" (données net complètes) a été appelé. Ces commandes peuvent signaler l'état de l'indicateur ou le réinitialiser.

Pour les cas d'utilisation typiques de Thread, il est peu probable que les données réseau soient complètes, même dans le cas où de nombreux routeurs de bordure ajoutent tous des préfixes de route.

Il est techniquement possible que les données du réseau soient complètes, mais cela est souvent dû à une mauvaise configuration ou à un problème sur le routeur de bordure. Les commandes netdata length et netdata maxlength peuvent vous aider à déboguer les erreurs complètes liées aux données réseau. length obtient la longueur actuelle des données réseau, signalée en octets, et maxlength obtient la longueur maximale observée, et peut également réinitialiser la longueur maximale suivie.