O OpenThread oferece funcionalidades de servidor SRP e cliente, permitindo que os dispositivos registrar serviços baseados em DNS usando a atualização de DNS padrão enviada como unicast pacotes. Essa funcionalidade ativa a descoberta de serviços baseada em DNS.
Este guia apresenta tarefas básicas que usam alguns dos recursos mais comuns do srp server
e os comandos srp client
.
Comandos do servidor SRP
Para ver uma lista de comandos srp server
, digite help
:
srp server help
addrmode
auto
disable
domain
enable
help
host
lease
seqnum
service
state
Done
Comandos do cliente SRP
Para ver uma lista de comandos srp client
, digite help
:
srp client help
autostart
callback
help
host
keyleaseinterval
leaseinterval
service
start
state
stop
ttl
Done
Referência de comandos da CLI
Para descrições e sintaxe de todos os comandos, consulte a referência de comandos da CLI. Os comandos do servidor SRP começam em ordem alfabética com srp server (ativar,desativar). Os comandos do cliente SRP começam em ordem alfabética com srp client autostart (get).
Codelab do roteador de borda do Thread
O codelab sobre roteador de borda do OpenThread inclui informações sobre como configurar o dispositivo final do cliente SRP.
Visão geral de alguns comandos básicos do SRP
Os comandos do servidor SRP e do cliente podem ser usados em sequência para executar tarefas típicas do SRP:
-
srp server enable
ativa o servidor SRP depois que você cria a rede Thread. -
srp client host name
define o nome do host a ser usado pelo cliente.srp client host address (set)
ativa o modo de endereço do cliente do host automático ou define explicitamente a lista de endereços de clientes host.srp client service add
adiciona um serviço com um determinado nome de instância, service nome e número da porta.srp client autostart enable
ativa o modo de início automático. Também é possível fazer isso manualmente Executesrp client start
para iniciar o cliente.
Verifique o status do serviço.
srp client host
esrp client service
mostram se o host do cliente e o serviço foram registrados com sucesso no nó do cliente.srp server host
esrp server service
indicam o status do host e do serviço no nó do servidor.
-
srp client service remove
remove um serviço, mas mantém o nome do serviço. Remova os nomes de host e serviço.
srp client host remove
remove o host e todos os serviços registrados.
Exemplos de uso do servidor SRP e de comando do cliente
Esses exemplos usam comandos básicos da CLI para configurar uma rede Thread, iniciar servidor SRP e cliente, verificar o status do servidor e remover um serviço. Dados de amostra é usado para fins ilustrativos.
Inicie o servidor SRP
Inicie o nó do servidor SRP:
./output/simulation/bin/ot-cli-ftd 1
Configure uma rede Thread e ative o servidor SRP executando o comando
srp server enable
:dataset init new
Donedataset
Active Timestamp: 1 Channel: 22 Channel Mask: 0x07fff800 Ext PAN ID: 8d6ed7a05a28fb3b Mesh Local Prefix: fded:5114:8263:1fe1::/64 Network Key: 7fcbae4153cc2955c28440c15d4d4219 Network Name: OpenThread-f7af PAN ID: 0xf7af PSKc: b658e40f174e3a11be149b302ef07a0f Security Policy: 672, onrc Donedataset commit active
Doneifconfig up
Donethread start
Donestate
leader Doneipaddr
fded:5114:8263:1fe1:0:ff:fe00:fc00 fded:5114:8263:1fe1:0:ff:fe00:c000 fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 fe80:0:0:0:a8cd:6e23:df3d:4193 Donesrp server enable
Done
Iniciar o cliente SRP
Inicie o nó do cliente SRP:
./output/simulation/bin/ot-cli-ftd 2
Participe da rede Thread, defina o nome e o endereço do host do cliente e registrar um serviço:
dataset networkkey 7fcbae4153cc2955c28440c15d4d4219
Donedataset commit active
Doneifconfig up
Donethread start
Donestate
child Doneipaddr
fded:5114:8263:1fe1:0:ff:fe00:c001 fded:5114:8263:1fe1:44f9:cc06:4a2d:534 fe80:0:0:0:38dd:fdf7:5fd:24e Donesrp client host name my-host
Donesrp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534
Donesrp client service add my-service _ipps._tcp 12345
Donesrp client autostart enable
DoneConforme mostrado acima, use o comando
srp client autostart enable
para ativar modo de início automático no cliente. O cliente monitora os dados de rede para descobrir os servidores SRP disponíveis na rede Thread, o cliente inicia automaticamente.Se você iniciar o cliente manualmente, execute o seguinte comando e inclua o endereço SRP e a porta:
srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
DoneO servidor SRP que escuta a porta UDP é
c002(49154)
no exemplo acima.
Verificar o status do serviço
Verifique se o host e o serviço foram registrados com êxito no nó do cliente:
srp client host
name:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp client service
instance:"my-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0 DoneVerifique se a saída mostra
state:Registered
para os comandos de host e serviço. como no exemplo acima.Verifique o host e o serviço no nó do servidor:
srp server host
my-host.default.service.arpa. deleted: false addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp server service
my-service._ipps._tcp.default.service.arpa. deleted: false port: 12345 priority: 0 weight: 0 ttl: 7200 lease: 7200 key-lease: 1209600 TXT: [] host: my-host.default.service.arpa. addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534] DoneVerifique se a saída mostra
deleted: false
parasrp server host
esrp server service
, como no exemplo acima.
Remover o serviço
Remova o serviço pelo nó do cliente:
srp client service remove my-service _ipps._tcp
DoneConfirme pelo nó do servidor se o serviço foi removido:
srp server service
my-service._ipps._tcp.default.service.arpa. deleted: true DoneA entrada de serviço está listada na saída porque o nome do serviço é não removido.
Remova os nomes de host e serviço
Remova o host e todos os serviços registrados:
srp client host remove 1
DoneConfirme no nó do servidor se nenhuma entrada de host ou serviço está listada:
srp server host
Donesrp server service
Done >