Selección de router

Ver código fuente en GitHub

Conjunto dominante conectado

Conjunto dominante de TS
Ejemplo de un conjunto dominante conectado

Los routers deben formar un conjunto conectado dominante (CDS), lo que significa lo siguiente:

  1. Hay una ruta de acceso de solo router entre dos routers.
  2. Cualquier router en una red Thread puede llegar a cualquier otro router si permanece en su totalidad dentro del conjunto de routers.
  3. Todos los dispositivos finales de una red Thread están conectados directamente a un router.

Un algoritmo distribuido mantiene el CDS, que garantiza un nivel mínimo de redundancia. Todos los dispositivos se conectan inicialmente a la red como un dispositivo final (secundario). A medida que cambia el estado de la red de Thread, el algoritmo agrega o quita routers para mantener el CDS.

Thread agrega routers a lo siguiente:

  • Aumenta la cobertura si la red está por debajo del umbral del router de 16
  • Aumentar la diversidad de rutas
  • Mantén un nivel mínimo de redundancia
  • Extiende la conectividad y apoya a más niños

Thread quita routers a la siguiente ubicación:

  • Reduce el estado de enrutamiento por debajo del máximo de 32 routers
  • Permitir routers nuevos en otras partes de la red cuando sea necesario

Actualizar a un router

Después de conectarse a una red Thread, el dispositivo secundario puede elegir convertirse en un router. Antes de iniciar el proceso de solicitud de vinculación de MLE, el elemento secundario envía un mensaje de solicitud de dirección al líder para solicitarle un ID de router. Si el líder acepta, este responde con un ID de router y el secundario se actualiza a un router.

El proceso de solicitud de vinculación de MLE se usa para establecer vínculos bidireccionales de router y router con routers cercanos.

  1. El router nuevo envía una solicitud de vinculación multidifusión a los routers vecinos.
  2. Los routers responden con los mensajes Vincular aceptación y solicitud.
  3. El router nuevo responde a cada router con un vínculo de aceptación de unidifusión para establecer el vínculo del router-router.

Una solicitud de vinculación es una solicitud del router a todos los demás routers de la red Thread. Cuando se convierte por primera vez en un router, el dispositivo envía una solicitud de vinculación multidifusión a ff02::2. Más tarde, después de descubrir los otros routers mediante los anuncios de MLE, los dispositivos envían solicitudes de vinculación de unidifusión.

Solicitud de vinculación de MLE de OT
Contenido del mensaje de solicitud de vinculación
Versión Versión del protocolo de subprocesos
Desafío Prueba la puntualidad de la respuesta del vínculo para evitar ataques de repetición
Dirección de origen RLOC16 del remitente
Datos del líder Información sobre el líder del router, como se almacena en la emisora (RLOC, el ID de la partición y el peso de la partición).

La opción "Aceptar y solicitar un vínculo" es una combinación de los mensajes. Thread usa esta optimización en el proceso de solicitud de vinculación de MLE para reducir la cantidad de mensajes de cuatro a tres.

Aceptación y solicitud del vínculo de OT MLE

Un Link Accept es una respuesta de unidifusión a una Solicitud de vínculo de un router vecino que proporciona información sobre sí mismo y acepta el vínculo al router vecino.

Aceptación del vínculo de OT MLE
Vínculo Aceptar contenido del mensaje
Versión Versión del protocolo de subprocesos
Respuesta Prueba la puntualidad de la respuesta del vínculo para evitar ataques de repetición
Contador de marcos de vínculos Contador de marcos 802.15.4 en el remitente
MLE Frame Counter Contador de marcos de MLE en el remitente
Dirección de origen RLOC16 del remitente
Datos del líder Información sobre el líder del router, como se almacena en la emisora (RLOC, el ID de la partición y el peso de la partición).

Cambiar a una versión inferior

Cuando un router cambia a una versión de REED, sus vínculos de router y router se desconectan, y el dispositivo inicia el proceso de vinculación de MLE para establecer un vínculo de elemento superior y secundario.

Consulta Únete a una red existente para obtener más información sobre el proceso de vinculación de MLE.

En algunos casos, es posible que sea necesario establecer un vínculo de recepción unidireccional.

Después de restablecer el router, es posible que estos sigan recibiendo un vínculo de recepción válido. En este caso, el router que se restablece envía un mensaje de solicitud de vinculación para restablecer el vínculo.

Es posible que un dispositivo final también quiera establecer un vínculo de recepción con routers vecinos que no sean superiores para mejorar la confiabilidad de la multidifusión. Aprenderemos más sobre esto cuando lleguemos al enrutamiento de multidifusión.

Resumen

Qué aprendiste:

  • Los routers en una red Thread deben formar un Conjunto dominante conectado (CDS)
  • Los dispositivos de Thread se actualizan a routers o pasan a una versión inferior de dispositivos finales para mantener el CDS.
  • El proceso de solicitud de vinculación de MLE se usa para establecer vínculos de router y router

Comprueba tu comprensión

¿Cuál de estas reglas no se aplica mediante un conjunto dominante conectado (CDS)?
Hay una ruta de acceso de solo router entre dos routers.
Incorrecto.
Cualquier router en una red Thread puede llegar a cualquier otro router si se mantiene completamente dentro del conjunto de routers.
Incorrecto.
Cada dispositivo final de una red Thread está conectado directamente a un router.
Incorrecto.
Solo un router de red Thread puede ser un router de borde.
Correcto. Una red Thread puede tener varios routers de borde.
¿Por qué se podría quitar un router de una red Thread?
Para reducir el estado de enrutamiento por debajo del máximo de 32 routers.
Correcto. Las redes Thread se esfuerzan por mantener una cantidad óptima de routers. La cantidad máxima de routers que debe tener cualquier red Thread es 32.
Para liberar canales,
Incorrecto. La cantidad de routers no está relacionada con el uso ni la capacidad del canal.
Permitir la elección de routers nuevos en otras partes de la red cuando sea necesario
Correcto. Reducir la cantidad de routers activos en una parte de una red Thread aumenta su capacidad de aumentar la capacidad de enrutamiento en otros lugares.
¿Qué debe suceder antes de que un REED intente convertirse en router para establecer vínculos directos con los otros routers?
El REED debe enviar un mensaje de solicitud de dirección al líder de la red.
Correcto.
El líder debe otorgar un ID de router a REED.
Correcto. Sin un ID de router, el REED sigue siendo un dispositivo secundario.
La REED debe enviar una solicitud de vinculación de MLE.
No. La solicitud de vinculación de MLE es la forma en que el dispositivo establece vínculos con otros routers una vez que se convierte en un router.
¿Cuál de las siguientes afirmaciones describe con exactitud lo que sucede cuando un router cambia a una versión inferior?
El dispositivo permanece automáticamente en la red, pero como secundario (REED).
No. Cuando un router cambia a una versión inferior, el administrador implica más pasos.
El dispositivo debe iniciar el proceso de vinculación de MLE para establecer una conexión nueva a la red.
Correcto. Se desconecta un dispositivo que pasa de la versión de router a REED y debe volver a negociar su conexión con la red.
¿Qué proceso se utiliza para establecer los vínculos router-router?
El proceso de solicitud de vinculación de MLE.
Correcto.
Proceso de aceptación y solicitud de vinculación
Incorrecto. El proceso de aceptación y solicitud de vinculación no existe. Los mensajes de Aceptación de vínculos y de solicitud se envían en respuesta a los mensajes de Solicitud de vinculación como parte del proceso de Solicitud de vinculación de MLE.
El proceso de vinculación de MLE.
Incorrecto. El proceso de conexión de MLE es el proceso por el cual un dispositivo se une a una red Thread existente.