Redes Thread
As redes Thread são identificadas por três identificadores exclusivos:
- ID de rede pessoal (PAN ID) de 2 bytes
- ID de rede pessoal estendido (XPAN ID) de 8 bytes
- Um nome de rede legível
Por exemplo, uma rede Thread pode ter os seguintes identificadores:
| Identificador | Valor |
|---|---|
| ID PAN | 0xBEEF |
| ID XPAN | 0xBEEF1111CAFE2222 |
| Nome da rede | yourThreadCafe |
Ao criar uma nova rede Thread ou procurar uma rede para participar, um dispositivo Thread realiza uma verificação ativa de redes 802.15.4 dentro do alcance do rádio:
- O dispositivo transmite uma solicitação de beacon 802.15.4 em um canal específico.
- Em troca, todos os dispositivos com capacidade de repetidor (ECDs, na sigla em inglês) dentro do alcance transmitem um beacon que contém o ID PAN, o ID XPAN e o nome da rede Thread.
- O dispositivo repete as duas etapas anteriores para cada canal.
Depois que um dispositivo Thread descobre todas as redes dentro do alcance, ele pode se conectar a uma rede existente ou criar uma nova se nenhuma rede for descoberta.
Estabelecimento de link de malha
O Thread usa o protocolo de estabelecimento de link de malha (MLE, na sigla em inglês) para configurar links e disseminar informações sobre a rede para dispositivos Thread.
Na configuração de links, o MLE é usado para:
- Descobrir links para dispositivos vizinhos
- Determinar a qualidade dos links para dispositivos vizinhos
- Estabelecer links para dispositivos vizinhos
- Negociar parâmetros de link (tipo de dispositivo, contadores de frames, tempo limite) com os pares
O MLE dissemina os seguintes tipos de informações para dispositivos que querem estabelecer links:
- Dados do líder (RLOC do líder, ID da partição, peso da partição)
- Dados de rede (prefixos na malha, configuração automática de endereços, rotas mais específicas)
- Propagação de rotas
A propagação de rotas no Thread funciona de maneira semelhante ao protocolo de informações de roteamento (RIP, na sigla em inglês), um protocolo de roteamento de vetor de distância.
Criar uma nova rede
Se o dispositivo optar por criar uma nova rede, ele vai selecionar o canal menos ocupado e um ID PAN que não esteja em uso por outras redes. Em seguida, ele se torna um repetidor de malha e se elege como líder. Esse dispositivo envia mensagens de anúncio MLE para outros dispositivos 802.15.4 para informar o estado do link e responde a solicitações de beacon de outros dispositivos Thread que realizam uma verificação ativa.
Participar de uma rede existente
Se o dispositivo optar por participar de uma rede existente, ele vai configurar o canal, o ID PAN, o ID XPAN e o nome da rede para corresponder à rede de destino usando o comissionamento do Thread. Em seguida, ele passa pelo processo de conexão MLE para se conectar como um dispositivo filho (dispositivo final). Esse processo é usado para links filho-pai.
- O filho envia uma solicitação multicast Parent Request para todos os dispositivos com capacidade de repetidor vizinhos na rede de destino.
- Todos os repetidores de malha vizinhos (e ECDs em espera, se a máscara de verificação de solicitação principal incluir ECDs em espera) enviam respostas principais com informações sobre eles.
- O filho escolhe um dispositivo pai e envia uma solicitação de ID filho para ele.
- O pai envia uma resposta de ID filho para confirmar o estabelecimento do link.
1. Solicitação principal
Uma solicitação principal é uma solicitação multicast do dispositivo de conexão que é usada para descobrir dispositivos com capacidade de repetidor vizinhos na rede de destino.
| Conteúdo da mensagem de solicitação principal | |
|---|---|
| Moda | Descreve o dispositivo de conexão |
| Desafio | Testa a pontualidade da resposta principal para evitar ataques repetidos |
| Máscara de verificação | Limita a solicitação apenas a repetidores de malha ou a todos os dispositivos com capacidade de repetidor |
2. Resposta principal
Uma resposta principal é uma resposta unicast a uma solicitação principal que fornece informações sobre um dispositivo com capacidade de repetidor ao dispositivo de conexão.
| Conteúdo da mensagem de resposta principal | |
|---|---|
| Versão | Versão do protocolo Thread |
| Resposta | Cópia do desafio de solicitação principal |
| Contador de frames de link | Contador de frames 802.15.4 no dispositivo com capacidade de repetidor |
| Contador de frames MLE | Contador de frames MLE no dispositivo com capacidade de repetidor |
| Origem Endereço | RLOC16 do dispositivo com capacidade de repetidor |
| Margem de link | Qualidade do sinal de recebimento do dispositivo com capacidade de repetidor |
| Conectividade | Descreve o nível de conectividade do dispositivo com capacidade de repetidor |
| Dados do líder | Informações sobre o líder do dispositivo com capacidade de repetidor |
| Desafio | Testa a pontualidade da solicitação de ID filho para evitar ataques repetidos |
3. Solicitação de ID filho
Uma solicitação de ID filho é uma solicitação unicast do dispositivo de conexão (filho) que é enviada ao dispositivo com capacidade de repetidor (pai) para estabelecer um link filho-pai. Se a solicitação for enviada a um dispositivo com capacidade de repetidor em espera, ele será atualizado para um repetidor de malha antes de aceitar a solicitação.
| Conteúdo da mensagem de solicitação de ID filho | |
|---|---|
| Versão | Versão do protocolo Thread |
| Resposta | Cópia do desafio de resposta principal |
| Contador de frames de link | Contador de frames 802.15.4 no filho |
| Contador de frames MLE | Contador de frames MLE no filho |
| Moda | Descreve o filho |
| Tempo limite | Duração da inatividade antes que o pai remova o filho |
| Registro de endereço (somente MEDs e SEDs) | Registrar endereços IPv6 |
4. Resposta de ID filho
Uma resposta de ID filho é uma resposta unicast do pai que é enviada ao filho para confirmar que um link filho-pai foi estabelecido.
| Conteúdo da mensagem de resposta de ID filho | |
|---|---|
| Endereço de origem | RLOC16 do pai |
| Address16 | RLOC16 do filho |
| Dados do líder | Informações sobre o líder do pai (RLOC, ID da partição, peso da partição ) |
| Dados de rede | Informações sobre a rede Thread (prefixos na malha, configuração automática de endereços, rotas mais específicas) |
| Rota (somente ECDs em espera) | Propagação de rotas |
| Tempo limite | Duração da inatividade antes que o pai remova o filho |
| Registro de endereço (somente MEDs e SEDs) | Confirmar endereços registrados |
Recapitulação
O que você aprendeu:
- Um dispositivo Thread realiza uma verificação ativa de redes existentes
- O Thread usa o estabelecimento de link de malha para configurar links e disseminar informações sobre dispositivos de rede
- As mensagens de anúncio MLE informam outros dispositivos Thread sobre a rede e o estado do link de um dispositivo
- O processo de conexão MLE estabelece links filho-pai