UDP-Funktionalität mit OT CLI testen

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

OpenThread bietet UDP-Befehle zur Verwendung mit einem Thread-Netzwerk, um Peer-to-Peer zu testen zwischen UDP-Sockets kommunizieren. cli udp stellt einen Beispiel-Socket mit mit dem alle udp-Befehle interagieren.

Die folgenden Beispiele zeigen, wie Sie Sockets öffnen und binden, den Socket verbinden und Nachrichten über UDP-Sockets senden.

UDP-Befehle

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

udp help
bind
close
connect
linksecurity
open
send
Done

Befehl open

Verwenden Sie den Befehl udp open, um den Socket zu öffnen und die UDP-Kommunikation zu starten. Sie haben dann die Möglichkeit, den Socket an eine bestimmte IP-Adresse und einen bestimmten Port zu binden.

Befehl bind

Nachdem Sie den open für den Socket festgelegt haben, können Sie einen udp bind-Befehl ausführen, um eine IPv6-Adresse zuzuweisen. und einen Port zum offenen Socket. Dies bindet den Socket für die Kommunikation. Das Zuweisen der Die IPv6-Adresse und der Port werden auch als Benennung des Sockets bezeichnet. Wenn Sie nicht direkt bind die Steckdose, verbindet die Steckdose (udp connect) oder verwende sie in Der Befehl udp send bindet den Socket an einen sitzungsspezifischen Port.

Befehl connect

Mit dem Befehl udp connect kann der Beispiel-Socket mit einer Peer-Socket-Adresse verbunden werden. Anschließend können Sie einen udp send-Befehl ausführen, um eine Nachricht an den Peer zu senden. Wenn der Socket ist nicht bereits gebunden, wird mit dem Befehl udp connect auch der Socket gebunden.

Befehl send

Mit dem Befehl udp send wird eine Nachricht mit dem Beispiel-Socket an ein Ziel gesendet. dessen IP-Adresse und UDP-Port mit den Befehlsvariablen angegeben werden können. Wenn die IP-Adresse und der Port nicht im udp send, wird die Nachricht über den Beispiel-Socket gesendet. an das Ziel, das im Befehl udp connect angegeben wurde. Wenn Sie den Befehl udp send ausgeben, wird der Socket an einen sitzungsspezifischen Port gebunden. wenn der Socket nicht bereits gebunden ist.

Befehl close

Es wird empfohlen, den Befehl udp close zum Schließen des Sockets zu verwenden, wenn wird der Socket nicht mehr benötigt.

Befehl linksecurity

Mit dem Befehl udp linksecurity können Sie die Sicherheit der Sicherungsschicht für Nachrichten aktivieren oder deaktivieren.

Nachricht zwischen zwei Knoten senden

  1. Öffnen Sie auf Knoten 1 den UDP-Socket.

    udp open
    Done
    
  2. Binden Sie den Socket auf Knoten 1.

    udp bind :: 1234
    Done
    

    Die Verwendung von :: bedeutet, dass der bind die nicht angegebene IPv6-Adresse verwenden soll. Dadurch weist der UDP/IPv6-Stack die IPv6-Bindungsadresse zu. Für vollständige Optionen mit udp bind, z. B. eine Bindung an eine Netzwerkschnittstelle, Weitere Informationen finden Sie unter udp bind.

1 Öffnen Sie auf Knoten 2 den UDP-Socket.

udp open
   Done
   

  1. Senden Sie von Knoten 2 eine einfache Nachricht an Knoten 1.

    udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 hello
    Done
    

    Bei diesem Befehl wird davon ausgegangen, dass Knoten 2 die Adresse von Knoten 1 bereits erkannt hat. Außerdem hat sich der Administrator von Node 2 in diesem Beispiel dafür entschieden, das Socket zu binden. Dies liegt daran, dass der Node 2-Administrator eine Nachricht an Node 1 senden, ohne sich Gedanken darüber zu machen, welche seiner IP-Adressen und Ports verwendet werden. als Node 2-Quelle an. Der Socket wählt in diesem Szenario eine IP-Adresse und einen Port zufällig aus.

    Die vollständigen Optionen für udp send finden Sie unter udp send angeben.

  2. Knoten 1 bestätigt den Empfang der Nachricht von Knoten 2:

    5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
    

Den Socket mit der Peer-Socket-Adresse verbinden und dann eine Nachricht zwischen zwei Knoten senden

Dieses Beispiel ähnelt dem vorherigen, zeigt aber einige Flexibilität die Sie bei der Verwendung von UDP-Sockets haben. Bei dieser Methode verbinden Sie zunächst den Socket mit dem Peer-Socket-Adresse verwenden, müssen Sie die Peer-IP-Adresse und den Port nicht angeben. jedes Mal ein udp send ausführen.

  1. Öffnen Sie auf Knoten 1 den UDP-Socket.

    udp open
    Done
    
  2. Binden Sie den Socket auf Knoten 1.

    udp bind :: 1234
    Done
    
  3. Öffnen Sie auf Knoten 2 den UDP-Socket.

    udp open
    Done
    
  4. Verwenden Sie auf Knoten 2 den Befehl udp connect, um die Kommunikation mit Knoten 1 zu öffnen.

    udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234
    Done
    

    Die vollständigen Optionen für udp connect finden Sie unter UDP-Verbindung

  5. Verwenden Sie auf Knoten 2 den Befehl udp send, um eine Nachricht an Knoten 1 zu senden, aber nicht ip und port in der udp send-Befehlssyntax angeben.

    udp send hello
    Done
    

    Wenn Sie ip und port nicht angeben, verwendet der udp send-Befehl die ip und port die im Befehl udp connect angegeben wurden.