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 new
Donedataset
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 Donedataset commit active
Doneifconfig up
Donethread start
Donestate
leader Doneipaddr
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 Donesrp server enable
Done
เริ่มต้นใช้งานไคลเอ็นต์ SRP
เริ่มต้นโหนดไคลเอ็นต์ SRP ด้วยคำสั่งต่อไปนี้
./output/simulation/bin/ot-cli-ftd 2
เข้าร่วมเครือข่าย Thread ตั้งชื่อโฮสต์และที่อยู่ของไคลเอ็นต์ จากนั้น ลงทะเบียนบริการ
dataset networkkey 7fcbae4153cc2955c28440c15d4d4219
Donedataset commit active
Doneifconfig up
Donethread start
Donestate
child Doneipaddr
fded: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-host
Donesrp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534
Donesrp client service add my-service _ipps._tcp 12345
Donesrp client autostart enable
Doneตามที่แสดงอยู่ด้านบน ให้ใช้คำสั่ง
srp client autostart enable
เพื่อเปิดใช้ โหมดเริ่มต้นอัตโนมัติในไคลเอ็นต์ ไคลเอ็นต์ตรวจสอบข้อมูลเครือข่ายเพื่อค้นหา เซิร์ฟเวอร์ SRP ที่พร้อมใช้งานภายในเครือข่ายเทรด จากนั้นไคลเอ็นต์ จะเริ่มต้นเองโดยอัตโนมัติหากเริ่มต้นไคลเอ็นต์ด้วยตนเอง ให้เรียกใช้คำสั่งต่อไปนี้ และระบุ ที่อยู่และพอร์ต SRP
srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
Doneพอร์ต UDP สำหรับการฟังของเซิร์ฟเวอร์ SRP คือ
c002(49154)
ในตัวอย่างด้านบน
ยืนยันสถานะบริการ
ตรวจสอบว่าได้ลงทะเบียนโฮสต์และบริการในโหนดไคลเอ็นต์เรียบร้อยแล้วหรือไม่
srp client host
name:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp client service
instance:"my-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0 Doneตรวจสอบว่าเอาต์พุตแสดง
state:Registered
สำหรับทั้งคำสั่งโฮสต์และบริการ ดังตัวอย่างข้างต้นตรวจสอบโฮสต์และบริการในโหนดเซิร์ฟเวอร์ ดังนี้
srp server host
my-host.default.service.arpa. deleted: false addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp 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
คำสั่งตามตัวอย่างด้านบน
นำบริการออก
นำบริการออกผ่านโหนดไคลเอ็นต์:
srp client service remove my-service _ipps._tcp
Doneยืนยันผ่านโหนดเซิร์ฟเวอร์ว่าบริการถูกนำออกแล้ว
srp server service
my-service._ipps._tcp.default.service.arpa. deleted: true Doneรายการบริการจะแสดงในเอาต์พุตเนื่องจากชื่อของบริการคือ ไม่ได้นำออก
นำชื่อโฮสต์และบริการออก
นำโฮสต์และบริการทั้งหมดที่ลงทะเบียนไว้ออกโดยทำดังนี้
srp client host remove 1
Doneยืนยันในโหนดเซิร์ฟเวอร์ว่าไม่มีรายการโฮสต์หรือบริการแสดงอยู่
srp server host
Donesrp server service
Done >