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) شروع می شود.
آزمایشگاه کد روتر مرزی
کد لبه OpenThread Border Router شامل اطلاعاتی در مورد نحوه راه اندازی دستگاه پایان مشتری SRP است.
مروری بر برخی از دستورات اولیه SRP
دستورات سرور SRP و کلاینت را می توان به ترتیب برای انجام کارهای معمولی SRP استفاده کرد:
srp server enableسرور SRP را پس از ایجاد شبکه Thread فعال می کند.کلاینت 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 برای راهاندازی شبکه Thread، راهاندازی سرور SRP و کلاینت، تأیید وضعیت سرور و حذف یک سرویس استفاده میکنند. داده های نمونه برای مقاصد توضیحی استفاده می شود.
سرور SRP را راه اندازی کنید
گره سرور SRP را راه اندازی کنید:
./output/simulation/bin/ot-cli-ftd 1یک شبکه Thread راه اندازی کنید، سپس سرور 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 Client را راه اندازی کنید:
./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 موجود در شبکه Thread نظارت می کند، سپس کلاینت به طور خودکار خود را راه اندازی می کند.اگر کلاینت را به صورت دستی راه اندازی می کنید، موارد زیر را اجرا کنید و آدرس 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 >