OT CLI を使用して UDP 機能をテストする

<ph type="x-smartling-placeholder"></ph> GitHub のソースを表示

OpenThread は Thread ネットワークでピアツーピアをテストするための UDP コマンドを提供 通過できます。cli udp は、1 つのサンプル ソケットを提供します。 これにより、すべての udp コマンドが相互作用します。

以下の例は、ソケットを開いてバインドする方法、 ソケットの接続方法、UDP ソケットを使用したメッセージの送信方法について学びます。

UDP コマンド

udp コマンドのリストを表示するには、「help」と入力します。

udp help
bind
close
connect
linksecurity
open
send
Done

open コマンド

udp open コマンドを使用してソケットを開き、UDP 通信を開始します。 その後、ソケットを特定の IP アドレスとポートにバインドできます。

bind コマンド

ソケットを open した後、udp bind コマンドを実行して IPv6 アドレスを割り当てることができます。 開いているソケットへのポートです。これにより、通信のためにソケットがバインドされます。割り当て IPv6 アドレスとポートは、ソケットの命名とも呼ばれます。Google Workspace の bind: ソケット。ソケットの接続(udp connect)か、ソケットの使用 udp send コマンドは、ソケットをエフェメラル ポートにバインドします。

connect コマンド

udp connect コマンドを使用して、サンプルのソケットをピア ソケットのアドレスに接続できます。 その後、udp send コマンドを発行してピアにメッセージを送信できます。ソケットが まだバインドされていない場合、udp connect コマンドを実行するとソケットもバインドされます。

send コマンド

udp send コマンドは、サンプルのソケットを使用してメッセージを宛先に送信します。 その IP アドレスと UDP ポートをコマンド変数で指定できます。 IP アドレスとポートが udp send コマンドを使用すると、サンプルのソケットを使用してメッセージが送信されます。 udp connect コマンドで指定した宛先に送信されます。 udp send コマンドを発行すると、ソケットがエフェメラル ポートにバインドされます。 ソケットがまだバインドされていない場合です。

close コマンド

次の場合は、udp close コマンドを使用してソケットを閉じることをおすすめします。 ソケットはもう必要なくなります。

linksecurity コマンド

udp linksecurity コマンドを使用すると、メッセージのデータリンク レイヤ セキュリティを有効または無効にできます。

2 つのノード間でメッセージを送信する

  1. ノード 1 で UDP ソケットを開きます。

    udp open
    Done
    
  2. Node 1 でソケットをバインドします。

    udp bind :: 1234
    Done
    

    :: の使用は、bind が未指定の IPv6 アドレスを使用する必要があることを示しています。 これにより、UDP/IPv6 スタックにバインディング IPv6 アドレスが割り当てられます。完全な udp bind を使用したオプション(ネットワーク インターフェースへのバインディングなど) udp bind をご覧ください。

1 ノード 2 で UDP ソケットを開きます。

udp open
   Done
   

  1. Node 2 で、Node 1 に簡単なメッセージを送信します。

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

    このコマンドは、ノード 2 がノード 1 のアドレスをすでに検出していることを前提としています。 さらに、この例では、Node 2 の管理者が Node 2 を ソケットをバインドします。これは、Node 2 の管理者が Cloud Shell から IP アドレスとポートのどれが使用されているかに関係なく、ノード 1 にメッセージを送信する 選択しますこのシナリオでは、ソケットは IP アドレスとポートをランダムに選択します。

    udp send の完全なオプションについては、以下をご覧ください。 udp send

  2. Node 1 は、Node 2 からのメッセージの受信を確認します。

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

ソケットをピア ソケット アドレスに接続し、2 つのノード間でメッセージを送信する

この例は前の例と似ていますが、ある程度の柔軟性を示しています。 接続できる場合がありますこの方法では、まずソケットを ピア ソケット アドレスを指定する場合は、ピア IP アドレスとポートを指定する udp send を行うたびに変更されます。

  1. ノード 1 で UDP ソケットを開きます。

    udp open
    Done
    
  2. Node 1 でソケットをバインドします。

    udp bind :: 1234
    Done
    
  3. Node 2 で UDP ソケットを開きます。

    udp open
    Done
    
  4. Node 2 で、udp connect コマンドを使用して Node 1 との通信を開始します。

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

    udp connect の完全なオプションについては、以下をご覧ください。 UDP 接続

  5. Node 2 では、udp send コマンドを使用して Node 1 にメッセージを送信しますが、 udp send コマンド構文で ipport を指定する。

    udp send hello
    Done
    

    ipport を指定しないと、udp send コマンドは ipport を使用します。 udp connect コマンドで指定された値のみが返されます。