Wykrywanie urządzeń, które można zarejestrować
Wykrywanie urządzeń, które można zarejestrować, odbywa się przed rejestracją i polega na wykryciu oraz zidentyfikowaniu węzła, który można zarejestrować. Węzeł, który można zarejestrować, może się reklamować na 3 sposoby:
- Bluetooth Low Energy (BLE)
- Wi-Fi Soft AP
- DNS-SD w sieci IP, znane też jako istniejąca sieć IP
W obu przypadkach węzeł, który można zarejestrować, reklamuje informacje zgodnie z tabelą 1.
| Pole | Długość | Wymagane |
|---|---|---|
| Wyróżnik | 12 bitów | Tak |
| Identyfikator dostawcy | 16 bitów | Nie |
| Identyfikator produktu | 16 bitów | Nie |
| Rozszerzone dane | zmienna | Nie |
Zgodnie ze specyfikacją Matter identyfikator dostawcy i identyfikator produktu nie są wymagane, ale można je uwzględnić. Wyróżnik jest obowiązkowy i ma kluczowe znaczenie podczas procesu rejestracji, ponieważ umożliwia zarejestrowanie prawidłowego urządzenia w przypadku, gdy jednocześnie połączonych jest kilka identycznych urządzeń. Rozszerzone dane mogą służyć do kodowania niestandardowych informacji specyficznych dla dostawcy.
Wiele urządzeń będzie się reklamować przez krótki czas (ok. 3–15 minut) po włączeniu. Inne urządzenia nie mogą rozpocząć rozgłaszania, ponieważ ich podstawowe sterowanie nie pochodzi z sieci lub automatyczne rozgłaszanie urządzeń, które nie zostały zarejestrowane, takich jak zamki, nie jest bezpieczne. Tabela 2 podsumowuje to zachowanie.
| Podstawowa funkcja urządzenia | Automatyczne ogłoszenie |
|---|---|
| Urządzenia do otwierania zamków i barier | Nie |
| Większość sterowania pochodzi z sieci. Na przykład przełącznik lub żarówka. | Tak |
| Większość sterowania nie pochodzi z sieci. Na przykład zmywarka lub lodówka. | Nie |
Bluetooth Low Energy
W tym trybie reklamowania rejestrator będzie widzieć reklamy BLE. Rejestrowany musi zaimplementować interfejs peryferyjny Generic Access Profile (GAP) i okresowo reklamować swój stan niezarejestrowany. Przez pierwsze 30 sekund po włączeniu urządzenia częstotliwość reklamowania musi być wysoka – od 20 do 60 milisekund.
Po 30 sekundach urządzenie musi się reklamować z niską częstotliwością – od 150 do 1500 milisekund. Po zarejestrowaniu w pierwszej sieci urządzenie musi zatrzymać reklamowanie BLE.
Rejestrator nie musi wysyłać próśb o skanowanie. Powinien przeprowadzić pasywne skanowanie na 3 kanałach reklamowych BLE: 37 (2402 MHz), 38 (2426 MHz) i 39 (2480 MHz). Te kanały są wybierane z regionów widma z minimalnym nakładaniem się na kanały Wi-Fi, co minimalizuje zakłócenia między radiami.
BLE nie jest używane do wykrywania operacyjnego.
Wi-Fi Soft AP
W przypadku korzystania z Wi-Fi Soft AP rejestrowany zostanie wykryty za pomocą sieci soft access point (soft AP). Identyfikator SSID sieci (nazwa sieci) ma format MATTER-ddd-vvvv-pppp, gdzie:
- ddd to 12-bitowy wyróżnik w formacie szesnastkowym.
- vvvv to 16-bitowy identyfikator dostawcy w formacie szesnastkowym.
- pppp to 16-bitowy identyfikator produktu w formacie szesnastkowym.
Gdy rejestrator połączy się z rejestrowanym, oba urządzenia skonfigurują unikalne adresy IPv6 link-local, co umożliwi połączenie na poziomie Wi-Fi. W tym momencie wykrywanie jest kontynuowane tak samo jak w przypadku metody DNS-SD opisanej w następnej sekcji.
Ponadto Wi-Fi Soft AP może implementować DHCP dla IPv4 i Information Element (IE), aby udostępniać dodatkowe informacje specyficzne dla dostawcy. IE to pole o zmiennej długości w ramkach zarządzania 802.11 (Wi-Fi), które umożliwia przesyłanie niestandardowych informacji do innych systemów.
Podczas skanowania przez rejestratora należy preferować kanały Wi-Fi 1, 6 i 11, ale należy skanować wszystkie kanały dozwolone przez lokalne przepisy dotyczące widma.
Wi-Fi Soft AP nie jest używane do wykrywania operacyjnego.
DNS-SD
W tym przypadku rejestrowany zostanie wykryty przez rozgłaszanie domain name service – wykrywanie usług (DNS-SD) , które zawierają informacje o usługach świadczonych przez węzły. Więcej informacji o DNS-SD znajdziesz w RFC 6762. Jest to powszechna metoda wykrywania urządzeń, gdy:
- rejestrowany jest połączony z Ethernetem i ma fizyczny dostęp do niezaszyfrowanego medium sieciowego;
- rejestrowany dołączył do sieci Wi-Fi lub Thread sieci za pomocą dowolnego sposobu poza pasmem;
- rejestrowany został już zarejestrowany w innej sieci i dołączył do sieci Wi-Fi/Thread network. W tym przypadku rejestrowany nie może używać reklam BLE ani tworzyć Soft AP. Dlatego wszystkie sieci dodatkowe są udostępniane za pomocą tej metody.
Thread urządzenia nie używają bezpośrednio DNS-SD, ale korzystają z metody proxy udostępnianej przez Thread Border Router (TBR). Ta metoda jest zdefiniowana przez protokół rejestracji usługi DNS-SD i jej serwer proxy rozgłaszania. Urządzenia Thread rejestrują się w usłudze SRP zwykle udostępnianej przez TBR. Ta usługa obsługuje ruch mDNS w imieniu każdego zarejestrowanego Thread węzła, nie obciążając Thread sieci dodatkowym ruchem generowanym przez te protokoły.
Nazwa instancji DNS-SD do wykrywania urządzeń to _matterc._udp, a nazwy hostów są tworzone na podstawie 48-bitowego adresu MAC lub 64-bitowego rozszerzonego adresu MAC, wyrażonego jako ciąg szesnastkowy, np. A5F15790B0D15F32.local..
Zwykle ten rekord jest reklamowany tylko wtedy, gdy rejestrowany może zostać zarejestrowany. Może jednak nadal się reklamować, gdy nie jest w trybie rejestracji. Takie zachowanie nazywa się rozszerzonym wykrywaniem.
Po wykryciu adresy IPv6 są zwracane w rekordach AAAA, a pary klucz-wartość są zwracane w rekordzie DNS-SD TXT. Para klucz-wartość zawiera informacje takie jak wyróżnik, identyfikator dostawcy i identyfikator produktu. Węzeł reklamuje też podtypy rejestracji, co umożliwia filtrowanie wyników, aby znaleźć tylko rejestrowanych, którzy pasują do określonego atrybutu.
Wykrywanie operacyjne
Wykrywanie operacyjne to proces wykrywania i identyfikowania zarejestrowanego węzła. Wykrywanie operacyjne odbywa się tylko za pomocą metody DNS-SD opartej na IP. Nazwa instancji węzła będzie się składać z 64-bitowego skompresowanego identyfikatora sieci i 64-bitowego identyfikatora węzła. Te identyfikatory w formacie szesnastkowym są następnie łączone z łącznikiem, np. 2906C908D115D362-8FC7772401CD0696.local..
Wykrywanie operacyjne ma taką samą nazwę hosta docelowego jak wykrywanie urządzeń DNS-SD.
Typ usługi DNS-SD to _matter._tcp. Chociaż używana jest nazwa _tcp, urządzenie może używać innych transportów, np. UDP.