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 enablewłącza serwer SRP po utworzeniu sieci Thread. -
srp client host nameustawia 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 adddodaje usługę o podanej nazwie instancji, usłudze nazwa i numer portu.srp client autostart enablewłącza tryb automatycznego uruchamiania. Możesz też ręcznie uruchom klienta, uruchamiającsrp client start.
-
srp client hostisrp client serviceinformują o tym, czy host i usługa klienta zostały zarejestrowane w węźle klienta.srp server hostisrp server servicepodają stan hosta i usługi w węźle serwera.
-
srp client service removeusuwa usługę, ale zachowuje jej nazwę. -
srp client host removeusuwa 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 1Skonfiguruj sieć Thread, a następnie włącz serwer SRP, uruchamiając polecenie
srp server enable:dataset init newDonedatasetActive 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 activeDoneifconfig upDonethread startDonestateleader Doneipaddrfded: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 enableDone
Uruchamianie klienta SRP
Uruchom węzeł klienta SRP:
./output/simulation/bin/ot-cli-ftd 2Dołącz do sieci Thread, ustaw nazwę i adres hosta klienta. zarejestruj usługę:
dataset networkkey 7fcbae4153cc2955c28440c15d4d4219Donedataset commit activeDoneifconfig upDonethread startDonestatechild Doneipaddrfded: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-hostDonesrp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534Donesrp client service add my-service _ipps._tcp 12345Donesrp client autostart enableDoneJak 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 49154DoneW 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 hostname:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp client serviceinstance:"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 hostmy-host.default.service.arpa. deleted: false addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp 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] DoneUpewnij się, że dane wyjściowe zawierają wartość
deleted: falsezaró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._tcpDoneW węźle serwera potwierdź, że usługa została usunięta:
srp server servicemy-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 1DoneSprawdź w węźle serwera, czy na liście nie ma wpisów hosta ani usługi:
srp server hostDonesrp server serviceDone >