Wykrywanie i tworzenie sieci

Wyświetl źródło w GitHubie

Sieci Thread

Sieci wątków są identyfikowane za pomocą 3 unikalnych identyfikatorów:

  • 2-bajtowy identyfikator sieci osobistej (PAN ID)
  • 8-bajtowy identyfikator rozszerzonej sieci osobistej (XPAN ID)
  • Zrozumiała dla człowieka nazwa sieci

Sieć Thread może mieć na przykład te identyfikatory:

Identyfikator Wartość
PAN 0xBEEF
Identyfikator XPAN 0xBEEF1111CAFE2222
Nazwa sieci yourThreadCafe
OT Active Scan

Podczas tworzenia nowej sieci Thread lub wyszukiwania istniejącej sieci, do której można dołączyć, urządzenie Thread wykonuje aktywne skanowanie sieci 802.15.4 w zasięgu radiowym:

  1. Urządzenie nadaje żądanie beacona 802.15.4 na określonym kanale.
  2. W odpowiedzi wszystkie routery lub kwalifikujące się urządzenia końcowe (REED) w zasięgu nadają sygnał beacon zawierający identyfikator PAN sieci Thread, identyfikator XPAN i nazwę sieci.
  3. Urządzenie powtarza 2 poprzednie kroki w przypadku każdego kanału.

Gdy urządzenie Thread wykryje wszystkie sieci w zakresie, może się do nich przyłączyć lub utworzyć nową, jeśli nie wykryje żadnych sieci.

Thread używa protokołu Mesh Link Establishment (MLE) do konfigurowania połączeń i rozpowszechniania informacji o sieci na urządzeniach Thread.

W konfiguracji linku MLE służy do:

  • wykrywać połączenia z urządzeniami w pobliżu,
  • Określanie jakości połączeń z urządzeniami sąsiednimi
  • nawiązywanie połączeń z urządzeniami w pobliżu;
  • Negocjowanie parametrów połączenia (typ urządzenia, liczniki klatek, limit czasu) z innymi urządzeniami

MLE rozpowszechnia te rodzaje informacji do urządzeń, które chcą nawiązać połączenia:

  • Dane repliki wiodącej (RLOC repliki wiodącej, identyfikator partycji, waga partycji)
  • dane sieciowe (prefiksy w sieci mesh, automatyczna konfiguracja adresów, bardziej szczegółowe trasy);
  • Rozpowszechnianie trasy

Rozgłaszanie trasy w Thread działa podobnie jak protokół Routing Information Protocol (RIP), czyli protokół routingu wektorów odległości.

Utwórz nową sieć

Jeśli urządzenie zdecyduje się na utworzenie nowej sieci, wybierze najmniej obciążony kanał i identyfikator PAN, którego nie używają inne sieci. Następnie stanie się routerem i wybierze siebie jako lidera. To urządzenie wysyła komunikaty MLE Advertisement do innych urządzeń 802.15.4, aby informować je o stanie połączenia, oraz odpowiada na żądania beacona z innych urządzeń Thread wykonujących aktywne skanowanie.

Dołączanie do istniejącej sieci

Jeśli urządzenie zdecyduje się dołączyć do istniejącej sieci, skonfiguruje swój kanał, identyfikator PAN, identyfikator XPAN i nazwę sieci tak, aby pasowały do sieci docelowej za pomocą komisjonowania Thread, a następnie przejdzie proces MLE Attach, aby dołączyć jako urządzenie podrzędne (urządzenie końcowe). Ten proces jest używany w przypadku połączeń nadrzędnych i podrzędnych.

  1. Urządzenie podrzędne wysyła żądanie grupowe Parent Request do wszystkich sąsiednich routerów i urządzeń REED w sieci docelowej.
  2. Wszystkie sąsiednie routery i REED (jeśli maska skanowania prośby rodzica obejmuje REED) wysyłają odpowiedzi rodzica z informacjami o sobie.
  3. Urządzenie dziecka wybiera urządzenie rodzica i wysyła do niego żądanie identyfikatora dziecka.
  4. Podmiot nadrzędny wysyła odpowiedź z identyfikatorem podmiotu podrzędnego, aby potwierdzić utworzenie linku.

1. Prośba rodzica

Prośba nadrzędna to prośba multicastowa z urządzenia podłączonego, która służy do wykrywania routerów sąsiednich i kwalifikujących się urządzeń końcowych routera (REED) w sieci docelowej.

OT MLE Attach Parent Request
Treść wiadomości z prośbą rodzica
Tryb Opisuje urządzenie do podłączenia
Wyzwanie Testowanie aktualności odpowiedzi rodzica w celu zapobiegania atakom polegającym na odtwarzaniu odpowiedzi
Maska skanowania Ogranicza żądanie tylko do routerów lub do routerów i REED-ów

2. Odpowiedź rodzica

Odpowiedź nadrzędna to odpowiedź unicastowa na żądanie nadrzędne, która zawiera informacje o routerze lub REED dla urządzenia dołączającego.

OT MLE Attach Parent Response
Treść odpowiedzi rodzica
Wersja Wersja protokołu Thread
Odpowiedź kopię odwołania od żądania rodzica;
Link Frame Counter 802.15.4 Licznik ramek w routerze/REED
Ramka MLE Licznik Licznik ramek MLE na routerze/REED
Źródło adresu RLOC16 routera/REED
Link Margin Odbieranie jakości sygnału routera/REED
Połączenia Opisuje poziom łączności Routera/REED.
Lider Dane Informacje o Routerze/REED
Wyzwanie Sprawdzanie terminowości żądania podania przez rodzica danych dziecka w celu zapobiegania atakom polegającym na odtwarzaniu treści

3. Prośba o dokument tożsamości dziecka

Prośba o identyfikator podrzędnego to żądanie unicastowe z urządzenia podrzędnego (podrzędnego), które jest wysyłane do routera lub REED (nadrzędnego) w celu ustanowienia połączenia podrzędnego-nadrzędnego. Jeśli żądanie zostanie wysłane do REED, przekształca się w Router, zanim je zaakceptuje.

OT MLE Attach Child ID Request
Treść wiadomości z prośbą o identyfikator dziecka
Wersja Wersja protokołu Thread
Odpowiedź Kopia odpowiedzi na wyzwanie dotyczące rodzica
Link Frame Counter 802.15.4 Licznik klatek na urządzeniu podrzędnym
Ramka MLE LicznikLicznik klatek MLE na urządzeniu podrzędnym
Tryb Opisuje element podrzędny
Limit czasu Okres bezczynności przed usunięciem podrzędnego obiektu przez nadrzędny
Adres Rejestracja (tylko w przypadku MED i SED) Rejestrowanie adresów IPv6

4. Odpowiedź dotycząca identyfikatora elementu podrzędnego

Odpowiedź identyfikatora podrzędnego to odpowiedź unicastowa z serwera nadrzędnego wysłana do serwera podrzędnego w celu potwierdzenia nawiązania połączenia serwera podrzędnego z serwerem nadrzędnym.

Odpowiedź OT MLE Attach Child ID
Treść odpowiedzi na roszczenie dotyczące treści dla dzieci
Źródło adresu RLOC16 rodzica
Address16 RLOC16 dla dzieci
Lider Dane informacje o liderze rodzica (RLOC, identyfikator partycji, waga partycji);
Dane sieciowe informacje o sieci Thread (prefiksy w sieci mesh, automatyczna konfiguracja adresów, bardziej szczegółowe trasy);
Route (tylko w przypadku dyrektywy RED) Rozpowszechnianie trasy
Limit czasu Okres bezczynności przed usunięciem podrzędnego obiektu przez nadrzędny
Adres Rejestracja (dotyczy tylko MED i SED) Potwierdź zarejestrowane adresy

Podsumowanie

Czego się nauczysz:

  • Urządzenie Thread wykonuje aktywne skanowanie w poszukiwaniu istniejących sieci
  • Thread używa Mesh Link Establishment do konfigurowania połączeń i rozpowszechniania informacji o urządzeniach sieciowych
  • Wiadomości MLE Advertisement informują inne urządzenia Thread o stanie sieci i połączenia urządzenia
  • Proces dołączania MLE tworzy połączenia między elementami podrzędnymi a nadrzędnymi

Sprawdź swoją wiedzę

Który identyfikator nie służy do identyfikacji sieci Thread?
2-bajtowy identyfikator sieci osobistej (PAN ID).
Źle. Sieć wątku jest częściowo identyfikowana za pomocą identyfikatora PAN.
8-bajtowy identyfikator rozszerzonej sieci osobistej (XPAN ID).
Źle. Sieć wątku jest identyfikowana częściowo za pomocą identyfikatora XPAN.
Zrozumiała dla człowieka nazwa sieci.
Źle. Sieć wątku jest identyfikowana częściowo za pomocą czytelnej dla człowieka nazwy sieci.
Identyfikator SSID o długości 32 znaków.
Dobra odpowiedź. W przeciwieństwie do sieci Wi-Fi 802.11 identyfikatory sieci Thread nie używają SSID.
Do czego służy prośba rodzica?
wykryć w sieci docelowej sąsiadujące routery i kwalifikujące się urządzenia końcowe routera (REED);
Dobra odpowiedź. Prośba nadrzędna jest wysyłana przez urządzenie, które chce połączyć się z siecią.
Aby ogłosić, że router staje się urządzeniem nadrzędnym.
Źle. Router nie inicjuje relacji nadrzędny–podrzędny z innym urządzeniem sieciowym. Zamiast tego urządzenie sieciowe wybiera router, aby stał się jego podrzędnym urządzeniem.
Aby poprosić o przekształcenie urządzenia końcowego kwalifikującego się jako router w router.
Źle.
Jakiego typu adresu używa prośba o zatwierdzenie rodzica?
unicast
Źle.
anycast
Źle.
multicast
Dobra odpowiedź.
komunikat
Źle.
Jaka jest klasyfikacja urządzenia, gdy łączy się ono po raz pierwszy z siecią Thread?
Dziecko (urządzenie końcowe)
Dobra odpowiedź. Urządzenie, które dołącza do sieci Thread, zawsze zaczyna działać jako urządzenie końcowe w tej sieci.
FTD (pełne urządzenie Thread)
Źle.
REED (Router-Eligible End Device)
Źle.