إعداد اتصال بين الخادم والعميل (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

مرجع أوامر واجهة سطر الأوامر

للحصول على أوصاف وبناء جميع الأوامر، ارجع إلى مرجع أوامر CLI. تبدأ أوامر خادم SRP أبجديًا بـ خادم srp (تفعيل، إيقاف). تبدأ أوامر عميل SRP أبجديًا بالبدء التلقائي لعميل srp (get).

الدرس التطبيقي حول ترميز جهاز توجيه حدود سلسلة المحادثات

يتضمن الدرس التطبيقي حول ترميز جهاز توجيه الحدود 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 وأوامر العميل

تستخدم هذه الأمثلة أوامر CLI الأساسية لإعداد شبكة 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
    >