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.
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.
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.