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
Klientgeneruje własny adres IPv6 Link-local.
Klientwysyła wiadomość RS (Router Solicitation) na multicast-owy adres FF02::2 (Oznaczający wszystkie rutery).
Ruterodpowiada 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).
Klientgeneruje 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).
Klientsprawdza 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 aktywowanyna 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ędzieTrasować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, Mediumorz 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 GUAzwany (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).
Stworzony adres Link-local jest weryfikowany pod kontem występowania duplikacji adresu IPv6 (DAD).
Po zakończeniu weryfikacji DAD, adres Link-Local zostaje przeniesiony do stanu Valid Preferred.
Jako że adres Link-Local nie podlega tym samym zasadą co adres GUA, posiada nielimitowany czas życia.
Urządzenie końcowe wymienia z ruterem wiadomości RA oraz RS w celu pozyskania adresu IPv6 GUA.
Wiadomość RA otrzymana od rutera, zawiera informacje dotyczące czasów Valid Lifetime oraz Preferred Lifetime.
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).
System Windows tworzy obydwa adresy IPv6 (GUA) na podstawie wartości generowanej losowo.
System Linux tworzy adres publiczny (GUA Public) na podstawie metody EUI-64 natomiast adres tymczasowy (GUA Temporary) na podstawie wartości generowanej losowo.
Obydwa adresy GUA w przypadku obydwóch systemów operacyjnych, posiadają flagę L z wartością 1.
Po zakończeniu weryfikacji DAD, adresy GUA zostają przeniesione do stanu Valid Preferred.
Adres publiczny (Public Address) podlega pod czas Valid Lifetime(Domyślnie 30 Dni) oraz czas Preferred Lifetime (Domyślnie 7Dni) zawarty w wiadomościach RA, otrzymanych do lokalnego rutera (Odebranie nowej wiadomości RA resetuje obydwa licznik).
Adres tymczasowy (Temporary Address) przeważnie posiada krótszą długość życia (Lifetime), ponadto odebranie nowej wiadomości RA nie resetuje licznika Lifetime.
System Windows posiada następujące wartości domyślne: Valid Lifetime7dni, Preferred Lifetime7 dni.
System Linux posiada następujące wartości domyślne: Valid Lifetime7dni, Preferred Lifetime1dzień.
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.
Protokół NPTv6 umożliwia statyczną translacją prefix-ów IPv6 na inne prefix-y IPv6, zgodnie z zasadą jeden do jednego (1:1) (Statelessaddress translation), nie umożliwiając przy tym translacji Stateful.
Protokół NPTv6 jest wykorzystywany w sieci, ponieważ:
Uniezależnia wewnętrzną adresację sieci od dostawcy ISP, tym samym zmiana globalnego prefix-u nie wymaga zmiany wewnętrznej adresacji IPv6.
Umożliwia translację adresów ULA (Unique Local Address) na GUA (Global Unicast Address).
Protokół NPTv6:
Nie wymaga mapowania przy translacji prefix-ów IPv6.
Nie umożliwia translacji adresów IPv6, a jedynie translację prefix-ów IPv6.
Generuje tą samą wartość sumy kontrolnej jaką generuje algorytm (Internet Checksum Algorithm).
Protokół NPTv6 nieumożliwia translacji adresu GUA, na inne adresy GUA.
Konfiguracja protokołu NPTv6
Konfiguracja NPTv6 względem interfejsu LAN
(config)#ipv6 unicast-routing
Aktywuje funkcję routingu dla protokołu IPv6.
(config)# interface interfejs
Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego (LAN).
(config-if)# ipv6 addressprefix/prefix-length
Przypisuje adres IPv6, do konfigurowanego interfejsu sieciowego.
(config-if)# nat66 inside
Określa konfigurowany interfejs jako interfejs wewnętrzny w procesie translacji NPTv6.
Konfiguracja NPTv6 względem interfejsu WAN
(config-if)# interface interfejs
Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego (WAN).
(config-if)# ipv6 addressprefix/prefix-length
Przypisuje adres IPv6, do konfigurowanego interfejsu sieciowego.
(config-if)# nat66 outside
Określa konfigurowany interfejs jako interfejs zewnętrzny w procesie translacji NPTv6.
Protokół NAT-PT umożliwia statyczną (Static), dynamiczną (Dynamic) bądź przepełnioną (Overload) translacją adresów IPv6 na adresy IPv4 jak i odwrót. Na podstawie portów warstwy czwartej.
Translacja statyczna (Static):
Umożliwia mapowanie pojedynczego adresu IPv6 do jednego adresu IPv4 jak i na odwrót.
Translacja dynamiczna(Dynamic):
Umożliwia mapowanie wielu adresów IPv6 na wiele adresów IPv4 należących do skonfigurowanej przez administratora puli adresów.
Translacjaprzepełniona(Overload):
Umożliwia mapowanie wielu adresów IPv6 na jeden adres IPv4 z przepełnieniem.
Ograniczenia protokołu NAT-PT
Nie wspiera funkcji Cisco Express Forwarding.
Wspiera jedynie protokół: DNS, FTP, ICMP oraz
ALGs.
Nie zapewnia bezpieczeństwa (end-to-end security).
Protokół NAT64 umożliwia translację adresów IPv4 na adresy IPv6, jak i na odwrót.
Protokół NAT64 stanowi ulepszoną wersję protokołu NAT-PT.
Komponenty protokołu NAT64
NAT64 prefix– Prefix-y IPv6 wykorzystywane w protokole NAT64: /32, /40, /48, /56, /64, /96.
DNS64 server– Serwer DNS odwzorowujący nazwy domenowe AAAA na adresy IPv6. Oprócz rekordów AAAA serwery DNS64 obsługują również rekordy A, dzięki czemu mogą również odwzorować adresy IPv4.
NAT64 router – Ruter na którym zachodzi proces translacji adresów IPv6 na adresy IPv4, jak i na odwrót.
DNS (Domain Name System)
A Record – Odwzorowuje nazwę domenową na adres IPv4.
AAAA Record – Odwzorowuje nazwę domenową na adres IPv6.
Adres serwera DNS względem protokołu IPv6 można skonfigurować za pomocą komendy [ip name-server adresy-IPv6].
Statyczne odwzorowanie adresów IPv6 na nazwę domenową w systemie Cisco IOS, można skonfigurować za pomocą komendy [ipv6 host nazwa-domeny[port]adresy-IPv6].
Proces działania protokołu NAT64 (IPv6 host to IPv4 server)
Skrócony proces protokołu NAT64
Proces translacji IPv6 -> IPv4:
Nadchodzący pakiet IPv6 zostaje przekierowany do wirtualnego interfejsu NVI (NAT Vitrual Interface).
Protokół NAT64 przeprowadza translację docelowego adresu IPv6, wydobywając z niego docelowy adres IPv4.
Protokół NAT64 dodaje do tablicy (Bind Databese) wpis o przeprowadzonej translacji.
Proces translacji IPv4 -> IPv6:
Nadchodzący pakiet IPv4 zostaje przekierowany do wirtualnego interfejsu NVI (NAT Vitrual Interface).
Docelowy adres IPv4 zostaje statycznie bądź dynamicznie mapowany na adres IPv6.
Protokół NAT64 dodaje do tablicy (Bind Databese) wpis o przeprowadzonej translacji.
Pełny proces protokołu NAT64
Szczegółowy proces działania protokołu NAT64 (IPv6 host to IPv4 server)
Hostwysyła zapytanie Query(AAAA www.cisco.com) do serweraDNS64.
Serwer DNS64 otrzymuje zapytanie Queryod hosta. Jako że nie zna odwzorowania podanej nazwy domenowej na adres IPv6, wysyła zapytanie Querydo zaufanego serweraDNS AAAA.
SerwerDNS AAAA otrzymuje zapytanie Queryod Serwer DNS64. Jako że nie zna odwzorowania podanej nazwy domenowej na adres IPv6, wysyła odpowiedźResponse (Name Error: www.cisco.com), do serweraDNS64.
Serwer DNS64otrzymuje odpowiedźResponseod serweraDNS AAAA. Następnie wysyła zapytania Query(A www.cisco.com) do serweraDNS A.
SerwerDNS A otrzymuje zapytanie Queryod serwera DNS64. Jako że posiada odwzorowanie podanej nazwy domenowej na adres IPv4, wysyła odpowiedźResponse(www.cisco.com(A) = 10.10.10.10), do serweraDNS64.
Serwer DNS64otrzymuje odpowiedźResponseod serweraDNS A. Jako że podany adres IP nie jest adresem protokołu IPv6, serwer DNS64 przekształca otrzymany adres IPv4 w specjalny adres IPv6 wykorzystywany przez protokół NAT64. Adres ten składa się z przekształconego adresu IPv4 (10.10.10.10 -> 0A0A:0A0A) oraz adresu IPv6 (2001:DB8:CAFE:AAAA::/96) co razem daje nowy, docelowy adres IPv6 w następującej postaci (2001:DB8:CAFE:AAAA::0A0A:0A0A/96).
Hostwysyła pakiet na docelowy adres IPv6 przekazany w odpowiedzi Responseod serwera DNS64.
Ruter NAT64otrzymuje pakiet IPv6 od hosta, na interfejsie (NAT64 enable). Rozpoczynając tym samym proces Statefull NAT Translation (Prefix 2001:DB8:CAFE:AAAA::/96). Jako że pierwsze 96 bitów adresów IPv6 się nie zgadza, ruter NAT:
Przekształca nagłówek pakietu IPv6 na nagłówek IPv4.
Przekształca adres IPv6 na adres IPv4, usuwając z docelowego adresu IPv6 prefix 2001:DB8:CAFE:AAAA::/96) jak i zmieniając ostatnie bity adresu IPv6 z trybu szesnastkowego na dziesiętny (0A0A:0A0A -> 10.10.10.10).
W zależności od konfiguracji protokołu NAT64, ruter przekształca źródłowy adres IPv6 na adres IPv4. Na zasadzie jeden do jednego (1:1) bądź poprzez przepełnienie (Overloading). Metoda ta jest podobna do protokołu PAT.
Następnie następuje proces translacji adresów IP, a wyniki są zapisywane w tablicy NAT Translations.
Po translacji NAT64 pakiet kierowany jest na interfejs wyjściowy rutera NAT64.
Docelowy serwer IPv4 odpowiada na otrzymany pakiet IPv4.
Ruter NAT64otrzymuje pakiet IPv4 od serwera docelowego na interfejsie (NAT64 enable), sprawdzając czy w tablicy NAT Translations istnieje wpis odpowiadający informacją zawartym w otrzymanym pakiecie.
Jeżeli ruter NAT64 nie posiada pasującego wpisu w tablicy NAT Translations, pakiet zostaje porzucony.
Jeżeli ruter NAT64posiada pasujący wpis w tablicy NAT Translations, następuje translacja z adresu IPv4 na IPv6.
Po translacji NAT64 pakiet kierowany jest na interfejs wyjściowyrutera NAT64.
Proces działania protokołu NAT64 (IPv4 host to IPv6 server)
Szczegółowy proces działania protokołu NAT64 (IPv4 host to IPv6 server)
Na ruterze NAT64zostaje skonfigurowany protokół NAT64, ze statycznym mapowaniem adresu IPv6 na adres IPv4, za pomocą komendy [nat64 v6v4 static 2001:db8:feed:1::e 172.16.1.10], wydanej w trybie konfiguracji globalnej.
Serwer DNS otrzymuje zapytanie Queryod hosta. Jako że posiada odwzorowanie podanej nazwy domenowej na adres IPv4, wysyła odpowiedźResponse(www.cisco.com(A) = 172.16.1.10), do hosta.
Hostwysyła pakiet na docelowy adres IPv4 przekazany w odpowiedzi Responseod serwera DNS.
Ruter NAT64 otrzymuje pakiet IPv4 od hosta, na interfejsie (NAT64 enable). Rozpoczynając tym samym proces translacji:
Ruter NAT64 przekształca nagłówek pakietu IPv4 na nagłówek IPv6, zmieniając docelowy adres IPv4 na adres IPv6.
Ruter NAT64 przekształca źródłowy adres IPv4, na nowo stworzony adres IPv6 (192.0.2.10 -> C000:020A), co razem daje nowy docelowy adres IPv6, w następującej postaci (2001:DB8:CAFE:AAAA:: C000:020A).
Po translacji NAT64 pakiet kierowany jest na interfejs wyjściowy rutera NAT64.
Docelowy serwer IPv6 odpowiada na otrzymany pakiet IPv6.
Ruter NAT64otrzymuje pakiet IPv6 od serwera docelowegona interfejsie (NAT64 enable), rozpoczynając tym samym proces translacji NAT. Ruter NAT64:
Przekształca nagłówek pakietu IPv6 na nagłówek IPv4, zmieniając źródłowy adres IPv6 na adres IPv4.
Przekształca docelowy adres IPv6, na adres IPv4. Na podstawie oryginalnego docelowego adresu IPv6.
Po translacji NAT64 pakiet kierowany jest na interfejs wyjściowyrutera NAT64.
Porównanie Stateless NAT64 do Stateful NAT64
Stateless
NAT64
Stateful
NAT64
1:1
translation
1:N translation
No conservation of IPv4 address
Conserves IPv4 address
Assures end-to-end address transparency and scalability
Uses address Overloading,
hence lacks in end-to-end address transparency
No state or bindings created on the translations
State or bindings are
created every unique translation
Requires
IPv4-transable IPv6 addresses assignment
No requirement on the
nature of IPv6 address assignment
Requires
either manual or DHCPv6 based address assignment for IPv6 host
Free to Choose any mode of IPv6 address assignment (Manual, DHCPv6,
SLAAC).
Porównanie metody Stateless NAT64 do metody Stateful NAT64
Porównanie protokołów NAT
NAT64 vs NPTv6
NAT64 – Modyfikuje sesje podczas transmisji.
NAT64 – Wykorzystuje określony adres IPv6 (Network-specyfic Prefix).
NPTv6 – Mapuje jeden adres IPv6 do drugiego adresu IPv6.
NPTv6 – Modyfikuje nagłówek pakietu podczas transmisji.
Router and prefix Discovery – Umożliwia urządzeniu końcowemu, wykrycie rutera znajdującego się w tej samej sieci Link-Layer, przy wykorzystaniu zapytań RS(Router Solicitation)(FF02::2) . W odpowiedzi na które, ruter bądź wiele ruterów odpowie komunikatami RA(Router Advertisement)(FF02::1), informującymi urządzenie końcowe o: Prefix-ie, długości prefix-a, adresie bramy domyślnej, określonej wartości MTU oraz innych informacjach nie zbędnych w procesie SLAAC(Stateless Address Autoconfiguration).
Komunikaty RA oraz RS stanowią istotny element w pozyskiwaniu adresu IPv6 przez urządzenia końcowe. Informują jakiego rodzaju metoda pozyskiwania adresów jest skonfigurowana w lokalnej sieci jak i dostarczają niezbędnych informacji wymaganych do przeprowadzenia tego procesu.
Kolejną ważną rolą komunikatów RA oraz RS jest funkcja poszukiwania zapasowego rutera, gdy obecnie działający zawiedzie, a tym samym urządzenie końcowe straci swoje połączenie z bramą domyślną.
Address Resolution– Umożliwia wszystkim urządzeniom sieciowym wspierającym protokół IPv6, stworzenie tablicy odwzorowania adresów IPv6 na adresy MAC, zastępując tym samym protokół ARP wykorzystywany względem protokołu IPv4. W celu stworzenia tablicy odwzorowania urządzenia wykorzystują następujące wiadomości IPv6:
WiadomośćNS(Neighbor Solicitation) – Pełni analogiczną rolę względem protokołu IPv6, jaką pełni zapytanie ARP Request względem protokołu IPv4. Wiadomość jest nadawana przez urządzenie końcowe na adres IPv6 Solicited-NodeMulticast Address połączony z adresem IPv6 hosta docelowego. W odpowiedzi urządzenie będące posiadaczem wskazanego adresu IPv6 odeśle wiadomość NA z własnym adresem MAC.
WiadomośćNA(Neighbor Advertisement) – Pełni analogiczną rolę względem protokołu IPv6, jaką pełni zapytanie ARP Replay względem protokołu IPv4. Jest wysyłana na adres unicast-owy lub multicast-owy do wszystkich hostów w danej sieci (FF02::1).
DAD (Duplicate Address Detection) – Umożliwia wykrycie z duplikowanych adresów IPv6, wykorzystując w tym celu wiadomości NSoraz NA, jeżeli na zapytanie NS zawierające adres IPv6 jaki należy sprawdzić, inny host w sieci odpowie wiadomością NA, oznaczać to będzie, że dany adres jest już używany przez inne urządzenie.
NUD (Neighbor Unreachability Detection) –
Redirection–
Function
Messages
Who Discovers info
Who Supplies info
Info Supplied
Router Discovery
RS and RA
Any IPv6 host
Any IPv6 router
Link-Local Address of router
Prefix/Length Discovery
RS and RA
Any IPv6 host
Any IPv6 router
Prefix(es) and associated prefix
length used on local link
Neighbor Discovery
NS and NA
Any IPv6 host
Any IPv6 host
Link-Layer address (for example, MAC address) used by a
neighbor
DAD Discovery
NS and NA
Any IPv6 host
Any IPv6 host
Simple confirmation
Wiadomości RA są domyślnie wysyłane przez ruter co 200 sekund.
W przypadku wykrycia duplikacji adresów IPv6 (DAD), system Cisco IOS wyświetli następujący komunikat [*%IPV6-4-DUPLICATE: Duplicate address FE80::1 on GigabitEthernet0/1].
Opcje protokołu NDP
Informacje protokołu NDP, są zawarte w pakietach ICMPv6, które mogą zawierać jedną bądź więcej opcji, a każda z nich może wielokrotnie pojawiać się w jednym pakiecie ICMPv6. Opcje protokołu NDP są następujące:
Type 1Source Link-Layer Address – Zawiera źródłowy adres warstwy 2, przeważnie jest to adres MAC (NS, RS, RA).
Type 2Target Link-Layer Address – Zawiera docelowy adres warstwy 2, przeważnie jest to adres MAC (NA, Redirect).
Type 3Prefix Information– Zawiera prefix wraz innymi danymi wymienianymi w procesie SLAAC (RA).
Type 4Redirect Header – Zawiera informacje niezbędne dla funkcji Redirection (Redirect).
[2000::/3] Global Unicast Address (IPv4 Public Address) – Pełni identyczną rolę względem protokołu IPv6, jaką pełnią adresy publiczne względem protokołu IPv4. Jest to adres publiczny globalnie rutowalny.
[FC00::/7] Unique Local Address (IPv4 Private Address) – Pełni identyczną rolę względem protokołu IPv6, jaką pełnią adresy prywatne względem protokołu IPv4. Jest to adres prywatny związku z tym nie jest globalnie rutowalny.
[FEC0::/7]Site-Local Address (IPv4 Private Address) – Prywatny adres będący poprzednikiem adresu Unique Local Address (RFC 3513). Obecnie nie zaleca się jego wykorzystywania w sieciach produkcyjnych.
[FE80::/10] Link-LocalAddress(Local address) – Adres lokalny, nie rutowalny, działający w obszarze jednej sieci. Domyślnie tworzony na podstawie adresacji EUI-64, służy do komunikacji pomiędzy urządzeniami w obrębie jednej sieci np. pomiędzy dwoma ruterami czy hostem a bramą domyślną (Przez protokoły routingu dynamicznego jest wykorzystywany jako adres następnego przeskoku).
Adres Link-Local reprezentuje jedynie jedno urządzenie w danej sieci (Unicast).
Adres Link-Local nie może opuścić lokalnej sieci data-link, ponieważ nie jest przepuszczany przez rutery.
Adres Link-Local jest automatycznie generowany na podstawie adresacji EUI-64.
Adres Link-Local jest wykorzystywany przez protokoły do określania adresu następnego przeskoku
Adres Link-Local zaczyna się od cyfr FE80::/10 co oznacza, że jego pierwsze trzy hexadecymalne liczby mogą być następujące: FE8, FE9, FEA oraz FEB, jednak zgodnie z zaleceniami standaryzacji RFC4291po pierwszych 10 liczbach powinny nastąpić 54 zera. Przez co adres Link-Local zawsze zaczyna się odFE80::/64.
Adres Link-Local statycznie przypisany przez administratora może zaczynać się od liczb FE8, FE9, FEA oraz FEB.
Rutery Cisco funkcjonują w oparciu o adresacje Link-Local.
[::/128] Unkown Address/ Unspecified Address – Nieokreślony (pusty) adres protokołu IPv6. Odpowiada adresowi 0.0.0.0/0 wykorzystywanemu przez protokół IPv4.
IPv4 Mapped IPv6 Address – Adres wykorzystywany w sieciach Dual-Stuck (Np. ::FFFF:192.168.10.10).
IPv4 Compatible IPv6 Address – Starsza obecnie nie wykorzystywana wersja adresu Embedded IPv4 Address.
[2002::/16] 6to4 Unicast – Adres wykorzystywany w dynamicznym tunelowaniu IPv6 to IPv4 (6to4).
[64:FF9B::/96] Well-known NAT64 Prefix – Dobrze znany adres translacji NAT64.
Nazwa
Adresy IPv6
Zakres adresów IPv6
Global Unicast Address (GUA)
2000::/3
2000 – 3FFF
Unique Local Address (ULA)
FC00::/7
FC00 – FDFF
Link-Local Unicast Address
FE80::/10
FE80 – FEBF
Unspecified Address
::/128
—
Loopback Address
::1/128
—
Embedded IPv4 Address
::1/80
—
Porównanie adresów IPv6 Unicast
Global Unicast Address (GUA)
Budowa adresu Global Unicast
GUA (Aggregatable Global Unicast Address) – Adres Global Unicast Address składa się z:
Global Routing Prefix – Część adresu IPv6 nadana przez dostawcę ISP bądź organizację RIR.
Subnet ID – Część adresu IPv6 określająca sieć wewnętrzną, będącą pod opieką administratora.
Interface ID– Część adresu IPv6 przypisana do konkretnego interfejsu sieciowego.
001 (2000::/32000–3FFF) + Global Routing Prefix + Subnet ID + Interface ID.
Podział adresów Global Unicast względem metody ich przydzielania:
PA (Provider Aggregatable) – Global Routing Prefix jest przyznawany przez dostawcę (ISP). Przyznany adres IP:
Należy do dostawcy (ISP).
Jest przyznawany nie odpłatnie (Dodawany w ramach usługi).
Nie może być przeniesiony wraz z klientem do innego dostawcy (ISP).
PI (Provider Independent) – Global Routing Prefix jest przyznawany przez odział regionalny RIR.
Adres jest przyznawany odpłatnie przez organizację RIR.
Istnieje możliwość przyznania większego prefix-u niż (/48).
Umożliwia podłączenie do wielu dostawców (ISP).
Adres może być przeniesiony wraz z klientem do innego dostawcy (ISP).
Metody adresacji Global Unicast
Manual Configuration:
Manual – Statycznie skonfigurowany adres IPv6.
Konfigurowany za pomocą komendy [ipv6 address 2001:db8:cafe:1::123/64].
Manual + EUI 64 – Adres stworzony na podstawie prefix-u podanego przez administratora (Global Routing Prefix + Subnet ID), połączonego z automatycznie wygenerowaną końcówką (EUI 64).
Konfigurowany za pomocą komendy [ipv6 address 2001:db8:cafe:1::/64 eui-64].
IPv6 Unnumbred – Adres stworzony na podstawie innego adresu IPv6 przypisanego do innego interfejsu sieciowego.
Konfigurowany za pomocą komendy [ipv6 unnumbredinterfejs].
Stateless Address Autoconfiguration
Adres pozyskany od lokalnego rutera za pomocą wiadomości RD, RA, zawartych w pakietach ICMP.
Stateless DHCPv6
Adres pozyskany od lokalnego rutera za pomocą wiadomości RD, RA, zawartych w pakietach ICMP. Z dodatkowym wykorzystaniem serwera DHCPv6, służącego w tym przypadku do pozyskania opcjonalnych informacji o nazwie domenowej czy adresie serwera DNS.
Stateful DHCPv6
Adres pozyskany przy pomocy serwera DHCPv6. Adres bramy domyślnej jest nadal pozyskiwany od lokalnego rutera.
Zasada 3-1-4
Zasada 3-1-4 opisuje adresację sieci przy pomocy adresów IPv6 z najczęściej przyznawanym prefix-em /48.
3 określa części adresu przyznawaną przez dostawcę ISP, bądź RIR (Global Routing Prefix).
1określa sieć (SubnetID).
4 stanowi identyfikator określonego interfejsu sieciowego (Interface ID).
Przykładowa wizualizacja zasady 3-1-4 wygląda następująco:
Ogromna ilość adresów jakie mogą być przypisane
do urządzeń sieciowych w jednej sieci z prefix-em /64, naraża infrastrukturę
sieciową na ataki typu „IPv6 NDP Table Exhaustion Attack”. W których
atakujący host wysyła setki zapytań RS Router Solicitation, tworząc nowe adresy
a tym samym zbędnie wykorzystując zasoby rutera.
Referencja RFC 3756 prezentuje techniki obrony przed atakami „IPv6 NDP Table Exhaustion Attack”, natomiast referencja RFC 6164 (Using 127-Bit IPv6 Prefixes on Inter-Router Links) opisuje wykorzystanie prefix-u /127.
Aby ograniczyć problem związany z atakami typu „IPv6 NDP Table Exhaustion Attack”, interfejsy Point-to-Point powinny posiadać ograniczoną ilość dostępnych adresów IPv6, co może być osiągnięte za pomocą prefix-u /127.
Pierwszy adres sieci /127: 2001:0DB8:CAFE:0001:0000:0000:0000:0000/127.
Drugi adres sieci /127: 2001:0DB8:CAFE:0001:0000:0000:0000:0001/127.
Global Routing Prefix:48Bits.
Subnet ID:79Bits.
Interface ID:1Bits.
Stosowanie prefix-u /127 dla adresów IPv6 odpowiada wykorzystaniu maski /31 w adresacji IPv4.
Link-Local Unicast Address (LLA)
Podstawowe założenia adresów Link-Local
Aby urządzenie mogło obsługiwać komunikację IPv6 musi posiadać przynajmniej jeden adres Link-local, natomiast nie musi posiadać żadnego adresu Global Unicast Address, aby prowadzić komunikację z innymi urządzeniami.
Adresy Link-local nie sąroutowalne, a jedynie obsługiwane wewnątrz jednej sieci.
Adresy Link-local muszą być unikalne jedynie względem sieci w której się znajdują, co doprowadza do częstych sytuacji w których jedno urządzenie posiada wiele takich samych adresów Link-local na różnych interfejsach sieciowych.
Na jednym interfejsie sieciowym może być jedynie jedenadres Link-local.
Adresy Link-local mogą być adresamiźródłowymijak i docelowymi.
Adresy Link-local jest automatycznie generowany po skonfigurowaniu adresu Global Unicast, Unique Local Unicast adres bądź użyciu komendy [ipv6 enable] z poziomu konfiguracji określonego interfejsu sieciowego.
jako że adres Link-local nie musi być unikalny względem jednego urządzenia sieciowego, niektóre systemy operacyjne na końcu adresu Link-local dodają po znaku % oznaczenie interfejsu sieciowego do którego należy dany adres Link-local.
Zalety adresacji Link-Local
Urządzenie posiada adres Link-local zaraz po aktywacji, tym samym może go wykorzystać w procesie pobierania adresu GUA.
Adres Link-local może być szczególnie przydatny w przypadku urządzeń IoT.
Adresacja Link-Local
Metody adresacji Link-Local:
Device Dynamically – Adres Link-Local jest generowany metodą EUI-64.
Configuration – Adres Link-Local został skonfigurowany statycznie za pomocą komendy [ipv6 address prefix link-local].
Rodzaje adresacji Link-Local:
EUI-64 generated– Adres Link-Local został wygenerowany za pomocą metody EUI-64 (Cisco IOS, Mac OS, Ubuntu).
Randomly generated– Adres Link-Local został wygenerowany za pomocą losowo generowanej wartości (Windows).
Przykłady wykorzystania adresów Link-Local
Po aktywowaniu systemu a jeszcze przed uzyskaniem adresu GUA. Urządzenie sieciowe będzie się komunikowało się z innymi urządzeniami za pomocą adresu Link-local.
Urządzenie końcowe będzie korzystało z adresu Link-local lokalnego rutera, jako adres bramy domyślnej.
Rutery wykorzystują adres Link-local do wymiany informacji dotyczących protokołów routingu dynamicznego (EIGRPv6, OSPFv3, RIPng).
W tablicy routingu adresy Link-local stanową adresy następnego przeskoku.
Ping-owanie adresu Link-Local
Jako że adres Link-Local może być taki sam na wielu interfejsach sieciowych jednego urządzenia, komenda ping musi określić o jaki interfejs chodzi. Tym samym wygląda ona następująco [pingENTERinterfejs].
[FF00::/8] Multicast Address (IPv4 Multicast Address) – Pełni identyczną rolę względem protokołu IPv6, jaką pełnią adresy multicast względem protokołu IPv4. Wyróżnia się następujące adresy IPv6 multicast:
[FF00::/12] Well Known Multicast Address– Dobrze znane adresy multicast, przydzielane przez IANA.
[FF02::/16] Well Known Multicast Address – Działa na zasadzie adresu multicast w obrębie jednej sieci, tym samym nie jest rozgłaszany przez rutery. Wyróżnia się następujące adresy IPv6 multicast:
(All nodes)FF02::1 – Określa wszystkie urządzenia wykorzystujące protokół IPv6, w danej sieci. Stanowi odpowiednik adresu subnet broadcastwykorzystywanego w protokole IPv4.
(All Routers) FF02::2 – Określa wszystkie rutery używające adresacji IPv6, w danej sieci.
(All OSPFv3) FF02::5/6 – Określa wszystkie rutery używające protokołu OSPFv3, w danej sieci.
(RIPng Routers) FF02::9 – Określa wszystkie rutery używające protokołu RIPng, w danej sieci.
(EIGRPv6 Routers) FF02::A– Określa wszystkie rutery używające protokołu EIGRPv6, w danej sieci.
(DHCP Relay Agent) FF02::1:2– Określa wszystkie rutery działające jako agent relay dla protokołu DHCPv6.
(DHCP Servers) FF05::1:3 – Określa wszystkie serwery protokołu DHCPv6, w danej sieci.
(DHCP Routers) FF05::2 – Określa wszystkie interfejsy ruterów używające adresację IPv6, w danej sieci.
Komenda [show ipv6 interface interfejs] wyświetla do jakiej grupy adresów Link-Local Multicast należy określony interfejs sieciowy. Adresy Link-local są wyświetlana pod hasłem „Joined group address(es)”.
[FF02:0:0:0:0:1:FF00::/104]Solicited-Node Multicast Address– Umożliwia przesyłanie ruchu multicast do wielu hostów posiadających podobny adres IPv6 (Dokładnie rzecz ujmując końcówkę tego adresu). Adres ten jest wykorzystywany między innymi przez protokół NDP w wiadomości NS.
Multicast – Należy do grupy adresów Multicast.
Link-Local – Nie jest przekazywany przez rutery (Nie jest routowany).
Calculated – Jest tworzony na podstawie adresu „Unicast IPv6” danego hosta. A dokładnie rzecz ujmując, na podstawie jego sześciu ostatnich hexadecymalnych cyfr.
Operation – Każdy interfejs posiada jak i nasłuchuje na swoim adresie Solicited-Node Multicast Address.
Overlap – Nie jest unikalny, może się powtarzać.
[FF08::/16] Organization Local Multicast Address – Przepuszcza ruch multicast w obrębie danej firmy, blokując tym samym jego rozprzestrzenianie się poza jej obszar.
Flagi (Flags): Permanent(0) – Grupa adresów multicast (Predefined Multicast Address) przyznawanych przez organizację IANA, zawiera dobrze znane adresy (Well Known) oraz (Solicited Node Multicast). Nonpermanent(1) – Grupa adresów multicast, zdefiniowanych przez aplikację.
Aby adresy typu Site Local mogły być routowalne, administrator musi wykorzystać komendę [ipv6 unicast-routing] w trybie konfiguracji globalnej systemu Cisco IOS.
Porównanie adresuLink-Local Scope z adresem Link-Local Unicast Address:
Adres Link-Local Scope:
Jest adresem multicasta nieunicast.
Może stanowić jedynie adres docelowy.
Może być wysłany jedynie do urządzeń znajdujących się w tej samej sieci (Nie routowany).
Jest przeważnie adresem Well Known bądź Solicited Node Multicast.
Adres Link-Local Unicast Address:
Jest adresem unicasta nie multicast.
Może być zarówno adresem docelowym jak i źródłowym.
Może być wysłany jedynie do urządzeń znajdujących się w tej samej sieci (Nie routowany).
Zasięg adresów multicast Scope
Adresy Solicited-Node Multicast Address
Adresy Solicited-Node Multicast Address są automatycznie generowane względem każdego adresu Global Unicast Address, Unique Local Address oraz Link Local Address. Na podstawie prefix-u FF02:0:0:0:0:1:FF00::/104.
Adresy Solicited-Node Multicast Address są wykorzystywane w wiadomościach NS (Neighbor Solicitation) w procesie wykrywania duplikacji adresów IPv6 DAD (Duplicate Address Detection).
Tworzenie adresu Solicited-Node Multicast Address na podstawie adresu Global UnicastAddress wygląda następująco:
[2000::/3] Global Unicast Address (IPv4 Public Address) – Pełni identyczną rolę względem protokołu IPv6, jaką pełnią adresy publiczne względem protokołu IPv4. Jest to adres publiczny globalnie rutowalny.
[FC00::/7] Unique Local Address (IPv4 Private Address) – Pełni identyczną rolę względem protokołu IPv6, jaką pełnią adresy prywatne względem protokołu IPv4. Jest to adres prywatny związku z tym nie jest globalnie rutowalny.
[FC00::/7]Site-Local Address (IPv4 Private Address) – Prywatny adres będący poprzednikiem adresu Unique Local Address (RFC 3513). Obecnie nie zaleca się jego wykorzystywania w sieciach produkcyjnych. Starsza pula adresów Site-Local obejmowała następujący zakres adresów IPv6 [FEC0::/7].
[FE80::/10] Link-LocalAddress(Local address) – Adres lokalny, nie rutowalny, działający w obszarze jednej sieci. Domyślnie tworzony na podstawie adresacji EUI-64, służy do komunikacji pomiędzy urządzeniami w obrębie jednej sieci np. pomiędzy dwoma ruterami czy hostem a bramą domyślną (Przez protokoły routingu dynamicznego jest wykorzystywany jako adres następnego przeskoku).
Adres Link-Local reprezentuje jedynie jedno urządzenie w danej sieci (Unicast).
Adres Link-Local nie może opuścić lokalnej sieci data-link, ponieważ nie jest przepuszczany przez rutery.
Adres Link-Local jest automatycznie generowany na podstawie adresacji EUI-64.
Adres Link-Local jest wykorzystywany przez protokoły do określania adresu następnego przeskoku
Adres Link-Local zaczyna się od cyfr FE80::/10 co oznacza, że jego pierwsze trzy hexadecymalne liczby mogą być następujące: FE8, FE9, FEA oraz FEB, jednak zgodnie z zaleceniami standaryzacji RFC4291po pierwszych 10 liczbach powinny nastąpić 54 zera. Przez co adres Link-Local zawsze zaczyna się odFE80::/64.
Adres Link-Local statycznie przypisany przez administratora może zaczynać się od liczb FE8, FE9, FEA oraz FEB.
Rutery Cisco funkcjonują w oparciu o adresacje Link-Local.
[::/128] Unkown Address/ Unspecified Address – Nieokreślony (pusty) adres protokołu IPv6. Odpowiada adresowi 0.0.0.0/0 wykorzystywanemu przez protokół IPv4.
IPv4 Mapped IPv6 Address – Adres wykorzystywany w sieciach Dual-Stuck (Np. ::FFFF:192.168.10.10).
IPv4 Compatible IPv6 Address – Starsza obecnie nie wykorzystywana wersja adresu Embedded IPv4 Address.
[2002::/16] 6to4 Unicast – Adres wykorzystywany w dynamicznym tunelowaniu IPv6 to IPv4 (6to4).
[64:FF9B::/96] Well-known NAT64 Prefix – Dobrze znany adres translacji NAT64.
Adresy IPv6 multicast
[FF00::/8] Multicast Address (IPv4 Multicast Address) – Pełni identyczną rolę względem protokołu IPv6, jaką pełnią adresy multicast względem protokołu IPv4. Wyróżnia się następujące adresy IPv6 multicast:
[FF00::/12] Well Known Multicast Address– Dobrze znane adresy multicast, przydzielane przez IANA.
[FF02::/16] Well Known Multicast Address – Działa na zasadzie adresu multicast w obrębie jednej sieci, tym samym nie jest rozgłaszany przez rutery. Wyróżnia się następujące adresy IPv6 multicast:
(All nodes)FF02::1 – Określa wszystkie urządzenia wykorzystujące protokół IPv6, w danej sieci. Stanowi odpowiednik adresu subnet broadcastwykorzystywanego w protokole IPv4.
(All Routers) FF02::2 – Określa wszystkie rutery używające adresacji IPv6, w danej sieci.
(All OSPFv3) FF02::5/6 – Określa wszystkie rutery używające protokołu OSPFv3, w danej sieci.
(RIPng Routers) FF02::9 – Określa wszystkie rutery używające protokołu RIPng, w danej sieci.
(EIGRPv6 Routers) FF02::A– Określa wszystkie rutery używające protokołu EIGRPv6, w danej sieci.
(DHCP Relay Agent) FF02::1:2– Określa wszystkie rutery działające jako agent relay dla protokołu DHCPv6.
(DHCP Servers) FF05::1:3 – Określa wszystkie serwery protokołu DHCPv6, w danej sieci.
(DHCP Routers) FF05::2 – Określa wszystkie interfejsy ruterów używające adresację IPv6, w danej sieci.
[FF02:0:0:0:0:1:FF00::/104]Solicited-Node Multicast Address– Umożliwia przesyłanie ruchu multicast do wielu hostów posiadających podobny adres IPv6 (Dokładnie rzecz ujmując końcówkę tego adresu). Adres ten jest wykorzystywany między innymi przez protokół NDP w wiadomości NS.
Multicast – Należy do grupy adresów Multicast.
Link-Local – Nie jest przekazywany przez rutery (Nie jest routowany).
Calculated – Jest tworzony na podstawie adresu „Unicast IPv6” danego hosta. A dokładnie rzecz ujmując, na podstawie jego sześciu ostatnich hexadecymalnych cyfr.
Operation – Każdy interfejs posiada jak i nasłuchuje na swoim adresie Solicited-Node Multicast Address.
Overlap – Nie jest unikalny, może się powtarzać.
[FF08::/16] Organization Local Multicast Address – Przepuszcza ruch multicast w obrębie danej firmy, blokując tym samym jego rozprzestrzenianie się poza jej obszar.
Inne adresy IPv6
Anycast Address – Umożliwia zaadresowanie wielu urządzeń tym samym adresem IPv6. Dzięki czemu host nawiązujący połączenie z danym adresem zostanie przekierowany do najbliższego urządzenia.
AdresacjaEUI-64 – Metoda automatycznego generowania adresów IPv6 przez hosty, na podstawie adresu sieci (Prefix/Length) rozgłaszanego przez lokalny ruter za pomocą protokołu NDP (Metoda ta działa jedynie w przypadku sieci z prefix-em /64).
Adresacja sieci IPv6
Metody adresacji sieci za pomocą protokołu IPv6
Tworzenie adresu metodą EUI-64
Adres IPv6 wyliczany za pomocą metody EUI składa się z prefix-u połączonego z adresem MAC.
Proces zamiany siódmego bitu zwanego bitem L/U powinien zachodzić jedynie kiedy bit ten posiada wartość 0.
Prefix (ISP)
Podsieć
(Subnet)
Pierwsza część adresu MAC
Uzupełnienie
(FFEE)
Druga część adresu MAC
Adresacja hosta metodą EUI-64
Router Advertisement Flags A, O i M
Respektowanie flag zawartych w wiadomościach RA, jest zależne od systemu operacyjnego zainstalowanego na urządzeniu końcowym.
Address Autoconfiguration Flag(AFlag) – Kiedy flaga A jest ustawiona na wartość 1, wymusza na urządzeniu końcowym pozyskanie adresu IPv6 (GUA) poprzez metodę SLAAC. Za pomocą funkcji EUI-64 bądź liczby randomowo generowanej.
Other Configuration Flag(OFlag) – Kiedy flaga O jest ustawiona na wartość 1, wymusza na urządzeniu końcowym pozyskanie adresu IPv6 (GUA) poprzez metodę SLAAC, a innych informacji protokołu DHCP Np. adresu DNS czy nazwy domeny, za pomocą serwera Stateless DHCPv6. Adres GUA może być generowany za pomocą funkcji EUI-64 bądź liczby randomowej.
Managed Address Configuration Flag(M Flag) – Kiedy flaga M jest ustawiona na wartość 1, wymusza na urządzeniu końcowym pozyskanie adresu IPv6 (GUA) oraz innych informacji protokołu DHCP Np. adresu DNS czy nazwy domeny, za pomocą serwera Stateful DHCPv6. Jedyną informacją udzielaną przez ruter jest adres bramy domyślnej (Source RA address).
RA
Adress Allocation Method
A
Flag (SLAAC)
O
Flag (Stateless DHCPv6)
M
Flag (Stateful DHCPv6)
Method 1: SLAAC
1
0
0
Method 2: SLAAC + Stateless DHCPv6
1
1
0
Method 3: Stateful DHCPv6
0
N/A
1
Metody przydzielania adresów IPv6 a Flagi zawarte w wiadomości RA
Ustawienie wszystkich Flag zawartych w wiadomości RA, na wartość 1 może spowodować wygenerowanie adresu IPv6 (GUA) za pomocą serwera Stateful DHCPv6. Bądź też pozyskanie jednego adresu IPv6 (GUA) poprzez metodę SLAAC a drugiego adresu IPv6 (GUA) przy pomocy serwera Stateful DHCPv6.
RFC 5925– Recommendation for IPv6 Address Text Representation.
RFC 4291– IP Version 6 Addressing Architecture.
RFC 4193– Unique Local IPv6 Unicast Address.
Budowa adresu IPv6:
Przykładowy adres IPv6: 2001:0DB8:4898:DAFC::1/64
{RIR – ISP – ISP Site} = Global Prefix.
{Subnet} = subnet.
{Host} = Interface ID (np. EUI-64).
{Prefix Length} domyślnie 64.
Adres IPv6 składa się z 8 hextet-ów (Po 16 bitów każdy = 128 bity).
Adresacja ipv6 zezwala na stworzenie 340,282,366,920,938,463,463,374,607,431,768,211,456 unikalnych adresów (Co daje 340 sekstylionówadresów. Jednostki miary do sekstyliona to: tysiąc -> milion -> miliard -> bilion -> biliard -> trylion -> ryliard -> kwadrylion -> kwadryliard -> kwintylion -> kwintyliard -> sekstylion).
Skrócony zapis adresu IPv6
Zsumowanie pierwszych zer:
Przed: 0000:0000:0000:0000:0000:0000:0000:0000.
Po: 0:0:0:0:0:0:0:0.
Usunięcie pierwszych zer:
Przed: 2001:0DB8:CAFE:0045:0000:0000:0000:0123.
Po: 2001:DB8:CAFE:45:0000:0000:0000:123.
Usunięcie jednej grupy hextet-ów zawierających same zera:
Przed: 2001:0DB8:0000:0045:0000:0000:0000:0123.
Po: 2001:0DB8:0000:0045::0123.
Pełne skrócenie adresu IPv6:
Przed: 2001:0DB8:0000:0045:0000:0000:0000:0123.
Po: 2001:DB8:0:45::123.
Historia protokołu IPv6
Z powodu kurczącej się puli adresów IPv4 oraz przepełniających się globalnych tablic routingu, organizacja IETF podjęła decyzję o wprowadzeniu środków zaradczych, roboczo nazwanych „Short-term solutions”. Przykładowymi rozwiązaniami jakie zostały w tym celu opracowane, jest protokół NAT czy, maska CIDR. Ponadto postanowiono o wprowadzeniu drugiego rozwiązania długoterminowego zwanego „Long-term solutions”, którego celem jest wprowadzenie nowego protokołu IP, w wersji szóstej (IPv6).
Zagadnienia związane z protokołem IPv6
Funkcje protokołu IPv6
Address assignment features – Umożliwia przypisywanie adresów IPv6 na wiele sposobów.
Built-in support for address renumbering – Umożliwia zmianę publicznego prefix-u IPv6 w całej sieci.
Built-in support for mobility – Wspiera ruchome, mobile hosty, dzięki czemu nie tracą one dostępu do sieci.
Provider-independent/dependent public address space
Aggregation– Pomimo dużej ilości adresów, protokół IPv6 zmniejsza ilość wpisów w globalnych tablicach routingu.
No need for NAT/PAT– IPv6 nie wymaga translacji adresów NAT, na brzegu sieci.
IPsec– Wymaga, aby każde urządzenie wspierające protokół IPv6 wspierało również protokół IPsec.
Header improvements – Wprowadza ulepszenia w nagłówku warstwy trzeciej, w porównaniu do protokołu IPv4. Redukując między innymi przymus każdorazowego obliczania sumy kontrolnej czy ułatwiając komunikację protokołu TCP.
No broadcast– usuwa adresy rozgłoszeni-owe (Broadcast) z protokołu IPv6.
Transmition tools – Umożliwia łatwą migrację z protokołu IPv4 do IPv6.
Protokoły współistniejące z IPv4 vs IPv6
Protokół ICMP został zastąpiony przez protokółICMPv6.
Protokół ARPzostał zastąpiony przez protokół NDP(Neighbor Discovery Protocol).
Protokół OSPFv2 został zastąpiony przez protokółOSPFv3.
Protokół EIGRPv4 został zastąpiony przez protokółEIGRPv6.
Protokół RIP został zastąpiony przez protokółRIPng.
Protokół IGMP został zastąpiony przez protokółMLD (Multicast Lisner Discovery).
Pozostałe pojęcia
Pojęcia dotyczące protokołu IPv6
Dual Stack – Oznacza jednoczesne stosowanie adresacji IPv4 oraz IPv6 w sieci lokalnej.
Proces przyznawania adresów IPv6
IANA->RIRs(Odział lokalny np. ARIN określający Północną Amerykę) ->ISP->Company.