OpenThread udostępnia funkcje serwera SRP i klienta, umożliwiając urządzeniom , aby zarejestrować usługi oparte na DNS przy użyciu standardowej aktualizacji DNS wysłanej jako pojedyncza transmisja . Ta funkcja umożliwia wykrywanie usług opartych na DNS.
W tym przewodniku przedstawiono podstawowe zadania, które wykorzystują niektóre z najczęściej używanych funkcji srp server
i srp client
.
Polecenia serwera SRP
Aby zobaczyć listę poleceń srp server
, wpisz help
:
srp server help
addrmode
auto
disable
domain
enable
help
host
lease
seqnum
service
state
Done
Polecenia klienta SRP
Aby zobaczyć listę poleceń srp client
, wpisz help
:
srp client help
autostart
callback
help
host
keyleaseinterval
leaseinterval
service
start
state
stop
ttl
Done
Odniesienie do polecenia interfejsu wiersza poleceń
Opisy i składnię wszystkich poleceń znajdziesz w dokumentacji poleceń interfejsu wiersza poleceń. Polecenia serwera SRP zaczynają się alfabetycznie od srp server (włącz,wyłącz). Polecenia klienta SRP zaczynają się alfabetycznie od Automatyczne uruchamianie klienta srp (get).
Ćwiczenie z programowania dotyczące routera granic wątków
Ćwiczenie z programowania dotyczące routera granic OpenThread (w języku angielskim) zawiera informacje o konfigurowaniu urządzenia końcowego klienta SRP.
Omówienie niektórych podstawowych poleceń SRP
Polecenia serwera SRP i klienta mogą być używane w sekwencji do wykonywania typowych zadań SRP:
-
srp server enable
włącza serwer SRP po utworzeniu sieci Thread. -
srp client host name
ustawia nazwę hosta, która ma być używana przez klienta.srp client host address (set)
włącza tryb adresu klienta hosta automatycznego lub jawnie ustawia listę adresów klientów hosta.srp client service add
dodaje usługę o podanej nazwie instancji, usłudze nazwa i numer portu.srp client autostart enable
włącza tryb automatycznego uruchamiania. Możesz też ręcznie uruchom klienta, uruchamiającsrp client start
.
-
srp client host
isrp client service
informują o tym, czy host i usługa klienta zostały zarejestrowane w węźle klienta.srp server host
isrp server service
podają stan hosta i usługi w węźle serwera.
-
srp client service remove
usuwa usługę, ale zachowuje jej nazwę. -
srp client host remove
usuwa hosta i wszystkie zarejestrowane usługi.
Przykłady użycia poleceń SRP przez serwer i klienta
W tych przykładach używamy podstawowych poleceń interfejsu wiersza poleceń do skonfigurowania sieci Thread, serwer i klient SRP, weryfikowanie stanu serwera i usuwanie usługi. Przykładowe dane .
Uruchamianie serwera SRP
Uruchom węzeł serwera SRP:
./output/simulation/bin/ot-cli-ftd 1
Skonfiguruj sieć Thread, a następnie włącz serwer SRP, uruchamiając polecenie
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
Uruchamianie klienta SRP
Uruchom węzeł klienta SRP:
./output/simulation/bin/ot-cli-ftd 2
Dołącz do sieci Thread, ustaw nazwę i adres hosta klienta. zarejestruj usługę:
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
DoneJak pokazano powyżej, użyj polecenia
srp client autostart enable
, aby włączyć w trybie automatycznego uruchamiania. Klient monitoruje dane sieciowe, aby wykrywać dostępnych serwerów SRP w sieci Thread, a następnie uruchamia się automatycznie.Jeśli klienta uruchamiasz ręcznie, uruchom następujące polecenie i dołącz adres SRP i port:
srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
DoneW powyższym przykładzie port UDP nasłuchujący serwera SRP to
c002(49154)
.
Sprawdzanie stanu usługi
Sprawdź, czy host i usługa zostały zarejestrowane w węźle klienta:
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 DoneSprawdź, czy w danych wyjściowych zarówno w przypadku poleceń hosta, jak i usługi widoczna jest wartość
state:Registered
. jak w przykładzie powyżej.Sprawdź hosta i usługę w węźle serwera:
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] DoneUpewnij się, że dane wyjściowe zawierają wartość
deleted: false
zarówno dla argumentusrp server host
, isrp server service
, jak w przykładzie powyżej.
Usuń usługę
Usuń usługę za pomocą węzła klienta:
srp client service remove my-service _ipps._tcp
DoneW węźle serwera potwierdź, że usługa została usunięta:
srp server service
my-service._ipps._tcp.default.service.arpa. deleted: true DoneWpis dotyczący usługi jest wymieniony w danych wyjściowych, ponieważ nazwa usługi to nie usunięto.
Usuń nazwy hostów i usług
Usuń host i wszystkie jego zarejestrowane usługi:
srp client host remove 1
DoneSprawdź w węźle serwera, czy na liście nie ma wpisów hosta ani usługi:
srp server host
Donesrp server service
Done >