Consulte o código-fonte no GitHub
O OpenThread oferece funcionalidade de cliente e servidor SRP, permitindo que os dispositivos registrem serviços baseados em DNS usando a atualização de DNS padrão enviada como pacotes unicast. Essa funcionalidade permite a descoberta de serviços com base em DNS.
Neste guia, apresentamos tarefas básicas que usam alguns dos comandos srp server
e srp client
mais comuns.
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 ver as descrições e a 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 (enable,disable). 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 do roteador de borda do OpenThread inclui informações sobre como configurar o dispositivo final do cliente SRP.
Visão geral de alguns comandos SRP básicos
Os comandos do servidor e do cliente SRP podem ser usados em sequência para executar tarefas típicas de 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 host automático ou define explicitamente a lista de endereços do cliente host.srp client service add
adiciona um serviço com um determinado nome de instância, nome de serviço e número de porta.srp client autostart enable
ativa o modo de início automático. Também é possível iniciar o cliente manualmente executandosrp client start
.
Verifique o status do serviço.
srp client host
esrp client service
informam se o host e o serviço do cliente foram registrados no nó do cliente.srp server host
esrp server service
fornecem 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 comandos do cliente
Esses exemplos usam comandos básicos da CLI para configurar uma rede Thread, iniciar o servidor e o cliente SRP, verificar o status do servidor e remover um serviço. Os dados de amostra são usados para fins ilustrativos.
Iniciar 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 registre 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 o 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 e, em seguida, o cliente se inicia automaticamente.Se você iniciar o cliente manualmente, execute o seguinte comando e inclua o endereço e a porta SRP:
srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
DoneO servidor SRP que detecta a porta UDP é
c002(49154)
no exemplo acima.
Verificar o status do serviço
Verifique se o host e o serviço foram registrados 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 de 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
para os comandossrp server host
esrp server service
, como no exemplo acima.
Remover o serviço
Remova o serviço por meio do nó do cliente:
srp client service remove my-service _ipps._tcp
DoneConfirme por meio do 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 é 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 dele:
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 >