Tester la fonctionnalité TCP avec OT CLI

<ph type="x-smartling-placeholder"></ph> Consulter le code source sur GitHub

OpenThread propose des commandes TCP à utiliser avec un réseau Thread pour tester le peer-to-peer entre les points de terminaison TCP. cli tcp fournit un exemple de TCP et un exemple d'écouteur TCP avec lesquels toutes les commandes tcp interagissent.

Les présentations des commandes et l'exemple qui suit fournissent des informations sur l'initialisation l’exemple de point de terminaison TCP et d’écouteur TCP, comment se connecter à un point de terminaison TCP pair, et comment envoyer un message au pair.

Commandes TCP

Pour obtenir la liste des commandes tcp, saisissez help:

tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Pour obtenir la description et la syntaxe de toutes les commandes, consultez la documentation de référence sur les commandes CLI. Les commandes TCP commencent par ordre alphabétique par Abandon à l'aide de TCP

Commande init

Utilisez la commande tcp init pour initialiser le module TCP afin de commencer la communication TCP. Le module TCP peut alors effectuer de nombreuses fonctions, comme écouter le trafic à l'aide de l'exemple d'écouteur TCP fourni par la CLI tcp. Pour désinitialiser l'exemple d'écouteur TCP et l'exemple de point de terminaison TCP, exécutez la commande tcp deinit.

Commande bind

Pour lier l’exemple de point de terminaison TCP une fois que vous avez initialisé le module TCP, exécuter une commande tcp bind pour attribuer une adresse IPv6 et un port au point de terminaison TCP. Cela lie le point de terminaison pour la communication. Attribuer l'adresse et le port IPv6 est également appelée « nommage du point de terminaison ».

Commande listen

Pour utiliser l'exemple d'écouteur TCP une fois que vous avez initialisé le module TCP, exécuter une commande tcp listen, et spécifier l'adresse IPv6 et le port d'écoute ;

Pour empêcher l'exemple d'écouteur TCP d'écouter les connexions TCP entrantes, exécutez la commande tcp stoplistening.

Commande connect

Une commande tcp connect connecte l'exemple de point de terminaison TCP à une adresse de point de terminaison TCP pair.

Commande send

Une fois la connexion établie entre deux nœuds, exécutez une commande tcp send. pour envoyer un message au pair.

Commandes benchmark

Une fois la connexion TCP établie entre deux nœuds, utilisez éventuellement le Commandes benchmark permettant d'envoyer de grandes quantités de données entre les nœuds à des fins de test la bande passante et les performances du réseau. Nombre d'octets transmis en millisecondes ainsi que TCP Goodput sera indiqué dans les résultats benchmark.

Commande abort

Pour mettre fin immédiatement et sans cérémonie à une connexion TCP, exécutez la commande tcp abort sur l'un ou l'autre des nœuds pour faire passer le point de terminaison TCP à un état fermé.

Commande sendend

Lorsqu'un nœud a terminé d'envoyer des données à l'autre nœud, le premier nœud peut émettez une commande tcp sendend pour alerter le deuxième nœud qu'il ne s'attend plus données. Le deuxième nœud peut également envoyer un tcp sendend au premier nœud. Une fois que chaque nœud reçoit un message TCP: Disconnected, la connexion TCP entre les deux nœuds est supprimé. Il est recommandé, mais pas obligatoire, de exécutez cette commande une fois le transfert de données terminé.

Envoyer un message entre deux nœuds

  1. Sur le nœud 1, initialisez le module de CLI TCP, puis écoutez les connexions entrantes en utilisant l'exemple d'écouteur TCP.

    tcp init
    tcp listen :: 30000
    

    L'utilisation de :: indique que listen doit utiliser l'adresse IPv6 non spécifiée, ce qui permet à la pile TCP/IPv6 d'attribuer l'adresse IPv6. Le port est 30000.

  2. Sur le nœud 2, initialisez le module de CLI TCP, connectez-vous au nœud 1, puis envoyez une un message simple.

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

Validation

D'après les exemples d'étapes ci-dessus, le résultat suivant est attendu:

  • Une fois que le nœud 2 a exécuté la commande tcp connect, le nœud 2 doit recevoir le message TCP: Connection established.
  • Le nœud 1 doit ensuite recevoir les messages (avec un exemple d'adresse et de port IPv6): <ph type="x-smartling-placeholder">
      </ph>
    • Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
    • TCP: Connection established
  • Une fois que le nœud 2 a exécuté la commande tcp send, le nœud 1 doit recevoir le message TCP: Received 5 bytes: hello