Seleção de roteador

Veja o código-fonte no GitHub

Conjunto de domínio conectado

Conjunto de doação de OT conectado
Exemplo de um conjunto de doação conectada

Os roteadores precisam formar um conjunto de domínio conectado (CDS, na sigla em inglês), o que significa que:

  1. Há um caminho exclusivo para roteadores entre dois roteadores.
  2. Qualquer roteador em uma rede Thread pode alcançar qualquer outro roteador ficando totalmente dentro do conjunto de roteadores.
  3. Todos os dispositivos finais em uma rede Thread estão conectados diretamente a um roteador.

Um algoritmo distribuído mantém o CDS, que garante um nível mínimo de redundância. Inicialmente, todos os dispositivos são conectados à rede como um dispositivo final (filho). À medida que o estado da rede da linha de execução muda, o algoritmo adiciona ou remove roteadores para manter a CDS.

A linha de execução adiciona roteadores a:

  • Aumente a cobertura se a rede estiver abaixo do limite de 16 do roteador
  • Aumentar a diversidade de caminhos
  • Mantenha um nível mínimo de redundância
  • Ampliar a conectividade e oferecer suporte a mais crianças

A Thread remove os roteadores para:

  • Reduzir o estado de roteamento abaixo do máximo de 32 roteadores
  • Permitir novos roteadores em outras partes da rede quando necessário

Fazer upgrade para um roteador

Depois de se conectar a uma rede Thread, o dispositivo filho pode optar por se tornar um roteador. Antes de iniciar o processo de pedido de vinculação do MLE, o filho envia uma mensagem de solicitação de endereço ao líder, solicitando um ID do roteador. Se o líder aceitar, ele responderá com um ID do roteador e o filho fará o upgrade para um roteador.

O processo de solicitação de vinculação do MLE é usado para estabelecer links de roteamento bidirecional do roteador com roteadores vizinhos.

  1. O novo roteador envia uma solicitação de vinculação multicast aos roteadores vizinhos.
  2. Os roteadores respondem com mensagens Aceitar e solicitar vinculação.
  3. O novo roteador responde a cada um deles com um Link Accept unicast para estabelecer a vinculação do roteador.

Uma solicitação de vinculação é uma solicitação do roteador para todos os outros na rede com linha de execução. Ao se tornar um roteador pela primeira vez, o dispositivo envia uma solicitação de vinculação de multicast para ff02::2. Mais tarde, após descobrir os outros roteadores por meio da divulgação de MLE, os dispositivos enviam solicitações de vinculação unicast.

Pedido de vinculação de OT MLE
Conteúdo da mensagem do pedido de vinculação
Versão Versão do protocolo da linha de execução
Desafio Testa a pontualidade da resposta de link para evitar ataques de repetição
Endereço de origem RLOC16 do remetente
Dados de lead Informações sobre o líder do roteador, conforme armazenadas no remetente (RLOC, ID da partição, peso da partição)

Uma solicitação de aceitação e vinculação de links são uma combinação das mensagens correspondentes. A linha de execução usa essa otimização no processo de pedido de vinculação do MLE para reduzir o número de mensagens de quatro para três.

Aceitação e solicitação de vinculação do OT MLE

Uma aceitação de link é uma resposta unicast a uma solicitação de vinculação de um roteador vizinha, que fornece informações sobre ela mesma e aceita a vinculação ao roteador próximo.

Aceitação de vinculação de OT MLE
Vincular conteúdo de mensagem aceita
Versão Versão do protocolo da linha de execução
Resposta Testa a pontualidade da resposta de link para evitar ataques de repetição
Contador "Vincular frame" 802.15.4 Contador de frames no remetente
Contador do Frame MLE Contador de frames MLE no remetente
Endereço de origem RLOC16 do remetente
Dados de lead Informações sobre o líder do roteador, conforme armazenadas no remetente (RLOC, ID da partição, peso da partição)

Fazer downgrade para um REED

Quando um roteador faz downgrade para um REED, os links do roteador dele são desconectados e o dispositivo inicia o processo de anexação do MLE para estabelecer um link filho-pai.

Consulte Participar de uma rede existente para mais informações sobre o processo MLE Attach.

Em alguns casos, pode ser necessário estabelecer um link de recebimento unidirecional.

Após a redefinição, os roteadores vizinhos ainda podem ter um link de recebimento válido com o roteador de redefinição. Nesse caso, o roteador de redefinição envia uma mensagem de solicitação de vinculação para restabelecer o link do roteador de roteador.

Um dispositivo final também pode querer estabelecer um link de recebimento com roteadores que não são vizinhos para melhorar a confiabilidade do multicast. Saberemos mais sobre isso quando chegarmos ao roteamento multicast.

Recapitulação

O que você aprendeu:

  • Os roteadores em uma rede Thread precisam formar um Conjunto de Doação Conectada (CDS)
  • Os dispositivos de linha de execução recebem upgrade para roteadores ou downgrade para dispositivos finais para manter o CDS
  • O processo de pedido de vinculação do MLE é usado para estabelecer links de roteador

Teste seu conhecimento

Qual destas regras não é aplicada por um Conjunto de dominação conectado (CDS)?
Há um caminho exclusivo para roteadores entre dois roteadores.
Incorreto.
Qualquer roteador em uma rede Thread pode alcançar qualquer outro roteador ficando totalmente dentro do conjunto de roteadores.
Incorreto.
Todos os dispositivos finais em uma rede Thread estão diretamente conectados a um roteador.
Incorreto.
Apenas um roteador em uma rede Thread pode ser um roteador de borda.
correto. Uma rede Thread pode ter vários roteadores de borda.
Por que um roteador pode ser removido de uma rede Thread?
Para reduzir o estado de roteamento abaixo do máximo de 32 roteadores.
correto. As redes de linha de execução se esforçam para manter um número ideal de roteadores. O número máximo de roteadores que uma rede Thread deve ter é 32.
Liberar canais.
Incorreto. O número de roteadores não está relacionado ao uso ou capacidade do canal.
Para permitir a eleição de novos roteadores em outras partes da rede quando necessário.
correto. Reduzir o número de roteadores ativos em uma parte de uma rede Thread aumenta sua capacidade de aumentar a capacidade de roteamento em outro lugar.
O que precisa acontecer antes que um REED que esteja tentando se tornar um roteador possa estabelecer links diretos com os outros roteadores?
O REED precisa enviar uma mensagem de solicitação de endereço ao líder de rede.
correto.
O líder precisa conceder um ID de roteador ao REED.
correto. Sem um ID de roteador, o REED permanece como um dispositivo filho.
O REED precisa enviar um pedido de vinculação de MLE.
Errado. A solicitação de vinculação de MLE é como o dispositivo estabelece links para outros roteadores depois que ele se torna um roteador.
Qual das afirmações a seguir descreve com precisão o que acontece quando um roteador faz downgrade?
O dispositivo permanece automaticamente na rede, mas como filho (REED).
Errado. Há mais etapas envolvidas quando um roteador faz downgrade.
O dispositivo precisa iniciar o processo "Anexar MLE" para estabelecer uma nova conexão com a rede.
correto. Um dispositivo que faz downgrade do roteador para o REED é desconectado e precisa renegociar a conexão com a rede.
Qual processo é usado para estabelecer links de roteador?
O processo de pedido de vinculação de MLE.
correto.
O processo de aceitação e solicitação de vinculação.
Incorreto. Não existe um processo de aceitação e solicitação de vinculação. As mensagens de aceitação e solicitação de vinculação são enviadas por roteadores em resposta às mensagens de solicitação de vinculação como parte do processo de solicitação de vinculação ao MLE.
O processo de anexação do MLE.
Incorreto. O MLE Attach é o processo em que um dispositivo ingressa em uma rede Thread existente.