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ủ SRP và ứng dụng khách, cho phép các thiết bị để đăng ký các dịch vụ dựa trên DNS bằng Bản cập nhật DNS tiêu chuẩn được gửi dưới dạng unicast gói tin. 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 tác vụ cơ bản sử dụng một số srp server phổ biến hơn và srp client.

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 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 nội dung mô tả và cú pháp của tất cả các lệnh, hãy tham khảo Tài liệu tham khảo về lệnh CLI. Các lệnh máy chủ SRP bắt đầu theo thứ tự bảng chữ cái với máy chủ srp (bật,tắt). Các lệnh ứng dụng SRP bắt đầu theo thứ tự bảng chữ cái với tự động bắt đầu (get) của ứng dụng srp.

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ề OpenThread Border Router bao gồm thông tin về cách thiết lập thiết bị cuối của ứng dụng SRP.

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

Các lệnh máy khách và máy chủ SRP có thể được dùng 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ủ sẽ được ứng dụng sử dụng.

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

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

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

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

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

    • 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 sẽ xoá một dịch vụ nhưng giữ lại tên dịch vụ.

  5. Xoá tên máy chủ và dịch vụ.

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

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

Những ví dụ này sử dụng các lệnh CLI cơ bản để thiết lập mạng Thread, bắt đầu máy chủ SRP và ứng dụng khách, xác minh trạng thái máy chủ rồi xoá một dịch vụ. Dữ liệu mẫu được sử dụng nhằm 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ột 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ỉ của máy khách, 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 dùng lệnh srp client autostart enable để bật chế độ tự động bắt đầu trên máy khách. Máy khách giám sát dữ liệu mạng để phát hiện máy chủ SRP có sẵn trong mạng Thread, sau đó máy khách tự 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 và đưa vào địa chỉ SRP và cổng:

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

    Máy chủ SRP đang nghe cổng UDP 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ủ 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 rằng kết quả cho thấy state:Registered cho cả lệnh của máy chủ 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ả cho thấy deleted: false cho cả 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 đầu ra vì tên dịch vụ là chưa bị xoá.

Xoá tên máy chủ và 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ủ đó:

    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 nào của máy chủ lưu trữ hoặc dịch vụ được liệt kê:

    srp server host
    Done
    srp server service
    Done
    >