Tag: IPv6

  • (T) Adresacja Multicast**

    (T) Adresacja Multicast**

    Wstęp do adresów IPv6 Multicast

    Rodzaje adresów Multicast IPv6

    • [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.
      • [FF10::12/] Transient Multicast Address – Dynamiczne adresy multicast, przydzielane przez aplikacje.
      • [FF02:0:0:0:0:1:FF00::/104] Solicited-Node Multicast Address.
    • [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 broadcast wykorzystywanego 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.

    Rodzaje i budowa adresów Multicast

    Budowa adresów Multicast

    • Adres Multicast: 1111 1111 (FF00/8) [8 bitów] + Flags (0 / 1) [4 bity] + Scope (1F) [4 bity] + Group ID.
    • 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ę.
    • Scope: Reserved (0). Interface-Local Scope (1). Link-Local Scope (2). Reserved (3). Admin-Local Scope (4). Site-Local Scope (5). Unassigned (6). Unassigned (7). Organization-Local Scope (8). Thru D Unassigned (9). Global Scope (E). Reserved (F).
    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 multicast a nie unicast.
        • 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 unicast a 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:
      • 2001:DB8:CAFE:0001:0000:0000:0000:0001 (Solicited-Node Multicast Address).
      • FF02:0000:0000:0000:0000:0001:FF00:0001 (Global Unicast Address).
    • Tworzenie adresu Solicited-Node Multicast Address na podstawie adresu Link LocalAddress wygląda następująco:
      • FE80:0000:0000:0000:5AAC:78FF:FE93:DA00 (Solicited-Node Multicast Address).
      • FF02:0000:0000:0000:0000:0001:FF93:DA00 (Link Local Address).

    Ethernet IPv6 Multicast MAC Address

    • Ethernet IPv6 Multicast MAC Address, umożliwia filtrację adresów IPv6 multicast na poziomie karty sieciowej (Layer 2).
    • Adres IPv6 Multicast MAC powstaje na podstawie wzorca 33:33:xx:xx:xx:xx zgodnie z dokumentacją RFC 7042.
    Wartość 33:33 należy do firmy Xerox PAR (Palo Alto Research Center).
    Adresy IPv6 Multicast MAC mogą się powtarzać w obrębie jednej sieci Ethernet-owej.
    • Tworzenie adresu IPv6 Multicast MAC Address na podstawie adresu Global UnicastAddress wygląda następująco:
      • 2001:DB8:CAFE:0001:0000:0000:0000:0001 (Solicited-Node Multicast Address).
      • FF02:0000:0000:0000:0000:0001:FF00:0001 (Global Unicast Address).
      • 33:33:FF:00:00:01 (IPv6 Multicast MAC Address).
    • Tworzenie adresu IPv6 Multicast MAC Address na podstawie adresu Link LocalAddress wygląda następująco:
      • FE80:0000:0000:0000:5AAC:78FF:FE93:DA00 (Solicited-Node Multicast Address).
      • FF02:0000:0000:0000:0000:0001:FF93:DA00 (Link Local Address).
      • 33:33:FF:93:DA:00 (IPv6 Multicast MAC Address).
    • Przykładowe adresy Well Known IPv6 Multicast MAC Address:
      • 33:33:FF:00:00:01 (All Devices FF02::1).
      • 33:33:FF:00:00:02 (All Devices FF02::2).
      • 33:33:FF:00:00:05 (All Devices FF02::5).
      • 33:33:FF:00:00:0A (All Devices FF02::A).

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (T) Struktura adresacji IPv6*

    (T) Struktura adresacji IPv6*

    Struktura adresacji IPv6

    Rodzaje adresów IPv6

    Adresy IPv6 unicast

    • [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-Local Address (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 RFC 4291 po pierwszych 10 liczbach powinny nastąpić 54 zera. Przez co adres Link-Local zawsze zaczyna się od FE80::/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.
    • [::1/128] Loopback Address – Wewnętrzny adres IPv6, karty sieciowej.
      • Areas Loopback nie może być przypisany do interfejsu fizycznego.
      • Pakiet z docelowym bądź źródłowym adresem Loopback nie może być wysłany poza urządzenie.
      • Ruter nie może routować pakietów z docelowym adresem Loopback.
      • Urządzenie musi porzucić otrzymany pakiet z docelowym adresem Loopback.
    • [::1/80] Embedded IPv4 Address – Adres IPv6 służący do odwzorowania adresu IPv4 (RFC 4291):
      • 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.
      • [FF10::12/] Transient Multicast Address – Dynamiczne adresy multicast, przydzielane przez aplikacje.
      • [FF02:0:0:0:0:1:FF00::/104] Solicited-Node Multicast Address.
    • [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 broadcast wykorzystywanego 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.
    • Adresacja EUI-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 (A Flag) – 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 (O Flag) – 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.

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6

  • (T) Wstęp do protokołu IPv6”

    (T) Wstęp do protokołu IPv6”

    Standaryzacja protokołu IPv6

    • 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ów adresó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ół ARP został 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.

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu IPv6