Descubrimiento y formación de redes

Ver el código fuente en GitHub

Redes Thread

Las redes Thread se identifican con tres identificadores únicos:

  • ID de red de área personal (PAN ID) de 2 bytes
  • ID de red de área personal extendida (XPAN ID) de 8 bytes
  • Nombre de red legible

Por ejemplo, una red Thread puede tener los siguientes identificadores:

Identificador Valor
ID PAN 0xBEEF
ID XPAN 0xBEEF1111CAFE2222
Nombre de la red yourThreadCafe
Análisis activo de OT

Cuando se crea una red Thread nueva o se busca una existente para unirse, un dispositivo Thread realiza una búsqueda activa de redes 802.15.4 dentro del alcance de la radio:

  1. El dispositivo transmite una solicitud de baliza 802.15.4 en un canal específico.
  2. A cambio, cualquier dispositivo compatible con amplificador (ECD) dentro del alcance transmite una baliza que contiene su ID PAN, ID XPAN y nombre de red de Thread.
  3. El dispositivo repite los dos pasos anteriores para cada canal.

Una vez que un dispositivo Thread descubre todas las redes dentro del alcance, puede conectarse a una red existente o crear una nueva si no se descubre ninguna.

Thread usa el protocolo de establecimiento de vínculos de malla (MLE) para configurar vínculos y difundir información sobre la red a los dispositivos Thread.

En la configuración de vínculos, MLE se usa para lo siguiente:

  • Descubrir vínculos a dispositivos vecinos
  • Determinar la calidad de los vínculos a dispositivos vecinos
  • Establecer vínculos a dispositivos vecinos
  • Negociar parámetros de vínculos (tipo de dispositivo, contadores de marcos, tiempo de espera) con pares

MLE difunde los siguientes tipos de información a los dispositivos que desean establecer vínculos:

  • Datos del líder (RLOC del líder, ID de partición, peso de partición)
  • Datos de la red (prefijos en la malla, configuración automática de direcciones, rutas más específicas)
  • Propagación de rutas

La propagación de rutas en Thread funciona de manera similar al Protocolo de información de enrutamiento (RIP), un protocolo de enrutamiento de vector de distancia.

Crear red nueva

Si el dispositivo elige crear una red nueva, selecciona el canal menos ocupado y un ID PAN que no usen otras redes, luego se convierte en un amplificador de malla y se elige como líder. Este dispositivo envía mensajes de anuncio de MLE a otros dispositivos 802.15.4 para informarles sobre su estado de vínculo y responde a las solicitudes de baliza de otros dispositivos Thread que realizan una búsqueda activa.

Unirse a una red existente

Si el dispositivo elige unirse a una red existente, configura su canal, ID PAN, ID XPAN y nombre de red para que coincidan con los de la red de destino a través de la puesta en servicio de Thread y, luego, pasa por el proceso de conexión de MLE para conectarse como un dispositivo secundario (dispositivo final). Este proceso se usa para los vínculos entre dispositivos secundarios y superiores.

  1. El dispositivo secundario envía una solicitud superior de transmisión Parent Request a todos los dispositivos compatibles con amplificador vecinos en la red de destino.
  2. Todos los amplificadores de malla vecinos (y los ECD en espera, si la máscara de búsqueda de solicitud superior incluye ECD en espera) envían respuestas superiores con información sobre ellos.
  3. El dispositivo secundario elige un dispositivo superior y le envía una solicitud de ID secundario.
  4. El dispositivo superior envía una respuesta de ID secundario para confirmar el establecimiento del vínculo.

1. Solicitud superior

Una solicitud superior es una solicitud de transmisión del dispositivo que se conecta y que se usa para descubrir dispositivos compatibles con amplificador vecinos en la red de destino.

Solicitud de adjuntar el MLE principal de OT
Contenido del mensaje de solicitud superior
Modo Describe el dispositivo que se conecta
Desafío Prueba la puntualidad de la respuesta superior para evitar ataques de reproducción
Máscara de búsqueda Limita la solicitud solo a los amplificadores de malla o a todos los dispositivos compatibles con amplificador

2. Respuesta superior

Una respuesta superior es una respuesta de transmisión a una solicitud superior que proporciona información sobre un dispositivo compatible con amplificador al dispositivo que se conecta.

Respuesta de OT MLE Attach Parent
Contenido del mensaje de respuesta superior
Versión Versión del protocolo Thread
Respuesta Copia del desafío de solicitud superior
Contador de marcos de vínculo Contador de marcos 802.15.4 en el dispositivo compatible con amplificador
Contador de marcos de MLE Contador de marcos de MLE en el dispositivo compatible con amplificador
Origen Dirección RLOC16 del dispositivo compatible con amplificador
Margen de vínculo Calidad de la señal de recepción del dispositivo compatible con amplificador
Conectividad Describe el nivel de conectividad del dispositivo compatible con amplificador
Datos del líder Información sobre el líder del dispositivo compatible con amplificador
Desafío Prueba la puntualidad de la solicitud de ID secundario para evitar ataques de reproducción ataques

3. Solicitud de ID secundario

Una solicitud de ID secundario es una solicitud de transmisión del dispositivo que se conecta (secundario) que se envía al dispositivo compatible con amplificador (superior) con el propósito de establecer un vínculo entre dispositivos secundarios y superiores. Si la solicitud se envía a un dispositivo compatible con amplificador en espera, se actualiza a un amplificador de malla antes de aceptar la solicitud.

Solicitud de ID secundario de adjuntos de MLE de OT
Contenido del mensaje de solicitud de ID secundario
Versión Versión del protocolo Thread
Respuesta Copia del desafío de respuesta superior
Contador de marcos de vínculo Contador de marcos 802.15.4 en el dispositivo secundario
Contador de marcos de MLEContador de marcos de MLE en el dispositivo secundario
Modo Describe el dispositivo secundario
Tiempo de espera Duración de la inactividad antes de que el dispositivo superior quite el dispositivo secundario
Registro de direcciones (solo MED y SED) Registra direcciones IPv6

4. Respuesta de ID secundario

Una respuesta de ID secundario es una respuesta de transmisión del dispositivo superior que se envía al dispositivo secundario para confirmar que se estableció un vínculo entre dispositivos secundarios y superiores.

Respuesta de OT MLE Attach Child ID
Contenido del mensaje de respuesta de ID secundario
Dirección de origen RLOC16 del dispositivo superior
Address16 RLOC16 del dispositivo secundario
Datos del líder Información sobre el líder del dispositivo superior (RLOC, ID de partición, peso de partición)
Datos de la red Información sobre la red Thread (prefijos en la malla, configuración automática de direcciones, rutas más específicas)
Ruta (solo ECD en espera) Propagación de rutas
Tiempo de espera Duración de la inactividad antes de que el dispositivo superior quite el dispositivo secundario
Registro de direcciones (solo MED y SED) Confirma las direcciones registradas

Resumen

Qué aprendiste:

  • Un dispositivo Thread realiza una búsqueda activa de redes existentes.
  • Thread usa el establecimiento de vínculos de malla para configurar vínculos y difundir información sobre dispositivos de red.
  • Los mensajes de anuncio de MLE informan a otros dispositivos Thread sobre la red y el estado de vínculo de un dispositivo.
  • El proceso de conexión de MLE establece vínculos entre dispositivos secundarios y superiores.

Verifica tus conocimientos

¿Qué identificador no se usa para identificar una red Thread?
Un ID de red de área personal (PAN ID) de 2 bytes.
Incorrecto. Una red Thread se identifica, en parte, con un ID PAN.
Un ID de red de área personal extendida (XPAN ID) de 8 bytes.
Incorrecto. Una red Thread se identifica, en parte, con un ID XPAN.
Un nombre de red legible.
Incorrecto. Una red Thread se identifica, en parte, con un nombre de red legible.
Un SSID de 32 caracteres.
Correcto. A diferencia de una red Wi-Fi 802.11, los identificadores de red Thread no usan un SSID.
¿Para qué se usa una solicitud superior?
Para descubrir dispositivos compatibles con amplificador vecinos en la red de destino.
Correcto. Un dispositivo que busca conectarse a a una red emite una solicitud superior.
Para anunciar que un dispositivo compatible con amplificador se convertirá en un dispositivo superior.
Incorrecto. Un amplificador de malla no inicia una relación entre dispositivos superiores y secundarios con otro dispositivo de red. En cambio, un dispositivo de red selecciona un dispositivo compatible con amplificador para que se convierta en su dispositivo superior.
Para solicitar que un dispositivo compatible con amplificador se promueva a un amplificador de malla.
Incorrecto.
¿Qué tipo de dirección usa una solicitud superior?
Unicast
Incorrecto.
Anycast
Incorrecto.
Multicast
Correcto.
Transmisión
Incorrecto.
Cuando un dispositivo se conecta inicialmente a una red Thread, ¿cuál es su clasificación?
Dispositivo secundario (dispositivo final)
Correcto. Un dispositivo que se une a una red Thread siempre comienza como un dispositivo final en esa red.
FTD (dispositivo Thread completo)
Incorrecto.
Amplificador de malla
Incorrecto.