OT CLI を使用した Service Registration Protocol(SRP)サーバー クライアント接続の設定

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

OpenThread は SRP サーバーと SRP クライアントの両方の機能を提供し、デバイスを可能にします。 ユニキャストとして送信された標準の DNS 更新を使用して DNS ベースのサービスを登録する 表します。この機能により、DNS ベースのサービス ディスカバリが有効になります。

このガイドでは、より一般的な srp server を使用する基本的なタスクについて説明します。 srp client コマンドを使用します。

SRP サーバーのコマンド

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

srp server help
addrmode
auto
disable
domain
enable
help
host
lease
seqnum
service
state
Done

SRP クライアント コマンド

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

srp client help
autostart
callback
help
host
keyleaseinterval
leaseinterval
service
start
state
stop
ttl
Done

CLI コマンド リファレンス

すべてのコマンドの説明と構文については、CLI コマンド リファレンスをご覧ください。 SRP サーバーのコマンドは、 srp server (enable,disable) SRP クライアント コマンドは、 srp client autostart (get)

Thread ボーダー ルーター Codelab

OpenThread ボーダー ルーター Codelab には、SRP クライアント エンド デバイスのセットアップ方法に関する情報が記載されています。

基本的な SRP コマンドの概要

SRP サーバーと SRP クライアントのコマンドを順番に使用して、一般的な SRP タスクを実行できます。

  1. SRP サーバーを起動します

    Thread ネットワークが作成されると、srp server enable は SRP サーバーを有効にします。

  2. SRP クライアントを起動します

    • srp client host name は、クライアントで使用するホスト名を設定します。

    • srp client host address (set) は、自動ホスト クライアント アドレス モードを有効にするか、 明示的に設定することもできます。

    • srp client service add は、指定されたインスタンス名 Service を持つ Service を追加します。 ポート番号が含まれます。

    • srp client autostart enable は、自動起動モードを有効にします。手動で srp client start を実行してクライアントを起動します。

  3. サービスのステータスを確認します

    • srp client hostsrp client service は、 クライアント ホストとサービスがクライアント ノードに正常に登録されました。

    • srp server hostsrp server service は、ホストとサービスのステータスを提供します。 作成されます。

  4. サービスを削除します

    srp client service remove はサービスを削除しますが、サービス名は保持されます。

  5. ホスト名とサービス名を削除します

    srp client host remove は、ホストと登録されているすべてのサービスを削除します。

SRP サーバーとクライアント コマンドの使用例

以下の例では、基本的な CLI コマンドを使用して Thread ネットワークを設定し、 SRP サーバーとクライアントの作成、サーバーのステータスの確認、サービスの削除を行います。サンプルデータ は説明の目的で使用しています。

SRP サーバーを起動する

  1. SRP サーバーノードを起動します。

    ./output/simulation/bin/ot-cli-ftd 1
    
  2. Thread ネットワークを設定し、srp server enable コマンドを実行して SRP サーバーを有効にします。

    dataset init new
    Done
    dataset
    Active Timestamp: 1
    Channel: 22
    Channel Mask: 0x07fff800
    Ext PAN ID: 8d6ed7a05a28fb3b
    Mesh Local Prefix: fded:5114:8263:1fe1::/64
    Network Key: 7fcbae4153cc2955c28440c15d4d4219
    Network Name: OpenThread-f7af
    PAN ID: 0xf7af
    PSKc: b658e40f174e3a11be149b302ef07a0f
    Security Policy: 672, onrc
    Done
    dataset commit active
    Done
    ifconfig up
    Done
    thread start
    Done
    state
    leader
    Done
    ipaddr
    fded:5114:8263:1fe1:0:ff:fe00:fc00
    fded:5114:8263:1fe1:0:ff:fe00:c000
    fded:5114:8263:1fe1:68bc:ec03:c1ad:9325
    fe80:0:0:0:a8cd:6e23:df3d:4193
    Done
    srp server enable
    Done
    

SRP クライアントを起動する

  1. SRP クライアント ノードを起動します。

    ./output/simulation/bin/ot-cli-ftd 2
    
  2. Thread ネットワークに接続し、クライアントのホスト名とアドレスを設定する サービスを登録します。

    dataset networkkey 7fcbae4153cc2955c28440c15d4d4219
    Done
    dataset commit active
    Done
    ifconfig up
    Done
    thread start
    Done
    state
    child
    Done
    ipaddr
    fded:5114:8263:1fe1:0:ff:fe00:c001
    fded:5114:8263:1fe1:44f9:cc06:4a2d:534
    fe80:0:0:0:38dd:fdf7:5fd:24e
    Done
    srp client host name my-host
    Done
    srp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534
    Done
    srp client service add my-service _ipps._tcp 12345
    Done
    srp client autostart enable
    Done
    

    上記のように、srp client autostart enable コマンドを使用して有効にします。 自動起動モードを有効にします。クライアントはネットワーク データをモニタリングして 使用可能な SRP サーバーがある場合、 自動的に起動します。

  3. クライアントを手動で起動する場合は、次のコマンドを実行します。 SRP アドレスとポート:

    srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
    Done
    

    UDP ポートをリッスンする SRP サーバーは、上記の例では c002(49154) です。

サービスのステータスを確認する

  1. ホストとサービスがクライアント ノードに正常に登録されたかどうかを確認します。

    srp client host
    name:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534]
    Done
    srp client service
    instance:"my-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0
    Done
    

    host コマンドと service コマンドの両方に state:Registered が表示されていることを確認します。 渡します。

  2. サーバーノードのホストとサービスを確認します。

    srp server host
    my-host.default.service.arpa.
    deleted: false 
    addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534]
    Done
    srp server service
    my-service._ipps._tcp.default.service.arpa.
    deleted: false
    port: 12345
    priority: 0
    weight: 0
    ttl: 7200
    lease: 7200
    key-lease: 1209600
    TXT: []
    host: my-host.default.service.arpa.
    addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534]
    Done
    

    両方の srp server host について、出力に deleted: false が表示されていることを確認します。 および srp server service コマンドを使用します。

サービスを削除する

  1. クライアント ノード経由でサービスを削除します。

    srp client service remove my-service _ipps._tcp
    Done
    
  2. サーバーノードを介して、サービスが削除されたことを確認します。

    srp server service
    my-service._ipps._tcp.default.service.arpa.
    deleted: true
    Done
    

    出力にはサービス エントリがリストされます。これは、サービス名が 削除されません。

ホスト名とサービス名を削除する

  1. ホストとその登録済みのサービスをすべて削除します。

    srp client host remove 1
    Done
    
  2. サーバーノードで、ホストまたはサービスのエントリが一覧表示されていないことを確認します。

    srp server host
    Done
    srp server service
    Done
    >