إعداد اتصال بين الخادم والعميل (SRP) لبروتوكول تسجيل الخدمة باستخدام واجهة سطر الأوامر OT

الاطّلاع على المصدر على 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 النموذجية:

  1. ابدأ تشغيل خادم SRP.

    تفعِّل ميزة "srp server enable" خادم SRP بعد إنشاء شبكة Thread.

  2. ابدأ تشغيل برنامج SRP.

    • يحدّد srp client host name اسم المضيف الذي سيستخدمه العميل.

    • srp client host address (set) إما أن تفعِّل وضع عنوان العميل للمضيف التلقائي أو تحدد قائمة عناوين العميل المضيف بشكل صريح.

    • يضيف srp client service add خدمة باسم أو خدمة معيّنة للمثيل. والاسم ورقم المنفذ.

    • تفعِّل ميزة srp client autostart enable وضع البدء التلقائي. يمكنك أيضًا اختيار بدء البرنامج من خلال تشغيل srp client start.

  3. تحقّق من حالة الخدمة.

    • يعرض كل من srp client host وsrp client service حالة حول ما إذا كان تم تسجيل مضيف العميل والخدمة بنجاح في عقدة العميل.

    • يوفّر كل من srp server host وsrp server service حالة الخدمة والمضيف. على عقدة الخادم.

  4. إزالة الخدمة

    يزيل srp client service remove خدمة ويحتفظ باسم الخدمة.

  5. أزِل أسماء المضيف وأسماء الخدمات.

    يزيل srp client host remove المضيف وجميع الخدمات المسجَّلة.

أمثلة على استخدام خادم SRP وأوامر العميل

تستخدم هذه الأمثلة أوامر واجهة سطر الأوامر الأساسية لإعداد شبكة Thread خادم وعميل SRP، والتحقق من حالة الخادم، وإزالة الخدمة. عيّنات البيانات تُستخدم لأغراض التوضيح.

بدء تشغيل خادم SRP

  1. بدء عقدة خادم SRP:

    ./output/simulation/bin/ot-cli-ftd 1
    
  2. يمكنك إعداد شبكة Thread، ثم تفعيل خادم SRP من خلال تنفيذ الأمر srp server enable:

    dataset init new
    Done
    dataset
    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
    Done
    dataset commit active
    Done
    ifconfig up
    Done
    thread start
    Done
    state
    leader
    Done
    ipaddr
    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
    Done
    srp server enable
    Done
    

بدء برنامج SRP

  1. بدء عقدة عميل SRP:

    ./output/simulation/bin/ot-cli-ftd 2
    
  2. الانضمام إلى شبكة Thread وإعداد اسم مضيف العميل وعنوانه تسجيل خدمة:

    dataset networkkey 7fcbae4153cc2955c28440c15d4d4219
    Done
    dataset commit active
    Done
    ifconfig up
    Done
    thread start
    Done
    state
    child
    Done
    ipaddr
    fded:5114:8263:1fe1:0:ff:fe00:c001
    fded:5114:8263:1fe1:44f9:cc06:4a2d:534
    fe80:0:0:0:38dd:fdf7:5fd:24e
    Done
    srp client host name my-host
    Done
    srp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534
    Done
    srp client service add my-service _ipps._tcp 12345
    Done
    srp client autostart enable
    Done
    

    كما هو موضح أعلاه، يمكنك استخدام الأمر srp client autostart enable لتفعيل وضع البدء التلقائي على العميل. يراقب العميل بيانات الشبكة لاكتشاف بخوادم SRP المتاحة داخل شبكة Thread، ثم العميل تبدأ من تلقاء نفسها تلقائيًا.

  3. في حال بدء تشغيل البرنامج يدويًا، شغِّل ما يلي وقم بتضمين عنوان SRP والمنفذ:

    srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
    Done
    

    إنّ خادم SRP الذي يستمع إلى منفذ UDP هو c002(49154) في المثال أعلاه.

التحقّق من حالة الخدمة

  1. تحقَّق مما إذا تم تسجيل المضيف والخدمة بنجاح في عقدة العميل:

    srp client host
    name:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534]
    Done
    srp client service
    instance:"my-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0
    Done
    

    تأكَّد من أنّ الناتج يعرض state:Registered لكل من أوامر المضيف وأوامر الخدمة. كما في المثال أعلاه.

  2. تحقَّق من المضيف والخدمة على عقدة الخادم:

    srp server host
    my-host.default.service.arpa.
    deleted: false 
    addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534]
    Done
    srp 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، كما في المثال أعلاه.

إزالة الخدمة

  1. إزالة الخدمة من خلال عقدة العميل:

    srp client service remove my-service _ipps._tcp
    Done
    
  2. تأكَّد عبر عقدة الخادم من إزالة الخدمة:

    srp server service
    my-service._ipps._tcp.default.service.arpa.
    deleted: true
    Done
    

    ويتم إدراج إدخال الخدمة في الإخراج لأن اسم الخدمة لم تتم إزالته.

إزالة اسم المضيف واسم الخدمة

  1. إزالة المضيف وجميع خدماته المسجّلة:

    srp client host remove 1
    Done
    
  2. تأكَّد من عقدة الخادم من عدم إدراج أي إدخالات للمضيف أو الخدمة:

    srp server host
    Done
    srp server service
    Done
    >