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 enableativa o servidor SRP depois que você cria a rede Thread.
- 
- srp client host namedefine 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 addadiciona um serviço com um determinado nome de instância, service nome e número da porta.
- srp client autostart enableativa o modo de início automático. Também é possível fazer isso manualmente Execute- srp client startpara iniciar o cliente.
 
- Verifique o status do serviço. - srp client hoste- srp client servicemostram se o host do cliente e o serviço foram registrados com sucesso no nó do cliente.
- srp server hoste- srp server serviceindicam o status do host e do serviço no nó do servidor.
 
- 
srp client service removeremove um serviço, mas mantém o nome do serviço.
- Remova os nomes de host e serviço. - srp client host removeremove 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 newDone- datasetActive 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 Done- dataset commit activeDone- ifconfig upDone- thread startDone- stateleader Done- ipaddrfded: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 Done- srp server enableDone
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 7fcbae4153cc2955c28440c15d4d4219Done- dataset commit activeDone- ifconfig upDone- thread startDone- statechild Done- ipaddrfded:5114:8263:1fe1:0:ff:fe00:c001 fded:5114:8263:1fe1:44f9:cc06:4a2d:534 fe80:0:0:0:38dd:fdf7:5fd:24e Done- srp client host name my-hostDone- srp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534Done- srp client service add my-service _ipps._tcp 12345Done- srp client autostart enableDone- Conforme mostrado acima, use o comando - srp client autostart enablepara 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 49154Done- O 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 hostname:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Done- srp client serviceinstance:"my-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0 Done- Verifique se a saída mostra - state:Registeredpara os comandos de host e serviço. como no exemplo acima.
- Verifique o host e o serviço no nó do servidor: - srp server hostmy-host.default.service.arpa. deleted: false addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Done- srp server servicemy-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] Done- Verifique se a saída mostra - deleted: falsepara- srp server hoste- srp 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._tcpDone
- Confirme pelo nó do servidor se o serviço foi removido: - srp server servicemy-service._ipps._tcp.default.service.arpa. deleted: true Done- A 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 1Done
- Confirme no nó do servidor se nenhuma entrada de host ou serviço está listada: - srp server hostDone- srp server serviceDone >