OT CLI によるネットワーク・データの表示および管理

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

Thread ネットワーク データには、ボーダー ルーターとその他のサーバーに関する情報が含まれます Thread ネットワークで使用できますボーダー ルーターとサービスを提供するデバイス その情報をリーダーに登録します。リーダーは ネットワーク データ内でこの情報を転送し、この情報を すべてのデバイスに公開されます。

ボーダー ルーターは、Thread ネットワークに割り当てられたプレフィックスとプレフィックスを登録できます。 提示するルートの種類を指定します本サービスは、関連するすべての情報を 定義できます。

ボーダー ルーターとサービスの情報は不変の場合もあれば、一時的な場合もあります。固定スレッド ネットワーク データは、スリープエンド デバイス(SED)を含むすべてのデバイスに配信されます。 一時ネットワーク データは、SED を除くすべてのノードに配信されます。

ネットワーク データ コマンド

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

netdata help
help
full
length
maxlength
publish
register
show
steeringdata
unpublish
Done

full コマンド

full コマンドは、フラグのステータスを報告するか、 「ネットデータがいっぱい」コールバックが呼び出されたことを示します。

このコマンドには OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL が必要です。

length コマンドおよび maxlength コマンド

length コマンドは、報告されているスレッド ネットワーク データの現在の長さを取得します。 バイト数で表します。maxlength コマンドは、観測される最大長を取得します。 トラッキングされる最大長をリセットします。

publish コマンド

ネットワーク データ パブリッシャーは、類似する他のニュース メディアの スレッド内のサービスと接頭辞(メッシュ上の接頭辞または外部ルート)のエントリ ネットワーク データを監視し、ネットワーク データをいつ追加または エントリを削除できます。

ニュース メディアは OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE が必要です。

ネットワークを形成して接頭辞を構成する

  1. 新しいネットワーク構成を生成します。

    dataset init new
    Done
    
  2. ネットワーク構成を表示します。

    dataset
    Active Timestamp: 1
    Channel: 13
    Channel Mask: 0x07fff800
    Ext PAN ID: d63e8e3e495ebbc3
    Mesh Local Prefix: fd3d:b50b:f96d:722d::/64
    Network Key: dfd34f0f05cad978ec4e32b0413038ff
    Network Name: OpenThread-8f28
    PAN ID: 0x8f28
    PSKc: c23a76e98f1a6483639b1ac1271e2e27
    Security Policy: 0, onrcb
    Done
    
  3. 新しいデータセットを不揮発性のアクティブな運用データセットに commit ストレージです。

    dataset commit active
    Done
    
  4. Thread インターフェースを有効にする

    ifconfig up
    Done
    thread start
    Done
    
  5. Thread インターフェースに割り当てられた IPv6 アドレスを表示します。

    ipaddr
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    
  6. Thread ネットワークに割り当てられた IPv6 プレフィックスを登録します。

    prefix add fd00:dead:beef:cafe::/64 paros med
    Done
    netdata register
    Done
    
  7. ディスプレイ スレッドのネットワーク データ。

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    fd49:7770:7fc5:0::/64 s med 4000
    Services:
    44970 5d c000 s 4000
    44970 01 9a04b000000e10 s 4000
    Done
    

    プレフィックスとルートには 引数マッピングと RLOC 値で構成されます。

    サービス レコードに含まれるもの otServiceConfig 値(mEnterpriseNumbermServiceDataotServerConfig::mServerDatas は、 otServerConfig::mStable。また、RLOC は 記録します。

  8. Partition のスレッド ネットワークの現在の長さをバイト数で表示します データ。

    netdata length
    23
    Done
    
  9. Thread インターフェースに割り当てられた IPv6 アドレスを表示します。 接頭辞を追加します。

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

既存のネットワークに接続する

デバイスを Thread ネットワークに接続するために必要なのは、ネットワーク キーのみです。

必須ではありませんが、チャンネルを指定することで、チャンネル全体を検索する必要がなくなります。 アタッチ プロセスのレイテンシと効率の両方を改善します。

デバイスが Thread ネットワークに正常に接続されると、デバイスは Active Operational Datasets です

  1. 部分的なアクティブな運用データセットを作成する。

    dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
    Done
    dataset commit active
    Done
    
  2. Thread インターフェースを有効にする。

    ifconfig up
    Done
    thread start
    Done
    
  3. 既存のネットワークに接続したら、Thread Network Data を表示します。

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    Services:
    Done
    
  4. Partition のスレッド ネットワークの現在の長さをバイト数で表示します データ。

    netdata length
    23
    Done
    
  5. Thread インターフェースに割り当てられた IPv6 アドレスを表示します。

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

デバッグと診断

ネットワーク データのサイズは 254 バイトに制限されています。ボーダー ルーターが エントリ(プレフィックス、ルート、サービス エントリなど)をネットワーク データに いっぱいになります。この場合、Border Router から新しいリクエストが リーダーによって拒否または無視されます。リーダーは 拒否を Border Router に通知します。これにより、Border Router が ネットワーク データがいっぱいになっていることに気づかないこともあります。ただし、 メソッドも用意されています。

ボーダー ルーターとリーダーの両方に実装される検出方法は、 コールバック API メカニズムを備えており、ネットワーク データの取り込み時にユーザーに 。コールバックを使用して、古いプレフィックスの削除などのアクションを実行できます。 定義できます。netdata full コマンドは、gcloud コマンドに 「ネットデータが満杯」なのかをコールバックが呼び出されたことを示します。これらのコマンド ステータスを報告したり、リセットしたりできます。

Thread の一般的なユースケースでは、ネットワーク データが 1 回以上受信される可能性は 多数のボーダー ルーターがあり、そのすべてが ルートプレフィックスの追加などができます

ネットワーク データがいっぱいになることは技術的には可能ですが、多くの場合、 原因が Border Router 側の問題であることが考えられます。netdata lengthnetdata maxlength コマンドは、ネットワーク データのフルエラーのデバッグに役立ちます。 length は、バイト数として報告されるネットワーク データの現在の長さを取得します。 maxlength は、観測された最大の長さを取得します。また、追跡されるデータをリセットすることもできます。 最大長。