راه اندازی پروتکل ثبت سرویس (SRP) اتصال سرور به مشتری با OT CLI

مشاهده منبع در GitHub

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 استفاده کرد:

  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 Client را راه اندازی کنید:

    ./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
    

    پورت UDP شنود سرور SRP در مثال بالا 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
    >