Menyiapkan Konektivitas Server-Klien Service Registration Protocol (SRP) Dengan OT CLI

Lihat sumber di GitHub

OpenThread menawarkan server SRP dan fungsionalitas klien, memungkinkan perangkat untuk mendaftarkan layanan berbasis DNS menggunakan DNS Update standar yang dikirim sebagai {i>unicast<i} paket. Fungsi ini mengaktifkan Penemuan Layanan Berbasis DNS.

Panduan ini memberikan tugas dasar yang menggunakan beberapa jenis srp server umum dan srp client.

Perintah server SRP

Untuk mengetahui daftar perintah srp server, ketik help:

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

Perintah klien SRP

Untuk mengetahui daftar perintah srp client, ketik help:

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

Referensi Perintah CLI

Untuk deskripsi dan sintaks semua perintah, lihat Referensi Perintah CLI. Perintah server SRP dimulai secara alfabetis dengan server srp (enable,disable). Perintah klien SRP dimulai secara alfabetis dengan autostart (get) klien SFTP.

Codelab Router Pembatas Thread

Codelab Router Pembatas OpenThread mencakup informasi tentang cara mengatur perangkat akhir klien SRP.

Ikhtisar beberapa perintah SRP dasar

Server SRP dan perintah klien dapat digunakan secara berurutan untuk melakukan tugas-tugas SRP yang khas:

  1. Mulai server SRP.

    srp server enable mengaktifkan server SRP setelah Anda membuat jaringan Thread.

  2. Mulai klien SRP.

    • srp client host name menetapkan nama host yang akan digunakan oleh klien.

    • srp client host address (set) akan mengaktifkan mode alamat klien host otomatis atau secara eksplisit menetapkan daftar alamat klien {i>host<i}.

    • srp client service add menambahkan layanan dengan nama instance tertentu, layanan nama, dan nomor port.

    • srp client autostart enable mengaktifkan mode mulai otomatis. Anda juga dapat secara manual mulai klien dengan menjalankan srp client start.

  3. Verifikasi status layanan.

    • srp client host dan srp client service memberikan status tentang apakah {i>host<i} dan layanan klien telah berhasil didaftarkan pada {i>node<i} klien.

    • srp server host dan srp server service memberikan status host dan layanan pada {i>node<i} server.

  4. Hapus layanan.

    srp client service remove menghapus layanan, tetapi mempertahankan nama layanannya.

  5. Hapus host dan nama layanan.

    srp client host remove menghapus host dan semua layanan yang terdaftar.

Contoh penggunaan perintah klien dan server SRP

Contoh ini menggunakan perintah CLI dasar untuk menyiapkan jaringan Thread, memulai server SRP dan klien, memverifikasi status server, dan menghapus layanan. Data sampel digunakan untuk ilustrasi.

Memulai server SRP

  1. Mulai node server SRP:

    ./output/simulation/bin/ot-cli-ftd 1
    
  2. Siapkan jaringan Thread, lalu aktifkan server SRP dengan menjalankan perintah srp server enable:

    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
    

Memulai klien SRP

  1. Mulai node Klien SRP:

    ./output/simulation/bin/ot-cli-ftd 2
    
  2. Bergabung dengan jaringan Thread, tetapkan nama {i>host<i} klien dan alamat, dan daftarkan layanan:

    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
    

    Seperti yang ditunjukkan di atas, gunakan perintah srp client autostart enable untuk mengaktifkan mode mulai otomatis pada klien. Klien memantau data jaringan untuk menemukan server SRP yang tersedia dalam jaringan Thread, lalu klien otomatis memulai dengan sendirinya.

  3. Jika memulai klien secara manual, jalankan perintah berikut, dan sertakan alamat dan porta SRP:

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

    Server SRP yang mendengarkan port UDP adalah c002(49154) pada contoh di atas.

Memverifikasi status layanan

  1. Periksa apakah host dan layanan telah berhasil didaftarkan pada node klien:

    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
    

    Pastikan output menampilkan state:Registered untuk perintah host dan layanan, seperti dalam contoh di atas.

  2. Periksa host dan layanan pada node server:

    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
    

    Pastikan output menampilkan deleted: false untuk srp server host dan srp server service, seperti dalam contoh di atas.

Menghapus layanan

  1. Hapus layanan melalui node klien:

    srp client service remove my-service _ipps._tcp
    Done
    
  2. Konfirmasi melalui node server bahwa layanan telah dihapus:

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

    Entri layanan dicantumkan dalam output karena nama layanannya tidak dihapus.

Hapus nama host dan layanan

  1. Hapus host dan semua layanannya yang terdaftar:

    srp client host remove 1
    Done
    
  2. Pastikan di node server tidak ada entri host atau layanan yang tercantum:

    srp server host
    Done
    srp server service
    Done
    >