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 ของเราเตอร์ขอบเขตเทรด
Codelab ของ Border Router ของ OpenThread มีข้อมูลเกี่ยวกับวิธีตั้งค่าอุปกรณ์ปลายทางไคลเอ็นต์ SRP
ภาพรวมของคำสั่ง SRP พื้นฐานบางรายการ
คำสั่งของเซิร์ฟเวอร์และไคลเอ็นต์ SRP สามารถใช้ตามลำดับเพื่อทำงาน SRP ทั่วไปได้ดังนี้
-
srp server enableจะเปิดใช้เซิร์ฟเวอร์ SRP เมื่อสร้างเครือข่ายเทรดแล้ว -
srp client host nameกำหนดชื่อโฮสต์ที่จะให้ไคลเอ็นต์ใช้srp client host address (set)เปิดใช้โหมดที่อยู่ไคลเอ็นต์โฮสต์อัตโนมัติหรือ กำหนดรายการที่อยู่ไคลเอ็นต์โฮสต์อย่างชัดเจนsrp client service addเพิ่มบริการที่มีชื่ออินสแตนซ์ที่ระบุ นั่นคือบริการ ชื่อและหมายเลขพอร์ตsrp client autostart enableเปิดใช้โหมดเริ่มต้นอัตโนมัติ นอกจากนี้คุณยัง เริ่มต้นไคลเอ็นต์โดยเรียกใช้srp client start
-
srp client hostและsrp client serviceระบุสถานะว่า ลงทะเบียนโฮสต์และบริการของไคลเอ็นต์ในโหนดไคลเอ็นต์เรียบร้อยแล้วsrp server hostและsrp server serviceระบุสถานะโฮสต์และบริการ ในโหนดเซิร์ฟเวอร์
-
srp client service removeนำบริการออกแต่ยังคงชื่อบริการไว้ -
srp client host removeจะนำโฮสต์และบริการที่ลงทะเบียนทั้งหมดออก
ตัวอย่างการใช้คำสั่งของเซิร์ฟเวอร์และไคลเอ็นต์ SRP
ตัวอย่างเหล่านี้ใช้คำสั่ง CLI พื้นฐานเพื่อตั้งค่าเครือข่ายเทรด เริ่มต้น เซิร์ฟเวอร์และไคลเอ็นต์ SRP ยืนยันสถานะเซิร์ฟเวอร์ และนำบริการออก ข้อมูลตัวอย่าง มีไว้เพื่อการอธิบายเท่านั้น
เริ่มต้นเซิร์ฟเวอร์ SRP
เริ่มต้นโหนดเซิร์ฟเวอร์ SRP ดังนี้
./output/simulation/bin/ot-cli-ftd 1ตั้งค่าเครือข่ายเทรด แล้วเปิดใช้เซิร์ฟเวอร์ SRP โดยเรียกใช้คำสั่ง
srp server enableดังนี้dataset init newDonedatasetActive 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 Donedataset commit activeDoneifconfig upDonethread startDonestateleader Doneipaddrfded: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 Donesrp server enableDone
เริ่มต้นใช้งานไคลเอ็นต์ SRP
เริ่มต้นโหนดไคลเอ็นต์ SRP ด้วยคำสั่งต่อไปนี้
./output/simulation/bin/ot-cli-ftd 2เข้าร่วมเครือข่าย Thread ตั้งชื่อโฮสต์และที่อยู่ของไคลเอ็นต์ จากนั้น ลงทะเบียนบริการ
dataset networkkey 7fcbae4153cc2955c28440c15d4d4219Donedataset commit activeDoneifconfig upDonethread startDonestatechild Doneipaddrfded:5114:8263:1fe1:0:ff:fe00:c001 fded:5114:8263:1fe1:44f9:cc06:4a2d:534 fe80:0:0:0:38dd:fdf7:5fd:24e Donesrp client host name my-hostDonesrp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534Donesrp client service add my-service _ipps._tcp 12345Donesrp client autostart enableDoneตามที่แสดงอยู่ด้านบน ให้ใช้คำสั่ง
srp client autostart enableเพื่อเปิดใช้ โหมดเริ่มต้นอัตโนมัติในไคลเอ็นต์ ไคลเอ็นต์ตรวจสอบข้อมูลเครือข่ายเพื่อค้นหา เซิร์ฟเวอร์ SRP ที่พร้อมใช้งานภายในเครือข่ายเทรด จากนั้นไคลเอ็นต์ จะเริ่มต้นเองโดยอัตโนมัติหากเริ่มต้นไคลเอ็นต์ด้วยตนเอง ให้เรียกใช้คำสั่งต่อไปนี้ และระบุ ที่อยู่และพอร์ต SRP
srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154Doneพอร์ต UDP สำหรับการฟังของเซิร์ฟเวอร์ SRP คือ
c002(49154)ในตัวอย่างด้านบน
ยืนยันสถานะบริการ
ตรวจสอบว่าได้ลงทะเบียนโฮสต์และบริการในโหนดไคลเอ็นต์เรียบร้อยแล้วหรือไม่
srp client hostname:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp client serviceinstance:"my-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0 Doneตรวจสอบว่าเอาต์พุตแสดง
state:Registeredสำหรับทั้งคำสั่งโฮสต์และบริการ ดังตัวอย่างข้างต้นตรวจสอบโฮสต์และบริการในโหนดเซิร์ฟเวอร์ ดังนี้
srp server hostmy-host.default.service.arpa. deleted: false addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp server servicemy-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คำสั่งตามตัวอย่างด้านบน
นำบริการออก
นำบริการออกผ่านโหนดไคลเอ็นต์:
srp client service remove my-service _ipps._tcpDoneยืนยันผ่านโหนดเซิร์ฟเวอร์ว่าบริการถูกนำออกแล้ว
srp server servicemy-service._ipps._tcp.default.service.arpa. deleted: true Doneรายการบริการจะแสดงในเอาต์พุตเนื่องจากชื่อของบริการคือ ไม่ได้นำออก
นำชื่อโฮสต์และบริการออก
นำโฮสต์และบริการทั้งหมดที่ลงทะเบียนไว้ออกโดยทำดังนี้
srp client host remove 1Doneยืนยันในโหนดเซิร์ฟเวอร์ว่าไม่มีรายการโฮสต์หรือบริการแสดงอยู่
srp server hostDonesrp server serviceDone >