Skonfiguruj połączenie między serwerem-klientem (SRP) za pomocą interfejsu OT CLI

Wyświetl źródło na GitHubie

OpenThread udostępnia funkcje serwera SRP i klienta, umożliwiając urządzeniom , aby zarejestrować usługi oparte na DNS przy użyciu standardowej aktualizacji DNS wysłanej jako pojedyncza transmisja . Ta funkcja umożliwia wykrywanie usług opartych na DNS.

W tym przewodniku przedstawiono podstawowe zadania, które wykorzystują niektóre z najczęściej używanych funkcji srp server i srp client.

Polecenia serwera SRP

Aby zobaczyć listę poleceń srp server, wpisz help:

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

Polecenia klienta SRP

Aby zobaczyć listę poleceń srp client, wpisz help:

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

Odniesienie do polecenia interfejsu wiersza poleceń

Opisy i składnię wszystkich poleceń znajdziesz w dokumentacji poleceń interfejsu wiersza poleceń. Polecenia serwera SRP zaczynają się alfabetycznie od srp server (włącz,wyłącz). Polecenia klienta SRP zaczynają się alfabetycznie od Automatyczne uruchamianie klienta srp (get).

Ćwiczenie z programowania dotyczące routera granic wątków

Ćwiczenie z programowania dotyczące routera granic OpenThread (w języku angielskim) zawiera informacje o konfigurowaniu urządzenia końcowego klienta SRP.

Omówienie niektórych podstawowych poleceń SRP

Polecenia serwera SRP i klienta mogą być używane w sekwencji do wykonywania typowych zadań SRP:

  1. Uruchom serwer SRP.

    srp server enable włącza serwer SRP po utworzeniu sieci Thread.

  2. Uruchom klienta SRP.

    • srp client host name ustawia nazwę hosta, która ma być używana przez klienta.

    • srp client host address (set) włącza tryb adresu klienta hosta automatycznego lub jawnie ustawia listę adresów klientów hosta.

    • srp client service add dodaje usługę o podanej nazwie instancji, usłudze nazwa i numer portu.

    • srp client autostart enable włącza tryb automatycznego uruchamiania. Możesz też ręcznie uruchom klienta, uruchamiając srp client start.

  3. Sprawdź stan usługi.

    • srp client host i srp client service informują o tym, czy host i usługa klienta zostały zarejestrowane w węźle klienta.

    • srp server host i srp server service podają stan hosta i usługi w węźle serwera.

  4. Usuń usługę.

    srp client service remove usuwa usługę, ale zachowuje jej nazwę.

  5. Usuń nazwy hostów i usług.

    srp client host remove usuwa hosta i wszystkie zarejestrowane usługi.

Przykłady użycia poleceń SRP przez serwer i klienta

W tych przykładach używamy podstawowych poleceń interfejsu wiersza poleceń do skonfigurowania sieci Thread, serwer i klient SRP, weryfikowanie stanu serwera i usuwanie usługi. Przykładowe dane .

Uruchamianie serwera SRP

  1. Uruchom węzeł serwera SRP:

    ./output/simulation/bin/ot-cli-ftd 1
    
  2. Skonfiguruj sieć Thread, a następnie włącz serwer SRP, uruchamiając polecenie 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
    

Uruchamianie klienta SRP

  1. Uruchom węzeł klienta SRP:

    ./output/simulation/bin/ot-cli-ftd 2
    
  2. Dołącz do sieci Thread, ustaw nazwę i adres hosta klienta. zarejestruj usługę:

    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
    

    Jak pokazano powyżej, użyj polecenia srp client autostart enable, aby włączyć w trybie automatycznego uruchamiania. Klient monitoruje dane sieciowe, aby wykrywać dostępnych serwerów SRP w sieci Thread, a następnie uruchamia się automatycznie.

  3. Jeśli klienta uruchamiasz ręcznie, uruchom następujące polecenie i dołącz adres SRP i port:

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

    W powyższym przykładzie port UDP nasłuchujący serwera SRP to c002(49154).

Sprawdzanie stanu usługi

  1. Sprawdź, czy host i usługa zostały zarejestrowane w węźle klienta:

    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
    

    Sprawdź, czy w danych wyjściowych zarówno w przypadku poleceń hosta, jak i usługi widoczna jest wartość state:Registered. jak w przykładzie powyżej.

  2. Sprawdź hosta i usługę w węźle serwera:

    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
    

    Upewnij się, że dane wyjściowe zawierają wartość deleted: false zarówno dla argumentu srp server host, i srp server service, jak w przykładzie powyżej.

Usuń usługę

  1. Usuń usługę za pomocą węzła klienta:

    srp client service remove my-service _ipps._tcp
    Done
    
  2. W węźle serwera potwierdź, że usługa została usunięta:

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

    Wpis dotyczący usługi jest wymieniony w danych wyjściowych, ponieważ nazwa usługi to nie usunięto.

Usuń nazwy hostów i usług

  1. Usuń host i wszystkie jego zarejestrowane usługi:

    srp client host remove 1
    Done
    
  2. Sprawdź w węźle serwera, czy na liście nie ma wpisów hosta ani usługi:

    srp server host
    Done
    srp server service
    Done
    >