Muestra y administra datos de red con OT CLI

Ver código fuente en GitHub

Los datos de red de Thread contienen información sobre routers de borde y otros servidores disponibles en la red Thread. Routers de frontera y dispositivos que ofrecen servicios registrar su información con el líder. El Líder recopila y estructura esta información en los datos de red de Thread y la distribuye a todos los dispositivos de la red Thread.

Los routers de borde pueden registrar prefijos y prefijos asignados a la red Thread para los que ofrecen rutas. Los Servicios podrán registrar cualquier información relevante para el servicio en sí.

La información del servicio y del router de borde puede ser estable o temporal. Subproceso estable Los datos de red se distribuyen a todos los dispositivos, incluidos los dispositivos finales con sueño (SED). Los datos de red temporales se distribuyen a todos los nodos, excepto a los SED.

Comandos de datos de red

Para obtener una lista de comandos netdata, escribe help:

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

Comandos full

Los comandos full informan el estado de la marca o restablece el seguimiento de la marca, ya sea los valores de "net data full" se haya invocado la devolución de llamada.

Este comando requiere OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

Comandos length y maxlength

El comando length obtiene la longitud actual de los datos de red de Thread, informados. como el número de bytes. Los comandos maxlength obtienen la longitud máxima observada. restablece la longitud máxima rastreada.

Comandos publish

El publicador de datos de red brinda mecanismos para limitar la cantidad de Entradas de servicio y prefijo (prefijo en malla o ruta externa) en el subproceso Supervisar los datos de red y administrar cuándo agregarlos quitar entradas.

El editor requiere OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE.

Red del formulario y configuración del prefijo

  1. Genera una nueva configuración de red.

    dataset init new
    Done
    
  2. Muestra la configuración de red.

    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. Confirmar el nuevo conjunto de datos en el conjunto de datos operativos activos en formato no volátil y almacenamiento de los datos.

    dataset commit active
    Done
    
  4. Cómo habilitar la interfaz de Thread

    ifconfig up
    Done
    thread start
    Done
    
  5. Muestra las direcciones IPv6 asignadas a la interfaz de 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. Registra un prefijo IPv6 asignado a la red Thread.

    prefix add fd00:dead:beef:cafe::/64 paros med
    Done
    netdata register
    Done
    
  7. Mostrar datos de la red 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
    

    Los prefijos y las rutas incluyen asignaciones de argumentos y el valor de RLOC.

    Los registros de servicio incluyen otServiceConfig valores, incluidos mEnterpriseNumber, mServiceData y otServerConfig::mServerData y s para indicar otServerConfig::mStable El RLOC también se agrega al final de la registro.

  8. Muestra la longitud actual (en cantidad de bytes) de la red Thread de Partition Datos.

    netdata length
    23
    Done
    
  9. Muestra las direcciones IPv6 asignadas a la interfaz de Thread, incluida la prefijo agregado.

    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
    

Conectar a la red existente

Solo se requiere la clave de red para que un dispositivo se conecte a una red Thread.

Si bien no es obligatorio, si especificas el canal, se evita la necesidad de buscar en de varios canales, lo que mejora la latencia y la eficiencia del proceso de conexión.

Después de que un dispositivo se conecta correctamente a una red Thread, el dispositivo recupera el conjunto de datos operativos activos completos.

  1. Crear un conjunto de datos operativos activos parciales

    dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
    Done
    dataset commit active
    Done
    
  2. Habilita la interfaz de Thread.

    ifconfig up
    Done
    thread start
    Done
    
  3. Después de conectarte a la red existente, muestra los datos de red de Thread.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    Services:
    Done
    
  4. Muestra la longitud actual (en cantidad de bytes) de la red Thread de Partition Datos.

    netdata length
    23
    Done
    
  5. Muestra las direcciones IPv6 asignadas a la interfaz de 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
    

Depuración y diagnóstico

Los datos de red tienen un tamaño limitado de 254 bytes. Si los routers de borde siguen agregando (por ejemplo, prefijos, rutas o entradas de servicio) a los datos de red pueden llenarse. Cuando esto sucede, las solicitudes nuevas provenientes de un router de borde para agregar nuevas los elementos serán rechazados o ignorados por el líder. El líder no y necesariamente señalar el rechazo al router de borde no darse cuenta de inmediato de que los datos de red se están llenando. Sin embargo, hay una de red disponible para detectar cuando los datos de red se están llenando.

El método de detección, implementado en los routers de borde y en el líder, usa un mecanismo de API de devolución de llamada y permite que los usuarios sean notificados cuando los datos de red se completo. La devolución de llamada se puede usar para realizar acciones, como quitar prefijos inactivos o entradas de servicio. Los comandos netdata full se usan para la marca que realiza un seguimiento para determinar se haya invocado la devolución de llamada. Estos comandos pueden informar el estado de la marca o restablecerla.

En los casos de uso típicos de Thread, es poco probable que se obtengan datos de red incluso en una situación en la que hay muchos routers de borde y todos agregar prefijos de ruta.

Técnicamente es posible que los datos de red se llenen, sin embargo, esto suele ser debido a una configuración incorrecta o a un problema en el router de borde. El netdata length y netdata maxlength puede ayudar a depurar errores completos de datos de red. length obtiene la longitud actual de los datos de red, informada como bytes y maxlength obtiene la longitud máxima observada y también puede restablecer la la longitud máxima.