Kategoria: Warstwa Trzecia modelu OSI

  • (T) Adresacja Unicast**

    (T) Adresacja Unicast**

    Wstęp do adresów IPv6 Unicast

    Rodzaje adresów Unicast IPv6

    • [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-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.
    Nazwa Adresy IPv6 Zakres adresów IPv6
    Global Unicast Address (GUA) 2000::/3 20003FFF
    Unique Local Address (ULA) FC00::/7 FC00FDFF
    Link-Local Unicast Address FE80::/10 FE80FEBF
    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::/3 20003FFF) + 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 unnumbred interfejs].
    • 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).
      • 1 określa sieć (Subnet ID).
      • 4 stanowi identyfikator określonego interfejsu sieciowego (Interface ID).
    • Przykładowa wizualizacja zasady 3-1-4 wygląda następująco:
      • 2001:0DB8:CAFE:0001:0000:0000:0000:0001

    Przyznawane prefix-y sieciowe (Global Routing Prefix)

    Prefix Subnet ID Subnets
    /32 32-Bit Subnet ID 4 294 967 296 Subnets
    /36 28-Bit Subnet ID 268 435 456 Subnets
    /40 24-Bit Subnet ID 16 777 216 Subnets
    /44 20-Bit Subnet ID 1048576 Subnets
    /48 16-Bit Subnet ID 65536 Subnets
    /52 12-Bit Subnet ID 4096 Subnets
    /56 8-Bit Subnet ID 256 Subnets
    /60 4-Bit Subnet ID 16 Subnets

    Porównanie prefix-ów protokołu IPv6

    Adresacja /127

    • 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.
    • Przykładowy adres IPv6 prefix-em /127 wygląda następująco:
      • 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: 48 Bits.
      • Subnet ID: 79 Bits.
      • Interface ID: 1 Bits.
    • 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 jeden adres Link-local.
    • Adresy Link-local mogą być adresami źródłowymi jak 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 [ping ENTER interfejs].

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

    Przydzielanie adresów IPv6

    Protokół NAT względem protokołu 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

  • (K) Key Chain

    (K) Key Chain

    Key Chain

    Konfiguracja funkcji Key-Chain

    (config)# key chain nazwa-key-chain

    Tworzy nowy zestaw kluczy Key Chain.

    (config-keychain)# key 0-2147483647(ID klucza)

    Tworzy nowy klucz Key Chain.

    (config-keychain-key)# key-string [0 / 7](0) klucz

    Określa wartość klucza (Wymaga podania wartości zahaszowanej)

    (config-keychain-key)# cryptographic-algorithm {hmac-sha-1 / hmac-sha-256 / hmac-sha-384 / hmac-sha-512 / md5}

    Definiuje jaki algorytm haszujący będzie wykorzystywany podczas wymiany kluczy pomiędzy urządzeniami.

    (config-keychain-key)# accept-lifetime local ([Czas początkowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)) {infinite / duration 1-2147483646(sekundy) / ([Czas końcowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)})

    Definiuje okres czasu przez jaki dany klucz będzie używany do odbierania wiadomości (Jest to okres czasu podczas którego dany klucz pozostaje akceptowalny).

    (config-keychain-key)# send-lifetime local ([Czas początkowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)) {infinite / duration 1-2147483646(sekundy) / ([Czas końcowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)})

    Definiuje okres czasu przez jaki dany klucz będzie używany w wysyłanych wiadomościach (Czas ten powinien być krótszy od czasu „accept-lifetime”).

    Przykładowa konfiguracja funkcji Key-Chain

    (config)# key chain EIGRP
    (config-keychain)# key 1
    (config-keychain-key)# accept-lifetime local 01:00:00 april 1 2014 01:00:00 may 2 2014
    (config-keychain-key)# send-lifetime local 01:00:00 april 1 2014 01:00:00 may 2 2014
    (config-keychain-key)# key-string Cisco!2345
    (config-keychain-key)# key 2
    (config-keychain-key)# accept-lifetime local 01:00:00 may 1 2014 infinite
    (config-keychain-key)# send-lifetime local 01:00:00 may 1 2014 infinite
    (config-keychain-key)# key-string Cisco1234567

    Przykładowa konfiguracja funkcji Key-Chain.

    Key Chain a inne protokoły

    Przypisywanie funkcji Key-Chain do protokołu EIGRP

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip authentication mode eigrp ASN md5

    Określa metodę autentykacji wiadomości protokołu EIGRP.

    (config-if)# ip authentication key-chain eigrp ASN nazwa-key-chain

    Definiuje hasło wykorzystywane do uwierzytelnienia odbieranych oraz wysyłanych wiadomości protokołu EIGRP.
    Okresy czasu akceptacji oraz wysyłania klucza zostały tak skonfigurowane, aby się nachodziły. Dzięki czemu administrator może zniwelować możliwe rozbieżności w konfiguracji czasu lokalnego, względem obydwóch urządzenień. Powyższa konfiguracja powoduje, że przez pewien okres czasu urządzenie będą akceptowały obydwa klucze.
  • (TK) Budowa rutera”

    (TK) Budowa rutera”

    Funkcjonowanie rutera

    Podział funkcji rutera

    • Warstwa Management Plane – Nadzoruje proces zarządzania systemem Cisco IOS, za pomocą protokołu SSH, Telnet, HTTP czy HTTPS. Umożliwiając zdalną kontrolę oraz monitoring urządzenia, jak i jego systemu.
    • Warstwa Control Plane – Nadzoruje proces wymiany danych związanych z sieciami oraz trasami do nich prowadzącymi. Pomiędzy sąsiednimi urządzeniami sieciowymi, za pomocą protokołów routingu dynamicznego. Na podstawie zebranych informacji tworzy wspólną dla wszystkich protokołów tablicę RIB (Routing Information Base), przechowująca informacje o trasach routingu z najmniejszą metryką jak i najniższą wartością dystansu administracyjnego (AD) protokołu który daną trasę rozgłasza.
    • Warstwa Data, Forwarding Plane – Kieruje przepływem pakietów nadchodzących do rutera.

    Metody przełączania pakietów

    • Process Switching (Stosowany jedynie w starszych ruterach Cisco) – Stanowi najstarszą, najwolniejszą metodę kontroli przepływu danych, w której wszystkie nadchodzące pakiety są pojedynczo przetwarzane na poziomie systemu operacyjnego IOS, przez procesor (CPU). Proces ten znacząco zmniejsza wydajności urządzenia, przez co jest używany w ostateczności lub podczas rozwiązywania problemów sieciowych związanych z przepływem pakietów (Troubleshooting-u).
      • Komenda [show processes cpu] wyświetla listę aktywnych procesów obecnie przetwarzanych przez procesor CPU. Znajdujący się na tej liście proces „IP Input” określa ilość odwołań procesu przełączania pakietów do procesora CPU.
      • W przypadku metody Process Switching funkcja Load-balancing działa zgodnie z zasadą (Per-packet), kierującąc każdy następujący pakiet inną drogą.
      • Konfiguracja metody Process Switching, jest możliwa za pomocą komendy [ip router-cache], wydanej w trybie konfiguracji globalnej.
    • Router Cache Switching / Fast Switching (Flow-based Switching / Demand-Based Switching / Router once, Switch many / NetFlow Switching) – Wykorzystuje procesor routingu (RP) do określenia drogi docelowej względem pierwszego nadesłanego pakietu, dalsza część komunikacji jest przetwarzana przez silnik przełącznika (SE). Należy przy tym pamiętać, że dla pakietu z innym adresem docelowym (IPv4 czy IPv6), procesor routingu musi przeprowadzić nowe poszukiwanie interfejsu docelowego.
      • W przypadku metody Fast Switching funkcja Load-balancing działa zgodnie z zasadą (Per-destination), kierującąc każdy następujący przepływ (Flow) inną drogą, na podstawie docelowego adresu IP.
    • Topology Based Switching (CEF Cisco Express Forwarding) – Wykorzystuje procesor routingu (RP) wraz z informacjami warstwy trzeciej w celu stworzenia wydajnej, sprzętowej tablicy FIB (Forwarding Information Base). Zawierającej trasy pobrane z tablicy routingu, w celu osiągnięcia szybkiego przepływu nadchodzących pakietów. Dzięki temu rozwiązaniu procesor routingu (RP) jest używany jedynie w sytuacji zmiany topologii sieciowej, bądź w przypadku odebrania pakietu kierowanego bezpośrednio do lokalnego urządzenia.
      • W przypadku metody Cisco Expres Forwarding funkcja Load-balancing działa zgodnie z zasadą (Per-destination), kierującąc każdy następujący przepływ (Flow) inną drogą, na podstawie docelowego adresu IP.
      • Konfiguracja metody CEF, jest możliwa za pomocą komendy [ip cef], wydanej w trybie konfiguracji globalnej.

    Interfejsy routera

    • Poszczególne stany interfejsów rutera oznaczają:
    Line Status Protocol Status Description
    Administratively Down Down Interfejs został wyłączony komendą „Shutdown”.
    Down Down Interfejs ma problemy na poziomie warstwy pierwszej lub Interfejs po drugiej stronie połączenia została wyłączony za pomocą komendy „Shutdown”.
    Up Down Interfejs ma problemy na poziomie warstwy drugiej.
    Up Up Interfejs ma problemy na poziomie warstwy trzeciej, bądź też działa prawidłowo.

    Znaczenia stanów interfejsów

    Problemy związane z CEF

    CEF Routing Loop

    • Problem zwany (Cisco Express Forwarding routing loops and sub-optimal routing) występuje w przypadku:
      • Skonfigurowania statycznej trasy routingu skierowanej na interfejs wielo-dostępowy (Multi-Access Interface).
      • Nawiązania relacji CEF na podstawie odpowiedzi (Proxy Address Resolution Protocol).

    IP CEF Load Sharing

    Wstęp do funkcji CEF Load Sharing

    To ile oraz jakie trasy zostaną dodane do funkcji równoważenia obciążenia sieciowego, nie zależy od funkcji CEF a od konfiguracji protokołów routingu dynamicznego.
    • Aby funkcji Load Sharing mogła zostać aktywowana, funkcja CEF musi być włączona na konfigurowanym urządzeniu.
      • W celu sprawdzenia stanu funkcji CEF należy wykorzystać komendę [show ip cef].
      • Wyświetlenie następującego komunikatu [%CEF not running] oznacza że funkcja CEF nie została aktywowana.
    • Per-Destination Load Balancing (Fast Switching, CEF) – Domyśla metoda równoważonego obciążenia wykorzystana przez funkcję CEF. Kieruje ruchem sieciowym zgodnie z logika „Source-destination host pair”, dzięki czemu pakiety kierowane z jednego adresu źródłowego do jednego adresu docelowego nie zostaną rozdzielone pomiędzy dwoma interfejsami.
    • Per-Packet Load Balancing (Process Switching) – Umożliwia równoważne obciążenie ruchu sieciowego, nadchodzącego z jednego adresu źródłowego do jednego adresu docelowego, korzystając przy tym z logiki „Round-robin method”. Dzięki której równoważenie obciążenia sieciowego jest bardziej stabilne, ponieważ obydwie trasy są równomiernie utylizowane (Logika „Round-robin” kieruje jeden pakiet pierwszą trasą, drugi drugą trasą, trzeci znowuż pierwszą i tak dalej…). Niestety przy jednoczesnym narażeniu sieci na powstanie problemów związanych z  rutingiem asymetrycznym (Asymmetric Routing), czy problemów związanych otrzymywaniem pakietów poza kolejnością (Out-of-order packets). Metoda Per-Packet Load Balancing:
      • Jest polecana w przypadku wykorzystania pojedynczego adresu docelowego dla którego domyślne rozwiązanie Per-Destination Load Balancing nie sprawdza się (Ponieważ utylizowana będzie jedynie jedna trasa).
      • Nie jest polecana w przypadku ruchu VoIP dla którego istotne jest otrzymywanie segmentów sieciowych zgodnie z kolejnością w jakiej zostały nadane.
    W przypadku metody "Per-packet load balancing" wszystkie interfejsy które przekierowują ruch do wskazanego miejsca docelowego muszą mieć aktywowaną funkcję CEF.
    W przypadku sieci docelowej posiadającej więcej niż jedną trasę docelową, ta mająca obsłużyć następny przepływ (Flow) tudzież następny pakiet, będzie oznaczona gwiazdką (*). Co jest widoczne w wydruku komendy [show ip route sieć].

    Algorytmy funkcji Load-Balance

    • Funkcja CEF wykorzystuje jeden z poniższych algorytmów, w celu zapewnienia równoważonego obciążenia względem wielu tras routingu. Obecnie wykorzystywany algorytm można zmienić za pomocą komendy [ip cef load-sharing algorithm algorytm] wydanej w trybie konfiguracji globalnej systemu IOS.
      • Original Algorithm – Domyślny algorytm wykorzystywany w systemie Cisco IOS.
      • Universal Algorithm – Umożliwia każdemu ruterowi znajdującemu się w tej samej sieci, na podjęcie innej niezależnej decyzji o podziale obciążenia, względem każdej pary adresów źródłowych jak i docelowych.
      • Tunnel Algorithm – Został zaprojektowany w celu zapewnienia równoważonego obciążenia dla pary adresów źródłowych i docelowych.
      • Include-ports Algorithm – Został wzbogacony o możliwość prowadzenia równoważonego obciążenia z wykorzystaniem portów warstwy czwartej (Layer 4).

    Konfiguracja funkcji CEF

    Podstawowa konfiguracja funkcji CEF

    (config)# [no] ip cef

    Dezaktywuje / Aktywuje funkcję CEF na konfigurowanym ruterze.

    (config)# ip route-cache

    Aktywuje funkcję “Process Switching” na konfigurowanym ruterze.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# [no] ip route-cache cef

    Dezaktywuje / Aktywuje funkcję CEF na konfigurowanym interfejsie sieciowym.

    # show ip cef

    Wyświetla zawartość tablicy FIB.

    Rozszerzona konfiguracja funkcji CEF Load-Balance

    (config)# ip cef load-sharing algorithm {original / tunnel [ID] / universal [ID] / include-ports {source [ID] / destination [ID] / source [ID] destination [ID]}}(original)

    Określa jaki algorytm funkcji CEF będzie wykorzystywany.
    * original – Ustawia algorytm (Original), oparty na logice haszowania adresu źródłowego z adresem docelowym.
    * tunnel – Ustawia algorytm (Tunnel), wykorzystywany na połączeniach tunelowych.
    * universal – Ustawia algorytm (Universal), oparty na logice haszowania adresu źródłowego z adresem docelowym jak i dodatkową wartością ID.
    * include-ports – Ustawia algorytm (Include-ports), oparty na logice haszowania portów warstwy czwartej.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# no ip load-sharing per-destination

    Aktywuje metodę “Per-destination load balancing” dla funkcji CEF.

    (config-if)# ip load-sharing per-packet

    Aktywuje metodę “Per-packet load balancing” dla funkcji CEF.

    # show ip route adres-IP

    Wyświetla trasy routingu, prowadzące do wskazanej w komendzie sieci. W przypadku funkcji Load-Balance trasa oznaczona gwiazdą (*) będzie obsługiwała następny przepływ danych.

    Czyszczenie pamięci

    # clear cef table [ipv4 / ipv6] [vrf nazwa-VRF](ipv4)

    Usuwa zawartość bazy FIB względem określonej rodziny adresów IP.

    # clear ip cef adres-IP

    Usuwa określony w komendzie adres IP, z bazy FIB.

    # clear ip cache

    Usuwa dane zmagazynowane przez funkcję Fast-switching.

    # clear ip route

    Usuwa zawartość tablicy routingu, wymuszając proces jej przebudowy (W tym bazy FIB).

    Pozostałe tematy związane z routing-iem

  • (K) Prefix lista”

    (K) Prefix lista”

    Wstęp teoretyczny do Prefix listy

    • Prefix lista umożliwia określenie zakres prefix-ów, względem zdefiniowanej sieci, dzięki czemu administrator może określić nie tylko sieć ale i konkretne prefix-y bądź zakres prefix-ów.
    • W przypadku konfiguracji Prefix listy, długość prefix-u (prefix length) jest określana za pomocą jednego, bądź dwóch z poniższych wyrażeń:
      • Za pomocą wpisu prefix-length.
      • Za pomocą opcjonalnej wartości ge-value, która oznacza Greater-than-or-equal-to.
      • Za pomocą opcjonalnej wartości le-value, która oznacza Less-than-or-equal-to.

    Podstawowa konfiguracja Prefix listy

    (config)# ip prefix-list nazwa-prefix-listy [seq 1-4294967294(ID sekwencji)] {deny / permit} sieć/prefix-length

    Dopuszcza (Permit) bądź blokuje (Deny) trasy routingu, dotyczące wskazanej w komendzie sieci.
    Przykładowa komenda [ip prefix-list nazwa permit 192.168.0.0/16] dopuszcza trasy należące do sieci sieci 192.168.0.0/16.

    (config)# ip prefix-list nazwa-prefix-listy [seq 1-4294967294(ID sekwencji)] {deny / permit} sieć/prefix-length le max-prefix

    Dopuszcza (Permit) bądź blokuje (Deny) trasy routingu, dotyczące wskazanej w komendzie sieci, której maska mieści się w zakresie od prefix-length do max-prefix.
    Przykładowa komenda [ip prefix-list nazwa permit 192.168.0.0/16 le 24] dopuszcza trasy routingu, posiadające prefix z zakresu od 16 do 24, dla sieci 192.168.0.0/16.

    (config)# ip prefix-list nazwa-prefix-listy [seq 1-4294967294(ID sekwencji)] {deny / permit} sieć/prefix-length ge mini-prefix

    Dopuszcza (Permit) bądź blokuje (Deny) trasy routingu, dotyczące wskazanej w komendzie sieci, której maska mieści się w zakresie od mini-prefix do 32.
    Przykładowa komenda [ip prefix-list nazwa permit 192.168.0.0/16 ge 24] dopuszcza trasy routingu, posiadające prefix z zakresu od 24 do 32, dla sieci 192.168.0.0/16.

    (config)# ip prefix-list nazwa-prefix-listy [seq 1-4294967294(ID sekwencji)] {deny / permit} sieć/prefix-length ge mini-prefix le max-prefix

    Dopuszcza (Permit) bądź blokuje (Deny) trasy routingu, dotyczące wskazanej w komendzie sieci, której maska mieści się w zakresie od mini-prefix do max-prefix.
    Przykładowa komenda [ip prefix-list nazwa permit 192.168.0.0/16 ge 24 le 26] dopuszcza trasy routingu, posiadające prefix z zakresu od 24 do 26, dla sieci 192.168.0.0/16.

    (config)# ip prefix-list nazwa-prefix-listy [seq 1-4294967294(ID sekwencji)] {deny / permit} 0.0.0.0/0 le 32

    Dopuszcza bądź blokuje pozostałe trasy routingu (Implicit Permit / deny).

    Komendy SHOW

    # show ip prefix-list [nazwa-prefix-listy]

    Wyświetla wszystkie / określoną w komedzie prefix listę.

    # show ip prefix-list [nazwa-prefix-listy] detail

    Wyświetla wszystkie / określoną w komedzie prefix listę, wraz z statystykami dotyczącymi ilości dopasowań poszczególnych wpisów jak i całej prefix listy.

    # show ip prefix-list [nazwa-prefix-listy] summary

    Wyświetla wszystkie / określoną w komedzie prefix listę, wraz z podsumowaniem dotyczącym ilości dopasowań całej prefix listy.

    Pozostałe tematy związane z routing-iem

  • (K) Tag lista”

    (K) Tag lista”

    Konfiguracja Tag listy

    Podstawowa konfiguracja Tag listy

    (config)# route-tag notation dotted-decimal

    Wyświetla o-tagowania tras routingu, w formie adresu IPv4 (dotted-decimal).

    (config)# route-tag list nazwa-tag-listy {deny / permit / seq} tag(dotted-decimal) dzika-maska

    Tworzy listę dopuszczającą (Permit) bądź odrzucającą (Deny), określony w komendzie zakres, o-tagowania zapisanego w formacie adresu IPv4 (dotted-decimal).

    (config)# route-map nazwa-router-mapy {permit / deny} sequence

    Tworzy nową router mapę przepuszczającą (permit) bądź filtrujące (denny), wskazane w komendzie trasy routingu. Podany numer sekwencyjny określa porządek rozpatrywania wpisów router mapy.

    (config-route-map)# match tag {0-255.0-255.0-255.0-255(tag)(dotted-decimal) / 0-4294967295…(tag)(integer) / list nazwa-tag-listy…}

    Określa trasy routingu posiadające podaną wartość o-tagowania.

    (config-route-map)# set tag {0-255.0-255.0-255.0-255…(tag)(dotted-decimal) / 0-4294967295…(tag)(integer)}

    Przypisuje do określonych za pomocą komendy [match] tras routingu, wskazane o-tagowanie.

    # show route-tag list [nazwa-tag-listy]

    Wyświetla określoną w komendzie / wszystkie skonfigurowane na danym urządzeniu tag listy.

    # show route-map [nazwa-router-mapy]

    Wyświetla określoną / wszystkie skonfigurowane na danym urządzeniu Router Mapy.

    Konfiguracja domyślnego o-tagowania dla protokołu Named EIGRP

    (config)# router eigrp nazwa

    Przechodzi do poziomu konfiguracji protokołu Named EIGRP.

    (config-router)# address-family {ipv4 / ipv6} unicast autonomous-system ASN

    Przechodzi do poziomu konfiguracji określonej instancji protokołu EIGRP (Jedna grupa Named może posiadać wiele instancji protokołu EIGRP).

    (config-router-af)# eigrp default-route-tag {0-255.0-255.0-255.0-255…(tag)(dotted-decimal) / 0-4294967295…(tag)(integer)}

    Określa domyślną wartość o-tagowania stosowaną względem wszystkich tras routingu, dla danej instancji protokołu EIGRP.

    # show eigrp address-family {ipv4 / ipv6} topology

    Wyświetla topologię protokołu Named EIGRP.

    Komendy SHOW

    # show route-tag list [nazwa-tag-listy]

    Wyświetla określoną w komendzie / wszystkie skonfigurowane na danym urządzeniu tag listy.

    # show ip route tag

    Wyświetla trasy routingu wraz z o-tagowaniem.

    Pozostałe tematy związane z routing-iem

  • (K) Router Map”

    (K) Router Map”

    Wstęp do Router Mapy

    • W procesie redystrybucji tras sieciowych pomiędzy różnymi protokołami routingu dynamicznego, przypisywana jest im domyślna, bądź statycznie zdefiniowana wartość metryki. Opcjonalnym narzędziem umożliwiający bardziej szczegółowe zarządzanie wartościami metryki, jest router mapa. Umożliwia ona zdefiniowanie wartości, rozgłaszanej metryki, jak i opcjonalnego tagowania tras względem określonej trasy bądź wielu tras routingu.
    • Ponad to ruter mapa udostępnia następujące funkcjonalności:
      • Filtrowanie rozgłaszanych sieci na podstawie adresu, maski oraz innych parametrów.
      • Przypisywanie wartości metryki do konkretnych sieci.
      • Określanie rodzaju trasy zewnętrznej np. E1 bądź E2.
      • Tagowanie tras routingu.

    Podstawowa konfiguracja Router mapy:

    Określanie zasięgu router mapy

    (config)# route-map nazwa-router-mapy {permit / deny} sequence

    Tworzy nową router mapę przepuszczającą (permit) bądź filtrujące (denny), wskazane w komendzie trasy routingu. Podany numer sekwencyjny określa porządek rozpatrywania wpisów router mapy.

    (config-route-map)# match interface interfejs…

    Określa trasy zawierające podany w komendzie interfejs, jako interfejs następnego przeskoku.

    (config-route-map)# match ip address {ACL-ID / prefix-list nazwa-prefix-listy}

    Określa trasy prowadzące do sieci, zawartych w określonej przez komendę liście ACL bądź Prefix liście.
    Konfiguracja Prefix listy, została opisana w następującym artykule.

    (config-route-map)# match ip next-hop {ACL-ID / prefix-list nazwa-prefix-listy}

    Określa trasy zawierające adres następnego przeskoku (Next-hop), zawarty w określonej przez komendę liście ACL bądź Prefix liście.
    Konfiguracja Prefix listy, została opisana w następującym artykule.

    (config-route-map)# match ip route-source {ACL-ID / nazwa-prefix-listy}

    Określa trasy rozgłaszane przez określony ruter, posiadający wartość RID określoną za pomocą listy ACL bądź Prefix liście.
    Konfiguracja Prefix listy, została opisana w następującym artykule.

    (config-route-map)# match metric metryka [+- wartość]

    Określa trasy z zdefiniowaną wartością, bądź z wskazanym zakresem (+-) metryki.

    (config-route-map)# match route-type {internal / external [type-1 / type-2] / level-1 / level-2 / nssa-external / local}

    Określa trasy zewnętrzne danego typu.

    (config-route-map)# match tag {0-255.0-255.0-255.0-255(tag)(dotted-decimal) / 0-4294967295…(tag)(intiger) / list nazwa-tag-listy…}

    Określa trasy routingu posiadające podaną wartość o-tagowania.
    Konfiguracja tagowania tras routingu, została opisana w następującym artykule.

    # show route-map [nazwa-router-mapy]

    Wyświetla określoną / wszystkie skonfigurowane na danym urządzeniu Router Mapy.

    Określanie parametrów router mapy

    (config)# route-map nazwa-router-mapy {permit / deny} sequence

    Tworzy nową router mapę przepuszczającą (permit) bądź filtrujące (denny), wskazane w komendzie trasy routingu. Podany numer sekwencyjny określa porządek rozpatrywania wpisów router mapy.

    (config-route-map)# set metric metryka({[OSPF, RIP] wartość metryki / [EIGRP] bandwidth delay reliability Loading mtu})

    Przypisuje do określonych za pomocą komendy [match] tras routingu, wartość rozgłaszanej metryki.

    (config-route-map)# set metric-type {type-1 / type-2}

    Przypisuje do określonych za pomocą komendy [match] tras routingu, rodzaj rozgłaszanej trasy.

    (config-route-map)# set tag {0-255.0-255.0-255.0-255…(tag)(dotted-decimal) / 0-4294967295…(tag)(intiger)}

    Przypisuje do określonych za pomocą komendy [match] tras routingu, wskazaną wartość o-tagowania.
    Konfiguracja tagowania tras routingu, została opisana w następującym artykule.

    # show route-map [nazwa-router-mapy]

    Wyświetla określoną / wszystkie skonfigurowane na danym urządzeniu Router Mapy.

    Opcjonalne ustawienia router mapy

    (config)# route-map nazwa-router-mapy {permit / deny} sequence

    Tworzy nową router mapę przepuszczającą (permit) bądź filtrujące (denny), wskazane w komendzie trasy routingu. Podany numer sekwencyjny określa porządek rozpatrywania wpisów router mapy.

    (config-route-map)# descryption opis

    Przypisuje opis do obecnie edytowanego wpisu router mapy.

    (config-route-map)# continue router-map-sequence

    Przechodzi do konfiguracji nowego wpisu obecnie edytowanej router mapy.

    Przypisywanie router mapy

    (config)# ruter protokół [ASN]

    Przechodzi do poziomu konfiguracji określonego w komendzie protokołu routingu.

    (config-route)# redistribute protokół ASN route-map nazwa-ruter-mapy

    Określa warunki redystrybucji tras routingu, za pomocą odpowiednio skonfigurowanej router mapy.

    (configroute)# ruter eigrp [ASN]

    Przechodzi do poziomu konfiguracji protokołu EIGRP.

    (config-route)# distribute-list route-map nazwa-ruter-mapy {in / out} [interfejs]

    Przypisuje określoną w komendzie Router mapę, do konfigurowanej instancji protokołu EIGRP.

    (config-route)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# distribute-list router-map nazwa-router-mapy in [interfejs]

    Blokuje możliwość dodania określonej sieci do tablicy routingu, względem wszystkich protokołów routingu dynamicznego. W przypadku protokołu OSPF filtracja ta nie wpływa ani na struktury LSA ani na algorytm SPF, ponieważ dotyczy jedynie procesu aktualizacji tablicy routingu (Jest to najmniej zalecana metoda filtracji tras routingu, mogąca doprowadzić do powstania dziur w topologii).

    Komendy SHOW

    # show route-map [nazwa-router-mapy]

    Wyświetla określoną / wszystkie skonfigurowane na danym urządzeniu Router Mapy.

    # show ip route adres-IP-sieci

    Wyświetla szczegółowe informacje na temat trasy, prowadzącej do wskazanej w komendzie sieci. Komenda wyświetla między innymi przypisaną do trasy wartość o-tagowania.

    Pozostałe tematy związane z routing-iem

  • (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

  • (Ts) Problemy związane z adresacją sieci IPv4”

    (Ts) Problemy związane z adresacją sieci IPv4”

    Problemy związane z adresacją sieci IPv4

    Najczęstsze przyczyny błędnej adresacji

    • Zły adres IPv4 (Skonfigurowany na urządzeniu końcowym).
    • Zła maska sieciowa (Skonfigurowana na urządzeniu końcowym).
    • Zły adres IPv4 bramy domyślnej (Skonfigurowany na urządzeniu końcowym).

    Problemy związane z protokołem DHCP

    • W przypadku, w którym serwer DHCP znajduje się w sieci innej niż urządzenia końcowe, wymagane jest skonfigurowanie funkcji DHCP relay, zwanej przez Cisco “Helper-address”. Błędna konfiguracja tej funkcji bądź jej brak, może skutecznie zablokować rozgłoszeni-owe zapytania protokołu DHCP (Np. DHCPDISCOVER), niezbędne w procesie dynamicznego pozyskiwania adresów IPv4.
    • W systemie Cisco IOS serwer DHCP jest domyślnie aktywny, a co za tym idzie, konfiguracja funkcji DHCP relay (Helper-address) nie wymaga dodatkowej aktywacji protokołu DHCP. Może jednak zaistnieć sytuacja, w której serwer DHCP został dezaktywowany, aby go ponownie aktywować należy skorzystać z komendy [service dhcp] wydanej w trybie konfiguracji globalnej, systemu Cisco IOS.
    • Domyślnie funkcja DHCP relay (Helper-address), zmienia rozgłoszeni-owe wiadomości protokołu DHCP, w wiadomości unicast-owe kierowane pod wskazany w komendzie adres bądź adresy IPv4. W podobny sposób komenda ta działa również na inne protokoły sieciowe, takie jak: TFTP, DNS, NetBIOS, Boot, TACACS.
    • Jeżeli urządzenie końcowe nie otrzyma odpowiedzi od serwera DHCP, samo przydzieli sobie własny adres IP zwany APIPA (Automatic Private IP Addressing).

    Przykładowe problemy związane z serwerem DHCP

    • Brak wolnych adresów IP w puli serwera DHCP.
    • Błędna konfiguracja serwera DHCP.
    • Brak komunikacji pomiędzy zapasowymi serwerami DHCP.
    • Błędna adresacja bramy domyślnej.
    • Duplikacja adresów IPv4 w sieci lokalnej (Statyczna konfiguracja adresu IPv4).

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

  • (T) Tworzenie planu adresacji IPv4”

    (T) Tworzenie planu adresacji IPv4”

    Tworzenie planu adresacji IPv4

    Adresy IPv4

    • Klasowy podział sieci:
      • (A) 10.0.0.0 255.0.0.0 (1.0.0.0126.0.0.0) – Pula adresów IPv4 klasy A.
      • (B) 172.16.0.0 255.240.0.0 (128.1.0.0191.254.0.0) – Pula adresów IPv4 klasy B.
      • (C) 192.168.0.0 255.255.0.0 (192.0.1.0223.255.254.0) – Pula adresów IPv4 klasy C.
      • (D) 224.0.0.0239.255.255.254 – Pula adresów IPv4 klasy D.
      • (E) 240.0.0.0 255.255.255.255 – Pula adresów IPv4 klasy E.
    • Prywatne adresy IPv4:
      • (A) 10.0.0.0 255.0.0.0 (10.0.0.010.255.255.255) – Pula prywatnych adresów IPv4 klasy A.
      • (B) 172.16.0.0 255.240.0.0 (172.16.0.0172.21.255.255) – Pula prywatnych adresów IPv4 klasy B.
      • (C) 192.168.0.0 255.255.0.0 (192.168.0.0192.168.255.255) – Pula prywatnych adresów IPv4 klasy C.
    • Inne adresy IPv4:
      • 0.0.0.0 255.0.0.0 – Pula adresów IPv4 wykorzystywana przez host w celu własnej identyfikacji w sieci lokalnej.
      • 127.0.0.0 255.0.0.0 – Pula adresów pętli wewnętrznej (Wykorzystywany do testowania karty sieciowej).
      • 196.254.0.0 255.255.0.0 – Pula domyślnych adresów IPv4 przydzielanych w przypadku awarii protokołu DHCP.
      • 192.0.2.0 255.255.255.0 – Pula adresów IPv4 zarezerwowana do tworzenia dokumentacji sieciowych.
      • 192.88.99.0 255.255.255.0 – Pula adresów IPv4 wykorzystywana do „6to4relay” (RFC 3068).
      • 192.18.0.0 255.254.0.0 – Pula adresów IPv4 wykorzystywana w celu badania przepustowości łącza (RFC 2544).

    Adresacja (Budowa)

    • Subnet Number / ID – Określa pierwszy adres IP identyfikujący sieć, do której należy (np. 192.168.10.0/24).
    • Subnet broadcast – Określa ostatni rozgłoszeniowy adres IP sieci, do której należy (np. 192.168.10.255/24).
    • Network Filed – Stanowi cześć adresu identyfikującą klasę sieci A, B czy C.
    • Subnet Filed – Stanowi cześć adresu określającą sieć IP do której należy.
    • Host Filed – Stanowi cześć adresu określającą unikalny w skali jednej sieci, adres hosta.

    Adresacja sieci

    • Proces planowania adresacji sieci, z wykorzystaniem protokołu IPv4. Można podzieli na trzy następujące etapy:
    • Analiza potrzeb – Polega na sprawdzeniu ile urządzeń potrzebuje dostępu do sieci, w jakich lokalizacjach się znajdują, oraz w jaki sposób powinny się między sobą komunikować. Etap ten wymaga określenia:
      • Które hosty powinny należeć do jednej sieci.
      • Ile sieci jest potrzebnych.
      • Ile adresów IP powinno być przypisanych do każdej z sieci.
      • Jaki podziału sieci wykorzystać (VLSM, CIDR).
    • Etap planowania – Określa wykorzystywaną przez firmę pulę adresów IP, oraz sposób ich rozdysponowania pomiędzy sieciami określonymi w punkcie pierwszym. Etap ten wymaga określenia:
      • Z jakich adresów IP będziemy korzystali (Publicznych bądź prywatnych adresów IP).
      • Jaka maska lub maski będą przypisane do określonych sieci.
      • Wypisania wszystkich stworzonych sieci, wraz z zakresem adresów IP z jakich będą one korzystać.
    • Etap wdrażania – Stanowi proces przypisywania stworzonych sieci do ich końcowych lokalizacji wraz z wyborem sposobu ich rozgłaszania. Etap ten wymaga określenia:
      • Gdzie zostaną użyte statyczne adresy IP (Np. na ruterach, przełącznikach, zaporach ogniowych czy serwerach).
      • Gdzie zostanie wykorzystane dynamiczne przydzielanie adresów IP, przy wykorzystaniu np. serwera DHCP.

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

  • (T) Architektura adresów IP”

    (T) Architektura adresów IP”

    Architektura adresów IP

    Wstęp do adresacji protokołu IP

    • Przydziałem adresów na poziomie globalnym kieruje Internetowa Korporacja ds. Nadanych Nazw i Numerów ICANN (The Internet Corporation for Assigned Names and Numbers), delegująca w tym celu, pomniejsze regionalne urzędy rejestracyjne RIR (Regional Internet Registries). Sprawują one kontrolę nad dużymi blokami adresów IPv4 oraz IPv6, rozdysponowując je pomniejszym krajowym instytucją jak i dużym dostawcą usług internetowych ISP (Internet service Provider). W kompetencji których leży przydział pojedynczych bądź niewielkich pul adresów względem użytkowników domowych bądź komercyjnych.
    • Przydzielane przez dostawcę ISP adresy mogą być od niego zależne (Provider aggregatable), tym samym zmiana dostawcy wymaga miany adresacji, bądź niezależne (provider independent) dzięki którym zmiana dostawcy nie musi się wiązać ze zmianą adresacji sieciowej.
    Podział adresów IP (ICAN)
    • Adres IPv4 składa się z 32 bitów zapisywanych w postaci czterech oddzielonych do siebie kropkami oktetów, zawierających liczby z zakresu od 0 do 255. Dzięki czemu ilość możliwych do uzyskania kombinacji wynosi 232 a tym samym pozwala uzyskać 4 294 967 296 gotowych do przypisania adresów. Rosnące zapotrzebowanie na nowe adresy IP jak i nieoptymalny sposób ich nadawania w wczesnej fazie istnienia Internetu sprawiły, że zaistniała potrzeba stworzenia nowego bardziej pojemnego protokołu zwanego IPv6, którego 128 bitowy adres pozwala uzyskać 340 282 366 920 938 463 463 374 607 431 768 211 465 kombinacji.
    Klasa Zakres adresów Liczba sieci Liczba hostów Pierwsze bity
    A 1.0.0.0 – 126.0.0.0 127 16.777.214 0
    B 128.1.0.0 – 191.254.0.0 16.382 65.534 10
    C 192.0.1.0 – 223.255.254.0 2.097.159 254 110
    D 224.0.0.0 – 239.255.255.254 Brak podziału Brak podziału 1110
    E 240.0.0.0 – 255.255.255.255 Zarezerwowana 1111

    klasowy podziałał sieci IPv4

    VLSM (Variable Length Subnet Mask)

    • W początkowej fazie rozwoju Internetu, adresy IP były przydzielane centralnie, co w latach 80 dwudziestego wieku zaczęło sprawiać wiele kłopotów, wywołanych znaczącym wzrostem ilości sieci lokalnych LAN. Aby temu zaradzić postanowiono o przekazaniu części kompetencji w zarządzaniu adresami, na ręce administratorów lokalnych. Powstała również koncepcja podziału sztywnej klasowej puli adresów, na nowe dynamiczne pule dzielone poprzez maskę podsieci zwaną maską VLSM (Variable Length Subnet Mask).
    • Rozwiązanie to zastosowano jedynie w stosunku do sieci LAN, natomiast z perspektywy reszty Internetu nic się nie zmieniło, co w późniejszym okresie czasu okazało się środkiem niewystarczającym do zaistniałych problemów. Nowy podział adresów polegał na tak zwanym adresowaniu podsieci (Subnet addressing), w którym bity hosta zostały oddane do dyspozycji administratora sieci, dzięki czemu mógł on dowolnie je dzielić na inne pod sieci. Natomiast pierwsze najbardziej znaczące bity klasy A, B i C pozostawały bez zmian.
    • Do oznaczenia które bity adresu identyfikują podsieć a które hosty, postanowiono wykorzystać maskę VLSM, składającą się z ciągu 32 bitów wskazujący podział sieci poprzez proces koniunkcji bitowej z adresem IP. Maska zapisywana była w postaci ciąg czterech oddzielonych od siebie kropkami liczb z zakresu od 0 do 255. Przykładowy adres wykorzystujący VLSM wygląda następująco:
    Klasa B Numer sieci (16 bitów, 14 wolnych) początkowe bity 10 Identyfikator podsieci (8 bitów) Identyfikator hosta (8 bitów) w puli hosta odchodzą dwa skrajne adresy.

    Budowa adresu IPv4

    CIDR (Classless Inter-Domain Routing)

    • Wprowadzenie maski VLSM stanowiło rozwiązanie przejściowe, które w oczywisty sposób nie mogło rozwiązać problemów z stale kurczącą się pulą adresów IP. W latach 90 dwudziestego wieku powstała lista zadań, które należy rozwiązać, aby Internet mógł dalej funkcjonować w obecnym kształcie. Trzy następujące problemy były na tyle dotkliwe, że wymagały podjęcia natychmiastowych działań.
      • W 1994 roku pula adresów klasy B była wyczerpana w połowie, a prognozy przewidywały jej kompletne zużycie do roku 1995.
      • Pula możliwych do osiągnięcia adresów IP była na tyle mała, że nie pozwoliła by na funkcjonowanie Internetu po roku 2000.
      • Znaczący przyrost nowych sieci lokalnych zwiększył ilość pozycji w globalnej tablicy trasowania, a tym samym zmniejszył ich wydajność.
    • Do rozwiązania powyższych zadań powołano w 1992 roku grupę roboczą ROAD (ROuting and ADdressing). Uznała ona punkt pierwszy oraz trzeci za najważniejsze do rozwiązania, odstawiając tym samym punk drugi na dalszy plan. Pierwszym krokiem nowej grupy było usunięcie pozostałości klasowego podziału na sieci w strukturach Internetu, poprzez zastosowanie rozwiązania zbliżonego do VLSM. Nowa metoda bezklasowego trasowania między domenowego CIDR (Classless Inter-Domain Routing), wprowadziła maskę podsieci w której po adresie IP występował Prefix zapisywany w postaci liczby od 0 do 32. Zmianie uległy również globalne tablice trasowania w których zaczęto stosować system hierarchiczny (hierarchical routing) zaproponowany przez Kleinrocka i Kamouna jeszcze w latach 70. Wykorzystany w nim podział puli adresów, został zaaranżowany w strukturę drzewa co znaczne zmniejszyło ilość pozycji w globalnych tablicach routingu, a tym samym rozwiązało problem trzeci.
    • Jako rozwiązanie punktu pierwszego postanowiono o stworzeniu nowych prywatnych puli adresów, których działanie ograniczono do sieci lokalnych LAN, dzięki czemu wszystkie urządzenia znajdujące się w np. firmie czy domach mogły korzystać z jednego lub paru adresów publicznych.
    • Skutki ostatniego problemu zaczęto niwelować poprzez stopniowe wprowadzanie nowego protokołu IPv6. Dysponuje on znacznie większą ilością adresów IP oraz bardziej wydajnymi metodami tworzenia globalnych tablic routingu.
    AdresMaskaZakresLiczba hostów
    10.0.0.0 255.0.0.0 10.0.0.0 – 10.255.255.255 2563
    172.16.0.0 255.240.0.0 172.16.0.0 – 172.21.255.255 16*2562
    192.168.0.0 255.255.0.0 192.168.0.0 – 192.168.255.255 2562

    Prywatne adresy IP (RFC 1918)

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