OT CLI ile Hizmet Kayıt Protokolü (SRP) Sunucu-İstemci Bağlantısı Ayarlama

Kaynağı GitHub'da görüntüleyin

OpenThread, hem SRP sunucusu hem de istemci işlevleri sunarak cihazların tek noktaya yayın paketleri olarak gönderilen standart DNS Güncellemesi'ni kullanarak DNS tabanlı hizmetleri kaydetmesini sağlar. Bu işlev, DNS Tabanlı Hizmet Keşfi'ni etkinleştirir.

Bu kılavuzda, daha yaygın srp server ve srp client komutlarından bazılarının kullanıldığı temel görevler açıklanmaktadır.

SRP sunucu komutları

srp server komutlarının listesi için help yazın:

srp server help
addrmode
auto
disable
domain
enable
help
host
lease
seqnum
service
state
Done

SRP istemci komutları

srp client komutlarının listesi için help yazın:

srp client help
autostart
callback
help
host
keyleaseinterval
leaseinterval
service
start
state
stop
ttl
Done

CLI Komut Referansı

Tüm komutların açıklamaları ve söz dizimi için CLI Komut Referansı'na bakın. SRP sunucusu komutları, srp sunucusu (etkinleştir, devre dışı bırak) ifadesiyle alfabetik olarak başlar. SRP istemci komutları srp istemcisi autostart (get) ile alfabetik olarak başlar.

İş Parçacığı Kenarlığı Yönlendiricisi codelab'i

OpenThread Sınır Yönlendirici kod laboratuvarı, SRP istemcisi son cihazının nasıl ayarlanacağıyla ilgili bilgileri içerir.

Bazı temel SRP komutlarına genel bakış

SRP sunucu ve istemci komutları, tipik SRP görevlerini gerçekleştirmek için sırayla kullanılabilir:

  1. SRP sunucusunu başlatın.

    srp server enable, Thread ağını oluşturduktan sonra SRP sunucusunu etkinleştirir.

  2. SRP istemcisini başlatın.

    • srp client host name, istemci tarafından kullanılacak ana makine adını belirler.

    • srp client host address (set), otomatik ana makine istemci adresi modunu etkinleştirir veya ana makine istemci adreslerinin listesini açıkça ayarlar.

    • srp client service add; belirli örnek adına, hizmet adına ve bağlantı noktası numarasına sahip bir hizmet ekler.

    • srp client autostart enable, otomatik başlatma modunu etkinleştirir. Dilerseniz istemciyi srp client start komutunu çalıştırarak manuel olarak da başlatabilirsiniz.

  3. Hizmet durumunu doğrulayın.

    • srp client host ve srp client service, istemci ana makinesinin ve hizmetin istemci düğümüne başarıyla kaydedilip kaydedilmediği hakkında durum bilgisi sunar.

    • srp server host ve srp server service, sunucu düğümünde ana makine ve hizmet durumunu sağlar.

  4. Hizmeti kaldırın.

    srp client service remove bir hizmeti kaldırır ancak hizmet adını korur.

  5. Ana makine ve hizmet adlarını kaldırın.

    srp client host remove, ana makineyi ve kayıtlı tüm hizmetleri kaldırır.

SRP sunucu ve istemci komutu kullanımı örnekleri

Bu örneklerde iş parçacığı ağı kurmak, SRP sunucusunu ve istemcisini başlatmak, sunucu durumunu doğrulamak ve bir hizmeti kaldırmak için temel CLI komutları kullanılır. Örnek veriler açıklama amacıyla kullanılır.

SRP sunucusunu başlatma

  1. SRP sunucu düğümünü başlatın:

    ./output/simulation/bin/ot-cli-ftd 1
    
  2. Bir iş parçacığı ağı kurun, ardından srp server enable komutunu çalıştırarak SRP sunucusunu etkinleştirin:

    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 istemcisini başlatın

  1. SRP İstemcisi düğümünü başlatın:

    ./output/simulation/bin/ot-cli-ftd 2
    
  2. Thread ağına katılın, istemci ana makine adını ve adresini ayarlayın ve bir hizmet kaydedin:

    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
    

    Yukarıda gösterildiği gibi, istemcide otomatik başlatma modunu etkinleştirmek için srp client autostart enable komutunu kullanın. İstemci, Thread ağındaki mevcut SRP sunucularını keşfetmek için ağ verilerini izler, ardından istemci kendini otomatik olarak başlatır.

  3. İstemciyi manuel olarak başlatıyorsanız aşağıdaki komutu çalıştırın ve SRP adresi ile bağlantı noktasını ekleyin:

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

    UDP bağlantı noktasını dinleyen SRP sunucusu, yukarıdaki örnekte c002(49154) şeklindedir.

Hizmet durumunu doğrulayın

  1. Ana makinenin ve hizmetin istemci düğümüne başarıyla kaydedilip kaydedilmediğini kontrol edin:

    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
    

    Yukarıdaki örnekte olduğu gibi, çıkışın hem ana makine hem de hizmet komutları için state:Registered değerini gösterdiğinden emin olun.

  2. Sunucu düğümündeki ana bilgisayarı ve hizmeti kontrol edin:

    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
    

    Yukarıdaki örnekte olduğu gibi, hem srp server host hem de srp server service komutları için çıkışın deleted: false değerini gösterdiğinden emin olun.

Hizmeti kaldırma

  1. İstemci düğümü aracılığıyla hizmeti kaldırın:

    srp client service remove my-service _ipps._tcp
    Done
    
  2. Sunucu düğümünden hizmetin kaldırıldığını onaylayın:

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

    Hizmet girişi, hizmet adı kaldırılmadığı için çıkışta listelenir.

Ana makine ve hizmet adlarını kaldır

  1. Ana makineyi ve kayıtlı tüm hizmetlerini kaldırın:

    srp client host remove 1
    Done
    
  2. Sunucu düğümünde, hiçbir ana makinenin veya hizmet girişinin listelenmediğinden emin olun:

    srp server host
    Done
    srp server service
    Done
    >