Adresowanie IPv6

Wyświetl źródło w GitHub

Przyjrzyjmy się, jak Wątek identyfikuje poszczególne urządzenia w sieci i jakie typy adresów komunikują się ze sobą.

Zakresy

Lunety OT

Sieć unicastingu ma 3 zakresy:

  • Link-Local – wszystkie interfejsy dostępne w ramach pojedynczej transmisji radiowej
  • Mesh-Local – wszystkie interfejsy są dostępne w tej samej sieci wątków.
  • Globalny – wszystkie interfejsy dostępne spoza sieci wątków

Pierwsze 2 zakresy odpowiadają prefiksom wyznaczonym przez sieć wątków. Link-Local ma prefiksy fe80::/16, a Mesh-Local – prefiksy fd00::/8.

Unicast

Istnieje 1 adres unicastowy IPv6 identyfikujący 1 urządzenie z wątkiem. Każda z nich ma własną funkcję zależną od zakresu i przypadku użycia.

Zanim omówimy każdy z nich, musimy dowiedzieć się więcej o popularnym z nich, czyli Routing Locator (RLOC). RLOC identyfikuje interfejs wątku na podstawie jego topologii sieci.

Jak jest generowany lokalizator tras

Wszystkie urządzenia mają przypisany identyfikator routera i identyfikator podrzędny. Każdy router przechowuje tabelę wszystkich jego elementów podrzędnych, co w sposób unikalny identyfikuje urządzenie w topologii. Rozważ to na przykład zaznaczone węzły w następującej topologii, gdzie numer routera (pentagon) to identyfikator routera, a liczba w urządzeniu końcowym (koło) to identyfikator podrzędny:

OT. topologia RLOC

Identyfikator routera każdego dziecka odpowiada jego rodzicowi (trasie). Router nie jest urządzeniem podrzędnym, dlatego identyfikator podrzędny jest zawsze równy 0. Razem te wartości są unikalne dla każdego urządzenia w sieci wątków i służą do utworzenia RLOC16, który reprezentuje ostatnie 16 bitów RLOC.

Na przykład w ten sposób obliczana jest wartość RLOC16 dla węzła w lewym górnym rogu (Identyfikator trasy = 1 i Identyfikator podrzędny = 1):

Dot RLOC16

RLOC16 to część identyfikatora interfejsu (IID), która odpowiada ostatnim 64 bitom adresu IPv6. Niektóre identyfikatory IID mogą służyć do identyfikowania niektórych typów interfejsów wątków. Na przykład identyfikator IID dla RLOC ma zawsze taką postać:

0000:00ff:fe00:RLOC16

Identyfikator IID w połączeniu z prefiksem Mesh-Local prowadzi do indeksu RLOC. Na przykład użycie prefiksu mesh-local fde5:8dba:82e1:1::/64 w wierszu RLOC dla węzła, w którym RLOC16 = 0x401 to:

Dogr. LOK

W ten sam sposób można określić RLOC dla wszystkich wyróżnionych węzłów w przykładowej topologii powyżej:

OT Topologia z adresem

Ponieważ jednak ustawienie RLOC opiera się na lokalizacji węzła w topologii, jego wartość może się zmieniać wraz ze zmianą topologii.

Może być na przykład usunięty węzeł z sieci wątków. 0x400 Węzły 0x401 i 0x402 ustanawiają nowe linki do różnych routerów, przez co każdy z nich ma nowe numery RLOC16 i RLOC:

OT Topologia po zmianie

Typy adresów Unicast

RLOC to tylko jeden z wielu adresów unicastów IPv6, jakie może mieć urządzenie Thread. Inna kategoria adresów to identyfikatory punktów końcowych, które identyfikują unikalny interfejs wątków w partycji sieci wątku. Identyfikatory EID są niezależne od topologii sieci.

Poniżej znajdziesz popularne typy Unicastów.

Numer EID identyfikujący interfejs wątków, do którego można uzyskać dostęp za pomocą pojedynczej transmisji radiowej.
Przykładfe80::54db:881c:3845:57f4
IdentyfikatorNa podstawie 802.15.4 Rozszerzonego adresu
Scope (Zakres),Link lokalny
Szczegóły
  • Wykrywanie sąsiadów, konfigurowanie linków i wymiana informacji o routingu
  • To nie jest adres początkowy
  • Zawsze ma prefiks fe80::/16

Identyfikator EID sieci typu mesh (ML-EID)

Identyfikator EID identyfikujący interfejs wątków niezależnie od topologii sieci. Umożliwia dotarcie do interfejsu wątków w ramach tej samej partycji wątku. Inna nazwa to unikalny adres lokalny (ULA).
Przykładfde5:8dba:82e1:1:416:993c:8399:35ab
IdentyfikatorLosowy, wybrany po zakończeniu uruchamiania
Scope (Zakres),Siatki lokalne
Szczegóły
  • Nie zmienia się wraz ze zmianą topologii
  • Powinna być używana przez aplikacje
  • Zawsze ma prefiks fd00::/8

Lokalizator tras

Identyfikuje interfejs wątku na podstawie jego lokalizacji w topologii sieci.
Przykładfde5:8dba:82e1:1::ff:fe00:1001
Identyfikator0000:00ff:fe00:RLOC16
Scope (Zakres),Siatki lokalne
Szczegóły
  • Wygenerowane po połączeniu urządzenia z siecią
  • Do dostarczania wykresów danych IPv6 w sieci wątków
  • Zmienia się wraz ze zmianą topologii
  • Zwykle nie jest używany przez aplikacje

Lokalizator Anycast (ALOC)

Identyfikuje interfejs wątku za pomocą wyszukiwania RLOC, gdy nie jest znana usługa RLOC miejsca docelowego.
Przykładfde5:8dba:82e1:1::ff:fe00:fc01
Identyfikator0000:00ff:fe00:fcXX
Scope (Zakres),Siatki lokalne
Szczegóły
  • fcXX = ALOC Destination, która wyszukuje odpowiednią wartość RLOC.
  • Zwykle nie jest używany przez aplikacje

Globalny adres Unicast (GUA)

Identyfikator EID określający interfejs wątku w zakresie globalnym, oprócz sieci wątków.
Przykład2000::54db:881c:3845:57f4
Identyfikator
  • SLAAC – losowo przypisywany przez urządzenie.
  • DHCP – Przypisane przez serwer DHCPv6
  • Ręcznie – przypisywany przez warstwę aplikacji
Scope (Zakres),Globalny
Szczegóły
  • Publiczny adres IPv6
  • Zawsze ma prefiks 2000::/3

Multicast

Multicast służy do przekazywania informacji do wielu urządzeń jednocześnie. W sieci wątków konkretne adresy są zarezerwowane do użycia w multicastie z różnymi grupami urządzeń, w zależności od zakresu.

Adres IPv6 Zakres Dostarczono do:
ff02::1 Link lokalny Wszystkie wnioski FTD i MED
ff02::2 Link lokalny Wszystkie FTD
ff03::1 Siatki lokalne Wszystkie wnioski FTD i MED
ff03::2 Siatki lokalne Wszystkie FTD

Zauważysz, że urządzenia Sedepy Ended (SED) nie są uwzględnione w tabeli powyżej. Zamiast tego wątek określa adres lokalny zakresu IPv6 oparty na prefiksach IPv6 używany na potrzeby wszystkich węzłów węzła, w tym SED. Te adresy multicastingu różnią się w zależności od sieci Threads, ponieważ jest on oparty na prefiksie unicast Mesh-Local (zobacz RFC 3306, aby dowiedzieć się więcej o multicastie opartym na protokole unicast-prefix) ).

arbitralne zakresy wykraczające poza listę są też obsługiwane przez urządzenia wątków.

Anycast

Anycast jest używany do kierowania ruchu do interfejsu wątku, gdy nie jest znana wartość RLOC miejsca docelowego. Lokalizator Anycast określa lokalizację wielu interfejsów w ramach partycji wątku. Ostatnie 16 bitów ALOC, czyli ALOC16, ma format 0xfcXX, który reprezentuje typ ALOC.

Na przykład ALOC16 między 0xfc01 a 0xfc0f jest zarezerwowane dla agentów DHCPv6. Jeśli konkretny numer RLOC agenta DHCPv6 jest nieznany (być może zmienił się topologia sieci), do serwera ALOC DHCPv6 może zostać wysłany komunikat, aby uzyskać numer RLOC.

Wątek definiuje następujące wartości ALOC16:

ALOC16 Typ
0xfc00 Lider
0xfc010xfc0f Agent DHCPv6
0xfc100xfc2f Sieć
0xfc300xfc37 Komisarz
0xfc400xfc4e Agent Neighbor Discovery
0xfc380xfc3f
0xfc4f0xfcff
Zarezerwowany

Skrót

Uzyskane informacje:

  • Sieć wątków ma 3 zakresy: połączenia lokalne, sieć typu mesh i globalne
  • Urządzenie wątku ma wiele adresów unicast IPv6
    • RLOC reprezentuje lokalizację urządzenia w sieci wątków.
    • System ML-EID jest unikalny dla urządzenia Thread w partycji i powinien być używany przez aplikacje
  • Wątek używa transmisji multicast do przekazywania danych do grup węzłów i routerów
  • Wątek używa parametru Anycast, gdy wartość RLOC miejsca docelowego jest nieznana

Aby dowiedzieć się więcej o adresowaniu IPv6 w wątku, przeczytaj sekcje 5.2 i 5.3 Specyfikacji wątków.

Sprawdź swoją wiedzę

Które 3 zakresy są używane do adresowania unicast w sieci wątków?
Prywatna
Źle.
Interfejs lokalny
Źle.
Link lokalny
Dobra odpowiedź.
Lokalna witryna
Źle.
Siatki lokalne
Dobra odpowiedź.
Globalny
Dobra odpowiedź.
Co to znaczy, że identyfikator dziecka urządzenia ma wartość 0?
Urządzenie jest urządzeniem podrzędnym.
Źle.
Urządzenie to REED.
Zamknięta, ale nieprawidłowa.
Urządzenie to router.
Dobra odpowiedź. Router ma zawsze identyfikator podrzędny 0.
Aparat, który jest węzłem w sieci wątków, otrzymuje nowe numery RLOC16 i RLOC. Co mogło być przyczyną tych zdarzeń?
Ktoś zdalnie pobrał zdjęcia z aparatu.
Źle. To zdarzenie nie będzie miało wpływu na sieć wątków.
Router zakończył połączenie z siecią.
Dobra odpowiedź. Gdy router odrzuca sieć, topologia sieci zmienia się, co może spowodować, że urządzenie reklamuje się na routerze i pobiera nowy RLOC.
Kamera przeszła w tryb uśpienia, co spowodowało zmianę topologii sieci.
Źle. Przejście w tryb uśpienia może nie spowodować, że urządzenie otrzyma nowy adres sieciowy.
Urządzenie w sieci wątków subskrybuje adres grupowy ff03::2. Jaka informacja o tym urządzeniu jest taka?
To minimalne urządzenie końcowe (MED).
Źle.
To urządzenie końcowe (FED).
Źle. (Wskazówka: może to być ocena FED, ale nie.).
To urządzenie o minimalnej gęstości.
Źle.
Jest to urządzenie z pełnym wątku.
Dobra odpowiedź. Tylko urządzenia obsługujące pełny wątek subskrybują adres grupowy ff03::2. Działają w zakresie typu sieć typu mesh.
Jakiego rodzaju adresowania i routingu używa Wątek do przekazywania danych do grup węzłów i routerów?
Unicast
Źle.
Anycast
Źle.
multicast
Dobra odpowiedź.
transmisja
Źle.
Jakiego rodzaju adresowania i routingu używa urządzenie nici, gdy nieznany jest numer RLOC adresata wiadomości?
Unicast
Źle.
Anycast
Dobra odpowiedź. Anycast pozwala urządzeniu na dotarcie do węzła, którego RLOC nie jest znany, adresując ALOC urządzenia.
multicast
Źle.
transmisja
Źle.