Thiết lập kết nối máy chủ-máy khách với giao thức đăng ký dịch vụ (SRP) bằng OT CLI

Xem nguồn trên GitHub

OpenThread cung cấp cả chức năng máy chủ và ứng dụng SRP, cho phép thiết bị đăng ký các dịch vụ dựa trên DNS bằng cách sử dụng Bản cập nhật DNS tiêu chuẩn được gửi dưới dạng gói unicast. Chức năng này bật tính năng Khám phá dịch vụ dựa trên DNS.

Hướng dẫn này cung cấp các thao tác cơ bản sử dụng một số lệnh srp serversrp client phổ biến hơn.

Các lệnh máy chủ SRP

Để xem danh sách các lệnh srp server, hãy nhập help:

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

Lệnh của máy khách SRP

Để xem danh sách các lệnh srp client, hãy nhập help:

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

Tham chiếu lệnh CLI

Để biết mô tả và cú pháp của tất cả các lệnh, hãy tham khảo lệnh CLI. Các lệnh máy chủ SRP bắt đầu theo thứ tự bảng chữ cái bằng máy chủ srp (enable,disable). Các lệnh máy khách SRP bắt đầu theo thứ tự bảng chữ cái với tự khởi động máy khách srp (get).

Lớp học lập trình về Bộ định tuyến đường viền luồng

Lớp học lập trình về Bộ định tuyến đường biên OpenGL bao gồm thông tin về cách thiết lập thiết bị cuối của ứng dụng SRP.

Tổng quan về một số lệnh SRP cơ bản

Có thể sử dụng các lệnh máy chủ và máy khách SRP theo trình tự để thực hiện các tác vụ SRP thông thường:

  1. Khởi động máy chủ SRP.

    srp server enable bật máy chủ SRP sau khi bạn đã tạo mạng Thread.

  2. Khởi động ứng dụng SRP.

    • srp client host name đặt tên máy chủ mà ứng dụng sẽ sử dụng.

    • srp client host address (set) bật chế độ địa chỉ ứng dụng tự động của máy chủ hoặc đặt rõ ràng danh sách địa chỉ ứng dụng lưu trữ.

    • srp client service add thêm một dịch vụ với tên thực thể, tên dịch vụ và số cổng cụ thể.

    • srp client autostart enable bật chế độ tự động bắt đầu. Bạn cũng có thể khởi động ứng dụng theo cách thủ công bằng cách chạy srp client start.

  3. Xác minh trạng thái của dịch vụ.

    • srp client hostsrp client service cung cấp trạng thái về việc liệu máy chủ lưu trữ và dịch vụ đã được đăng ký thành công trên nút ứng dụng hay chưa.

    • srp server hostsrp server service cung cấp trạng thái máy chủ lưu trữ và dịch vụ trên nút máy chủ.

  4. Xoá dịch vụ.

    srp client service remove xoá một dịch vụ nhưng giữ lại tên dịch vụ.

  5. Xoá tên máy chủ lưu trữ và tên dịch vụ.

    srp client host remove xoá máy chủ lưu trữ và tất cả các dịch vụ đã đăng ký.

Ví dụ về việc sử dụng lệnh máy chủ và máy khách SRP

Những ví dụ này sử dụng các lệnh CLI cơ bản để thiết lập mạng Luồng, khởi động máy chủ và ứng dụng SRP, xác minh trạng thái máy chủ và xoá dịch vụ. Dữ liệu mẫu được dùng cho mục đích minh hoạ.

Khởi động máy chủ SRP

  1. Khởi động nút máy chủ SRP:

    ./output/simulation/bin/ot-cli-ftd 1
    
  2. Thiết lập mạng Thread, sau đó bật máy chủ SRP bằng cách chạy lệnh 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
    

Khởi động ứng dụng SRP

  1. Khởi động nút ứng dụng SRP:

    ./output/simulation/bin/ot-cli-ftd 2
    
  2. Tham gia mạng Thread, đặt tên và địa chỉ máy chủ lưu trữ ứng dụng và đăng ký dịch vụ:

    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
    

    Như đã trình bày ở trên, hãy sử dụng lệnh srp client autostart enable để bật chế độ tự động bắt đầu trên ứng dụng. Ứng dụng giám sát dữ liệu mạng để khám phá các máy chủ SRP có sẵn trong mạng Thread, sau đó ứng dụng sẽ tự động khởi động.

  3. Nếu khởi động ứng dụng theo cách thủ công, hãy chạy lệnh sau đây và thêm địa chỉ cũng như cổng SRP:

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

    Cổng UDP của máy chủ SRP đang nghe là c002(49154) trong ví dụ trên.

Xác minh trạng thái dịch vụ

  1. Kiểm tra xem máy chủ lưu trữ và dịch vụ đã được đăng ký thành công trên nút ứng dụng hay chưa:

    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
    

    Đảm bảo kết quả hiển thị state:Registered cho cả lệnh lưu trữ và lệnh dịch vụ, như trong ví dụ trên.

  2. Kiểm tra máy chủ lưu trữ và dịch vụ trên nút máy chủ:

    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
    

    Đảm bảo kết quả hiển thị deleted: false cho cả lệnh srp server hostsrp server service, như trong ví dụ trên.

Xoá dịch vụ

  1. Xoá dịch vụ qua nút ứng dụng:

    srp client service remove my-service _ipps._tcp
    Done
    
  2. Xác nhận qua nút máy chủ rằng dịch vụ đã bị xoá:

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

    Mục nhập dịch vụ được liệt kê trong kết quả vì tên dịch vụ không bị xoá.

Xoá tên máy chủ lưu trữ và tên dịch vụ

  1. Xoá máy chủ lưu trữ và tất cả các dịch vụ đã đăng ký của máy chủ lưu trữ đó:

    srp client host remove 1
    Done
    
  2. Xác nhận trên nút máy chủ rằng không có mục nhập máy chủ hoặc dịch vụ nào được liệt kê:

    srp server host
    Done
    srp server service
    Done
    >