Um fabricante do Weave é uma coleção de recursos ativados para o Weave. Ele oferece uma maneira conveniente para que os nós do Weave na casa de um usuário troquem mensagens de forma segura.
A malha é provisionada pelo primeiro nó no sistema do Weave. Depois de provisionados, outros nós podem se conectar com segurança ao fabric usando certificados do Weave. Falaremos mais sobre certificados e segurança mais tarde, mas lembre-se de que o pareamento de dispositivos e a junção de malha no Weave são sempre seguros.
Cada recurso no fabric recebe um endereço IPv6 especial para uso pelo aplicativo Weave. Não importa qual tecnologia sem fio roteável você usa. Ethernet, Wi-Fi ou Thread: desde que cada nó esteja executando o Weave e seja membro do fabric, as mensagens podem ser enviadas e recebidas.
Exemplo
Suponha que você tenha uma rede de área local (HAN) simples que consiste em recursos conectados por Wi-Fi e Thread. Essas duas redes são unidas por um roteador de borda, que participa das duas redes e atua como um roteador para encaminhar o tráfego entre elas.
Os recursos em cada rede usam as configurações de roteamento IP padrão para se comunicarem entre si por meio de protocolos de transporte, como UDP ou TCP, mas com uma malha do Weave provisionada, agora é possível transmitir mensagens do Weave nesses mesmos transportes.
Endereçamento IPv6
Um fabric do Weave permite o roteamento simples de IPv6 em aplicativos do Weave atribuindo um endereço local exclusivo (ULA)
a cada recurso no fabric. O aplicativo Weave usa esse endereço para rotear mensagens do Weave.Confira um exemplo de endereço de Weave IPv6 de um nó:
fd00::fab1:2:3e36:13ff:fe33:732e
Vamos conferir os diferentes elementos que compõem o endereço.
Prefixo global
Todos os nós do Weave usam um prefixo global IPv6 de fd00::/48
. Os endereços neste
bloco são designados pelo IETF na
RFC-4193 para uso em redes privadas,
como uma HAN.
ID da malha
A malha recebe um ID de 64 bits exclusivo e gerado aleatoriamente durante o provisionamento. Esse ID passa a fazer parte do prefixo global IPv6.
Por exemplo, se um tecido receber um ID de fab1
, o prefixo
global do tecido vai ser:
fd00:0000:fab1::/48
ID do nó
Cada nó no fabric se atribui um ID de nó da Weave, que tem a forma de um identificador único estendido IEEE (EUI-64). A maioria dos nós extrai o ID do nó do endereço MAC. Um nó pode ter um endereço MAC de 48 ou 64 bits, geralmente associado às interfaces Wi-Fi ou 802.15.4, respectivamente. O Weave prefere usar o valor de 64 bits como o ID do nó, quando disponível.
Se um nó tiver apenas um endereço MAC de 48 bits, de acordo com o RFC
4291, o Weave insere o valor de 16 bits
de FF:FE
no meio para criar o valor EUI-64, que é usado como o
ID do nó do Weave.
Por exemplo, se o endereço MAC do nó for o 3c:36:13:33:73:2e
de 48 bits, o
ID do nó da Weave resultante será 3c3613fffe33732e
.
Para usar o ID do nó em um endereço IPv6, é necessário transformá-lo em um identificador de interface
invertendo o sétimo bit, chamado de bit universal/local. Assim, um
ID de nó de 3c3613fffe33732e
se torna um identificador de interface de
3e3613fffe33732e
.
Sub-rede
A última parte do endereço IPv6 do Weave é a sub-rede, um valor de 16 bits usado para identificar interfaces de rede. Esses valores são determinados pelas redes subjacentes. Por exemplo, Wi-Fi ou Thread.
Para este exemplo, digamos que a sub-rede seja 0x0002
.
Como tudo funciona em conjunto
Juntando todos os elementos acima, você tem um endereço IPv6 do Weave:
Com um recurso associado ao Fabric, os perfis do Weave agora podem transmitir mensagens entre ele e outros recursos no Fabric pelo endereço IPv6 atribuído pelo Weave do nó. A seguir, vamos conferir os conceitos básicos de mensagens no Weave.
Recapitulação
O que você aprendeu:
- Um tecido é uma coleção de recursos compatíveis com o Weave que cooperam para fornecer serviços ao usuário e à estrutura.
- Os recursos são sempre autenticados e unidos de maneira segura a um tecido
- Cada recurso em um fabric recebe um endereço local exclusivo IPv6 para uso pelo Weave
- As mensagens de entrelaçamento são transmitidas entre esses endereços IPv6, independentemente da tecnologia sem fio ou do transporte subjacente.