Usługa Matter korzysta z IPv6 do komunikacji operacyjnej i wykorzystuje adresowanie IPv6 Unicast i Multicast do uzyskiwania dostępu odpowiednio do węzłów i grup.
Niski poziom energii
Niektóre węzły Matter są połączone przewodowo i mają budżety energetyczne, które umożliwiają im ciągłe działanie. Inne typy węzłów, takie jak czujniki, muszą działać przez wiele lat na baterii, obsługując radio w sieciach o małej mocy, takich jak Thread. Architektura serwera proxy wraz z Threadurządzeniami Sleepy End umożliwia węzłom z pełną mocą zapewnianie funkcji zarówno na poziomie sieci, jak i aplikacji, co chroni ich węzły podrzędne przed energochłonnymi transakcjami.
Podstawową zaletą Matter jest to, że działa zarówno w przypadku mediów sieciowych o dużej przepustowości, takich jak Wi-Fi i Ethernet, jak i w przypadku mediów o małej opóźnieniu i małej przepustowości, takich jak Thread. Jeśli wszystkie pakiety Multicast z Wi-Fi byłyby przekierowywane do Thread, przeciążyłoby to sieć i możliwe, że doprowadziłoby do jej przeciążenia. Celem Thread jest umożliwienie korzystania z IPv6 w sieci mesh o niskim poborze mocy i małym opóźnieniu, a nie do przesyłania danych z dużą przepustowością. Chociaż pingi Thread w sieci lokalnej mają zazwyczaj RTT poniżej kilkudziesięciu milisekund, łączna przepustowość jest ograniczona do 250 kbps w interfejsie PHY IEEE 802.15.4. Z uwzględnieniem retransmisji pakietów i nadmiarowych danych typowa maksymalna przepustowość wynosi około 125 kb/s. Innymi słowy, jest to znacznie mniej niż w przypadku Wi-Fi.
Ramki w interfejsie PHY IEEE 802.15.4 mają rozmiar 127 bajtów, ale największa (i typowa) maksymalna jednostka przesyłania (MTU) pakietów IPv6 w Threadto 1280 bajtów. Dlatego pakiety IPv6 często trzeba dzielić na kilka ramek PHY. Ten proces jest zdefiniowany w RFC4944.
Więcej informacji znajdziesz w adresowaniu IPv6 w Thread Primer na stronie openthread.io.
Routery graniczne
Jak węzły mogą współistnieć w obu środkach transportu, będąc w tej samej sieci? Chociaż obie sieci korzystają z tych samych danych logowania na poziomie aplikacji (Matter), nie używają tej samej technologii łączenia. W tym scenariuszu sieć potrzebuje Thread routera brzegowego (BR), aby umożliwić połączenie. BR to węzły pośredniczące IPv6.
Routery zastępcze umożliwiają łączenie sieci zastępczych z zwykłymi sieciami. Sieć pomocnicza to sieć „ostatniej mili”, która zapewnia łączność zewnętrzną dla swoich członków, ale nie służy jako ścieżka sieci tranzytowej między innymi sieciami. Zazwyczaj Matter sieci stub są oparte na Thread. Więcej informacji o sieciach stubs znajdziesz w projektie RFC.
Dlatego BR są odpowiedzialne za łączenie sieci stubs z sąsiednią siecią infrastruktury, czyli lokalną siecią Wi-Fi lub Ethernet. Przekierowują tylko pakiety, które są istotne dla sieci Thread.
Proces ten polega na przypisaniu różnych prefiksów IPv6 do Thread i sąsiadujących sieci infrastruktury. W związku z tym BR przekierowuje tylko unicasty do lub z prefiksu IPv6 Thread.
Routery graniczne są też odpowiedzialne za:
- automatycznie konfigurować prefiksy i trasy IPv6 zarówno w sieci Thread, jak i w sąsiednich sieciach infrastruktury, aby hosty po obu stronach routera brzegowego Thread mogły się 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 Border Router na stronie openthread.io.
Multicast IPv6
Grupy wiadomości są również ważne, ponieważ umożliwiają jednoczesną kontrolę nad wieloma węzłami Matter za pomocą Multicast. Aby kierować ten ruch do sieci Thread, zarówno Matter, jak i Thread muszą stosować Unicast schemat adresowania IPv6 Multicast zdefiniowany w dokumencie RFC 3306.
Ta metoda umożliwia wybór węzłów docelowych pakietuMulticast na podstawie ich wspólnego prefiksu IPv6Unicast.
Adres Matter Multicast może wyglądać tak:
FF35:0040:FD<Fabric ID>00:<Group ID>
Tabela 1 przedstawia sposób tworzenia tego adresu:
Bity | Opis |
12 bitów | 0xFF3 |
4 bity | 0x05
Zakres: lokalny na stronie |
8 bitów | 0x00
zarezerwowane |
8 bitów | 0x40
Wskazuje 64-bitowy prefiks |
8 bitów | 0xFD
Określa prefiks ULA. |
56 bitów | Identyfikator materiału |
8-bitowy | 0x00 |
16-bitowy | Identyfikator grupy |
Więcej informacji znajdziesz w sekcji Multicast w Thread Primer oraz w samym dokumencie RFC.
Gdy tworzone są adresy IPv6 Multicast, zawierają one też 56 górnych bitów identyfikatora Fabric. Ważne jest to, że zakres adresów Multicast jest ograniczony do Fabric, podczas gdy adresy Unicast są wspólne dla wszystkich Fabric. Węzły z wieloma sieciami mogą mieć wiele adresów Multicast definiujących nakładające się grupy węzłów w ramach każdej sieci.
Porty
Matter używa portu 5540 do transmisji Multicast.