Sieci Thread
Sieci Thread są identyfikowane za pomocą 3 unikalnych identyfikatorów:
- 2-bajtowy identyfikator osobistej sieci (PAN ID),
- 8-bajtowy rozszerzony identyfikator osobistej sieci (XPAN ID),
- zrozumiała dla człowieka nazwa sieci.
Sieć Thread może mieć na przykład te identyfikatory:
| Identyfikator | Wartość |
|---|---|
| Identyfikator PAN | 0xBEEF |
| Identyfikator XPAN | 0xBEEF1111CAFE2222 |
| Nazwa sieci | yourThreadCafe |
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:
- Urządzenie rozsyła żądanie sygnału Beacon 802.15.4 na określonym kanale.
- W odpowiedzi wszystkie urządzenia z funkcją rozszerzenia (ECDs) w zasięgu rozsyłają sygnał Beacon, który zawiera identyfikator PAN, identyfikator XPAN i nazwę sieci Thread.
- Urządzenie powtarza 2 poprzednie kroki dla każdego kanału.
Gdy urządzenie Thread wykryje wszystkie sieci w zasięgu, może dołączyć do istniejącej sieci lub utworzyć nową, jeśli nie wykryje żadnej sieci.
Nawiązywanie połączenia w sieci mesh
Thread używa protokołu MLE (Mesh Link Establishment) do konfigurowania połączeń i rozpowszechniania informacji o sieci na urządzeniach Thread.
W konfiguracji połączenia protokół MLE służy do:
- wykrywania połączeń z urządzeniami sąsiadującymi,
- określania jakości połączeń z urządzeniami sąsiadującymi,
- nawiązywania połączeń z urządzeniami sąsiadującymi,
- negocjowania parametrów połączenia (typ urządzenia, liczniki ramek, limit czasu) z urządzeniami równorzędnymi.
MLE rozpowszechnia te typy informacji na urządzeniach, które chcą nawiązać połączenie:
- dane lidera (RLOC lidera, identyfikator partycji, waga partycji),
- dane sieci (prefiksy w sieci, automatyczna konfiguracja adresu, bardziej szczegółowe trasy),
- rozpowszechnianie tras.
Rozpowszechnianie tras w sieci Thread działa podobnie jak protokół RIP (Routing Information Protocol), czyli protokół routingu wektorowego.
Utwórz nową sieć
Jeśli urządzenie zdecyduje się utworzyć nową sieć, wybierze najmniej obciążony kanał i identyfikator PAN, który nie jest używany przez inne sieci. Następnie stanie się rozszerzeniem sieci mesh i wybierze się na lidera. To urządzenie wysyła wiadomości MLE Advertisement do innych urządzeń 802.15.4, aby poinformować je o stanie połączenia, i odpowiada na żądania sygnału Beacon wysyłane przez inne urządzenia Thread, które wykonują aktywne skanowanie.
Dołącz 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ą funkcji Thread Commissioning. Następnie przejdzie przez proces MLE Attach, aby dołączyć jako urządzenie podrzędne (urządzenie końcowe). Ten proces jest używany w przypadku połączeń między urządzeniem podrzędnym a nadrzędnym.
- Urządzenie podrzędne wysyła żądanie nadrzędne multicast Parent Request do wszystkich sąsiadujących urządzeń z funkcją rozszerzenia w sieci docelowej.
- Wszystkie sąsiadujące rozszerzenia sieci mesh (i urządzenia ECD w trybie gotowości, jeśli maska skanowania żądania nadrzędnego obejmuje urządzenia ECD w trybie gotowości) wysyłają odpowiedzi nadrzędne z informacjami o sobie.
- Urządzenie podrzędne wybiera urządzenie nadrzędne i wysyła do niego żądanie identyfikatora podrzędnego.
- Urządzenie nadrzędne wysyła odpowiedź identyfikatora podrzędnego, aby potwierdzić nawiązanie połączenia.
1. Żądanie nadrzędne
Żądanie nadrzędne to żądanie multicast z urządzenia dołączającego, które służy do wykrywania sąsiadujących urządzeń z funkcją rozszerzenia w sieci docelowej.
| Zawartość wiadomości z żądaniem nadrzędnym | |
|---|---|
| Tryb | Opisuje urządzenie dołączające |
| Wyzwanie | Sprawdza aktualność odpowiedzi nadrzędnej, aby zapobiec atakom typu replay |
| Maska skanowania | Ogranicza żądanie tylko do rozszerzeń sieci mesh lub do wszystkich urządzeń z funkcją rozszerzenia |
2. Odpowiedź nadrzędna
Odpowiedź nadrzędna to odpowiedź unicast na żądanie nadrzędne, która zawiera informacje o urządzeniu z funkcją rozszerzenia dla urządzenia dołączającego.
| Zawartość wiadomości z odpowiedzią nadrzędną | |
|---|---|
| Wersja | Wersja protokołu Thread |
| Odpowiedź | Kopia wyzwania żądania nadrzędnego |
| Licznik ramek połączenia | Licznik ramek 802.15.4 na urządzeniu z funkcją rozszerzenia |
| Licznik ramek MLE | Licznik ramek MLE na urządzeniu z funkcją rozszerzenia |
| Adres źródłowy | RLOC16 urządzenia z funkcją rozszerzenia |
| Margines połączenia | Jakość sygnału odbieranego przez urządzenie z funkcją rozszerzenia |
| Połączenia | Opisuje poziom połączenia urządzenia z funkcją rozszerzenia |
| Dane lidera | Informacje o liderze urządzenia z funkcją rozszerzenia |
| Wyzwanie | Sprawdza aktualność żądania identyfikatora podrzędnego, aby zapobiec atakom typu replay |
3. Żądanie identyfikatora podrzędnego
Żądanie identyfikatora podrzędnego to żądanie unicast z urządzenia dołączającego (urządzenia podrzędnego), które jest wysyłane do urządzenia z funkcją rozszerzenia (urządzenia nadrzędnego) w celu nawiązania połączenia między urządzeniem podrzędnym a nadrzędnym. Jeśli żądanie zostanie wysłane do urządzenia z funkcją rozszerzenia w trybie gotowości, zostanie ono uaktualnione do rozszerzenia sieci mesh przed zaakceptowaniem żądania.
| Zawartość wiadomości z żądaniem identyfikatora podrzędnego | |
|---|---|
| Wersja | Wersja protokołu Thread |
| Odpowiedź | Kopia wyzwania odpowiedzi nadrzędnej |
| Licznik ramek połączenia | Licznik ramek 802.15.4 na urządzeniu podrzędnym |
| Licznik ramek MLE | Licznik ramek MLE na urządzeniu podrzędnym |
| Tryb | Opisuje urządzenie podrzędne |
| Limit czasu | Czas nieaktywności, po którym urządzenie nadrzędne usuwa urządzenie podrzędne |
| Rejestracja adresu (tylko w przypadku urządzeń MED i SED) | Rejestrowanie adresów IPv6 |
4. Odpowiedź identyfikatora podrzędnego
Odpowiedź identyfikatora podrzędnego to odpowiedź unicast z urządzenia nadrzędnego, która jest wysyłana do urządzenia podrzędnego w celu potwierdzenia nawiązania połączenia między urządzeniem podrzędnym a nadrzędnym.
| Zawartość wiadomości z odpowiedzią identyfikatora podrzędnego | |
|---|---|
| Adres źródłowy | RLOC16 urządzenia nadrzędnego |
| Address16 | RLOC16 urządzenia podrzędnego |
| Dane lidera | Informacje o liderze urządzenia nadrzędnego (RLOC, identyfikator partycji, waga partycji waga) |
| Dane sieci | Informacje o sieci Thread (prefiksy w sieci, automatyczna konfiguracja adresu bardziej szczegółowe trasy) |
| Trasa (tylko w przypadku urządzeń ECD w trybie gotowości) | Rozpowszechnianie tras |
| Limit czasu | Czas nieaktywności, po którym urządzenie nadrzędne usuwa urządzenie podrzędne |
| Rejestracja adresu (tylko w przypadku urządzeń MED i SED) | Potwierdź zarejestrowane adresy |
Podsumowanie
Czego się dowiedziałeś:
- Urządzenie Thread wykonuje aktywne skanowanie w poszukiwaniu istniejących sieci.
- Thread używa protokołu MLE 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 MLE Attach nawiązuje połączenia między urządzeniem podrzędnym a nadrzędnym.