OpenThread bietet sowohl SRP-Server- als auch Client-Funktionen, sodass Geräte DNS-basierte Dienste mithilfe des standardmäßigen DNS-Updates registrieren können, das als Unicast-Pakete gesendet wird. Diese Funktion aktiviert die DNS-basierte Diensterkennung.
Dieser Leitfaden enthält grundlegende Aufgaben, die einige der gebräuchlicheren srp server
- und srp client
-Befehle verwenden.
SRP-Serverbefehle
Geben Sie help
ein, um eine Liste von srp server
-Befehlen aufzurufen:
srp server help
addrmode
auto
disable
domain
enable
help
host
lease
seqnum
service
state
Done
SRP-Clientbefehle
Geben Sie help
ein, um eine Liste von srp client
-Befehlen aufzurufen:
srp client help
autostart
callback
help
host
keyleaseinterval
leaseinterval
service
start
state
stop
ttl
Done
Befehlsreferenz für die Befehlszeile
Beschreibungen und Informationen zur Syntax aller Befehle finden Sie in der Befehlsreferenz für die Befehlszeile. Die Befehle des SRP-Servers beginnen alphabetisch mit srp server (enable,disable). Die Befehle des SRP-Clients beginnen alphabetisch mit srp client autostart (get).
Codelab zu Thread-Border-Routern
Das Codelab zu OpenThread-Border-Routern enthält Informationen zum Einrichten des SRP-Client-Endgeräts.
Übersicht über einige grundlegende SRP-Befehle
SRP-Server- und -Client-Befehle können nacheinander verwendet werden, um typische SRP-Aufgaben auszuführen:
-
srp server enable
aktiviert den SRP-Server, sobald Sie das Thread-Netzwerk erstellt haben. -
srp client host name
legt den Hostnamen fest, der vom Client verwendet werden soll.srp client host address (set)
aktiviert entweder den Modus für die automatische Hostadresse oder legt die Liste der Hostclientadressen explizit fest.srp client service add
fügt einen Dienst mit einem bestimmten Instanznamen, Dienstnamen und einer Portnummer hinzu.srp client autostart enable
aktiviert den Auto-Start-Modus. Sie können den Client auch manuell starten, indem Siesrp client start
ausführen.
-
srp client host
undsrp client service
geben den Status an, ob der Clienthost und der Dienst erfolgreich auf dem Clientknoten registriert wurden.srp server host
undsrp server service
stellen den Host- und Dienststatus auf dem Serverknoten bereit.
-
srp client service remove
entfernt einen Dienst, behält aber den Dienstnamen bei. Entfernen Sie den Host und die Dienstnamen.
srp client host remove
entfernt den Host und alle registrierten Dienste.
Beispiele für die Verwendung von SRP-Server- und Clientbefehlen
In diesen Beispielen werden grundlegende Befehlszeilenbefehle verwendet, um ein Thread-Netzwerk einzurichten, den SRP-Server und -Client zu starten, den Serverstatus zu prüfen und einen Dienst zu entfernen. Zur Veranschaulichung werden Beispieldaten verwendet.
SRP-Server starten
Starten Sie den SRP-Serverknoten:
./output/simulation/bin/ot-cli-ftd 1
Richten Sie ein Thread-Netzwerk ein und aktivieren Sie dann den SRP-Server mit dem Befehl
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
SRP-Client starten
Starten Sie den SRP-Clientknoten:
./output/simulation/bin/ot-cli-ftd 2
Treten Sie dem Thread-Netzwerk bei, legen Sie den Namen und die Adresse des Clienthosts fest und registrieren Sie einen Dienst:
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
DoneVerwenden Sie wie oben gezeigt den Befehl
srp client autostart enable
, um den Autostartmodus auf dem Client zu aktivieren. Der Client überwacht die Netzwerkdaten, um verfügbare SRP-Server im Thread-Netzwerk zu finden, und startet sich dann automatisch selbst.Wenn Sie den Client manuell starten, führen Sie den folgenden Befehl aus und geben Sie die SRP-Adresse und den Port an:
srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
DoneDer SRP-Server, der den UDP-Port überwacht, ist im obigen Beispiel
c002(49154)
.
Dienststatus prüfen
Prüfen Sie, ob der Host und der Dienst erfolgreich auf dem Clientknoten registriert wurden:
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 DoneAchten Sie darauf, dass die Ausgabe
state:Registered
sowohl für Host- als auch für Dienstbefehle anzeigt, wie im obigen Beispiel.Prüfen Sie den Host und den Dienst auf dem Serverknoten:
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] DoneAchten Sie darauf, dass die Ausgabe
deleted: false
für die Befehlesrp server host
undsrp server service
anzeigt, wie im Beispiel oben.
Dienst entfernen
Entfernen Sie den Dienst über den Clientknoten:
srp client service remove my-service _ipps._tcp
DoneBestätigen Sie über den Serverknoten, dass der Dienst entfernt wurde:
srp server service
my-service._ipps._tcp.default.service.arpa. deleted: true DoneDer Diensteintrag wird in der Ausgabe aufgeführt, da der Name des Dienstes nicht entfernt wird.
Host- und Dienstnamen entfernen
Entfernen Sie den Host und alle registrierten Dienste:
srp client host remove 1
DonePrüfen Sie auf dem Serverknoten, dass keine Host- oder Diensteinträge aufgeführt sind:
srp server host
Donesrp server service
Done >