Wątek i IPv6

Matter używa protokołu IPv6 do komunikacji operacyjnej oraz wykorzystuje adresowanie IPv6 Unicast i Multicast do uzyskiwania dostępu odpowiednio do węzłów i grup.

Niski poziom naładowania

Niektóre węzły Matter są połączone przewodowo i mają budżety energetyczne, które pozwalają im na ciągłe działanie. Inne typy węzłów, takie jak czujniki, muszą działać przez wiele lat na baterii, a ich radia muszą działać w sieciach o niskim poborze mocy, takich jak Thread. Architektura proxy wraz z Threadurządzeniami końcowymi w trybie uśpienia umożliwia węzłom o pełnej mocy zapewnianie funkcji zarówno na poziomie sieci, jak i aplikacji, które izolują ich węzły podrzędne od energochłonnych transakcji.

Podstawowym aspektem Matter jest to, że działa zarówno w sieciach o wysokiej przepustowości, takich jak Wi-Fi i Ethernet, jak i w sieciach o niskich opóźnieniach i niskiej przepustowości, takich jak Thread. Gdyby wszystkie pakiety Multicast z Wi-Fi były mostkowane do Thread, sieć byłaby przeciążona i mogłaby zostać zalana. Celem Thread jest umożliwienie korzystania z IPv6 w sieciach typu mesh o niskim poborze mocy i małych opóźnieniach, a nie przesyłanie danych o wysokiej przepustowości. Chociaż pingi ICMPv6 urządzenia Thread w sieci lokalnej zwykle mają czas RTT poniżej kilkudziesięciu milisekund, jego całkowita przepustowość jest ograniczona do 250 kb/s w warstwie fizycznej IEEE 802.15.4. Z uwzględnieniem retransmisji pakietów i narzutu typowa maksymalna przepustowość wynosi około 125 kb/s. Innymi słowy, o kilka rzędów wielkości mniej niż Wi-Fi.

Ramki w warstwie fizycznej IEEE 802.15.4 mają 127 bajtów, ale największa (i typowa) maksymalna jednostka przesyłania (MTU) pakietów IPv6 w Thread to 1280 bajtów. Dlatego pakiety IPv6 często muszą być dzielone na kilka ramek PHY. Ten proces jest zdefiniowany w dokumencie RFC4944.

Więcej informacji znajdziesz w sekcji Adresowanie IPv6 w Threadpodstawowym wprowadzeniu na stronie openthread.io.

Routery graniczne

Jak więc węzły mogą współistnieć na obu nośnikach transportowych w tej samej sieci? Chociaż obie sieci korzystają z tych samych danych logowania Matter na poziomie aplikacji, nie używają tej samej technologii połączenia. W tym scenariuszu sieć potrzebuje Thread Border Router (TBR), aby umożliwić połączenie. Routery graniczne to routery IPv6 typu stub.

Routery szczątkowe umożliwiają połączenie między sieciami szczątkowymi a sieciami zwykłymi. Sieć szczątkowa to sieć „ostatniej mili”, która zapewnia połączenia zewnętrzne swoim członkom, ale nie służy jako ścieżka sieci tranzytowej między innymi sieciami. Zwykle sieci szczątkowe Matter są oparte na Thread. Więcej informacji o sieciach szczątkowych znajdziesz w projekcie RFC.

Routery graniczne odpowiadają więc za połączenie między siecią Stub a sąsiednią siecią infrastruktury, czyli lokalną siecią Wi-Fi lub Ethernet. Przekazują tylko pakiety, które są istotne dla sieci Thread.

W tym celu do sieci Thread i sąsiednich sieci infrastruktury przypisywane są różne prefiksy IPv6. Dlatego BR przekazuje tylko komunikaty unicast do lub z prefiksu IPv6 Thread.

Routery graniczne odpowiadają też za:

  • automatycznie konfiguruje prefiksy i trasy IPv6 zarówno dla sieci Thread, jak i sąsiednich sieci infrastruktury, dzięki czemu hosty po obu stronach TBR mogą się ze sobą komunikować.
  • publikowanie pakietów wykrywania mDNS DNS-SD w imieniu węzłów Thread, aby można je było wykryć w sąsiedniej sieci infrastruktury.

Więcej informacji znajdziesz w przewodniku po OpenThread Border Router (OTBR).

Multicast IPv6

Wiadomości grupowe są również ważne, ponieważ umożliwiają jednoczesne sterowanie kilkoma węzłami Matter za pomocą Multicast. Aby kierować ten ruch do sieci Thread, zarówno Matter, jak i Thread implementują Unicastschemat adresowania IPv6 oparty na prefiksach Multicast zdefiniowany w RFC 3306.

Ta metoda umożliwia wybór węzłów docelowych pakietu Multicast na podstawie ich wspólnego prefiksu IPv6 Unicast.

Na przykład adres Matter Multicast może wyglądać tak:

FF35:0040:FD<Fabric ID>00:<Group ID>

Tabela 1 zawiera szczegółowe informacje o tym, jak jest tworzony ten adres:

Tabela 1. Adresy IPv6 oparte na prefiksach Unicast
Bits Opis
12 bitów 0xFF3
4 bity 0x05

Zakres: lokalny dla witryny

8 bitów 0x00

zarezerwowane

8 bitów 0x40

Wskazuje prefiks o długości 64 bitów.

8 bitów 0xFD

Wyznacza prefiks ULA

56 bitów Identyfikator sieci
8 bitów 0x00
16 bitów, Identyfikator grupy

Więcej informacji znajdziesz w sekcji Multicast dokumentu Thread Primer oraz w samym dokumencie RFC.

Podczas tworzenia adresów IPv6 Multicast uwzględniane są też górne 56 bitów identyfikatora sieci Fabric. Ważną konsekwencją jest to, że zakres Multicast znajduje się w sieci Fabric, a adresy Unicast są udostępniane między sieciami Fabric. Węzły z wieloma sieciami szkieletowymi mogą mieć kilka adresów Multicast definiujących nakładające się grupy węzłów w zakresie każdej sieci szkieletowej.

Porty

Matter używa portu 5540 do multiemisji.