Thread

Sieciowanie mesh oparte na IPv6 dla urządzeń IoT.

Brakujące Ogniwo: Dlaczego Potrzebny Był Kolejny Protokół

Krajobraz Internetu Rzeczy (IoT) był historycznie złożoną i podzieloną przestrzenią. Aby inteligentny dom mógł funkcjonować, wiele energooszczędnych urządzeń, takich jak czujniki, żarówki i zamki do drzwi, musi niezawodnie się komunikować. Technologie takie jak Zigbee i Z-Wave powstały, aby rozwiązać ten problem, tworząc energooszczędne sieci mesh. Miały one jednak istotną wadę: nie mówiły natywnym językiem internetu. Protokoły te wymagały specjalistycznych hubów lub bramek, które działały jako tłumacze, konwertując ich własnościową komunikację na Protokół Internetowy (IP), który rozumieją reszta naszych urządzeń, jak smartfony i komputery.

Ta zależność od bramek stwarzała kilka problemów. Stanowiły one pojedynczy punkt awarii; jeśli hub przestał działać, duża część inteligentnego domu przestawała funkcjonować. Dodawały opóźnień, ponieważ każde polecenie musiało być przetłumaczone. Co najważniejsze, tworzyły zamknięte ekosystemy, w których urządzenia z różnych systemów nie mogły łatwo ze sobą współpracować. Z drugiej strony, Wi-Fi, które mówi natywnym językiem IP, było zbyt energochłonne dla małych, zasilanych bateryjnie urządzeń. Bluetooth Low Energy początkowo koncentrował się na prostych połączeniach punkt-punkt, a nie na złożonych sieciach obejmujących cały dom.

Pojawiła się wyraźna potrzeba nowego rodzaju protokołu sieciowego. Idealna technologia łączyłaby to, co najlepsze z obu światów: solidne, samonaprawiające się, energooszczędne możliwości sieci mesh protokołów takich jak Zigbee, z uniwersalną, płynną i bezbramkową łącznością Protokołu Internetowego. To właśnie było wyzwanie, na które odpowiedzią jest Thread. Zainicjowany przez Nest (obecnie część Google) i rozwijany przez Thread Group, w skład której wchodzą najwięksi gracze branży, tacy jak Apple, Samsung i Qualcomm, został zaprojektowany jako podstawowa tkanka sieciowa dla nowej generacji urządzeń IoT. Nie jest to standard aplikacji mówiący urządzeniom, co mają mówić, ale protokół sieciowy, który zapewnia niezawodną, bezpieczną i bezpośrednią ścieżkę do mówienia tego przy użyciu języka internetu.

Znajomy Fundament: Zbudowany na IEEE 802.15.4

Jedną z podstawowych zasad projektowych Thread było niewymyślanie koła na nowo tam, gdzie istniały już sprawdzone standardy. Zamiast tworzyć całkowicie nową technologię radiową, Thread buduje swoje możliwości sieciowe na solidnym i szeroko przyjętym standardzie radiowym IEEE 802.15.4. Jest to ta sama bazowa technologia radiowa, z której korzysta Zigbee i inne protokoły niskiej mocy.

Wykorzystując IEEE 802.15.4, Thread dziedziczy zestaw potężnych i dobrze dopasowanych cech dla energooszczędnych urządzeń IoT:

  • Działanie w Nielicencjonowanym Paśmie 2.4 GHz: Działa w globalnie dostępnym, nielicencjonowanym paśmie ISM 2.4 GHz. Zapewnia to, że urządzenie Thread może działać w dowolnym miejscu na świecie bez skomplikowanych przeszkód regulacyjnych. Jest to to samo pasmo, co używane przez Wi-Fi i Bluetooth, a Thread jest zaprojektowany do efektywnego współistnienia z nimi.
  • Solidna Modulacja: Standard używa modulacji DSSS (Direct Sequence Spread Spectrum), która rozprasza sygnał na szersze pasmo częstotliwości. Ta technika czyni transmisje z natury odpornymi na zakłócenia wąskopasmowe, co jest częstym problemem w zatłoczonej przestrzeni 2.4 GHz.
  • Zoptymalizowana Szybkość Transmisji: Radio IEEE 802.15.4 zapewnia szybkość transmisji 250 kilobitów na sekundę (kbps). Chociaż może się to wydawać powolne w porównaniu z megabitami lub gigabitami na sekundę Wi-Fi, jest to idealnie zoptymalizowane dla typowego przypadku użycia IoT. Inteligentne urządzenia zazwyczaj wysyłają bardzo małe pakiety danych, odczyt czujnika, aktualizację statusu, polecenie włączenia/wyłączenia. Szybkość 250 kbps jest w zupełności wystarczająca do obsługi tego ruchu z bardzo niskim opóźnieniem, zużywając przy tym znacznie mniej energii niż radia o wyższej prędkości.

Kluczowa innowacja Thread nie leży w samym radiu, ale w warstwach zbudowanych bezpośrednio nad nim. Podczas gdy Zigbee zbudowało własne, zastrzeżone warstwy sieciowe i aplikacyjne, Thread poszło inną drogą, decydując się na integrację uniwersalnego języka internetu bezpośrednio na tym niskim poziomie.

Prawdziwa Innowacja: Natywne IPv6 dzięki 6LoWPAN

Najważniejszą i przełomową cechą Thread jest jego natywne wsparcie dla Protokołu Internetowego. W szczególności, używa on IPv6, najnowszej wersji protokołu, która rządzi adresowaniem i routingiem w internecie. Oznacza to, że każde pojedyncze urządzenie w sieci Thread, aż do najprostszej żarówki czy czujnika ruchu, ma swój własny, unikalny adres IPv6 i można się z nim komunikować bezpośrednio, tak jak ze stroną internetową w globalnym internecie.

Wyzwanie: Zmieścić Słonia w Skrzynce na Listy

Wdrożenie IPv6 na małych, energooszczędnych urządzeniach stanowi znaczące wyzwanie techniczne. Standardowy pakiet IPv6 ma duży nagłówek zawierający informacje o routingu i sterowaniu. Maksymalny rozmiar pakietu, który może być wysłany przez bazowe radio IEEE 802.15.4, jest jednak bardzo mały, zaledwie 127 bajtów. Próba wysłania standardowego pakietu IPv6 przez radio 802.15.4 byłaby niezwykle nieefektywna, ponieważ same informacje nagłówkowe mogłyby zająć ogromną część dostępnego ładunku.

Rozwiązanie: 6LoWPAN, Uniwersalny Tłumacz

Thread rozwiązuje ten problem za pomocą warstwy adaptacyjnej zwanej . 6LoWPAN działa jako inteligentna warstwa tłumaczenia i kompresji, która znajduje się między warstwą IP a warstwą MAC 802.15.4. Pełni ona dwie kluczowe funkcje:

  • Kompresja Nagłówków: 6LoWPAN rozumie strukturę nagłówków IPv6 i wie, że wiele informacji w nich zawartych jest statycznych lub można je wywnioskować z innych warstw w sieci lokalnej. Inteligentnie usuwa te nadmiarowe informacje i kompresuje ogromny, 40-bajtowy nagłówek IPv6 do zaledwie kilku bajtów.
  • Fragmentacja i Reasemblacja: Dla pakietów IPv6, które nawet po kompresji są wciąż za duże, aby zmieścić się w pojedynczej ramce 802.15.4, 6LoWPAN automatycznie dzieli pakiet na mniejsze fragmenty. Dodaje do tych fragmentów informacje o sekwencji, aby urządzenie odbiorcze mogło niezawodnie złożyć je z powrotem w oryginalny, kompletny pakiet IPv6.

Dzięki 6LoWPAN, urządzenia Thread mogą płynnie uczestniczyć w komunikacji opartej na IP bez typowego narzutu, osiągając cel bezpośredniej, końcowej adresowalności dla każdego urządzenia w sieci.

Odporna Architektura: Role i Samonaprawianie

Sieć Thread jest zaprojektowana jako zdecentralizowana i odporna, eliminując pojedyncze punkty awarii. Osiąga się to poprzez elastyczną architekturę, w której urządzenia mogą w razie potrzeby przyjmować różne role.

Routery i Urządzenia Końcowe Zdolne do Routingu (REED)

Są to zasilane z sieci węzły, takie jak inteligentne gniazdka, termostaty podłączone do zasilania HVAC czy oprawy oświetleniowe. Są zawsze włączone i aktywnie uczestniczą w sieci mesh, przekazując pakiety dla innych urządzeń. Sieć Thread może obsługiwać do 64 routerów. Urządzenie, które mogłoby być routerem, ale obecnie nie jest to potrzebne, może działać jako REED.

Uśpione Urządzenia Końcowe (SED)

Są to urządzenia zasilane bateryjnie. Aby oszczędzać energię, nie przekazują pakietów. Łączą się z wybranym routerem "Rodzicem". SED może spędzać większość czasu w głębokim uśpieniu, budząc się tylko w celu wysłania danych lub odpytania swojego Rodzica o ewentualne oczekujące wiadomości.

Lider

W przeciwieństwie do pojedynczego Koordynatora w Zigbee, sieć Thread nie ma jednego, krytycznego urządzenia. Pierwszy router, który uruchomi sieć, staje się "Liderem". Jego rola jest czysto administracyjna, zarządza przydziałami routerów i parametrami sieci. Jeśli Lider ulegnie awarii, inny router w sieci jest automatycznie wybierany, aby zająć jego miejsce, bez przerwy w ruchu danych.

Routery Graniczne

to kluczowe ogniwo, które łączy sieć mesh Thread z innymi sieciami IP, takimi jak Wi-Fi i Ethernet. Obsługuje przekazywanie pakietów między tymi dwiema sieciami. Dom może mieć wiele Routerów Granicznych dla redundancji; jeśli jeden ulegnie awarii, inny może płynnie przejąć jego funkcje. Inteligentne głośniki, takie jak Apple HomePod Mini czy Google Nest Hub, często mają tę funkcjonalność wbudowaną.

Samonaprawiająca się Siatka

Routing w Thread jest dynamiczny. Routery w sieci stale utrzymują obraz najlepszych ścieżek do swoich sąsiadów, używając protokołu opartego na RPL (Routing Protocol for Low-Power and Lossy Networks). Jeśli router ulegnie awarii lub ścieżka komunikacji zostanie zablokowana, inne routery automatycznie wykrywają zmianę. Aktualizują swoje tablice routingu i ustanawiają nowe, alternatywne ścieżki wokół awarii. Ta zdolność samonaprawiania czyni sieć niezwykle solidną i niezawodną, co jest kluczowe dla inteligentnego domu.

Thread i Matter: Symbiotyczna Relacja

Często dochodzi do nieporozumień między Thread a Matter, ale ich role są odrębne i uzupełniające się. Działają na różnych warstwach stosu sieciowego i zostały zaprojektowane do doskonałej współpracy.

Można to wyjaśnić prostą analogią:

  • Thread to Usługa Pocztowa: Zadaniem Thread jest stworzenie niezawodnego i wydajnego systemu dostarczania. Znajduje najlepsze trasy, obsługuje fizyczny transport listów (pakietów) i zapewnia, że dotrą one z dowolnego adresu (adresu IP) na dowolny inny adres. Thread nie interesuje się tym, co jest napisane w listach.
  • Matter to Język Listów: Zadaniem Matter jest zdefiniowanie tego, co jest napisane w tych listach, tak aby każdy mógł to zrozumieć. Standaryzuje format, zapewniając, że wiadomość "Włącz" napisana przez niemiecki włącznik jest doskonale zrozumiała dla amerykańskiej żarówki. Jest to uniwersalny język aplikacji, który działa na systemie dostarczania.

Matter wybrał Thread jako jeden ze swoich głównych transportów sieciowych dla urządzeń małej mocy właśnie ze względu na jego natywną podstawę IP. Ponieważ oba mówią w języku IP, komunikacja między urządzeniem Matter na Wi-Fi a urządzeniem Matter na Thread jest płynna i bezpośrednia. Router Graniczny Thread działa jak prosty router IP, przekazując pakiety między dwiema sieciami bez żadnego złożonego i powolnego tłumaczenia na poziomie aplikacji. Ta synergia umożliwia zunifikowane, szybkie i niezawodne doświadczenie inteligentnego domu, które obiecuje Matter.

Urządzenie w tym nowym ekosystemie jest zatem często certyfikowane podwójnie. Jest to urządzenie "certyfikowane przez Thread", ponieważ ma odpowiednie radio i stos sieciowy do dołączenia do sieci mesh Thread. Jest to również urządzenie "certyfikowane przez Matter", ponieważ rozumie wspólny język aplikacji potrzebny do interakcji z szerszym ekosystemem inteligentnego domu.