ตั้งค่าการเชื่อมต่อไคลเอ็นต์ของเซิร์ฟเวอร์สำหรับโปรโตคอลการจดทะเบียนบริการ (SRP) ด้วย OT CLI

ดูซอร์สใน GitHub

OpenThread จะมีทั้งฟังก์ชันการทำงานของเซิร์ฟเวอร์และไคลเอ็นต์ SRP ซึ่งช่วยให้อุปกรณ์ลงทะเบียนบริการที่ใช้ DNS โดยใช้การอัปเดต DNS มาตรฐานที่ส่งเป็นแพ็กเกจ Unicast ได้ ฟังก์ชันนี้จะเปิดใช้การค้นพบบริการที่อิงตาม 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 (เปิดใช้ ปิดใช้) คำสั่งไคลเอ็นต์ SRP จะขึ้นต้นด้วยตัวอักษรด้วย srp client autostart (get)

Codelab เราเตอร์เส้นขอบของเทรด

OpenThread Border Router Codelab จะรวมข้อมูลเกี่ยวกับวิธีตั้งค่าอุปกรณ์ปลายทางไคลเอ็นต์ SRP

ภาพรวมของคำสั่ง SRP พื้นฐานบางรายการ

คำสั่งของเซิร์ฟเวอร์และไคลเอ็นต์ SRP จะใช้ตามลำดับในการทำงาน SRP ทั่วไปได้ ดังนี้

  1. เริ่มต้นเซิร์ฟเวอร์ SRP

    srp server enable จะเปิดใช้เซิร์ฟเวอร์ SRP เมื่อสร้างเครือข่ายเทรดแล้ว

  2. เริ่มต้นไคลเอ็นต์ SRP

    • srp client host name กำหนดชื่อโฮสต์ที่ไคลเอ็นต์จะใช้

    • srp client host address (set) เปิดใช้โหมดที่อยู่ไคลเอ็นต์การโฮสต์อัตโนมัติ หรือตั้งค่ารายการที่อยู่ไคลเอ็นต์โฮสต์อย่างชัดแจ้ง

    • srp client service add เพิ่มบริการด้วยชื่ออินสแตนซ์ ชื่อบริการ และหมายเลขพอร์ตที่ระบุ

    • srp client autostart enable เปิดใช้โหมดเริ่มต้นอัตโนมัติ หรือคุณจะเริ่มต้นไคลเอ็นต์ด้วยตนเองโดยเรียกใช้ srp client start ก็ได้เช่นกัน

  3. ยืนยันสถานะบริการ

    • srp client host และ srp client service ระบุสถานะว่าโฮสต์และบริการของไคลเอ็นต์ได้รับการลงทะเบียนในโหนดไคลเอ็นต์เรียบร้อยแล้วหรือไม่

    • srp server host และ srp server service จะระบุสถานะโฮสต์และบริการในโหนดเซิร์ฟเวอร์

  4. นำบริการออก

    srp client service remove นำบริการออก แต่ยังคงชื่อบริการไว้

  5. นำชื่อโฮสต์และบริการออก

    srp client host remove จะนำโฮสต์และบริการที่จดทะเบียนออกทั้งหมด

ตัวอย่างการใช้คำสั่งของเซิร์ฟเวอร์และไคลเอ็นต์ SRP

ตัวอย่างเหล่านี้ใช้คำสั่ง CLI พื้นฐานในการตั้งค่าเครือข่ายเทรด, เริ่มต้นเซิร์ฟเวอร์และไคลเอ็นต์ SRP, ตรวจสอบสถานะเซิร์ฟเวอร์ และนำบริการออก ข้อมูลตัวอย่างจะใช้ เพื่อการอธิบายเท่านั้น

เริ่มต้นเซิร์ฟเวอร์ SRP

  1. เริ่มต้นโหนดเซิร์ฟเวอร์ SRP ด้วยคำสั่งต่อไปนี้

    ./output/simulation/bin/ot-cli-ftd 1
    
  2. ตั้งค่าเครือข่ายเทรด แล้วเปิดใช้เซิร์ฟเวอร์ SRP โดยการเรียกใช้คำสั่ง 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
    

เริ่มต้นไคลเอ็นต์ SRP

  1. เริ่มต้นโหนดไคลเอ็นต์ SRP ด้วยคำสั่งต่อไปนี้

    ./output/simulation/bin/ot-cli-ftd 2
    
  2. เข้าร่วมเครือข่ายเทรด กำหนดชื่อโฮสต์และที่อยู่ของไคลเอ็นต์ แล้วลงทะเบียนบริการดังนี้

    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
    

    ตรวจสอบว่าเอาต์พุตแสดง 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
    

    ตรวจสอบว่าเอาต์พุตแสดง deleted: false สำหรับทั้งคำสั่ง srp server host และ 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
    >