SRP-Server-Client-Konnektivität (Service Registration Protocol) mit der OT-Befehlszeile einrichten

<ph type="x-smartling-placeholder"></ph> Quelle auf GitHub ansehen

OpenThread bietet sowohl SRP-Server- als auch Clientfunktionen, sodass Geräte Registrieren von DNS-basierten Diensten mithilfe des standardmäßigen DNS-Updates, das als Unicast gesendet wird Pakete. Diese Funktion aktiviert die DNS-basierte Diensterkennung.

In diesem Leitfaden werden grundlegende Aufgaben beschrieben, für die einige der gebräuchlicheren srp server-Funktionen verwendet werden. und srp client.

Befehle für SRP-Server

Geben Sie help ein, um eine Liste der srp server-Befehle aufzurufen:

srp server help
addrmode
auto
disable
domain
enable
help
host
lease
seqnum
service
state
Done

Befehle des SRP-Clients

Geben Sie help ein, um eine Liste der srp client-Befehle aufzurufen:

srp client help
autostart
callback
help
host
keyleaseinterval
leaseinterval
service
start
state
stop
ttl
Done

CLI-Befehlsreferenz

Beschreibungen und die Syntax aller Befehle finden Sie in der Befehlsreferenz für die Befehlszeile. Die SRP-Serverbefehle beginnen alphabetisch mit srp server (enable,disable) Die SRP-Clientbefehle beginnen alphabetisch mit srp client autostart (get) verwenden.

Codelab für Thread-Border-Router

Codelab für OpenThread-Border-Router enthält Informationen zur Einrichtung des SRP-Client-Endgeräts.

Übersicht über einige grundlegende SRP-Befehle

SRP-Server- und Clientbefehle können nacheinander für typische SRP-Aufgaben verwendet werden:

  1. Starten Sie den SRP-Server.

    srp server enable aktiviert den SRP-Server, sobald du das Thread-Netzwerk erstellt hast.

  2. Starten Sie den SRP-Client.

    • srp client host name legt den vom Client zu verwendenden Hostnamen fest.

    • srp client host address (set) aktiviert entweder den Modus für die Client-Adresse des automatischen Hosts oder legt die Liste der Host-Client-Adressen explizit fest.

    • srp client service add fügt einen Dienst mit einem bestimmten Instanznamen, Dienst Name und Portnummer.

    • srp client autostart enable aktiviert den Autostartmodus. Sie können auch manuell Starten Sie den Client, indem Sie srp client start ausführen.

  3. Prüfen Sie den Dienststatus.

    • srp client host und srp client service geben an, ob Der Clienthost und der Clientdienst wurden erfolgreich auf dem Clientknoten registriert.

    • srp server host und srp server service stellen Host- und Dienststatus bereit. auf dem Serverknoten.

  4. Entfernen Sie den Dienst.

    srp client service remove entfernt einen Dienst, behält aber den Dienstnamen bei.

  5. Entfernen Sie die Host- und 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 CLI-Befehle verwendet, um ein Thread-Netzwerk einzurichten. den SRP-Server und -Client, überprüfen den Serverstatus und entfernen Sie einen Dienst. Beispieldaten wird zur Veranschaulichung verwendet.

SRP-Server starten

  1. Starten Sie den SRP-Serverknoten:

    ./output/simulation/bin/ot-cli-ftd 1
    
  2. Richten Sie ein Thread-Netzwerk ein und aktivieren Sie dann den SRP-Server mit dem Befehl srp server enable:

    dataset init new
    Done
    dataset
    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
    Done
    dataset commit active
    Done
    ifconfig up
    Done
    thread start
    Done
    state
    leader
    Done
    ipaddr
    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
    Done
    srp server enable
    Done
    

SRP-Client starten

  1. Starten Sie den SRP-Clientknoten:

    ./output/simulation/bin/ot-cli-ftd 2
    
  2. Tritt dem Thread-Netzwerk bei, lege den Namen und die Adresse des Client-Hosts fest einen Dienst registrieren:

    dataset networkkey 7fcbae4153cc2955c28440c15d4d4219
    Done
    dataset commit active
    Done
    ifconfig up
    Done
    thread start
    Done
    state
    child
    Done
    ipaddr
    fded: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-host
    Done
    srp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534
    Done
    srp client service add my-service _ipps._tcp 12345
    Done
    srp client autostart enable
    Done
    

    Wie oben gezeigt aktivieren Sie mit dem Befehl srp client autostart enable die Autostart-Modus auf dem Client. Der Client überwacht Netzwerkdaten, um verfügbaren SRP-Servern im Thread-Netzwerk, dann startet automatisch von selbst.

  3. Wenn Sie den Client manuell starten, führen Sie folgenden Befehl aus und fügen Sie die SRP-Adresse und den SRP-Port:

    srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
    Done
    

    Der im obigen Beispiel verwendete SRP-Server, der den UDP-Port überwacht, ist c002(49154).

Dienststatus prüfen

  1. Prüfen Sie, ob Host und Dienst erfolgreich auf dem Clientknoten registriert wurden:

    srp client host
    name:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534]
    Done
    srp client service
    instance:"my-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0
    Done
    

    Achten Sie darauf, dass in der Ausgabe state:Registered sowohl für Host- als auch für Dienstbefehle angezeigt wird. wie im obigen Beispiel.

  2. Prüfen Sie Host und Dienst auf dem Serverknoten:

    srp server host
    my-host.default.service.arpa.
    deleted: false 
    addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534]
    Done
    srp 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]
    Done
    

    Achten Sie darauf, dass in der Ausgabe deleted: false sowohl für srp server host als auch und srp server service, wie im obigen Beispiel.

Dienst entfernen

  1. Entfernen Sie den Dienst über den Clientknoten:

    srp client service remove my-service _ipps._tcp
    Done
    
  2. Prüfen Sie über den Serverknoten, ob der Dienst entfernt wurde:

    srp server service
    my-service._ipps._tcp.default.service.arpa.
    deleted: true
    Done
    

    Der Diensteintrag wird in der Ausgabe aufgeführt, da der Name des Dienstes nicht entfernt.

Host- und Dienstnamen entfernen

  1. Entfernen Sie den Host und alle registrierten Dienste:

    srp client host remove 1
    Done
    
  2. Prüfen Sie auf dem Serverknoten, ob keine Host- oder Diensteinträge aufgeführt sind:

    srp server host
    Done
    srp server service
    Done
    >