Os dados da rede Thread contêm informações sobre roteadores de borda e outros servidores disponíveis na rede Thread. Os roteadores de borda e os dispositivos que oferecem serviços registram as informações com o líder. O líder coleta e estrutura essas informações nos dados da rede Thread e as distribui para todos os dispositivos na rede Thread.
Os roteadores de borda podem registrar prefixos atribuídos à rede Thread e prefixos para os quais oferecem rotas. Os serviços podem registrar qualquer informação relevante para o próprio serviço.
O roteador de borda e as informações de serviço podem ser estáveis ou temporárias. Os dados da rede de linhas de execução estáveis são distribuídos para todos os dispositivos, incluindo os SEDs. Os dados de rede temporários são distribuídos para todos os nós, exceto SEDs.
Comandos de dados de rede
Para ver uma lista de comandos netdata
, digite help
:
netdata help
help
full
length
maxlength
publish
register
show
steeringdata
unpublish
Done
full
commands
Os comandos full
informam o status da sinalização ou exibem novamente o rastreamento dela para saber se o callback "net data full" foi invocado.
Este comando requer OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.
Comandos length
e maxlength
O comando length
recebe o comprimento atual dos dados da rede Thread, relatado
como o número de bytes. Os comandos maxlength
recebem o comprimento máximo observado ou redefinem o comprimento máximo rastreado.
publish
commands
O Network Data Publisher oferece mecanismos para limitar o número de entradas de serviço e prefixo semelhantes (prefixo da malha ou rota externa) nos dados de rede da linha de execução monitorando os dados de rede e gerenciando quando adicionar ou remover entradas.
O editor requer OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE
.
Rede de formulários e configuração do prefixo
Gere uma nova configuração de rede.
dataset init new
DoneExibe a configuração de rede.
dataset
Active Timestamp: 1 Channel: 13 Channel Mask: 0x07fff800 Ext PAN ID: d63e8e3e495ebbc3 Mesh Local Prefix: fd3d:b50b:f96d:722d::/64 Network Key: dfd34f0f05cad978ec4e32b0413038ff Network Name: OpenThread-8f28 PAN ID: 0x8f28 PSKc: c23a76e98f1a6483639b1ac1271e2e27 Security Policy: 0, onrcb DoneConfirmar o novo conjunto de dados no conjunto de dados operacional ativo em armazenamento não volátil.
dataset commit active
DoneAtivar a interface do Thread
ifconfig up
Donethread start
DoneExibe endereços IPv6 atribuídos à interface da Thread.
ipaddr
fd3d:b50b:f96d:722d:0:ff:fe00:fc00 fd3d:b50b:f96d:722d:0:ff:fe00:dc00 fd3d:b50b:f96d:722d:393c:462d:e8d2:db32 fe80:0:0:0:a40b:197f:593d:ca61 DoneRegistre um prefixo IPv6 atribuído à rede Thread.
prefix add fd00:dead:beef:cafe::/64 paros med
Donenetdata register
DoneExibir dados da rede Thread.
netdata show
Prefixes: fd00:dead:beef:cafe::/64 paros med dc00 Routes: fd49:7770:7fc5:0::/64 s med 4000 Services: 44970 5d c000 s 4000 44970 01 9a04b000000e10 s 4000 DoneOs prefixos e rotas incluem mapeamentos de argumento e o valor de RLOC.
Os registros de serviço incluem valores de otServiceConfig, incluindo
mEnterpriseNumber
,mServiceData
,otServerConfig::mServerData
es
para indicarotServerConfig::mStable
. O RLOC também é anexado ao final do registro.Exibe o comprimento atual, em número de bytes, dos dados da rede Thread da partição.
netdata length
23 DoneExibe endereços IPv6 atribuídos à interface Thread, incluindo o prefixo adicionado.
ipaddr
fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa fd3d:b50b:f96d:722d:0:ff:fe00:fc00 fd3d:b50b:f96d:722d:0:ff:fe00:dc00 fd3d:b50b:f96d:722d:393c:462d:e8d2:db32 fe80:0:0:0:a40b:197f:593d:ca61 Done
Anexar à rede existente
Somente a chave de rede é necessária para que um dispositivo seja conectado a uma rede Thread.
Embora não seja obrigatório, especificar o canal evita a necessidade de pesquisar em vários canais, melhorando a latência e a eficiência do processo de anexação.
Depois que um dispositivo é anexado a uma rede Thread, ele recupera o conjunto de dados operacional completo completo.
Crie um conjunto de dados operacional ativo parcial.
dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Donedataset commit active
DoneAtive a interface do Thread.
ifconfig up
Donethread start
DoneDepois de anexar à rede existente, exiba os dados da rede Thread.
netdata show
Prefixes: fd00:dead:beef:cafe::/64 paros med dc00 Routes: Services: DoneExibe o comprimento atual, em número de bytes, dos dados da rede Thread da partição.
netdata length
23 DoneExibe endereços IPv6 atribuídos à interface da Thread.
ipaddr
fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa fd3d:b50b:f96d:722d:0:ff:fe00:fc00 fd3d:b50b:f96d:722d:0:ff:fe00:dc00 fd3d:b50b:f96d:722d:393c:462d:e8d2:db32 fe80:0:0:0:a40b:197f:593d:ca61 Done
Depuração e diagnóstico
Os dados de rede têm um tamanho limitado de 254 bytes. Se os roteadores de borda continuarem adicionando entradas (por exemplo, prefixos, rotas ou entradas de serviço) aos dados de rede, elas podem ficar cheias. Quando isso acontece, as novas solicitações de um roteador de borda para adicionar novos itens são rejeitadas ou ignoradas pelo líder. Como o líder não indica necessariamente a rejeição para o roteador de borda, ele pode não perceber imediatamente que os dados de rede estão cheios. No entanto, há um método disponível para detectar quando os dados de rede estão cheios.
O método de detecção, implementado nos roteadores de borda e no líder, usa
um mecanismo de API de callback e permite que os usuários sejam notificados quando os dados de rede
estão cheios. O callback pode ser usado para realizar ações, como remover prefixos desatualizados
ou entradas de serviço. Os comandos netdata full
são usados para a sinalização que rastreia se o callback "net data full" foi invocado. Esses comandos podem relatar ou redefinir o status da sinalização.
Para os casos de uso típicos do Thread, é improvável que os dados de rede fiquem cheios, mesmo quando há muitos roteadores de borda e todos adicionam prefixos de rota.
Tecnicamente, é possível que os dados de rede fiquem cheios. No entanto, isso geralmente ocorre
por causa de uma configuração incorreta ou de um problema no roteador de borda. Os comandos netdata length
e netdata maxlength
podem ajudar a depurar erros completos de dados de rede.
length
recebe o comprimento atual dos dados de rede, relatados como bytes, e maxlength
recebe o comprimento máximo observado e também pode redefinir o comprimento máximo rastreado.