OpenThread Border Router

Veja o código-fonte no GitHub

Um roteador de borda Thread conecta uma rede Thread a outras redes baseadas em IP, como Wi-Fi ou Ethernet. Uma rede Thread requer um Border Router para se conectar a outras redes.

Arquitetura de agente de borda OTBR

Um roteador de borda do Thread oferece suporte mínimo às seguintes funções:

  • Conectividade de IP bidirecional entre a linha de execução e as redes Wi-Fi/Ethernet.
  • Descoberta bidirecional de serviços por mDNS (em um link Wi-Fi/Ethernet) e SRP (em uma rede Thread).
  • Linha de execução sobre infraestrutura que mescla partições de linha de execução por links baseados em IP.
  • Comissões de linha de execução externa (por exemplo, um smartphone) para autenticar e conectar um dispositivo Thread a uma rede Thread.
Certificado pela Thread

A implementação de um roteador de borda do OpenThread é chamada de Border Border Router (OTBR), que oferece suporte ao design de coprocessador de rádio (RCP). Ao escolher sua plataforma, considere os seguintes benefícios de usar o RCP:

  • Mais recursos: o OpenThread pode aproveitar os recursos do processador host, que normalmente é muito mais do que um SoC 802.15.4 fornece.
  • Mais econômico: minimiza os requisitos de recursos no SoC 802.15.4, o que pode levar a uma solução mais econômica.
  • Mais fácil de depurar: como a maior parte do processamento acontece no processador host, você pode usar ferramentas de depuração mais eficientes no processador host.
  • Módulo de SoC 802.15.4 mais estável: o RCP implementa apenas a sub-MAC e o PHY, reduzindo a frequência em que o SoC 802.15.4 precisa de atualizações do firmware.
  • Integração mais fácil com a pilha de rede IPv6 do host: a execução do OpenThread no host permite uma integração mais direta com a pilha IPv6 do host.

Recursos e serviços

A OTBR tem vários recursos, incluindo:

  • GUI na Web para configuração e gerenciamento
  • Thread Border Agent para compatibilidade com comissão externa
  • Delegação de prefixo DHCPv6 para receber prefixos IPv6 de uma rede Thread
  • NAT64 para se conectar a redes IPv4
  • DNS64 para permitir que dispositivos Thread iniciem comunicações por nome para um servidor somente IPv4
  • Driver de interface de linha de execução usando o recurso integrado do OpenThread
  • Suporte ao Docker

Serviços do roteador de borda

A OTBR fornece os seguintes serviços:

  • Editor do mDNS: permite que um comissário externo descubra um OTBR e a rede Thread associada
  • Gerador de PSKc: para geração de chaves PSKc
  • Serviço Web: IU da Web para gerenciar uma rede Thread

Os componentes de terceiros para os Serviços do roteador de borda incluem o servidor da Web simples e o Material Design Lite para o framework da IU da Web.

Firewall OTBR

O OTBR usa iptables e ipset para implementar as seguintes regras de filtragem de entrada:

  • Bloqueie pacotes de entrada iniciados com origens de endereço On-Link, por exemplo, endereços baseados em prefixo fora da malha (OMR, na sigla em inglês) e malha local.
  • Bloquear pacotes unicast de entrada com um endereço de destino que não seja um OMR ou um endereço Unicast de domínio (DUA, na sigla em inglês).
  • Bloquear pacotes unicast de entrada que tenham o endereço de origem ou de destino Link-Local. Observe que essa regra é processada pelo kernel e não definida explicitamente.