OpenThread Border Router

Ver código fuente en GitHub

Un router de borde de Thread conecta una red Thread a otras redes basadas en IP, como Wi-Fi o Ethernet. Una red Thread requiere un router de borde para conectarse a otras redes.

Arquitectura de OTBR Border Agent

Un router de borde de Thread admite las siguientes funciones como mínimo:

  • Conectividad de IP bidireccional entre Thread y redes Wi-Fi y Ethernet.
  • Descubrimiento de servicios bidireccionales a través de mDNS (en un vínculo de Wi-Fi/Ethernet) y SRP (en una red Thread)
  • Thread‐over‐Infrastructure que combina las particiones de Thread en vínculos basados en IP.
  • Comisión externa de subprocesos (por ejemplo, un teléfono celular) para autenticar y unir un dispositivo Thread a una red Thread.
Con certificación de Thread

La implementación de OpenThread de un router de borde se denomina router de borde de OpenThread (OTBR), que admite un diseño de radioprocesador (RCP). Cuando elijas tu plataforma, ten en cuenta los siguientes beneficios de usar el RCP:

  • Más recursos: OpenThread puede aprovechar los recursos del procesador del host, que suele ser mucho más que lo que proporciona un SoC 802.15.4.
  • Más rentable: minimiza los requisitos de recursos en el SoC 802.15.4, lo que puede generar una solución más rentable.
  • Es más fácil de depurar: como la mayor parte del procesamiento se realiza en el procesador del host, puedes usar herramientas de depuración más capaces en este.
  • Un firmware SoC 802.15.4 más estable: el RCP solo implementa el MAC secundario y el PHY, lo que reduce la frecuencia con la que el SoC 802.15.4 necesita actualizaciones de firmware.
  • Integración simplificada con la pila de red IPv6 del host: tener OpenThread en ejecución en el host permite una integración más directa con la pila IPv6 del host

Funciones y servicios

OTBR incluye una serie de funciones, incluidas las siguientes:

  • GUI web para la configuración y la administración
  • Agente de borde de Thread para admitir comisiones externas
  • Delegación del prefijo DHCPv6 para obtener prefijos IPv6 de una red Thread
  • NAT64 para conectarse a redes IPv4
  • DNS64 para permitir que los dispositivos Thread inicien comunicaciones por nombre con un servidor que solo usa IPv4
  • Controlador de interfaz Thread con la función integrada de OpenThread
  • Asistencia de Docker

Servicios de router perimetral

OTBR proporciona los siguientes servicios:

  • mDNS Publisher: Permite que un comisionado externo descubra una OTBR y su red de Thread asociada
  • PSKc Generator: para generar claves de PSKc
  • Servicio web: IU web para administrar una red Thread

Entre los componentes de terceros para los servicios de router de borde, se incluyen Simple Web Server y Material Design Lite para el framework de la IU web.

Firewall de OTBR

OTBR usa iptables y ipset para implementar las siguientes reglas de filtrado de entrada:

  • Bloquea los paquetes entrantes iniciados con fuentes de direcciones de On-Link, por ejemplo, direcciones basadas en prefijos enrutables fuera de la malla (OMR) y locales.
  • Bloquear los paquetes de unidifusión entrantes cuya dirección de destino no sea una dirección OMR ni una dirección unicat de dominio (DUA)
  • Bloquea los paquetes de unidifusión entrantes cuyas direcciones de origen o destino son de vínculo local. Ten en cuenta que el kernel controla esta regla y no la estableces de manera explícita.