الاطّلاع على المصدر على GitHub
توفّر منصة OpenThread كلاً من خادم SRP ووظائف العميل، ما يتيح للأجهزة تسجيل الخدمات المستندة إلى نظام أسماء النطاقات باستخدام تحديث نظام أسماء النطاقات العادي الذي يتم إرساله كبث أحادي والحزم. تتيح هذه الوظيفة تفعيل ميزة "اكتشاف الخدمة المستندة إلى نظام أسماء النطاقات".
يقدّم هذا الدليل المهام الأساسية التي تستخدم بعض أنواع 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
مرجع أوامر واجهة سطر الأوامر
للحصول على أوصاف وبنية لجميع الأوامر، يُرجى الرجوع إلى مرجع أوامر واجهة سطر الأوامر. تبدأ أوامر خادم SRP أبجديًا srp server (enable,disable): تبدأ أوامر برنامج SRP أبجديًا البدء التلقائي لعميل srp (الحصول على).
درس تطبيقي حول ترميز جهاز توجيه حدود سلسلة التعليمات
الدرس التطبيقي حول ترميز جهاز توجيه حدود OpenThread يتضمّن معلومات حول طريقة إعداد الجهاز النهائي الخاص بعميل SRP.
نظرة عامة على بعض أوامر SRP الأساسية
يمكن استخدام أوامر العميل وخادم SRP بالتسلسل لتنفيذ مهام SRP النموذجية:
-
تفعِّل ميزة "
srp server enable" خادم SRP بعد إنشاء شبكة Thread. -
يحدّد
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 وأوامر العميل
تستخدم هذه الأمثلة أوامر واجهة سطر الأوامر الأساسية لإعداد شبكة 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:
./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إنّ خادم SRP الذي يستمع إلى منفذ UDP هو
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 >