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 ทั่วไปได้ ดังนี้
-
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
เข้าร่วมเครือข่ายเทรด กำหนดชื่อโฮสต์และที่อยู่ของไคลเอ็นต์ แล้วลงทะเบียนบริการดังนี้
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 >