Kategoria: Warstwa Trzecia modelu OSI

  • (T) Protokoły routingu dynamicznego**

    (T) Protokoły routingu dynamicznego**

    Zagadnienia związane z routingiem

    Routing Dynamiczny

    • Zadaniem protokołu Routingu Dynamicznego jest wypełnienie Tablicy Routingu, trasami prowadzącymi do sieci docelowych. W tym celu rutery wymieniają między sobą wiadomości mające określić istniejące sieci oraz ich lokalizację a następnie za pomocą algorytmów wyznaczyć najkrótszą trasę do nich prowadzącą.

    Zagadnienia związane z routingiem

    • Routing Protocol – Zestaw zasad, wiadomości oraz algorytmów wykorzystywanych przez router do wykrywania nowych  sieci, jak i tras do nich prowadzących. Poprzez poszukiwanie nowych oraz analizowanie istniejących tras routingu w celu określenia jednej najlepszej trasy względem każdej z istniejących sieci. Przykładowym protokołem routingu dynamicznego jest protokół RIP, EIGRP, OSPF, BGP czy IS-IS.
    • Routed Protocol & Routable Protocol – Protokół określający logiczne zasady struktury oraz adresacji sieci, umożliwiające prowadzenie komunikacji przez rutery. Przykładowym protokołem tego typu jest protokół IPv4 bądź IPv6.
    • Routing Asymetryczny (Asymmetric Routing) – Zachodzi, gdy droga powrotna wysłanego pakietu jest inna, niż ta którą dotarł do celu. Sytuacja ta może powodować komplikacje związane z kolejkowaniem wysyłanych wiadomości np. utrudniając komunikację protokołu TCP tudzież zupełnie ją blokując. Przykładem takiej sytuacji jest użycie protokołu HSRP na przełącznikach warstwy trzeciej, przy zastosowaniu redundantnego podłączenia z przełącznikami L2 warstwy dostępowej. W sytuacji tej powracające pakiety odebrane przez urządzenie, które nie uczestniczyło w danej transmisji, nie będą posiadać adresu MAC nadawcy w swojej tablicy (ARP cache), przez co ruch ten zostanie odebrany jako nieznany ruch unicast-owy a tym samym zostanie odrzucony.
    • Czas oczekiwania (Latency) – Określa czas przez jaki pakiet podróżuje od źródła do celu, przez co jest szczególnie ważny dla aplikacji głosowych (Voice over IP). Przykładowo w standardzie G.114 wymagana jakość połączenia nie powinna przekraczać czasu oczekiwania rzędu 150ms. Na końcową wartość czasu oczekiwania składa się przepustowość (Bandwidth) oraz opóźnienie (Delay).
    • Następny przeskok (Next-Hop) –
    • Zbieżność (Convergence) –
    • Autonomous System (AS) –
    • Autonomous System Number (ASN) – 
    • Interior Gateway Protocol (IGP) – 
    • Exterior Gateway Protocol (EGP) – 

    Dystans Administracyjny

    • W przypadku wykorzystania dwóch protokołów routingu na jednym ruterze, może dojść do sytuacji w którym obydwa protokoły przedstawią dwie różne drogi dotarcia do tej samej sieci docelowej. Aby wybrać jedną najlepszą, ruter wykorzystuje stałą wartość administracyjną przypisywaną do każdego protokołu routingu dynamicznego. Ten z niższą wartością posiada większy priorytet na dodawanie tras do tablicy routingu.
    Protokół Routingu Dystans Administracyjny
    Connected 0
    Static Route 1
    BGP (External Routes) 20
    EIGRP (Internal Routes) 90
    IGRP 100
    OSPF 110
    IS-IS 115
    RIP 120
    EIGRP (External Routes) 170
    BGP (Internal Routes) 200
    DHCP default route 254
    Unusable 255

    Wartości dystansu administracyjnego (AD)

    Metryka

    • Hop Count (Skok) – Ilość routerów, jakie musi pokonać pakiet, aby dotrzeć do celu.
    • Bandwidth (Pasmo) – Ilość danych jaka może być przepuszczana przez połączenie, w określonym okresie czasu.
    • Przepustowość (Throughput) – Rzeczywista szerokość pasma (Bandwidth), zmierzona w określonym okresie czasu (Jest to prędkość pasma pomniejszona o istniejący ruch sieciowy oraz wszelkie opóźnienia).
    • Delay (Opóźnienie) –
    • Reliability (Osiągalność) – Wartość szacowana na podstawie awaryjności drogi.

    Protokoły routingu dynamicznego

    Protokoły routingu dynamicznego

    • Zadania dynamicznych protokołów routingu:
      • Dynamiczna nauka o sieci należącej do danej instancji routingu.
      • Nauka o najlepszej ścieżce prowadzącej do każdej dostępnej podsieci.
      • Dynamiczna wymiana danych o zmianach zachodzących w sieci.
    • Dynamiczne protokoły routingu należy dostosować do panujących w firmie warunków, zgodnie z następującymi cechami charakterystycznymi które posiadają:
      • Skalowalność (Scalability) – W zależności od tego jak wielka jest obecna sieć oraz jakie zmiany będą w niej zachodzić w przyszłości, należy dobrać odpowiedni protokół routingu lub wykorzystać routing statyczny. W przypadku opcji pierwszej należy zwrócić uwagę na np. ilość przeskoków (która w przypadku protokołu RIP jest ograniczona do 15).
      • Zależność od producenta (Vendor interoperability) – Łącząc urządzenia sieciowe wielu producentów, należy zwrócić uwagę czy wszystkie z nich wspierają wybrany protokół routingu, przykładowo do 2013 roku protokół EIGRP mógł działać jedynie na ruterach firmy Cisco.
      • Znajomość obsługi protokołu przez personel IT – Pracownicy firmy mogą być bardziej zorientowani w obsłudze jednego z protokołów, co może znacząco usprawnić jego wdrażanie w sieci lokalnej.
      • Prędkość i zbieżność (Speed of convergence) – Szybkość wykrywania i reagowania na zachodzące w sieci zmiany jest istotną chcą każdego z protokołów routingu.
      • Sumaryzację (Summarization) – Możliwość sumaryzacji wielu wpisów z tablicy routingu do pojedynczego, może znacznie zmniejszyć rozmiar tablicy przyspieszając proces routingu przy jednoczesnym odciążeniu procesora.
      • Routing wewnętrzny oraz zewnętrzny – W zależności od potrzeby w firmie może zostać wykorzystany protokół bramy zewnętrznej BGP, stosowany szczególnie w przypadku nadmiarowego połączenia z dostawcą ISP czy jedynie jeden z protokołów bramy wewnętrznej IGP.
    Protokoły routingu dynamicznego

    Exterior Gateway Protocol

    Protokoły IGP są wykorzystywane w komunikacji pomiędzy różnymi systemami autonomicznymi AS.

    Interior Gateway Protocol

    Protokoły IGP są wykorzystywane w komunikacji wewnątrz jednego systemu autonomicznego AS.
    • Protokoły wektora odległości (Distance-Vector) – Okresowo wymieniają całą zawartość swojej tablicy routingu, pomiędzy bezpośrednio przylegającymi sąsiadami. Przez co niezależnie od zaistniałych w sieci zmiany, każda wymaga ponownego przesyłania całej zawartości tablicy routingu, powodując duże opóźnienia (Speed of convergence).
      • Split Horizon – Funkcja podzielonego horyzontu (Split Horizon), blokuje wysyłanie aktualizacji dotyczących tras routingu, na interfejsie z którego trasy te zostały otrzymane. Tym samym niwelowane jest ryzyko powstawania pętli sieciowych.
      • Poison Reverse – W celu unieważnienia rozgłaszanej trasy routingu, ruter rozpoczyna jej rozgłaszanie z metryką Poison Reverse”, równą 16, co oznacza trasę nieosiągalną (RIP, IGRP).
      • EIGRP – Protokół EIGRP (Enhanced Interior Gateway Routing Protocol) stanowi nowszą wersje protokołu IGRP. Jako protokół routingu dynamicznego posiada pewne cechy protokołów Distance-vector oraz link-state, przez co nazywany jest hybrydą lub zaawansowanym protokołem wektora odległości (advanced distance-vector routing protocol). Oprócz częściowych aktualizacji EIGRP umożliwia wyliczanie metryki na podstawie innych czynników niż ilość przeskoków.
    Funkcjonalność RIPv1 RIPv2 IGRP EIGRP
      Metryk Obydwa protokoły jako metrykę wykorzystują ilość skoków, z ograniczeniem tej liczby do 15 możliwych przeskoków. Obydwa protokoły jako metrykę wykorzystują ilość skoków, z ograniczeniem tej liczby do 15 możliwych przeskoków.   Obydwa protokoły jako metrykę domyślnie wykorzystują pasmo i opóźnienie z dodatkowym wsparciem niezawodności. Obydwa protokoły jako metrykę domyślnie wykorzystują pasmo i opóźnienie z dodatkowym wsparciem niezawodności.  
    Adres rozgłoszeniowy 255.255.255.255 224.0.0.9 255.255.255.255 224.0.0.10
    VLSM NIE TAK NIE TAK
    CIDR NIE TAK NIE TAK
    Sumaryzacja NIE TAK NIE TAK
    Autentykacja NIE TAK NIE TAK
    Algorytm Bellman-Ford Bellman-Ford DUAL DUAL

    Porównanie protokołów klasowych (RIPv1, IGRP) z protokołami bezklasowymi (RIPv2, EIGRP)

    • Protokoły stanu łącza (Link-State) – Tworzą szczegółową mapę topologii sieciowej, na podstawie której szukają najlepszej trasy dotarcia do sieci docelowej. Dzięki wymianie wiadomości LSA (Link-State Advertisements) cała zawartość tablicy routingu jest propagowana jedynie w pierwszej fazie nawiązywania sąsiedztwa z innymi urządzeniami, tym samym poszczególne aktualizacje zawierają jedynie niezbędne informacje, a co za tym idzie zmniejszają ilość niepotrzebnego ruchu sieciowego. Dodatkowym atutem protokołów stanu łącza w porównaniu do protokołów wektora odległości, jest ich znacznie większa zbieżność (zależność ta nie dotyczy protokołu EIGRP który ma porównywalne osiągnięcia jak OSPF czy IS-IS). Dodatkowo protokoły te posiadają następujące cechy:
      • Budują mapę sieci.
      • Mają krótki czas zbieżności.
      • Posiadają budowę hierarchiczną (Uzyskaną poprzez podział sieci na strefy).
    • Protokół wektora ścieżki (Path-Vector BGP) – Określa dokładną ścieżkę jaką musi pokonać pakiet, aby dotrzeć do celu, pokonując na swojej drodze różne systemy autonomiczne AS.

    Migracje

    Migracja protokołu routingu

    • Dystans administracyjny AD (Administrative Distance) – Dystans administracyjny przypisywany do protokołów routingu, umożliwia współistnienie wielu protokołów na tym samym urządzeniu. W przypadku, w którym jedna sieć jest rozgłaszana przez więcej protokołów, router wybiera tą z niższą wartością dystansu administracyjnego.
    • Redystrybucja Routingu (Route Redistribution) – Umożliwia wymienianie informacji na temat sieci pomiędzy różnymi protokołami bądź instancjami tego samego protokołu routingu.

    Migracja protokołu IPv4 do IPv6

    • Check equipment for IPv6 compatibility
    • Run IPv4 and IPv6 concurrently
    • Check the ISP’s IPv6 support
    • Configure NAT64
    • Use NPTv6
    • Send IPv6 traffic over an IPv6-over-IPv4 tunnel

    Pozostałe tematy związane z routing-iem

  • (Ts) Troubleshooting protokołu IPv6*

    (Ts) Troubleshooting protokołu IPv6*

    Troubleshooting protokołu IPv6

    • Szukanie błędów względem urządzenia końcowego, Które powinno:
      • Być w tej samej sieci IPv6 co skonfigurowana brama domyślna.
      • Używać tej samej długości prefiksu (Prefix Length) co skonfigurowana brama domyślna.
      • Używać adresu unicast-owego lokalnego rutera jako adresu swojej bramy domyślnej.
      • Używać prawidłowego adresu serwera DNS.
    • Szukanie błędów względem rutera:
      • Interfejs rutera powinien być aktywny, pracując w trybie (up/up).
      • Dwa rutery współdzielące połączenie warstwy drugiej powinny mieć adresy z tej samej sieci IPv6.
      • Ruter powinien znać trasy do wszystkich sieci IPv6 (zgodnie z topologią danej sieci).
    • Filtrowanie błędów:
      • Należy uważać na filtry adresów MAC na switch-ach.
      • Należy uważać na brakujące sieci VLAN na switch-ach.
      • Należy uważać na listy ACL (IPv6).
    • Jeżeli pakiet ICMP nie dociera do bramy domyślnej, należy sprawdzić czy:
      • Ruter będący bramą domyślną ma aktywny interfejs.
      • Problem nie leży po stronie warstwy drugiej.
      • Komunikacja warstwy drugiej nie ulega filtracji, np. poprzez funkcję port security.
    • Jeżeli występuje problem z odwzorowaniem nazw (DNS), należy sprawdzić czy:
      • Host posiada ustawiony błędny statyczny wpis odwzorowania nazw DNS w swojej pamięci.
      • Host korzysta z niewłaściwego adresu serwera DNS.
      • Host nie ma kontaktu z serwerem DNS.
    • Problemy z funkcją SLAAC:
      • Do prawidłowego działania funkcji SLAAC konieczne są komendy [ipv6 address” oraz „ipv6 unicast-routing].
      • Bez komendy [ipv6 unicast-routing] urządzenie nie funkcjonuje jak ruter, perz co nie odpowiada na wiadomości NDP

    Troubleshooting routingu statycznego IPv6

    • Podczas troubleshooting routingu statycznego względem protokołu IPv6 należy sprawdzić czy:
      • Komend [ipv6 route] posiada prawidłowy adres IPv6 (prefix/length).
      • Czy adres Link-Local jest prawidłowy (Powinien to być adres sąsiedniego rutera którego interfejs współdzieli ten sam link bądź inne połączenie warstwy drugiej).
      • Czy interfejs następnego przeskoku jest prawidłowy.
      • Czy adres Unicast IPv6 następnego przeskoku jest prawidłowy.
    • Aby wpis routingu statycznego znalazł się w tablicy routingu muszą być spełnione następujące wymagania:
      • Interfejs następnego przeskoku musi być aktywny w stanie (up/up).
      • Adres następnego przeskoku musi być osiągalny z poziomu lokalnego rutera.
      • Wpis musi posiadać niższą wartość Dystansu administracyjnego, w przypadku w którym istnieje już inny statyczny wpis odnoszący się do tej samej sieci docelowej.

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (K) Protokół IPv6 w systemach operacyjnych*

    (K) Protokół IPv6 w systemach operacyjnych*

    Protokół IPv6 w systemie Linux

    Konfiguracja

    Server:/$ netstat -g

    Wyświetla adresy Global unicast, Link Local oraz Solicited Node Multicast.

    Server:/$ netstat set ipv6 set interface „Local Area Connection” routerdiscovery=disabled

    Ignoruje wiadomości RA.

    Troubleshooting

    Server:/$ ip -6 show dev interface

    Wyświetla informacje dotyczące czasów Lifetime.

    Server:/$ ifconfig -L

    Wyświetla informacje dotyczące czasów Lifetime (MAC OS).

    Protokół IPv6 w systemie Windows

    Konfiguracja adresu IPv6 GUA Public Address

    Obydwie poniższe komendy aktywują / dezaktywują funkcję generowania adresu Global Unicast Address (Public Address). Enabled = Random 64 Bits / Disabled = EUI-64.

    C:\rkkr> netsh interface ipv6 set global randomizeidentifiersd={enabled / disabled}(enabled) store=active

    C:\rkkr> netsh interface ipv6 set global randomizeidentifiersd={enabled / disabled}(enabled) store=presistent

    Konfiguracja adresu IPv6 GUA Temporary Address

    Obydwie poniższe komendy aktywują / dezaktywują tymczasowy adres IPv6 (Temporary Address).

    C:\rkkr> netsh interface ipv6 set privacy={enabled / disabled}(enabled) store=active

    C:\rkkr> netsh interface ipv6 set privacy={enabled / disabled}(enabled) store=presistent

    Troubleshooting

    C:\rkkr> netsh interface ipv6 show joins

    Wyświetla adresy Global unicast, Link Local oraz Solicited Node Multicast.

    C:\rkkr> netsh interface ipv6 show siteprefixes

    Wyświetla bazę lokalnych adresów ON-Link.

    C:\rkkr> netsh interface ipv6 show address 11

    Wyświetla bieżące wartości czasów IPv6 Lifetime.

    C:\rkkr> netsh interface ipv6 show address

    Wyświetla informacje o stanie adresacji IPv6, konfigurowanego urządzenia.

    C:\rkkr> netsh interface ipv6 show interface

    Wyświetla metryki czy wartości MTU.

    C:\rkkr> netsh interface ipv6 show privacy

    Wyświetla informacje dotyczące czasów Lifetime.

    Pozostałe tematy związane z konfiguracją protokołu IPv6

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (TK) Konfiguracja list ACL IPv6*

    (TK) Konfiguracja list ACL IPv6*

    Wstęp teoretyczny

    Rodzaje list ACLv6

    • IPv6 Traffic Filtering, filtruje ruch sieciowy:
      • Przechodzący przez konfigurowane urządzenie.
      • Na poziomie interfejsów sieciowych.
      • Z wsparciem tagowania list ACL.
    • IPv6 Access Classes, filtruje ruch sieciowy:
      • Kierowany na konfigurowane urządzenie.
      • Wygenerowany przez konfigurowane urządzenie.
      • Management-owy ruch sieciowy.

    Działanie listy ACLv6

    • W przypadku dopasowania adresu IPv6 do wpisu deny, nadchodzący ruch sieciowy zostanie porzucony. A ruter odeśle na zawarty w pakiecie adres źródłowy, wiadomość ICMPv6 (Unreachable Message).
    • Domyślnie listy ACL dla protokołu IPv6 zawierają trzy wpisy:
      • [permit icmp any any nd-na]
      • [permit icmp any any nd-ns]
      • [deny ipv6 any any]

    Konfiguracja list ACL

    Pozostałe tematy związane z konfiguracją protokołu IPv6

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (TK) Konfiguracja routing-u IPv6**

    (TK) Konfiguracja routing-u IPv6**

    Podstawy routingu protokołu IPv6

    • Aby adresacja IPv6 znalazła się a tablicy routingu należy:
      • Aktywować funkcję routingu względem protokołu IPv6, za pomocą komendy [ipv6 unicast-routing].
      • Przypisać do konfigurowanego interfejsu sieciowego adres IPv6.
    • Ruter tworzy wpis do tablicy routingu na podstawie adresacji Unicast IPv6
      • Pierwszy wpis odnosi się do całej sieci (Connected routeC).
      • Drugi wpis określa lokalny adres IPv6 interfejsu rutera (Local routeL).
    • Rutery Cisco nie tworzą wpisów na podstawie adresacji IPv6 Link-Local.
    • Rutery Cisco usuwają z tablicy routingu wpisy dotyczące nieaktywnych interfejsów.

    Konfiguracja statycznego routingu IPv6

    Konfiguracja trasy statycznej

    (config)# ipv6 route prefix/prefix-length interfejs

    Tworzy statyczną trasę routingu, względem protokołu IPv6.

    (config)# ipv6 route prefix/prefix-length interfejs {adres-link-local / adres-global-unicast}(Adres-następnego-przeskoku)

    Tworzy statyczną trasę routingu, względem protokołu IPv6. Określającą adres IPv6 następnego przeskoku.

    Konfiguracja domyślnej trasy statycznej

    (config)# ipv6 route ::/0 interfejs

    Tworzy statyczną domyślną trasę routingu, względem protokołu IPv6.

    (config)# ipv6 route ::/0 {adres-link-local / adres-global-unicast}(Adres-następnego-przeskoku)

    Tworzy statyczną domyślną trasę routingu, względem protokołu IPv6. Określającą adres IPv6 następnego przeskoku.

    Pozostałe tematy związane z konfiguracją protokołu IPv6

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (K) Statyczne przydzielanie adresów IPv6**

    (K) Statyczne przydzielanie adresów IPv6**

    Konfiguracja adresów IPv6

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ipv6 address prefix/prefix-length

    Przypisuje adres IPv6 do konfigurowanego interfejsu sieciowego.

    (config-if)# ipv6 address prefix/prefix-length eui-64

    Przypisuje adres IPv6 wygenerowany na podstawie adresacji EUI-64.

    (config-if)# ipv6 address prefix-IPv6 link-local

    Przypisuje adres Link-Local do konfigurowanego interfejsu sieciowego .

    (config-if)# ipv6 address prefix/prefix-length anycast

    Przypisuje adres anycast do konfigurowanego interfejsu sieciowego.

    (config-if)# ipv6 address autoconfig [default]

    Dynamicznie pozyskuje adres IPv6, przy wykorzystaniu funkcji SLAAC. (Opcjonalna pod-komenda „default” automatycznie dodaje adres IPv6 do tablicy routingu).
    Po skonfigurowaniu adresu Global Unicast bądź Unique Local Unicast, adres Link-local jest generowany automatycznie. W sytuacji usunięcia skonfigurowanych adresów GUA, ULA, adres link-local również zostanie usunięty. Wyjątek od przedstawionej sytuacji stanowi, wykorzystanie komendy [ipv6 enable] względem konfigurowanego interfejsu sieciowego.

    General Prefix Option

    (config)# ipv6 general-prefix nazwa-wzorca prefix-IPv6(Np. 2001:db8:cafe::/48)

    Tworzy wzorzec prefix-ów IPv6.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ipv6 address nazwa-wzorca prefix-hosta(Np. ::88:0:0:0:1/64)

    Tworzy adres IPv6 na podstawie określonego wzorca.

    # show ipv6 general-prefix

    Wyświetla skonfigurowane wzorce prefix-ów.
    Zmiana adresu podanego w wzorcu IPv6, automatycznie zmienia wszystkie utworzone za jego pomocą adresy IPv6, na konfigurowanym urządzeniu. Dzięki czemu funkcja ta może być wykorzystywana przy migracji z jednego dostawcy ISP do drugiego.

    Podstawowe komendy SHOW

    # show ipv6 neighbors

    Wyświetla wszystkie znane hosty, wykryte za pomocą protokołu NDP (Wiadomości NA, NS).

    # show ipv6 routers

    Wyświetla wszystkie znane rutery, wykryte za pomocą protokołu NDP (Wiadomości RA, RS), z tej samej sieci lokalnej. Rutery połączone za pomocą przewodu serialowego nie będą widoczne.

    # show ipv6 general-prefix

    Wyświetla skonfigurowane wzorce prefix-ów.

    Linux$ ndp -an

    Wyświetla odpowiednik tablicy ARP dla protokołu IPv6 (NDP), w systemie linux.

    Pozostałe tematy związane z konfiguracją protokołu IPv6

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (TK) Konfiguracja tuneli IPv6*

    (TK) Konfiguracja tuneli IPv6*

    Wstęp teoretyczny

    Dynamiczny tunel GRE IPv6 over IPv4 (6to4)

    • Dynamicznie nawiązywanie tuneli GRE (IPv6 over IPv4), umożliwia nawiązanie połączenia point-to-multipoint, traktowanego jako sieci NBMA (Virtual Nonbroadcast Multiaccess)(Zwykłe tunele GRE nawiązuje połączenie point-to-point).
    • Tunele GRE 6to4 charakteryzują następujące cechy:
      • Docelowy adres IPv4 sąsiedniego urządzenia brzegowego dla inne strefy IPv6, jest pozyskiwany z adresu IPv6, zapisanego w formacie 2002:adresIPv4urządzeniabrzegowego::/48.
      • Podstawowa topologia składa się z wielu stref IPv6, z których każda podłączona jest przynajmniej jednym interfejsem do współdzielonej sieci IPv4.
      • Każdy z ruterów brzegowych powinien posiadać globalnie unikalny adres IPv4 umożliwiający stworzenie globalnie unikalnego adresu IPv6 6to4. Dzięki czemu możliwe staje się stworzenie mapowania adresów IPv4 jak i IPv6 za pomocą DNS-u.
    Ruter brzegowy musi wspierać zarówno protokół IPv4 jak i IPv6.

    Konfiguracja tuneli IPv6

    Konfiguracja tunelu IPv6 over IPv4

    Konfiguracja tunelu

    (config)# ipv6 unicast-routing

    Aktywuje funkcję routingu dla protokołu IPv6.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji interfejsu sieciowego (Źródłowego interfejsu IPv4 względem tunelu IPv6).

    (config-if)# ip address adres-IPv4

    Przypisuje adres IPv4, do konfigurowanego interfejsu sieciowego.

    (config-if)# interface tunnel 0-2147483647(tunel-ID)

    Przechodzi do poziomu konfiguracji wirtualnego interfejsu sieciowego.

    (config-if)# ipv6 address {adres-IPv6 / enable}

    Przypisuje adres IPv6 do konfigurowanego tunelu GRE.

    (config-if)# tunnel source {adres-IPv4 / interfejs}

    Określa źródłowy interfejs wyjściowy / IPv4 interfejsu wyjściowego.

    (config-if)# tunnel destination adres-IPv4

    Określa docelowy adres IPv4 tunelu wirtualnego.

    (config-if)# tunnel mode ipv6ip

    Określa tryb pracy tunelu wirtualnego na IPv4 over IPv4.

    Konfiguracja trasy statycznej

    (config)# ipv6 route adres-IPv6 tunnel 0-2147483647(tunel-ID)

    Definiuje trasę statyczną dla konfigurowanego tunelu wirtualnego.

    Konfiguracja tunelu 6to4

    Konfiguracja tunelu GRE

    (config)# ipv6 unicast-routing

    Aktywuje funkcję routingu dla protokołu IPv6.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji interfejsu sieciowego (Źródłowego interfejsu IPv4 względem tunelu IPv6).

    (config-if)# ip address adres-IPv4

    Przypisuje adres IPv4, do konfigurowanego interfejsu sieciowego.

    (config-if)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# tunnel mode ipv6ip 6to4

    Zmienia tryb pracy tunelu GRE na „Automatic 6to4”. Komenda ta musi być wydana jako pierwsza, w trybie konfiguracji tunelu wirtualnego.

    (config-if)# ipv6 address 2002:XXXX:XXXX::/128

    Przypisuje adres IPv6 do konfigurowanego tunelu GRE (XXXX:XXXX odnosi się do adresu IPv4, interfejsu fizycznego (Source), zapisanego w postaci heksadecymalnej.

    (config-if)# tunnel source {adres-IPv4 / interfejs}

    Określa źródłowy interfejs wyjściowy / IPv4 interfejsu wyjściowego.

    Konfiguracja sieci LAN

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji interfejsu sieciowego.

    (config-if)# ip address prefix-IPv6/prefix-length

    Przypisuje adres IPv6, do konfigurowanego interfejsu sieciowego.

    (config-if)# ipv6 route sieć-IPv6(LAN) 2002:XXXX:XXXX::(Adres tunelu, następnego przeskoku)

    Tworzy statyczną trasę routingu.
    Tunel automatic 6to4 nie jest kompatybilny z dynamicznymi protokołami routingu.
    Wszystkie adresy IPv6 znajdujące się w jednej lokalizacji muszą posiadać część wspólną, odpowiadającą adresowi IPv4.

    Przykładowa konfiguracja tunelu 6to4

    • W poniższym przykładzie konfiguracji automatycznego tunelu 6to4. Wszystkie adresy IPv6 skonfigurowane na podanych urządzeniach, odpowiadają lokalnym adresom IPv4, będącym siecią tranzytową dla nawiązywanego tunelu. Działają one tym samym jako część identyfikująca dany odział zdalny. W sytuacji nawiązywania tunelu GRE pomiędzy oddziałami, ruter odzyskuje adres IPv4 z adresu IPv6, a następnie wykorzystuje go jako adres docelowy dla nawiązywanego tunelu.

    Konfiguracja pierwszego oddziału zdalnego

    Site1(config)# ipv6 unicast-routing

    Site1(config)# interface gigabitethernet 0/0

    Site1(config-if)# ip address 10.20.30.1 255.255.255.0

    Konfiguracja współdzielonej sieci IPv4.

    Site1(config-if)# interface tunnel 1

    Site1(config-if)# ipv6 address 2002:0A14:1E01::1/64

    Site1(config-if)# tunnel source gigabitethernet 0/0

    Site1(config-if)# tunnel mode ipv6ip 6to4

    Konfiguracja tunelu GRE z adresacją IPv6 (Adres zawiera część wspólną, przeliczoną z systemu dziesiętnego na system szesnastkowy, na podstawie adresu IPv4. (0A14:1E01 / 10 = 0A / 20 = 14 / 30 = 1E / 1 = 01)).

    Site1(config-if)# interface loopback 99

    Site1(config-if)# ip address 2002:0A14:1E01:99::1/64

    Konfiguracja dodatkowego interfejsu sieciowego z adresem IPv6, również posiadającym cześć wspólną.

    Site1(config-if)# ipv6 route 2002::/16 tunnel 1

    Konfiguracja trasy statycznej dla routingu IPv6.

    Konfiguracja drugiego oddziału zdalnego

    Site2(config)# ipv6 unicast-routing

    Site2(config)# interface gigabitethernet 0/0

    Site2(config-if)# ip address 10.20.30.2 255.255.255.0

    Konfiguracja współdzielonej sieci IPv4.

    Site2(config-if)# interface tunnel 1

    Site2(config-if)# ipv6 address 2002:0A14:1E02::1/64

    Site2(config-if)# tunnel source gigabitethernet 0/0

    Site2(config-if)# tunnel mode ipv6ip 6to4

    Konfiguracja tunelu GRE z adresacją IPv6, odpowiadającą lokalnemu adresowi IPv4.

    Site2(config-if)# interface loopback 99

    Site2(config-if)# ip address 2002:0A14:1E02:99::1/64

    Konfiguracja dodatkowego interfejsu sieciowego z adresem IPv6, również posiadającym cześć wspólną.

    Site2(config-if)# ipv6 route 2002::/16 tunnel 1

    Konfiguracja trasy statycznej dla routingu IPv6.

    Pozostałe tematy związane z konfiguracją protokołu IPv6

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (T) Teoria Prefix Delegation Options**

    (T) Teoria Prefix Delegation Options**

    Wstęp do metody Prefix Delegation Options

    • Prefix Delegation umożliwia przyznanie adresu IPv6 urządzeniom końcowym, podłączonym do domowego rutera SOHO (Small office Home office), przez dostawcę usług Internetowych ISP. Dzięki tej metodzie ruter SOHO stanowić będzie urządzenie pośredniczące w procesie przyznawania adresu IPv6, przez dostawcę ISP.
    • Metoda Prefix Delegation wyróżnia dwa rodzaje urządzeń:
      • RR (Requesting Router) – Urządzenie końcowe wysyłające zapytanie o adres IPv6.
      • DR (Delegating Route) – Urządzenie ISP przyznające adres IPv6.
    • Prefix (/56) przyznawany przez ruter DR umożliwia stworzenie 256 pod-sieci, po stronie rutera RR (0:0:0:0001::1/56).

    Proces przyznawania adresu IPv6 metodą Prefix Delegation

    Proces przyznawania adresu IPv6 metodą Prefix Delegation

    Proces przyznawania adresu IPv6 metodą Prefix Delegation wygląda następująco

    • SOHO wysyła wiadomość Router Solicitation do rutera ISP.
    • ISP odpowiada na otrzymaną wiadomość Router Solicitation, wiadomością Router Advertisement. Dzięki czemu ruter SOHO jest w stanie stworzyć własny adres IPv6 Global Unicast.
    • Jako że SOHO został skonfigurowany w trybie DHCPv6-PD, inicjuje proces przyznawania adresów IPv6 za pomocą wiadomości SOLICIT zawierającej opcję Prefix Delegation Option.
    • Rutery wymieniają pomiędzy sobą wiadomości ADVERTISE oraz REQUEST.
    • ISP odpowiada na wiadomość REQUEST, wiadomością REPLAY. Zawierającą prefix IPv6 jaki ruter SOHO może przypisać do swojej sieci wewnętrznej (LAN), wraz z innymi informacjami takimi jak adres serwera DNS czy nazwę domenową.
    • Po otrzymaniu wiadomości REQUEST, ruter SOHO:
      • Przypisuje otrzymany prefix IPv6 do wewnętrznego interfejsu sieciowego (LAN).
      • Generuje adres IPv6 w oparciu o otrzymany prefix IPv6.
      • Rozpoczyna rozsyłanie wiadomości Router Advertisement z flagą O ustawioną na 1.

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (T) Przydzielanie adresów (Stateful DHCPv6)**

    (T) Przydzielanie adresów (Stateful DHCPv6)**

    Wstęp do Stateful DHCPv6

    RFC 3315 – Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
    • Dynamiczne adresowanie sieci, przy wykorzystaniu metody Stateful DHCPv6, działa analogicznie do dynamicznej adresacji protokołu DHCPv4. Proces nauki adresacji IPv6 różni się jedynie sposobem pozyskiwania adresu bramy domyślnej.
    • W procesie adresacji lokalny ruter rozgłasza wiadomości RA z flagą A = 0, O = 0 oraz M = 1. Jeżeli zarówno flago O jak i M będą posiadały wartość 1, klient w zależności od systemu operacyjnego, stworzy dwa adresy IPv6 (Jeden w oparciu o metodę SLAAC oraz drugi pozyskany od serwera DHCPv6).
    Porównanie DHCPv4 do Stateful DHCPv6

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (T) Przydzielanie adresów (SLAAC + Stateless DHCPv6)**

    (T) Przydzielanie adresów (SLAAC + Stateless DHCPv6)**

    Wstęp do Stateless DHCPv6

    RFC 3736 – Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6
    • Dynamiczne adresowanie sieci, przy wykorzystaniu metody Stateless DHCPv6 (RFC 3736) umożliwia urządzeniu końcowemu, stworzenie adresu IPv6 za pomocą funkcji SLAAC (Stateless Address Autoconfiguration) oraz pobranie dodatkowych informacji protokołu DHCPv6 (Takich jak adres serwera DNS, NTP czy nazwę domenową) za pośrednictwem serwera DHCPv6.
    • Metoda Stateless DHCPv6 współpracuje z protokołem NDP w procesie pozyskiwania adresu IPv6, za pomocą wiadomości RS oraz RA, wymienianych pomiędzy urządzeniem końcowym a lokalnym ruterem. Wiadomość RA zawiera oprócz adresacji sieci lokalnej (Prefix-u oraz długości Prefix-a) flagi A = 1, O = 1 oraz M = 0.
    • Ostatnim krokiem procesu Stateless DHCPv6 jest pozyskanie dodatkowych informacji takich jak adres serwera DNS czy nazwę domenową, za pomocą serwera DHCPv6.
    Porównanie SLAAC do Stateless DHCPv6

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (T) Teoria protokołu DHCPv6**

    (T) Teoria protokołu DHCPv6**

    Wstęp do protokołu DHCPv6

    Zagadnienia związane z protokołem DHCPv6

    RFC 3315 – Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
    • DHCPv6 Client – Urządzenie inicjujące proces przydzielania adresu IPv6, oraz innych informacji rozgłaszanych przez serwer DHCPv6 (Takich jak adres serwera DNS czy nazwa domenowa).
    • DHCPv6 Server – Serwer DHCP odpowiadający na zapytania klienta, może lecz nie musi być w tej samej sieci co klient.
    • DHCPv6 Relay Agent – Urządzenie pośrednie, umożliwiające komunikację klienta z serwerem DHCP, w sytuacji gdy obydwa urządzenia znajdują się w innej sieci (Przeważnie jest to ruter).
    • Inne zagadnienia związane z protokołem DHCPv6:
      • DUID (DHCP Unique Identifier) – Numer identyfikujący urządzenia wspierającego protokół DHCPv6. Zarówno klient jak i serwer DHCP posiadają po jednej unikalnej 2-bajtowej wartości, która wraz z zmienną tworzy numer DUID (Referencja RFC 3315 ogranicza wielkość wartości DUID do 128 bajtów). Obecnie występują trzy rodzaje wartości DUID:
        • Adres Link-Local połączony z czasem.
        • Unikalny numer ID nadany przez organizację IANA.
        • Adres Link-Layer.
      • IA (Identity Association) – Kombinacja adresów przypisanych do jednego interfejsu sieciowego.
      • IAID (Identity Association Identifier) – Unikalna wartość przypisane do interfejsu sieciowego.
    • Adresy IPv6 oraz porty wykorzystywane przez serwer DHCPv6:
      • All_DHCP_Relay_Agents_and_Servers (FF02::1:2) – Multicast-owy adres Link-Local określający wszystkie serwery DHCPv6 oraz wszystkich agentów pośredniczących (Relay Agents).
      • All_DHCP_Servers (FF05::1:3) – Multicast-owy adres Site-Local określający wszystkie serwery DHCPv6.
      • UDP port 546 – Server DHCPv6 oraz agent pośredniczący (Relay) wysyłają wiadomości DHCP do klienta na porcie docelowym UDP 546.
      • UDP port 547 – Klient wysyła wiadomości DHCP do serwera DHCPv6 bądź agenta pośredniczącego (Relay) na porcie docelowym UDP 547.

    Wiadomości protokołu DHCPv6

    • SOLICIT (1) – Wiadomość wysyłana przez klienta w celu zlokalizowania serwera bądź wielu serwerów DHCPv6.
    • ADVERTISE (2) – Odpowiedź serwera DHCPv6 na wiadomość SOLICIT.
    • REQUEST (3) – Zapytanie klienta skierowane do jednego z wybranych serwerów DHCPv6, z prośbą o przydzielenie adresu IPv6 oraz innych informacji protokołu DHCPv6 (Takich jak adres serwera DNS czy nazwa domenowa).
    • REPLAY (7) – Odpowiedź serwera DHCPv6 na wiadomość REQUEST. Zawiera adres IPv6 oraz inne informację protokołu DHCPv6. Odpowiedź REPLAY jest również stosowana w odpowiedzi na wiadomość SOLICIT w sytuacji skonfigurowania serwera DHCPv6 z opcją Rapid Commit Option.
    • INFORMATION-REQUEST (11) – Zapytanie klienta wysłane do jednego z wybranych serwerów DHCPv6, z prośbą o przesłanie innych informacji protokołu DHCPv6 bez jednoczesnego przydzielania adresu IPv6.
    • RENEW (5) – Prośba klienta o przedłużenie dzierżawy adresu IPv6 (Zawiera adres oraz inne informacje protokołu DHCP).
    • RELEASE (8) – Prośba klienta o unieważnienie dzierżawy adresu IPv6.
    • DECLINE (9) – Wiadomość wysłana przez klienta DHCP w celu poinformowania serwera DHCPv6, że wydzierżawiony przez serwer adres występuje już w sieci lokalnej (Duplikacja wykryta za pomocą funkcji DAD).

    Podstawowa zasada działania protokołu DHCPv6

    • Wymiana informacji pomiędzy klientem a serwerem DHCPv6, jest zbliżona w swym działaniu do zasad protokołu DHCP względem protokołu IPv4, istnieje jednak pomiędzy nimi pewna różnica wynikająca z np. braku adresu rozgłoszeni-owego w protokole IPv6.
    • Proces wymiany danych pomiędzy klientem a serwerem DHCPv6 wygląda następująco:
      • Klient wysyła zapytanie SOLICIT (multicast address).
      • Serwer odpowiada komunikatem ADVERTISE (unicast address).
        • Klient kolekcjonuje otrzymane komunikaty ADVERTISE, zebrane od wielu serwerów DHCPv6. W celu wybrania najlepszej propozycji względem propagowanego prefiksu.
      • Klient potwierdza wybranie adresu IPv6 za pomocą komunikatu REQUEST.
      • Serwer potwierdza rezerwację adresu za pomocą komunikatu CONFIRM.
    • Oprócz tradycyjnej cztero-fazowej negocjacji adresu IPv6, istnieje jeszcze jedna opcjonalna, dwuetapowa negocjacja (Rapid two-way message Exchange), w której klient wraz z serwerem DHCPv6 wymieniają jedynie komunikaty SOLICIT oraz REPLY.
    Aby opcja dwuetapowej negocjacji adresu IPv6 była dostępna, obydwa urządzenia muszą być skonfigurowane w trybie szybkiego zatwierdzania pakietów protokołu DHCP „rapid-commit” (RFC 4039).
    Proces cztero-stopniowej negocjacji jest wykorzystywany w sieci posiadającej więcej niż jeden serwer DHCPv6. Natomiast w przypadku sieci z jednym serwerem, możliwe staje się wykorzystanie negocjacji dwuetapowej.

    Stateful DHCPv6 – Relay Agent

    • W sytuacji, w której docelowy serwer DHCPv6 znajduje się w innej sieci niż host. Protokół DHCP wykorzystuje dwa adresy IPv6. Źródłowy Link-Local oraz docelowy multicast, kierowany do wszystkich agentów pośredniczących (Relay).
      • Adres źródłowy Link-Local – Klient wykorzystuje własny adres IPv6 Link-Local w celu nadania zapytania DHCPv6.
      • Adres Multicast-owy FF02::1:2 – Link-Local Multicast Address jest wykorzystywany jako adres docelowy skierowany do wszystkich serwerów znajdujących się w sieci lokalnej oraz ruterów działających jako agenci przekierowania (Relay).
    W przypadku agenta Relay względem protokołu IPv6, ruter pełniący tę rolę zmienia adres źródłowy (Link-Local klienta DHCP) na swój własny adres unicast-owy. Jest to istotna różnica w stosunku do protokołu IPv4.

    Działanie protokołu DHCPv6

    Proces działania protokołu DHCPv6

    Wiadomości RS, RA zostały opisane w artykule: Router Solicitation oraz Router Advertisement.

    Diagram opisujący działanie protokołu DHCPv6
    1. Jeżeli klient protokołu DHCPv6 nie otrzymał jeszcze wiadomości Router Advertisement, sam zainicjuje proces pozyskiwania adresu IPv6 za pomocą wiadomości Router Solicitation, wysłanej na adres FF02::2.
    2. Ruter systematycznie co 200 sekund, bądź w odpowiedzi na zapytania Router Solicitation wysyła odpowiedzi Router Advertisement, ze skonfigurowanymi przez administratora flagami A, O oraz M.
    3. Klient wyśle wiadomość SOLICIT do wszystkich dostępnych serwerów DHCPv6 (Na adres IPv6 FF02::1:2). W niektórych przypadkach klient może wysłać wiadomość SOLICIT na opcjonalnie skonfigurowany adres Unicast.
    4. Serwer odpowie na wiadomość SOLICIT, wiadomością ADVERTISE. Jeżeli klient otrzyma więcej niż jedną wiadomość ADVERTISE rozpocznie proces wyboru najlepszej oferty (RFC 3315 rozdział 17.1.3).
    5. Klient wyśle wiadomość REQUEST bądź INFORMATION-REQUEST w zależności od wybranej metody pobierania adresu IPv6 (Stateful bądź Stateless DHCPv6) w oparciu o wartości otrzymanych flag A, O oraz M.
      1. Jeżeli flaga M posiada wartość 1, klient wyśle wiadomość REQUEST.
      1. Jeżeli flaga M posiada wartość 0 a flaga O wartość 1, klient wyśle wiadomość INFORMATION-REQUEST.
    6. Serwer odpowie na wiadomość REQUEST, wiadomością REPLAY zawierającą adres IPv6 oraz inne informacje protokołu DHCPv6. W przypadku otrzymania wiadomości INFORMATION-REQUEST, serwer odpowie wiadomością REPLAY zawierającą jedynie pozostałe informacje protokołu DHCPv6 bez adresu IPv6.
    7. W sytuacji, w której czas dzierżawy adresu IPv6 zbliża się ku końcowi, klient wyśle wiadomość RENEW z prośbą o wydłużenie tego czasu.
    8. Serwer odpowie na otrzymaną wiadomość RENEW, wiadomością REPLAY, potwierdzając tym samym przedłużenie czasu dzierżawy.
    Zarówno wiadomość RENEW jak i REPLAY zawierają adres IP wraz z innymi informacjami protokołu DHCPv6.
    • Jeżeli klient nie potrzebuje już przydzielonego adresu IPv6, wyśle wiadomość zwalniającą posiadany adres (RELEASE).
    Serwer wysyła wiadomość potwierdzającą REPLAY, w odpowiedzi na wiadomość RELEASE bądź DECLINE.

    Zasada działania protokołu DHCPv6 Relay Agent

    W przypadku łączenie się z serwerem DHCPv6 za pośrednictwem rutera pośredniczącego (Relay Agent), proces przydziału adresu IPv6 przez serwer DHCPv6 wygląda następująco:

    1. Jeżeli klient protokołu DHCPv6 nie otrzymał jeszcze wiadomości Router Advertisement, sam zainicjuje proces pozyskiwania adresu IPv6 za pomocą wiadomości Router Solicitation, wysłanej na adres FF02::2.
    2. Ruter systematycznie co 200 sekund, bądź w odpowiedzi na zapytania Router Solicitation wysyła odpowiedzi Router Advertisement, ze skonfigurowanymi przez administratora flagami A, O oraz M.
    3. Klient wyśle wiadomość SOLICIT do wszystkich dostępnych serwerów DHCPv6 (Na adres IPv6 FF02::1:2). W niektórych przypadkach klient może wysłać wiadomość SOLICIT na opcjonalnie skonfigurowany adres Unicast.
    4. Agent wyśle wiadomość RELAY-FORWARD zawierającą enkapsulowaną, oryginalną wiadomość SOLICIT otrzymaną od klienta, na multicast-owy adres Site-Local (FF05::1:3), bądź skonfigurowany przez administratora adres Unicast.
    5. Serwer odpowie na wiadomość RELAY-FORWARD, wiadomością RELAY-REPLY zawierającą enkapsulowaną wiadomość ADVERTISE …
    Wszystkie wiadomości nadawane przez agenta Relay do serwera DHCPv6 stanowią oryginalną wiadomość otrzymaną od klienta, enkapsulowaną do postaci wiadomości RELAY-FORWARD.
    Wszystkie wiadomości wysyłane przez serwer DHCPv6 do Agenta Relay stanowią oryginalną wiadomość serwera enkapsulowaną do postaci wiadomości RELAY-REPLY.

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

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

    (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

  • (TK) Teoria protokołu NPTv6**

    (TK) Teoria protokołu NPTv6**

    Konfiguracja protokołu NPTv6 została opisana w artykule: Konfiguracja translacji NAT względem protokołu IPv6.

    NPTv6 (Network Prefix Translation)

    • Protokół NPTv6 umożliwia statyczną translacją prefix-ów IPv6 na inne prefix-y IPv6, zgodnie z zasadą jeden do jednego (1:1) (Stateless address 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 nie umoż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 address prefix/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 address prefix/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.

    Globalna konfiguracja protokołu NPTv6

    (config)# nat66 prefix inside prefix/prefix-length(Prefix wewnętrzny)(Np. 2001:DB8:0:12::/64) outside prefix/prefix-length(Prefix zewnętrzny)(Np. 2001:DB8:0:2::/64)

    Określa jakie prefix-y IPv6 będą tłumaczone przez protokół NPTv6.

    # show nat66 prefix

    Wyświetla konfigurację protokołu NPTv6.

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (T) Teoria protokołu NAT-PT**

    (T) Teoria protokołu NAT-PT**

    Protokół NAT-PT opisuje dokument referencyjny RFC 2766 oraz RFC 2765.

    Konfiguracja protokołu NPTv6 została opisana w artykule: Konfiguracja translacji NAT względem protokołu IPv6.

    Wstęp do protokołu NAT-PT

    • 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.
    • Translacja przepeł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).

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (T) Teoria protokołu NAT64**

    (T) Teoria protokołu NAT64**

    Konfiguracja protokołu NPTv6 została opisana w artykule: Konfiguracja translacji NAT względem protokołu IPv6.

    NAT64 (IPv4 <-> IPv6)

    Wprowadzenie do protokołu NAT64

    • NAT-PT opisuje referencja RFC 6144, 2766 oraz 4966.
    • NAT64 opisuje referencja RFC 6146, 6145 oraz 6052.
    • 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:
      1. Nadchodzący pakiet IPv6 zostaje przekierowany do wirtualnego interfejsu NVI (NAT Vitrual Interface).
      2. Protokół NAT64 przeprowadza translację docelowego adresu IPv6, wydobywając z niego docelowy adres IPv4.
      3. Protokół NAT64 dodaje do tablicy (Bind Databese) wpis o przeprowadzonej translacji.
    • Proces translacji IPv4 -> IPv6:
      1. Nadchodzący pakiet IPv4 zostaje przekierowany do wirtualnego interfejsu NVI (NAT Vitrual Interface).
      2. Docelowy adres IPv4 zostaje statycznie bądź dynamicznie mapowany na adres IPv6.
      3. 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)
    1. Host wysyła zapytanie Query (AAAA www.cisco.com) do serwera DNS64.
    2. Serwer DNS64 otrzymuje zapytanie Query od hosta. Jako że nie zna odwzorowania podanej nazwy domenowej na adres IPv6, wysyła zapytanie Query do zaufanego serwera DNS AAAA.
    3. Serwer DNS AAAA otrzymuje zapytanie Query od Serwer DNS64. Jako że nie zna odwzorowania podanej nazwy domenowej na adres IPv6, wysyła odpowiedź Response (Name Error: www.cisco.com), do serwera DNS64.
    4. Serwer DNS64 otrzymuje odpowiedź Response od serwera DNS AAAA. Następnie wysyła zapytania Query (A www.cisco.com) do serwera DNS A.
    5. Serwer DNS A otrzymuje zapytanie Query od 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 serwera DNS64.
    6. Serwer DNS64 otrzymuje odpowiedź Response od serwera DNS 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).
    7. Serwer DNS64 wysyła odpowiedź Response (www.cisco.com(AAAAA) = 2001:DB8:CAFE:AAAA::0A0A:0A0A) do hosta.
    8. Host wysyła pakiet na docelowy adres IPv6 przekazany w odpowiedzi Response od serwera DNS64.
    9. Ruter NAT64 otrzymuje 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:
      1. Przekształca nagłówek pakietu IPv6 na nagłówek IPv4.
      2. 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).
      3. 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.
      4. Następnie następuje proces translacji adresów IP, a wyniki są zapisywane w tablicy NAT Translations.
    10. Po translacji NAT64 pakiet kierowany jest na interfejs wyjściowy rutera NAT64.
    11. Docelowy serwer IPv4 odpowiada na otrzymany pakiet IPv4.
    12. Ruter NAT64 otrzymuje 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.
      1. Jeżeli ruter NAT64 nie posiada pasującego wpisu w tablicy NAT Translations, pakiet zostaje porzucony.
      2. Jeżeli ruter NAT64 posiada pasujący wpis w tablicy NAT Translations, następuje translacja z adresu IPv4 na IPv6.
    13. Po translacji NAT64 pakiet kierowany jest na interfejs wyjściowy rutera 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)
    1. Na ruterze NAT64 zostaje 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.
    2. Host wysyła zapytanie Query (A www.cisco.com) do serwera DNS.
    3. Serwer DNS otrzymuje zapytanie Query od 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.
    4. Host wysyła pakiet na docelowy adres IPv4 przekazany w odpowiedzi Response od serwera DNS.
    5. Ruter NAT64 otrzymuje pakiet IPv4 od hosta, na interfejsie (NAT64 enable). Rozpoczynając tym samym proces translacji:
      1. Ruter NAT64 przekształca nagłówek pakietu IPv4 na nagłówek IPv6, zmieniając docelowy adres IPv4 na adres IPv6.
      2. 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).
    6. Po translacji NAT64 pakiet kierowany jest na interfejs wyjściowy rutera NAT64.
    7. Docelowy serwer IPv6 odpowiada na otrzymany pakiet IPv6.
    8. Ruter NAT64 otrzymuje pakiet IPv6 od serwera docelowego na interfejsie (NAT64 enable), rozpoczynając tym samym proces translacji NAT. Ruter NAT64:
      1. Przekształca nagłówek pakietu IPv6 na nagłówek IPv4, zmieniając źródłowy adres IPv6 na adres IPv4.
      2. Przekształca docelowy adres IPv6, na adres IPv4. Na podstawie oryginalnego docelowego adresu IPv6.
    9. Po translacji NAT64 pakiet kierowany jest na interfejs wyjściowy rutera 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.

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (T) Neighbor Discovery*

    (T) Neighbor Discovery*

    Protokół NDP (Network Discovery Protocol)

    Rodzaje wiadomości ICMPv6 NDP

    Funkcje protokołu NDP

    • 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-Node Multicast 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 NS oraz 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:
      1. Type 1 Source Link-Layer Address – Zawiera źródłowy adres warstwy 2, przeważnie jest to adres MAC (NS, RS, RA).
      2. Type 2 Target Link-Layer Address – Zawiera docelowy adres warstwy 2, przeważnie jest to adres MAC (NA, Redirect).
      3. Type 3 Prefix Information – Zawiera prefix wraz innymi danymi wymienianymi w procesie SLAAC (RA).
      4. Type 4 Redirect Header – Zawiera informacje niezbędne dla funkcji Redirection (Redirect).
      5. Type 5 MTU – Zawiera wartość MTU (RA).

    Funkcje protokołu NDP

    Address Resolution

    Neighbor Cache

    Duplicate Address Detection

    Redirect Message

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6