TCP-Funktionalität mit OT CLI testen

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

OpenThread bietet TCP-Befehle zur Verwendung mit einem Thread-Netzwerk zum Testen von Peer-to-Peer-Verbindungen. Kommunikation zwischen TCP-Endpunkten. cli tcp stellt ein Beispiel-TCP bereit Endpunkt und einen Beispiel-TCP-Listener, mit dem alle tcp-Befehle interagieren.

In der Befehlsübersicht und im folgenden Beispiel finden Sie Informationen zum Initialisieren wie Sie eine Verbindung zu einem Peer-TCP-Endpunkt herstellen, und wie eine Nachricht an den Peer gesendet wird.

TCP-Befehle

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

tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Beschreibungen und die Syntax aller Befehle finden Sie in der Befehlsreferenz für die Befehlszeile. Die TCP-Befehle beginnen alphabetisch mit tcp abbrechen.

Befehl init

Verwenden Sie den Befehl tcp init, um das TCP-Modul zu initialisieren und die TCP-Kommunikation zu starten. Das TCP-Modul kann dann viele Funktionen ausführen, z. B. das Überwachen von eingehenden Verbindungen mit dem von der tcp-Befehlszeile bereitgestellten Beispiel-TCP-Listener. So deinitialisieren Sie den Beispiel-TCP-Listener und den Beispiel-TCP-Endpunkt: führen Sie den Befehl tcp deinit aus.

Befehl bind

So binden Sie den Beispiel-TCP-Endpunkt, nachdem Sie das TCP-Modul initialisiert haben: Führen Sie den Befehl tcp bind aus, um dem TCP-Endpunkt eine IPv6-Adresse und einen Port zuzuweisen. Dadurch wird der Endpunkt für die Kommunikation gebunden. IPv6-Adresse und -Port zuweisen wird auch als „Endpunkt benennen“ bezeichnet.

Befehl listen

So verwenden Sie den Beispiel-TCP-Listener, nachdem Sie das TCP-Modul initialisiert haben: Führen Sie den Befehl tcp listen aus und geben Sie die IPv6-Adresse und den Überwachungsport an.

Um zu verhindern, dass der Beispiel-TCP-Listener eingehende TCP-Verbindungen abhört, führen Sie den Befehl tcp stoplistening aus.

Befehl connect

Ein tcp connect-Befehl verbindet den Beispiel-TCP-Endpunkt mit der Adresse eines Peer-TCP-Endpunkts.

Befehl send

Sobald eine Verbindung zwischen zwei Knoten hergestellt ist, geben Sie einen tcp send-Befehl aus um dem Peer eine Nachricht zu senden.

benchmark-Befehle

Sobald eine TCP-Verbindung zwischen zwei Knoten hergestellt wurde, können Sie optional die Methode benchmark-Befehle zum Senden großer Datenmengen zwischen den zu testenden Knoten Netzwerkbandbreite und -leistung. Die Anzahl der übertragenen Byte in Millisekunden sowie der TCP-Goodput werden in den benchmark-Ergebnissen bereitgestellt.

Befehl abort

Wenn Sie eine TCP-Verbindung sofort und unauffällig beenden möchten, führen Sie den Befehl tcp abort aus. auf einem der Knoten, um den TCP-Endpunkt in einen geschlossenen Zustand zu versetzen.

Befehl sendend

Wenn von einem Knoten die Daten an den anderen Knoten gesendet wurden, kann der erste führen Sie einen tcp sendend-Befehl aus, um den zweiten Knoten Daten. Der zweite Knoten kann auch eine tcp sendend an den ersten Knoten senden. Sobald jeder Knoten eine TCP: Disconnected-Nachricht erhält, zwischen den beiden Knoten abgerissen. Es wird empfohlen, ist aber nicht erforderlich, führen Sie diesen Befehl aus, wenn die Datenübertragung abgeschlossen ist.

Nachricht zwischen zwei Knoten senden

  1. Initialisieren Sie auf Knoten 1 das TCP-CLI-Modul und warten Sie dann auf eingehende Verbindungen mithilfe des Beispiel-TCP-Listeners.

    tcp init
    tcp listen :: 30000
    

    Die Verwendung von :: bedeutet, dass der listen die nicht angegebene IPv6-Adresse verwenden soll, Dadurch weist der TCP/IPv6-Stack die IPv6-Adresse zu. Der Port ist 30000.

  2. Initialisieren Sie auf Knoten 2 das TCP-CLI-Modul, stellen Sie eine Verbindung zu Knoten 1 her und senden Sie Botschaft zu vermitteln.

    tcp init
    tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
    tcp send hello
    

Überprüfung

Auf Grundlage der oben gezeigten Beispielschritte ist folgende Ausgabe zu erwarten:

  • Nachdem Knoten 2 den tcp connect-Befehl ausgeführt hat, sollte Knoten 2 die Nachricht TCP: Connection established.
  • Knoten 1 sollte dann die Nachrichten empfangen (mit Beispiel-IPv6-Adresse und -Port): <ph type="x-smartling-placeholder">
      </ph>
    • Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
    • TCP: Connection established
  • Nachdem Knoten 2 den tcp send-Befehl ausgeführt hat, sollte Knoten 1 die Nachricht TCP: Received 5 bytes: hello