Thread e IPv6

O Matter usa o IPv6 para as comunicações operacionais e aproveita o endereçamento Unicast e Multicast do IPv6 para acessar os nós e grupos, respectivamente.

Baixo consumo energético

Alguns nós Matter são conectados e têm orçamentos de energia que permitem que eles mantenham os rádios continuamente ligados. Outros tipos de nós, como sensores, têm requisitos para funcionar por anos com uma bateria, operando os rádios em redes de baixa potência, como Thread. A arquitetura de proxy, junto com Thread Dispositivos de final sonolentos, permite que nós com energia total forneçam funcionalidade no nível da rede e do aplicativo que isola os nós filhos de transações com alto consumo de energia.

Um aspecto fundamental do Matter é que ele funciona em meios de rede de alta taxa de transferência, como Wi-Fi e Ethernet, mas também em baixa latência e baixa largura de banda, como Thread. Se todos os pacotes Multicast do Wi-Fi fossem conectados a Thread, a rede seria sobrecarregada e possivelmente inundada. O objetivo do Thread é ativar o IPv6 em redes mesh de baixa latência e baixo consumo de energia, não em transferência de dados de alta largura de banda. Embora os pings ICMPv6 do Thread em uma rede local sejam normalmente inferiores a algumas dezenas de milissegundos de RTT, a largura de banda total é limitada a 250 kbps no PHY IEEE 802.15.4. Com as retransmissões de pacotes e a sobrecarga, a largura de banda máxima típica é de cerca de 125 kbps. Em outras palavras, ordens de magnitude menor que o Wi-Fi.

Os frames no PHY IEEE 802.15.4 são de 127 bytes, mas a maior (e típica) unidade máxima de transmissão (MTU) de pacotes IPv6 em Thread é de 1.280 bytes. Portanto, os pacotes IPv6 geralmente precisam ser divididos em vários frames PHY. Esse processo é definido pela RFC4944.

Para saber mais, consulte Endereçamento IPv6 no guia introdutório Thread em openthread.io.

Roteadores de borda

Como os nós podem coexistir nos dois meios de transporte no mesmo fabric? Embora as duas redes compartilhem credenciais Matter no nível do aplicativo, elas não compartilham a mesma tecnologia de vinculação. Nesse cenário, a rede precisa de um Thread Border Router (BR) para ativar a conectividade. Os BRs são roteadores IPv6 stub.

Os roteadores stub permitem a conectividade entre redes stub e redes normais. Uma rede stub é uma rede de "última milha" que fornece conectividade externa aos membros, mas não funciona como um caminho de rede de trânsito entre outras redes. Normalmente, as redes stub Matter são baseadas em Thread. Consulte o rascunho do RFC para mais informações sobre redes stub.

Portanto, os BRs têm a responsabilidade de ser o link entre a rede stub e a rede de infraestrutura adjacente, que é a rede Wi-Fi ou Ethernet local. Eles encaminham apenas os pacotes que são relevantes para a rede Thread.

Esse processo é realizado atribuindo diferentes prefixos IPv6 a Thread e redes de infraestrutura adjacentes. Portanto, o BR encaminha apenas unicasts para ou do prefixo IPv6 Thread.

Os roteadores de borda também são responsáveis por:

  • configurando automaticamente prefixos e rotas IPv6 para as redes de infraestrutura adjacentes e Thread, para que os hosts de cada lado do roteador de borda Thread possam se comunicar.
  • Publicar pacotes de descoberta DNS-SD de mDNS em nome de nós Thread para que eles possam ser descobertos na rede de infraestrutura adjacente.

Para saber mais, consulte o guia do roteador de borda em openthread.io.

Multicast IPv6

As mensagens em grupo também são importantes, porque permitem o controle simultâneo de vários nós Matter por meio de Multicast. Para rotear esse tráfego para a rede Thread, Matter e Thread implementam o Unicast esquema de endereçamento Multicast IPv6 baseado em prefixo definido pelo RFC 3306.

Esse método permite a seleção dos nós de destino de um pacote Multicast com base no prefixo Unicast IPv6 compartilhado.

Por exemplo, um endereço Multicast Matter pode ser parecido com este:

FF35:0040:FD<Fabric ID>00:<Group ID>

A tabela 1 detalha como esse endereço é construído:

Tabela 1: Unicast Endereços IPv6 baseados em prefixo
Bits Descrição
12 bits 0xFF3
4 bits 0x05

Escopo: local do site

8 bits 0x00

compras

8 bits 0x40

Indica um prefixo de 64 bits

8 bits 0xFD

Designa um prefixo ULA

56 bits ID de fabricação
8 bits 0x00
16 bits ID do grupo

Mais informações podem ser encontradas na seção Multicast do guia introdutório Thread e no próprio RFC.

Quando os endereços Multicast IPv6 são formados, eles também incluem os 56 bits superiores do ID do fabric. A implicação importante é que o escopo de Multicast está dentro de um Fabric, enquanto os endereços Unicast são compartilhados entre Fabrics. Nós com muitos tecidos podem ter vários endereços Multicast que definem grupos de nós sobrepostos com escopo em cada tecido.

Portas

O Matter usa a porta 5540 para Multicasts.