Wyświetlanie danych sieciowych i zarządzanie nimi przy użyciu interfejsu OT CLI

Wyświetl źródło na GitHubie

Dane sieci dotyczące wątków zawierają informacje o routerach granicznych i innych serwerach dostępnych w sieci typu Thread. Routery graniczne i urządzenia oferujące usługi rejestrują informacje o liderze. Lider zbiera i porządkuje te informacje w danych sieci dotyczących wątków i rozpowszechnia je na wszystkich urządzeniach w sieci.

Routery graniczne mogą rejestrować prefiksy przypisane do sieci Thread i prefiksy, do których oferują trasy. Usługi mogą rejestrować dowolne informacje dotyczące samej usługi.

Informacje o routerze granicznym i usłudze mogą być stabilne lub tymczasowe. Stabilne dane o sieci wątków są rozpowszechniane na wszystkich urządzeniach, w tym na urządzeniach SED Spyepy End. Tymczasowe dane dotyczące sieci są rozpowszechniane na wszystkie węzły z wyjątkiem SED.

Polecenia dotyczące danych sieciowych

Aby wyświetlić listę poleceń netdata, wpisz help:

netdata help
help
full
length
maxlength
publish
register
show
steeringdata
unpublish
Done

full polecenia

Polecenia full zgłaszają stan flagi lub ponownie przywracają flagę śledzącą, czy wywołane jest wywołanie zwrotne „net data full” (pełne dane netto).

To polecenie wymaga OPENThread_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

Polecenia length i maxlength

Polecenie length pobiera bieżącą długość danych z sieci wątków, zgłoszonych jako liczba bajtów. Polecenia maxlength otrzymują maksymalną zaobserwowaną długość lub resetują śledzoną maksymalną długość.

publish polecenia

Wydawca danych sieciowych udostępnia mechanizmy ograniczające liczbę podobnych wpisów dotyczących usług i prefiksów (przedrostek w siatce lub trasy zewnętrznej) w danych sieci dotyczących wątków, monitorując dane sieciowe i określając, kiedy chcesz dodać lub usunąć wpisy.

Wydawca wymaga OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE.

Formularz sieciowy i konfigurowanie prefiksu

  1. Wygeneruj nową konfigurację sieci.

    dataset init new
    Done
    
  2. Wyświetl konfigurację sieci.

    dataset
    Active Timestamp: 1
    Channel: 13
    Channel Mask: 0x07fff800
    Ext PAN ID: d63e8e3e495ebbc3
    Mesh Local Prefix: fd3d:b50b:f96d:722d::/64
    Network Key: dfd34f0f05cad978ec4e32b0413038ff
    Network Name: OpenThread-8f28
    PAN ID: 0x8f28
    PSKc: c23a76e98f1a6483639b1ac1271e2e27
    Security Policy: 0, onrcb
    Done
    
  3. Zatwierdź nowy zbiór danych w aktywnym zbiorze danych operacyjnych w pamięci nieulotowej.

    dataset commit active
    Done
    
  4. Włączanie interfejsu wątku

    ifconfig up
    Done
    thread start
    Done
    
  5. Wyświetlaj adresy IPv6 przypisane do interfejsu Thread.

    ipaddr
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    
  6. Zarejestruj prefiks IPv6 przypisany do sieci Thread.

    prefix add fd00:dead:beef:cafe::/64 paros med
    Done
    netdata register
    Done
    
  7. Wyświetl dane sieci dotyczące wątków.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    fd49:7770:7fc5:0::/64 s med 4000
    Services:
    44970 5d c000 s 4000
    44970 01 9a04b000000e10 s 4000
    Done
    

    Prefiksy i trasy obejmują mapowania argumentów i wartość RLOC.

    Rekordy usługi zawierają wartości otServiceConfig, w tym mEnterpriseNumber, mServiceData, otServerConfig::mServerData i s, które wskazują otServerConfig::mStable. RLOC jest też dołączany na końcu rekordu.

  8. Wyświetla bieżącą długość danych sieci związanych z wątkami partycji (w bajtach).

    netdata length
    23
    Done
    
  9. Wyświetlaj adresy IPv6 przypisane do interfejsu Thread, w tym dodany prefiks.

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

Podłącz do istniejącej sieci

Aby urządzenie mogło podłączyć się do sieci typu Thread, potrzebny jest tylko klucz sieciowy.

Chociaż nie jest to wymagane, określenie kanału eliminuje konieczność wyszukiwania w wielu kanałach, co zwiększa opóźnienie i efektywność procesu dołączania.

Gdy urządzenie dołączy do sieci typu Thread, urządzenie pobiera pełny aktywny zestaw danych operacyjnych.

  1. utworzyć częściowy aktywny zbiór danych operacyjnych,

    dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
    Done
    dataset commit active
    Done
    
  2. Włącz interfejs wątku.

    ifconfig up
    Done
    thread start
    Done
    
  3. Po podłączeniu do istniejącej sieci wyświetl dane sieci dotyczące wątków.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    Services:
    Done
    
  4. Wyświetla bieżącą długość danych sieci związanych z wątkami partycji (w bajtach).

    netdata length
    23
    Done
    
  5. Wyświetlaj adresy IPv6 przypisane do interfejsu Thread.

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

Debugowanie i diagnostyka

Rozmiar danych sieciowych nie może przekraczać 254 bajtów. Jeśli routery graniczne będą stale dodawać wpisy danych (na przykład prefiksy, trasy lub wpisy dotyczące usług) do danych sieciowych, mogą być pełne. W takim przypadku nowe żądania od routera granicznego dotyczące dodawania nowych elementów będą odrzucane lub ignorowane przez lidera. Lider nie musi koniecznie sygnalizować odrzucenia routera granicznego, dlatego router nie może od razu stwierdzić, że dane sieci są pełne. Jest jednak dostępna metoda, która wykrywa, kiedy dane sieci są pełne.

Metoda wykrywania, zaimplementowana zarówno w routerach granicznych, jak i w liderze, wykorzystuje mechanizm wywołania zwrotnego interfejsu API i umożliwia użytkownikom powiadamianie o wykorzystaniu danych sieciowych. Możesz użyć wywołania zwrotnego, np. usunąć nieaktualne prefiksy lub wpisy usługi. Polecenia netdata full są używane w przypadku flagi, która śledzi, czy zostało wykonane wywołanie zwrotne „pełne dane netto”. Te polecenia mogą wskazywać stan flagi lub resetować ją.

W typowych przypadkach użycia Thread jest mało prawdopodobne, by dane dotyczące sieci były pełne, nawet jeśli jest wiele routerów granicznych i wszystkie dodają prefiksy tras.

Technicznie rzecz biorąc, dane sieciowe mogą być pełne, jednak często wynika to z błędnej konfiguracji lub problemu z routerem granicznym. Polecenia netdata length i netdata maxlength mogą pomóc w debugowaniu pełnych błędów sieci. length pobiera bieżącą długość danych sieciowych raportowanych jako bajty, a maxlength otrzymuje maksymalną zaobserwowaną długość. Może ona też zresetować śledzoną maksymalną długość.