(T) Przydzielanie adresów (SLAAC)**

Wstęp do metody SLAAC (Stateless Address Autoconfiguration)

RFC 3769 – Requirements for IPv6 Prefix Delegation
SLAAC (Stateless Address Autoconfiguration)

Proces przyznawania adresu IPv6 za pomocą metody SLAAC

  • Klient generuje własny adres IPv6 Link-local.
  • Klient wysyła wiadomość RS (Router Solicitation) na multicast-owy adres FF02::2 (Oznaczający wszystkie rutery).
  • Ruter odpowiada na otrzymaną wiadomość RS, wiadomością RA (Router Advertisement) wysłaną na multicast-owy adres FF02::1 (Oznaczający wszystkie urządzenia IPv6). Wiadomość ta zawiera następujące informacje: IPv6 Prefix, Prefix Length, Default Gateway (IPv6 source address, of RA message), MTU value (RA Flags: A = 1, O = 0, M = 0).
  • Klient generuje własny adres IPv6 przy wykorzystaniu otrzymanego prefix-u połączonego z metodą EUI-64, bądź losowo generowaną wartością w przypadku systemu Windows (Adres bramy domyślnej stanowi adres źródłowy wiadomości RA).
  • Klient sprawdza czy wygenerowany adres IPv6 nie powtarza się w sieli lokalnej, za pomocą procesu DAD (Duplicate Address Detection). Proces ten jest również przeprowadzany w odniesieniu do adresu Link-Local.
  • Jeżeli wygenerowany adres IPv6 jest unikalny, zostanie aktywowany na określonym interfejsie sieciowym.
Wiadomości RA są domyślnie wysyłane co 200 sekund bądź w odpowiedzi na wiadomość Router Solicitation message (Wymagana jest przy tym aktywowanie funkcji rutera protokołu IPv6, za pomocą komendy [ipv6 unicast-routing] na ruterze).
Ruter może opcjonalnie rozgłaszać adres serwera DNS.

IPv6 unicast-routing

  • Aktywacja komendy [ipv6 unicast-routing] powoduje że ruter:
    • Będzie Trasować pakiety protokołu IPv6.
    • Zyska możliwość konfiguracji protokołów routingu dynamicznego, względem protokołu IPv6.
    • Rozpocznie wysyłanie wiadomości ICMPv6 (RA).
    • Doda wszystkie interfejsy do grupy Multicast-owej (FF02::1 / FF02::2).

Wartości ND (Rozgłaszane przez ruter w wiadomościach RA)

  • ND Router Advertisement (Domyślnie 200 sekund) – Częstotliwość z jaką wysyłane są wiadomości RA.
  • ND Router Advertisement Live (Router Lifetime) (Domyślnie 1800 sekund) – Czas przez jaki urządzenie końcowe powinno uważać dany ruter za bramę domyślną (Czas ten zostaje zresetowany po otrzymaniu nowej wiadomości RA, domyślnie wysyłanej co 200 sekund) (Wartość 0 oznacza że dany ruter nie powinien być brany pod uwagę, jako urządzenie pełniące rolę bramy domyślnej, względem urządzeń końcowych znajdujących się w danej sieci).
  • ND Advertised Default Route Preference (Domyślnie Medium) – Wartość priorytetu określonego rutera, mająca wpływ na proces wyboru bramy domyślnej względem urządzenia końcowego. Wartość ta jest szczególnie przydatna w sieci posiadającej więcej niż jedną bramę domyślną (Dostępne są następujące wartości: High, Medium orz Low).

Weryfikacja konfiguracji adresu IPv6

  • Komenda [show ipv6 interface interfejs] wyświetla informacje o:
    • Skonfigurowanej wartość MTU, czasie ND Router Advertisement (Domyślnie 200 sekund), czasie ND Router Advertisement Live (Domyślnie 1800 sekund) oraz wartości Default Route Preference (Domyślnie Medium).
    • Jeżeli na ruterze została aktywowana funkcja [ipv6 unicast-routing] interfejs będzie należał do grupy FF01::2.
    • W przypadku skonfigurowania metody SLAAC, komenda wyświetli „Host use Stateless Autoconfig for Address”.

Adresy IPv6 w systemach operacyjnych (Windows, Linux oraz MAC OS)

  • Domyślnie, w czasie trwania procesu przyznawania adresów IPv6 przy wykorzystaniu metody SLAAC, oprócz głównego adresu Global Unicast Address (GUA) zwanego inaczej adresem publicznym (Public Address), do urządzenia zostaje przypisany drugi tymczasowy adres GUA zwany (Temporary Address). Powstały zgodnie z referencją RFC 4941 „Privacy Extensions for Stateless Address Autoconfiguration in IPv6” (Obydwa adresy IPv6 winny być globalnie routowalne).
    • Adres tymczasowy (Temporary Address) – Może być tworzony jedynie na podstawie liczby generowanej losowo, jest wykorzystywany jako źródłowy adres protokołu IPv6, przy nawiązywaniu połączenia z innymi urządzeniami sieciowymi, ponad to posiada krótszy czasz życia od adresu publicznego (Public Address).

Adres IPv6 On-Link

  • Kiedy urządzenie końcowe chce wysłać pakiet na określony adres IPv6, musi określić czy wskazany adres znajduje się w tej samej sieci co omawiane urządzenie. Jeżeli tak pakiet zostanie wysłany bezpośrednio, jeżeli nie pakiet zostanie wysłany pośrednio, przez adres bramy domyślnej (Zapisany w lokalnej tablicy „Default Router List”).
  • W przypadku adresacji IPv4 określenie metody komunikacji (Bezpośredniej, Pośredniej), następuję po porównaniu adresu docelowego z maską sieciową lokalnego interfejsu z wykorzystaniem operacji logicznej AND.
  • W przypadku adresacji IPv6 określenie metody komunikacji (Bezpośredniej, Pośredniej), następuję na podstawie zawartości pola Prefix oraz pola On-Link Flag (L flag) wiadomości Router Advertisement (RA).
    • Wiadomość Router Advertisement odebrana przez urządzenie końcowe w czasie trwania procesu SLAAC, posiada domyślnie flagę L ustawioną na wartość 1, co oznacza że adres IPv6 stworzony na podstawie zawartego w wiadomości RA prefix-u, jest adresem On-Link.
    • Bazę lokalnych adresów IPv6 On-Link można wyświetlić w systemie Windows, za pomocą komendy [netsh interface ipv6 show siteprefixes].

Bezpieczne generowanie adresu IPv6

  • Domyślnie generowany przy wykorzystaniu metody EUI-64 adres IPv6, zawiera w swojej strukturze fizyczny adres karty sieciowej (MAC). Co umożliwia śledzenie komunikacji prowadzonej przez komputer posiadający dany adres MAC, niezależnie od obecnie posiadanego adresu IPv6 (Ponieważ każdy nowy adres będzie zawierał ten sam adres MAC). Dlatego w systemie Windows adres IPv6 jest losowo generowany, ponadto wykorzystywany jest również drugi tymczasowy adres GUA zwany (Temporary Address), posiadający krótszą długość życia.

Czas życia adresów IPv6

SLAAC stany adresów IPv6

  • Tentative Address – Dynamicznie przypisany, bądź statycznie przyznany adres IPv6, podlegający weryfikacji w procesie DAD. Związku z tym nie jest to jeszcze adres przypisany do żadnego z interfejsów sieciowych, a wszelki ruch na niego kierowany, poza wiadomościami Neighbor Discovery (Wykorzystywanymi w procesie DAD) zostanie porzucony.
  • Valid Address – Adres IPv6 będący adresem preferowanym (Preferred Address) bądź przestarzałym (Deprecated Address), wykorzystywanym jako źródłowy bądź docelowy adres wysyłanych bądź też odbieranych pakietów IPv6. Okres przez jaki adres ten pozostaje ważny (Valid) jest zdefiniowany w wiadomościach RA.
    • Preferred Address – Adres IPv6 zweryfikowany za pomocą funkcji DAD, aktywnie wykorzystywany do nadawania oraz obierania pakietów, jest wykorzystywany do inicjowania nowych połączeń jako preferowany adres źródłowy.
    • Deprecated Address – Adres IPv6 wykorzystywany do nadawania oraz obierania pakietów w celu zachowania kompatybilności z aktywnymi sejmami np. TCP. Nie może być wykorzystywany do inicjowania nowych połączeń.
  • Invalid Address – Adres IPv6 którego czas (Valid Lifetime) upłynął, nie jest on już aktywnie wykorzystywany do nadawania czy obierania pakietów IPv6.

SLAAC czasy życia adresów IPv6

  • Preferred Lifetime – Okres czasu przez jaki adres IPv6 jest adresem preferowanym (Preferred Address), zanim przejdzie w stan przestarzały (Deprecated Address).
  • Valid Lifetime – Okres czasu przez jaki adres IPv6 jest adresem ważnym (Valid Address), zanim przejdzie w stan przeterminowany (Invalid).

Pełny proces funkcjonowania metody SLAAC

Proces funkcjonowania metody SLAAC
  1. Urządzenie końcowe wspierające protokół IPv6, automatycznie generuje własny adres IPv6 Link-Local:
    1. Stworzony adres Link-local jest weryfikowany pod kontem występowania duplikacji adresu IPv6 (DAD).
    2. Po zakończeniu weryfikacji DAD, adres Link-Local zostaje przeniesiony do stanu Valid Preferred.
    3. Jako że adres Link-Local nie podlega tym samym zasadą co adres GUA, posiada nielimitowany czas życia.
  2. Urządzenie końcowe wymienia z ruterem wiadomości RA oraz RS w celu pozyskania adresu IPv6 GUA.
    1. Wiadomość RA otrzymana od rutera, zawiera informacje dotyczące czasów Valid Lifetime oraz Preferred Lifetime.
  3. Na podstawie informacji zawartych w wiadomości RA urządzenie końcowe generuje własny adres GUA, w przypadku systemu Windows oraz systemu Linux, generowane są dwa adresy IPv6 publiczny (Public) oraz tymczasowy (Temporary).
    1. System Windows tworzy obydwa adresy IPv6 (GUA) na podstawie wartości generowanej losowo.
    2. System Linux tworzy adres publiczny (GUA Public) na podstawie metody EUI-64 natomiast adres tymczasowy (GUA Temporary) na podstawie wartości generowanej losowo.
    3. Obydwa adresy GUA w przypadku obydwóch systemów operacyjnych, posiadają flagę L z wartością 1.
  4. Po zakończeniu weryfikacji DAD, adresy GUA zostają przeniesione do stanu Valid Preferred.
  5. Adres publiczny (Public Address) podlega pod czas Valid Lifetime (Domyślnie 30 Dni) oraz czas Preferred Lifetime (Domyślnie 7 Dni) zawarty w wiadomościach RA, otrzymanych do lokalnego rutera (Odebranie nowej wiadomości RA resetuje obydwa licznik).
  6. Adres tymczasowy (Temporary Address) przeważnie posiada krótszą długość życia (Lifetime), ponadto odebranie nowej wiadomości RA nie resetuje licznika Lifetime.
    1. System Windows posiada następujące wartości domyślne: Valid Lifetime 7 dni, Preferred Lifetime 7 dni.
    2. System Linux posiada następujące wartości domyślne: Valid Lifetime 7 dni, Preferred Lifetime 1 dzień.
Po upływie czasu Preferred Lifetime adres IPv6 GUA zostanie przeniesiony do stanu Deprecated.
Po upływie czasu Valid Lifetime adres IPv6 GUA zostanie przeniesiony do stanu Invalid.

Wybór wykorzystywanego adresu IPv6

  1. Prefer Same Address
  2. Prefer Appropriate Scope
  3. Avoid Deprecated Address
  4. Prefer Home Address (Mobility)
  5. Prefer Outgoing Interface
  6. Prefer Matching Label
  7. Prefer Temporary Address
  8. Use longest Prefix Matching

Pozostałe tematy związane z protokołem IPv6

Przydzielanie adresów IPv6

Protokół NAT względem protokołu IPv6

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz