Wykrywanie i tworzenie sieci

Wyświetl źródło na GitHubie

Sieci wątków

Sieci są określane za pomocą 3 unikalnych identyfikatorów:

  • 2-bajtowy identyfikator sieci osobistej (PAN)
  • 8-bajtowy identyfikator sieci osobistej (XPAN)
  • Czytelna nazwa sieci

Sieć typu wątki może na przykład mieć te identyfikatory:

Identyfikator Wartość
PAN 0xBEEF
Identyfikator XPAN 0xBEEF1111CAFE2222
Nazwa sieci yourThreadCafe
Aktywne skanowanie

Gdy tworzysz nową sieć Thread lub szukasz istniejącej, aby dołączyć do niej, urządzenie rozpoczyna skanowanie w poszukiwaniu sieci 802.15.4 w zasięgu:

  1. Urządzenie przesyła żądanie beacona 802.15.4 z określonego kanału.
  2. W rezultacie wszelkie routery lub urządzenia końcowe (REED) będące w zasięgu sygnału transmitują obraz typu beacon zawierający ich identyfikatory PAN sieci XID, XPAN i nazwę sieci.
  3. Urządzenie powtarza poprzednie 2 kroki dla każdego kanału.

Gdy urządzenie z wątkiem znajdzie wszystkie sieci znajdujące się w zasięgu, może podłączyć się do istniejącej sieci lub utworzyć nową, jeśli nie wykryje żadnej sieci.

Thread wykorzystuje protokół Msh (Link Mesh Link Instytucja) do konfigurowania linków i rozpowszechniania informacji o sieci na urządzeniach z wątkami.

W konfiguracji połączenia MLE jest używane do:

  • Wykrywanie linków do sąsiednich urządzeń
  • Określ jakość linków do urządzeń sąsiadujących
  • Tworzenie linków do sąsiednich urządzeń
  • Negocjowanie parametrów linków (typ urządzenia, liczniki klatek, czas oczekiwania) w ramach grupy porównawczej

MLE rozpowszechnia następujące typy informacji na urządzeniach, które chcą tworzyć linki:

  • Dane lidera (lista lidera RLOC, identyfikator partycji, waga partycji)
  • Dane sieciowe (prefiksy sieci typu mesh, automatyczna konfiguracja adresów, bardziej szczegółowe trasy)
  • Propagacja trasy

Rozmnażanie trasy w wątku działa podobnie do protokołu RIP (Route Information Protocol).

Utwórz nową sieć

Jeśli urządzenie zdecyduje się utworzyć nową sieć, wybiera kanał o najniższym natężeniu ruchu i numer PAN, z których nie korzystają inne sieci. Potem wybiera router i wskazuje samych lidera. To urządzenie wysyła komunikaty reklamowe w MLE do innych urządzeń z systemem 802.15.4 i informuje je o stanie połączenia oraz odpowiada na żądania Beacona wysyłane przez inne urządzenia z wątkami, które aktywnie skanują.

Dołącz do istniejącej sieci

Jeśli urządzenie zdecyduje się dołączyć do istniejącej sieci, skonfiguruje kanał, identyfikator PAN, identyfikator XPAN i nazwę sieci tak, aby odpowiadały sieci docelowej za pomocą prowizji w wątku, a następnie podejmą proces załączenia MLE w celu dołączenia urządzenia podrzędnego. Ten proces jest stosowany w przypadku połączeń kont dzieci i rodziców.

  1. Element podrzędny wysyła żądanie nadrzędne dla wielu urządzeń do wszystkich sąsiednich routerów i REED w sieci docelowej.
  2. Wszystkie sąsiednie routery i komórki REED (jeśli maska żądania skanowania nadrzędnego zawiera moduły REED) wysyłają odpowiedzi nadrzędne z informacjami o sobie.
  3. Dziecko wybiera urządzenie rodzica i wysyła do niego żądanie identyfikatora dziecka.
  4. Podmiot nadrzędny wysyła odpowiedź z identyfikatorem podrzędnym, aby potwierdzić połączenie.

1. Prośba rodzica

Żądanie nadrzędne to żądanie multicast wysyłane z urządzenia, które jest podłączone do sieci. Służy ono do wykrywania sąsiednich routerów i urządzeń REED w sieci docelowej.

OT MLE Dołącz prośbę rodzica
Treść wiadomości z prośbą rodzica
Tryb Opisuje podłączone urządzenie
Wyzwanie Umożliwia sprawdzanie czasu reakcji głównej, by uniemożliwić ponowne odtwarzanie ataków
Maska skanowania Ogranicza żądanie tylko do routerów albo do routerów i REED

2. Odpowiedź rodzica

Odpowiedź nadrzędna to jednorazowa odpowiedź na żądanie nadrzędne, które zawiera informacje o routerze lub REED na podłączonym urządzeniu.

OT MLE Dołącz odpowiedź rodzica
Treść wiadomości z odpowiedzią rodzica
Wersja Wersja protokołu wątku
Odpowiedź Kopia testu nadrzędnego żądania
Licznik klatek linku Licznik 802.15.4 Ramek na routerze/REED
Licznik MLE Frame Licznik MLE Frame na routerze/REED
Adres źródłowy RLOC16 routera/REED
Link Marża Jakość sygnału sieciowego routera lub REED
Łączność Opisuje poziom połączenia routera/REED.
Dane repliki wiodącej Informacje o liderze routera/REED
Wyzwanie Sprawdza termin żądania żądania identyfikatora podrzędnego, aby zapobiec ponownym atakom

3. Prośba o identyfikator dziecka

Żądanie identyfikatora podrzędnego to żądanie uniwersalne z urządzenia podłączanego (podrzędne) wysyłane do routera lub urządzenia REED (elementu nadrzędnego) w celu ustanowienia połączenia elementu podrzędnego z rodzicem. Jeśli zostanie wysłane do REED, przed zaakceptowaniem żądania uaktualnia się ono do routera.

OT MLE Dołącz prośbę o identyfikator dziecka
Treść prośby o identyfikator dziecka
Wersja Wersja protokołu wątku
Odpowiedź Kopia wyzwania Rodzic/Odpowiedź
Licznik klatek linku Licznik 802.15.4 Frame w jednostce podrzędnej
Licznik MLE FrameLicznik MLE Frame w jednostce podrzędnej
Tryb Opisuje dziecko
Limit czasu Czas bezczynności, po którym rodzic usuwa dziecko
Rejestracja adresu (tylko MED i SED) Zarejestruj adresy IPv6

4. Odpowiedź identyfikatora podrzędnego

Odpowiedź identyfikatora podrzędnego to jednorazowa odpowiedź od wydawcy nadrzędnego, która jest wysyłana do wydawcy podrzędnego w celu potwierdzenia utworzenia linku.

OT MLE Dołącz odpowiedź identyfikatora podrzędnego
Treść wiadomości z identyfikatorem dziecięcym
Adres źródłowy RLOC16 – element nadrzędny
Adres 16 RLOC16 – dziecko
Dane repliki wiodącej informacje o liderze nadrzędnego (RLOC, identyfikator partycji, waga partycji)
Dane sieciowe Informacje o sieci Threads (prefiksy sieci typu mesh, automatyczna konfiguracja adresów, bardziej szczegółowe trasy)
Trasa (tylko REED) Propagacja trasy
Limit czasu Czas bezczynności, po którym rodzic usuwa dziecko
Rejestracja adresu (tylko MED i SED) Potwierdź zarejestrowane adresy

Podsumowanie

Czego się nauczyliśmy:

  • Urządzenie Thread skanuje istniejące sieci
  • Thread wykorzystuje siatkę linków typu mesh do konfigurowania linków i rozpowszechniania informacji o urządzeniach sieciowych
  • Reklamy MLE informują inne urządzenia z wątkami o sieci i stanie linku
  • Proces MLE Attach tworzy połączenie z rodzicami

Sprawdź swoją wiedzę

Który identyfikator nie jest używany do identyfikowania sieci?
Dwubajtowy identyfikator sieci osobistej (identyfikator PAN).
Nieprawidłowo. Sieć wątków jest częściowo identyfikowana przez identyfikator PAN.
8-bajtowy identyfikator rozszerzonego obszaru osobistego (XPAN).
Nieprawidłowo. Sieć wątków jest częściowo identyfikowana na podstawie identyfikatora XPAN.
Czytelna nazwa sieci.
Nieprawidłowo. Sieć wątków jest częściowo identyfikowana przez czytelną dla człowieka nazwę sieci.
32-znakowy identyfikator SSID.
Dobra odpowiedź. W odróżnieniu od sieci Wi-Fi 802.11 identyfikatory sieci Thread nie używają identyfikatora SSID.
Do czego służy prośba rodzica?
Aby wykryć sąsiednie routery i urządzenia końcowe REED w sieci docelowej.
Dobra odpowiedź. Żądanie nadrzędne jest wysyłane przez urządzenie, które stara się przyłączyć do sieci.
Informuję, że router staje się rodzicem.
Nieprawidłowo. Router nie inicjuje relacji Nadrzędny-podrzędny z innym urządzeniem sieciowym. Zamiast tego urządzenie sieciowe wybiera router jako router podrzędny.
Aby wysłać prośbę o promowanie routera, który spełnia wymagania.
Nieprawidłowo.
Jakiego rodzaju adresu używa prośba rodzica?
Unicast
Nieprawidłowo.
Anycast
Nieprawidłowo.
multicast
Dobra odpowiedź.
komunikat
Nieprawidłowo.
Jaka jest klasyfikacja urządzenia, gdy urządzenie jest początkowo podłączone do sieci Thread?
Dziecko (urządzenie końcowe)
Dobra odpowiedź. Urządzenie dołączające do sieci typu Thread zawsze jest jako urządzenie końcowe w tej sieci.
FTD (urządzenie z pełnym wątkiem)
Nieprawidłowo.
REED (urządzenie końcowe zakwalifikowane do routingu)
Nieprawidłowo.