Odkrywanie objęte prowizją
Wykrywanie z możliwością uruchomienia ma miejsce przed uruchomieniem i odnosi się do procesu wykrywania i identyfikowania węzła, który można uruchomić. Węzeł z możliwością prowizji może się reklamować na 3 sposoby:
- Bluetooth Low Energy (BLE)
- Punkt dostępu Wi-Fi
- DNS-SD w sieci IP, czyli w istniejącej sieci IP.
W obu przypadkach węzeł, który można dodać, rozgłasza informacje, jak pokazano w tabeli 1.
| Pole | Długość | Wymagane |
|---|---|---|
| Wyróżnik | 12-bitowa | Tak |
| Identyfikator dostawcy | 16-bitowa | Nie |
| Identyfikator produktu | 16-bitowa | Nie |
| Rozszerzone dane | zmienna | Nie |
Zgodnie ze specyfikacją Matter identyfikator dostawcy i identyfikator produktu nie są wymagane, ale można je podać. Dyskryminator jest obowiązkowy i ma kluczowe znaczenie podczas procesu udostępniania, ponieważ pozwala udostępnić właściwe urządzenie, gdy jednocześnie jest podłączonych kilka identycznych urządzeń. Dane rozszerzone mogą służyć do kodowania niestandardowych informacji dostawcy.
Wiele urządzeń będzie rozgłaszać informacje przez krótki czas (około 3–15 minut) po włączeniu. Inne urządzenia nie mogą rozpoczynać rozgłaszania, ponieważ ich główny element sterujący nie pochodzi z sieci Fabric lub automatyczne rozgłaszanie nieobsługiwanych urządzeń, takich jak zamki, nie jest bezpieczne. To zachowanie podsumowuje tabela 2.
| Główna funkcja urządzenia | Automatyczne ogłoszenie |
|---|---|
| Urządzenia do otwierania zamków i barier | Nie |
| Większość elementów sterujących pochodzi z Fabric. Na przykład przełącznik lub żarówka. | Tak |
| Większość elementów sterujących nie pochodzi z Fabric. Na przykład zmywarka lub lodówka. | Nie |
Bluetooth Low Energy
W tym trybie komisarz będzie widzieć reklamy BLE. Zleceniobiorca musi wdrożyć interfejs urządzenia peryferyjnego Generic Access Profile (GAP) i okresowo rozgłaszać swój stan nieobjęty zleceniem. Przez pierwsze 30 sekund po włączeniu urządzenia częstotliwość rozgłaszania musi być wysoka, z interwałami od 20 do 60 milisekund.
Po 30 sekundach urządzenie musi rozgłaszać z niską częstotliwością, w odstępach od 150 do 1500 milisekund. Po dodaniu do pierwszej sieci urządzenie musi przestać rozgłaszać BLE.
Komisarz nie musi wysyłać próśb o skanowanie. Powinno ono 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 w widmie, które minimalnie pokrywają się z kanałami Wi-Fi, co minimalizuje zakłócenia między urządzeniami radiowymi.
BLE nie jest używany do wykrywania operacyjnego.
Punkt dostępu Wi-Fi (Soft AP)
W przypadku korzystania z programowego punktu dostępu Wi-Fi urządzenie, które ma zostać dodane, zostanie wykryte przez sieć ad-hoc programowego punktu dostępu. Identyfikator SSID sieci (nazwa sieci) ma format MATTER-ddd-vvvv-pppp, gdzie:
- ddd to 12-bitowy dyskryminator w formacie szesnastkowym.
- vvvv to 16-bitowy identyfikator dostawcy w formacie szesnastkowym.
- pppp to 16-bitowy identyfikator produktu w formacie szesnastkowym.
Za każdym razem, gdy komisarz łączy się z komisariuszem, oba urządzenia konfigurują unikalne adresy IPv6 link-local, umożliwiając połączenie w warstwie Wi-Fi. W tym momencie wykrywanie jest kontynuowane tak samo jak w przypadku metody DNS-SD opisanej w następnej sekcji.
Ponadto programowy punkt dostępu Wi-Fi może implementować DHCP dla IPv4 i element informacji (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 komisarza należy preferować kanały Wi-Fi 1, 6 i 11, ale należy przeskanować wszystkie kanały dozwolone przez lokalne przepisy dotyczące widma.
Punkt dostępu Wi-Fi nie jest używany do wykrywania operacyjnego.
DNS-SD
W tym przypadku urządzenie do uruchomienia zostanie wykryte przez reklamy wykrywania usług DNS (DNS-SD), które zawierają informacje o usługach świadczonych przez węzły. Więcej informacji o DNS-SD znajdziesz w dokumencie RFC 6762. Jest to powszechna metoda wykrywania urządzeń, gdy:
- Zleceniobiorca jest połączony z siecią Ethernet, dzięki czemu ma fizyczny dostęp do niezaszyfrowanego medium sieciowego.
- Urządzenie, któremu przyznano dostęp, połączyło się z siecią Wi-Fi lub Thread za pomocą dowolnego środka poza pasmem.
- Urządzenie zostało już powiązane z inną siecią Fabric i dołączyło do sieci Wi-Fi/Thread. W takim przypadku zleceniobiorca nie może używać rozgłaszania BLE ani tworzyć programowego punktu dostępu. W ten sposób wszystkie dodatkowe sieci szkieletowe są udostępniane za pomocą tej metody.
Urządzenia Thread nie korzystają bezpośrednio z DNS-SD, ale używają metody proxy udostępnianej przez Thread Border Router (TBR). Ta metoda jest zdefiniowana przez protokół rejestracji usługi DNS-SD i jego serwer proxy do rozgłaszania. Urządzenia Thread rejestrują się w usłudze SRP, którą zwykle udostępnia TBR. Ta usługa obsługuje ruch mDNS w imieniu każdego zarejestrowanego węzła Thread bez obciążania sieci Thread dodatkowym ruchem generowanym przez te protokoły.
Nazwa instancji DNS-SD na potrzeby 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 rozgłaszany tylko wtedy, gdy zleceniobiorca może zostać zlecony. Może jednak kontynuować rozgłaszanie, gdy nie jest w trybie uruchamiania. Takie działanie nazywa się rozszerzonym wykrywaniem.
Po wykryciu adresy IPv6 są zwracane w rekordach AAAA, a pary klucz-wartość – w rekordzie TXT DNS-SD. Para klucz-wartość zawiera informacje takie jak dyskryminator, identyfikator dostawcy i identyfikator produktu. Węzeł rozgłasza też podtypy uruchamiania, co umożliwia filtrowanie wyników w celu znalezienia tylko tych urządzeń, które pasują do określonego atrybutu.
Wykrywanie operacyjne
Wykrywanie operacyjne to proces wykrywania i identyfikowania uruchomionego węzła. Wykrywanie operacyjne odbywa się tylko za pomocą metody DNS-SD opartej na adresie IP. Nazwa instancji węzła będzie się składać ze skompresowanego 64-bitowego identyfikatora Fabric i 64-bitowego identyfikatora węzła. Te identyfikatory w formacie szesnastkowym są następnie łączone za pomocą łącznika, np. 2906C908D115D362-8FC7772401CD0696.local..
Wykrywanie operacyjne korzysta z tej samej nazwy hosta docelowego co 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, takich jak UDP.