Testowanie funkcji UDP za pomocą interfejsu OT CLI

Wyświetl źródło na GitHubie

OpenThread udostępnia polecenia UDP do użytku w sieci Thread do testowania połączeń peer-to-peer. komunikacji między gniazdami UDP. cli udp udostępnia jedno gniazdo próbne z w których działają wszystkie polecenia udp.

Z przykładów poniżej dowiesz się, jak otwierać i podłączać gniazda, i podłączenia gniazda oraz wysyłania wiadomości przy użyciu gniazd UDP.

Polecenia UDP

Aby zobaczyć listę poleceń udp, wpisz help:

udp help
bind
close
connect
linksecurity
open
send
Done

Polecenie open

Otwórz gniazdo i rozpocznij komunikację UDP za pomocą polecenia udp open. Następnie możesz powiązać gniazdo z określonym adresem IP i portem.

Polecenie bind

Po open gniazdku możesz uruchomić polecenie udp bind, aby przypisać adres IPv6 i port do otwartego gniazda. Łączy gniazdo na potrzeby komunikacji. Przypisanie parametru Adres i port IPv6 są też nazywane nazwami gniazda. Jeśli nie korzystasz bind i podłącz gniazdo (udp connect) lub używaj go polecenie udp send wiąże gniazdo z portem tymczasowym.

Polecenie connect

Polecenia udp connect można użyć do połączenia przykładowego gniazda z adresem gniazda peera. Następnie możesz wydać polecenie udp send, aby wysłać wiadomość do peera. Jeśli gniazdo nie jest jeszcze powiązane, uruchomienie polecenia udp connect powoduje również powiązanie gniazda.

Polecenie send

Polecenie udp send wysyła komunikat do miejsca docelowego przy użyciu przykładowego gniazda którego adres IP i port UDP można określić za pomocą zmiennych polecenia. Jeśli adres IP i port nie są określone w parametrze udp send, wiadomość zostanie wysłana przy użyciu przykładowego gniazda na stronę docelową podaną w poleceniu udp connect. Wydanie polecenia udp send wiąże gniazdo z portem efemerycznym , jeśli gniazdo nie zostało jeszcze powiązane.

Polecenie close

Do zamknięcia gniazda zalecamy użycie polecenia udp close, gdy gniazdka elektrycznego nie jest już potrzebne.

Polecenie linksecurity

Za pomocą polecenia udp linksecurity można włączyć lub wyłączyć warstwę połączeń danych dla wiadomości.

Wysyłaj komunikat między 2 węzłami

  1. W węźle 1 otwórz gniazdo UDP.

    udp open
    Done
    
  2. Powiąż gniazdo w węźle 1.

    udp bind :: 1234
    Done
    

    :: oznacza, że interfejs bind powinien używać nieokreślonego adresu IPv6, dzięki czemu stos UDP/IPv6 przypisze wiążący adres IPv6. Całość opcje o udp bind, takie jak powiązanie z interfejsem sieci, Patrz udp bind.

1 W węźle węzła 2 otwórz gniazdo UDP.

udp open
   Done
   

  1. W węźle Node 2 wyślij do niego prostą wiadomość.

    udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 hello
    Done
    

    W tym poleceniu założono, że Node 2 odkrył już adres węzła 1. Poza tym w tym przykładzie administrator Node 2 nie zdecydował się i podłącz go. Dzieje się tak, ponieważ administrator Node 2 chce wysłać wysyłanie wiadomości do węzła Node 1 bez dbania o to, które z jego adresów IP i portów są używane jako źródło węzła Node 2. W tym scenariuszu gniazdo wybiera adres IP i port losowo.

    Więcej informacji o opcjach dostępnych w udp send znajdziesz tutaj: udp send.

  2. Węzeł 1 potwierdza odbiór wiadomości z węzła 2:

    5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
    

Połącz gniazdo z adresem gniazda peera, a następnie wysyłaj wiadomość między 2 węzłami

Ten przykład jest podobny do poprzedniego, ale pokazuje pewną elastyczność i używanie gniazd UDP. W tym przypadku najpierw podłączaj gniazdko do adresu gniazda peera, nie musisz określać adresu IP ani portu peera. za każdym razem, gdy wykonasz udp send.

  1. W węźle 1 otwórz gniazdo UDP.

    udp open
    Done
    
  2. Powiąż gniazdo w węźle 1.

    udp bind :: 1234
    Done
    
  3. W węźle 2 otwórz gniazdo UDP.

    udp open
    Done
    
  4. W węźle Node 2 otwórz komunikację z węzłem 1 za pomocą polecenia udp connect.

    udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234
    Done
    

    Więcej informacji o opcjach dostępnych w udp connect znajdziesz tutaj: udp Connect

  5. W węźle 2 użyj polecenia udp send, aby wysłać wiadomość do węzła. określ ip i port w składni polecenia udp send.

    udp send hello
    Done
    

    Jeśli nie określisz właściwości ip i port, polecenie udp send użyje ip i port określone w poleceniu udp connect.