Descubrimiento y formación de redes

Ver código fuente en GitHub

Redes de Thread

Las redes Thread se identifican con tres identificadores únicos:

  • ID de red de área personal (ID de PAN) de 2 bytes
  • ID de red de área personal extendida (ID de XPAN) de 8 bytes
  • Un nombre de red legible por humanos

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

Identificador Valor
ID PAN 0xBEEF
ID de XPAN 0xBEEF1111CAFE2222
Nombre de la red yourThreadCafe
Búsqueda activa de OT

Cuando se crea una red Thread nueva o se busca una existente para unirse a ella, un dispositivo Thread realiza un análisis activo de redes 802.15.4 dentro del rango de radio:

  1. El dispositivo transmite una solicitud de beacon 802.15.4 en un canal específico.
  2. A cambio, cualquier router o dispositivo final apto para routers (REED) dentro del alcance transmite un píxel contador que contiene el ID de PAN, el ID de XPAN y el nombre de la red de Thread.
  3. El dispositivo repite los dos pasos anteriores para cada canal.

Una vez que un dispositivo Thread descubre todas las redes en el 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:

  • Descubre vínculos a dispositivos vecinos
  • Determina la calidad de los vínculos a dispositivos vecinos
  • Establece vínculos con dispositivos vecinos
  • Negocia los parámetros de vínculo (tipo de dispositivo, contadores de tramas, tiempo de espera) con los pares

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

  • Datos de líder (RLOC de líder, ID de partición, peso de partición)
  • Datos de red (prefijos en 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 vectores de distancia.

Crear red nueva

Si el dispositivo decide crear una red nueva, selecciona el canal menos ocupado y un ID de PAN que no esté en uso por otras redes, luego se convierte en un router y se elige como líder. Este dispositivo envía mensajes de publicidad de MLE a otros dispositivos 802.15.4 para informarles sobre su estado de vínculo y responde a las solicitudes de píxeles contadores de otros dispositivos Thread que realizan un análisis activo.

Cómo unirse a una red existente

Si el dispositivo decide unirse a una red existente, configura su canal, su ID de PAN, su ID de XPAN y su nombre de red para que coincidan con los de la red de destino a través de la comisión de Thread y, luego, pasa por el proceso de conexión de MLE para conectarse como secundario (dispositivo final). Este proceso se usa para los vínculos entre cuentas de hijo o hija y de madre o padre.

  1. El secundario envía una solicitud de superior multicast a todos los routers y REED vecinos de la red de destino.
  2. Todos los routers y REED vecinos (si la máscara de análisis de solicitudes superiores incluye REED) envían respuestas superiores con información sobre sí mismos.
  3. El dispositivo secundario elige un dispositivo principal y le envía una solicitud de ID secundario.
  4. El elemento superior envía una respuesta de ID secundario para confirmar el establecimiento del vínculo.

1. Solicitud de la madre o el padre

Una solicitud principal es una solicitud multicast del dispositivo de conexión que se usa para detectar routers vecinos y dispositivos finales aptos para routers (REED) en la red de destino.

Solicitud de OT MLE Attach Parent
Contenido de los mensajes de solicitud de la madre o el padre
Modo Describe el dispositivo de conexión
Desafío Prueba la oportunidad de la respuesta del publicador para evitar ataques de repetición
Máscara de escaneo Limita la solicitud solo a routers o a routers y REED

2. Respuesta de la madre o el padre

Una respuesta principal es una respuesta unicast a una solicitud principal que proporciona información sobre un router o un REED al dispositivo de conexión.

Respuesta de OT MLE Attach Parent
Contenido de los mensajes de respuesta de los padres
Versión Versión del protocolo de subproceso
Respuesta Copia de la solicitud de impugnación de la madre o el padre
Contador de tramas de vinculación Contador de tramas 802.15.4 en el router/REED
Contador de marcos de MLE Contador de tramas de MLE en el router/REED
Dirección de origen RLOC16 del router/REED
Márgen de vinculación Calidad de la señal recibida del router o RED
Conectividad Describe el nivel de conectividad del router o el RED
Datos de líderes Información sobre el líder del router o de la red de distribución de energía
Desafío Prueba la oportunidad de la solicitud de ID secundario para evitar ataques de reproducción

3. Solicitud de ID secundario

Una solicitud de ID secundario es una solicitud unicast del dispositivo de conexión (secundario) que se envía al router o al REED (principal) para establecer un vínculo entre el secundario y el principal. Si la solicitud se envía a un REED, este se actualiza a un router antes de aceptarla.

Solicitud de ID secundario de conexión de MLE de OT
Contenido del mensaje de solicitud de ID secundario
Versión Versión del protocolo de subproceso
Respuesta Copia del desafío de respuesta de la madre
Contador de tramas de vinculación Contador de tramas 802.15.4 en el elemento secundario
Contador de marcos de MLEContador de fotogramas de MLE en el elemento secundario
Modo Describe el elemento secundario
Tiempo de espera Duración de la inactividad antes de que el elemento superior quite el secundario
Registro de direcciones (solo MED y SED) Registra direcciones IPv6

4. Respuesta del ID secundario

Una respuesta de ID secundario es una respuesta unicast del elemento superior que se envía al elemento secundario para confirmar que se estableció un vínculo entre el elemento secundario y el superior.

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

Resumen

Qué aprendiste:

  • Un dispositivo Thread realiza un análisis activo de las redes existentes.
  • Thread usa el establecimiento de vínculos de malla para configurar vínculos y difundir información sobre los dispositivos de red.
  • Los mensajes de anuncio de MLE informan a otros dispositivos Thread sobre el estado de la red y el vínculo de un dispositivo.
  • El proceso de conexión de MLE establece vínculos entre elementos secundarios y superiores.

Verifica tu comprensión

¿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, por un ID de PAN.
Un ID de red de área personal extendida (XPAN ID) de 8 bytes.
Incorrecto. Una red Thread se identifica, en parte, por un ID XPAN.
Un nombre de red legible por humanos.
Incorrecto. Una red Thread se identifica, en parte, por un nombre de red legible por humanos.
Un SSID de 32 caracteres
Correcto. A diferencia de una red Wi-Fi 802.11, los identificadores de red de Thread no usan un SSID.
¿Para qué se usa una solicitud de la empresa matriz?
Para descubrir routers vecinos y dispositivos finales aptos para routers (REED) en la red de destino.
Correcto. Un dispositivo que intenta conectarse a una red emite una solicitud de la parte superior.
Para anunciar que un router se convertirá en superior.
Incorrecto. Un router no inicia una relación superior-secundaria con otro dispositivo de red. En cambio, un dispositivo de red selecciona un router para que se convierta en su elemento secundario.
Para solicitar que un dispositivo final apto para router se promocione a router.
Incorrecto.
¿Qué tipo de dirección usa una solicitud parental?
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?
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.
REED (dispositivo final apto para router)
Incorrecto.