TopSłownik technicznyProtokoły IP v4/v6

Protokoły IP v4/v6

Adres IP jest związany z Internetem od samego początku. Począwszy od 1977 roku aż do chwili obecnej, korzystamy z adresacji IPv4 (adres IP czwartej generacji). Ze względu na małą i szybko kończącą się liczbę adresów opracowano następcę tego protokołu, czyli IPv6. Stało się to konieczne z powodu rosnącej liczby komputerów podłączanych do globalnej sieci. Początkowo planowano temu zapobiec poprzez wprowadzenie adresu IPv5, mającego służyć do transmisji dźwięku, obrazu oraz rozproszonej symulacji. Protokół ten nigdy nie był używany na szerszą skalę, a jego właściwości zostały zaimplementowane w adresie szóstej generacji – IPv6.

 

W 1995 roku pojawiła się pierwsza dokumentacja opisująca protokół IPv6. W latach 1996–2006 w infrastrukturze internetu wprowadzano projekt 6BONE. Miał on formę eksperymentalnej sieci działającej w oparciu o IPv6. Podstawowym zadaniem protokołu nowej wersji było zwiększenie przestrzeni dostępnych adresów – poprzez wydłużenie ich z 32 bitów do 128 bitów.

 

Zmiana adresu IPv4 na IPv6 odbywa się właściwie niezauważalnie dla przeciętnego użytkownika. Jest jednak jeden warunek – musi być zgodność wszystkich urządzeń podpiętych do sieci z protokołem IPv6. W większości przypadków, jeżeli sprzęt jest kompatybilny z nową adresacją, przełączy się automatycznie. Niekiedy migracja musi się odbyć poprzez manualną zmianę kilku podstawowych ustawień. Zdecydowanie trudniej jest przejść na nowy protokół w przypadku niezgodności urządzeń z adresami IPv6. W takiej sytuacji są wymagane często kosztowne aktualizacje oprogramowania oraz wymiana sprzętu.

 

Tab. 1. Różnice pomiędzy protokołami IPv4 i IPv6 w zakresie podstawowych pojęć, funkcji IP oraz wykorzystania adresów IP

 

Opis IPv4 IPv6
Adres Długość: 32 bity (4 bajty). Składa się z części sieciowej i części hosta, która zależy od klasy adresu. W zależności od kilku początkowych bitów są zdefiniowane różne klasy adresów: A, B, C, D i E. Łączna liczba adresów IPv4 wynosi 4 294 967 296. Długość: 128 bitów (16 bajtów). Podstawowa architektura zakłada 64 bity na numer sieci i 64 bity na numer hosta. Część hosta w adresie IPv6 (lub fragment) często jest wyprowadzana z adresu MAC lub innego identyfikatora interfejsu.W zależności od przedrostka podsieci protokół IPv6 ma bardziej skomplikowaną architekturę niż IPv4.Liczba adresów IPv6 jest 1028 (79 228 162 514 264 337 593 543 950 336) razy większa niż liczba adresów IPv4. Adres IPv6 w postaci tekstowej wygląda następująco: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, gdzie każdy znak x to cyfra szesnastkowa reprezentująca 4 bity. W postaci tekstowej adresu można jednokrotnie użyć podwójnego dwukropka (::), wskazującego dowolną liczbę bitów zerowych. Na przykład adres ::ffff:10.120.78.40 to odwzorowany na adresie IPv4 adres IPv6.
Przydzielanie adresu Pierwotnie adresy były wyznaczane przez klasę sieci. Przestrzeń adresowa została uszczuplona, zrobiono mniejsze przydziały za pomocą metody CIDR. Liczba adresów przydzielonych państwom i instytucjom nie jest zrównoważona. Przydzielanie znajduje się dopiero w fazie początkowej. Zarówno grupa wykonawcza IETF, jak i komisja IAB zaleciły, aby w pierwszym rzędzie dla każdej organizacji, gospodarstwa domowego lub jednostki została przydzielona długość przedrostka podsieci /48. Zostawi to organizacji 16 bitów na realizację podsieci. Przestrzeń adresowa jest wystarczająco duża, aby każda osoba na świecie mogła mieć swoją własną długość przedrostka podsieci /48.
Czas życia adresu Pojęcie to ogólnie nie ma zastosowania do adresów IPv4, z wyjątkiem adresów przydzielanych za pomocą protokołu DHCP. Adresy IPv6 mają dwa czasy życia: preferowany i poprawny; przy czym preferowany czas życia jest zawsze mniejszy lub równy poprawnemu.
Maska adresu Używana do oddzielenia części sieciowej od części hosta. Nieużywana (patrz: Przedrostek adresu).
Przedrostek adresu Niekiedy używany do oddzielenia części sieciowej od części hosta.
Protokół ARP Protokół ARP (Address Resolution Protocol) jest wykorzystywany w IPv4 do odnajdywania fizycznego adresu, na przykład adresu MAC lub adresu łącza powiązanego z adresem IPv4. Protokół IPv6 osadza te funkcje w samym protokole IP jako część algorytmu bezstanowej automatycznej konfiguracji adresów i wykrywania sąsiada za pomocą protokołu ICMPv6. Dlatego też nie istnieje nic takiego jak ARP6.
Zasięg adresu Pojęcie to nie ma zastosowania w przypadku adresów pojedynczych. Istnieją zakresy adresów prywatnych i pętla zwrotna; poza tym wszystkie adresy są globalne. W protokole IPv6 zasięg adresu stanowi część architektury. Adresy pojedyncze mają zdefiniowane dwa zasięgi: segmentowy i globalny; adresy grupowe mają 14 zasięgów. Wybór adresu domyślnego, dla miejsca źródłowego i docelowego, obejmuje zasięg w ramach konta.Strefa zasięgu jest instancją zasięgu w danej sieci. W konsekwencji adresy IPv6 niekiedy trzeba wpisywać lub łączyć z identyfikatorem strefy.
Typy adresów Adresy IPv4 można podzielić na trzy podstawowe typy: pojedyncze, grupowe i rozgłaszania. Adresy IPv6 można podzielić na trzy podstawowe typy: pojedyncze, grupowe i dowolne (anycast).
Śledzenie komunikacji Narzędzie śledzenia komunikacji umożliwia gromadzenie szczegółowych danych śledzenia pakietów TCP/IP (i innych), które trafiają do systemu i są z niego wysyłane. Taka sama obsługa w przypadku IPv6.
Konfigurowanie W celu komunikowania się z innymi systemami nowo zainstalowane systemy wymagają skonfigurowania, czyli przypisania adresów IP i tras. Konfigurowanie jest opcjonalne i zależy od oczekiwanej funkcjonalności. Protokół IPv6 może być używany z dowolnym adapterem Ethernet i uruchamiany za pomocą interfejsu pętli zwrotnej. Interfejsy IPv6 dokonują samokonfiguracji za pomocą bezstanowej automatycznej konfiguracji adresów IPv6. Interfejs IPv6 można również konfigurować ręcznie. Dlatego system będzie mógł komunikować się z innymi systemami IPv6, zdalnymi lub lokalnymi, w zależności od typu sieci i od tego, czy istnieje router IPv6.
System DNS Aplikacje akceptują nazwy hostów, a następnie korzystają z systemu DNS, aby uzyskać adres IP. Taka sama obsługa w przypadku IPv6. Obsługa IPv6 korzysta z typu rekordu AAAA (poczwórne A) i wyszukiwania odwrotnego (IP-na-nazwę). Aplikacja może wybierać, czy akceptować adresy IP z systemu DNS (czy nie) i następnie skorzystać (lub nie) z IPv6 do komunikacji.
Protokół DHCP Protokół DHCP służy do dynamicznego uzyskiwania adresu IP i innych danych o konfiguracji. Implementacja protokołu DHCP zawarta jest w serwerze i nie obsługuje protokołu IPv6. Dostępna jest jednak implementacja serwera ISC DHCP.
Protokół FTP Protokół FTP umożliwia wysyłanie i otrzymywanie plików w sieciach. Taka sama obsługa w przypadku IPv6.
Fragmenty Gdy pakiet jest za duży dla następnego odcinka połączenia, przez które podróżuje, może zostać podzielony przez wysyłający host lub router na mniejsze fragmenty. W przypadku protokołu IPv6 fragmentacja może nastąpić tylko w węźle źródłowym, a ponowne połączenie tylko w węźle docelowym. Używany jest nagłówek rozszerzenia fragmentacji.
Tabela hostów Konfigurowalna tabela definiująca powiązania adresów internetowych z nazwami hostów. Z tabeli korzysta program tłumaczący nazwy gniazd, przed wyszukaniem DNS. Taka sama obsługa w przypadku IPv6.
Protokół ICMP Używany w IPv4 do przesyłania informacji o sieci. Podobnie używany w IPv6; jednak ICMPv6 udostępnia kilka nowych atrybutów.Dodane zostały nowe typy i kody obsługujące wykrywanie sąsiada i funkcje pokrewne.
Protokół IGMP Protokół IGMP jest używany przez routery IPv4 do odnajdywania hostów, które chcą przyjmować ruch sieciowy rozgłaszany dla określonej grupy, i przez hosty IPv4 do informowania routerów IPv4 o istniejących programach nasłuchujących rozgłaszanie. Protokół IGMP został w IPv6 zastąpiony protokołem MLD (Multicast Listener Discovery). Protokół MLD działa prawie tak samo jak IGMP w IPv4, ale korzysta z protokołu ICMPv6, dodając kilka charakterystycznych dla MLD typów wartości ICMPv6.
Nagłówek IP Zmienna długość z zakresu od 20 do 60 bajtów, w zależności od obecności opcji IP. Zmienna długość do 40 bajtów. Nie ma żadnych opcji nagłówka IP. Ogólnie nagłówek IPv6 jest prostszy niż nagłówek IPv4.
Opcje nagłówka IP Do nagłówka IP można dodawać różne opcje (przed nagłówkiem warstwy transportowej). Nagłówek IPv6 nie ma żadnych opcji. W zamian protokół IPv6 dodaje opcjonalne nagłówki rozszerzeń. Nagłówki te to: AH i ESP (niezmienione od IPv4), hop-by-hop, routing, fragment i destination. Obecnie protokół IPv6 obsługuje pewną liczbę nagłówków rozszerzeń.
Bajt protokołu nagłówka IP Kod protokołu warstwy transportowej lub ładunku pakietu (na przykład ICMP). Typ nagłówka następuje bezpośrednio po nagłówku IPv6 i korzysta z tych samych wartości, co pole protokołu IPv4. Takie rozwiązanie umożliwiło pozostawienie już zdefiniowanego zakresu następnych nagłówków i ułatwiło dalsze rozszerzanie. Następnym nagłówkiem będzie nagłówek transportowy, nagłówek rozszerzenia lub ICMPv6.
Bajt typu usługi (Type of Service) nagłówka IP Wykorzystywany przez usługi QoS i DiffServ do wyznaczenia klasy ruchu. Wyznacza klasy ruchu IPv6 za pomocą innych kodów. Obecnie protokół IPv6 nie obsługuje TOS.
Połączenie LAN Połączenie LAN jest używane przez interfejs IP w celu uzyskania dostępu do sieci fizycznej. Istnieje wiele typów, na przykład Token Ring i Ethernet. Zamiennie nazywane jest też interfejsem fizycznym, łączem lub linią. Protokół IPv6 może być używany z dowolnym adapterem Ethernet i jest obsługiwany za pomocą wirtualnej sieci Ethernet pomiędzy partycjami logicznymi.
Protokół L2TP (Layer Two Tunnel Protocol) O protokole L2TP można myśleć jak o wirtualnym połączeniu PPP; pracuje on poprzez dowolny obsługiwany typ linii. Taka sama obsługa w przypadku IPv6.
Jednostka MTU Maksymalna jednostka przesyłania łącza to maksymalna liczba bajtów, które obsługuje dany typ łącza, na przykład Ethernet lub modem. Dla protokołu IPv4 typową wartością minimalną jest 576. Dla protokołu IPv6 dolna granica wielkości MTU wynosi 1280 bajtów. Oznacza to, że poniżej tego limitu protokół IPv6 nie fragmentuje pakietów. Aby wysłać pakiet IPv6 łączem o MTU mniejszym niż 1280, warstwa łącza musi w sposób przezroczysty dzielić i ponownie łączyć pakiety IPv6.
Netstat Netstat to narzędzie do sprawdzania statusu połączeń TCP/IP, interfejsów lub tras. Taka sama obsługa w przypadku IPv6.
Translacja adresu sieciowego (NAT) Wbudowane w protokół TCP/IP podstawowe funkcje zapory firewall, z możliwością konfiguracji. Obecnie NAT nie obsługuje protokołu IPv6. Ogólnie rzecz biorąc, protokół IPv6 nie potrzebuje NAT. Rozszerzona przestrzeń adresowa protokołu IPv6 eliminuje problem braku adresów i ułatwia zmianę numeracji.
Zapytanie o węzeł Nie istnieje. Proste i wygodne narzędzie sieciowe, które powinno działać podobnie jak komenda ping, z tą różnicą, że węzeł IPv6 może zapytać inny węzeł IPv6 o nazwę DNS hosta docelowego, adres pojedynczy IPv6 lub adres IPv4
Routing OSPF OSPF to protokół routingu, który jest preferowany w dużych sieciach systemów autonomicznych (zamiast protokołu routingu RIP). Taka sama obsługa w przypadku IPv6.
Filtrowanie pakietów Filtrowanie pakietów stanowi podstawową funkcję zapory firewall wbudowaną w protokół TCP/IP. Mechanizm filtrowania pakietów nie obsługuje protokołu IPv6.
Komenda PING PING to podstawowe narzędzie TCP/IP do sprawdzania, czy host docelowy jest osiągalny. Taka sama obsługa w przypadku IPv6.
Protokół PPP Protokół PPP obsługuje interfejsy połączeń modemowych dla różnych modemów i typów linii. Taka sama obsługa w przypadku IPv6.
Porty Protokoły TCP i UDP mają oddzielne przestrzenie portów. Każdy port jest definiowany przez numer portu z zakresu 1-65535. W protokole IPv6 porty działają tak samo jak w protokole IPv4. Ponieważ istnieje nowa rodzina adresów, pojawiły się cztery nowe oddzielne przestrzenie portów. Są na przykład dwie przestrzenie 80 portu TCP.
Adresy prywatne i publiczne Wszystkie adresy IPv4 są publiczne, poza adresami z zakresów wyznaczonych jako prywatne w dokumencie RFC 1918 grupy IETF: 10.*.*.* (10/8),172.16.0.0 do 172.31.255.255 (172.16/12) i 192.168.*.* (192.168/16). Domeny adresów prywatnych zwykle są używane wewnątrz organizacji. Adresy prywatne nie mogą być kierowane przez Internet. Protokół IPv6 ma podobną koncepcję, ale z istotnymi różnicami.
Adresy są publiczne lub tymczasowe; wcześniej były nazywane anonimowymi (dokument RFC 3041). W przeciwieństwie do adresów prywatnych IPv4 – adresy tymczasowe mogą być kierowane globalnie. Inna jest także motywacja – adresy krótkotrwałe IPv6 mają ukryć tożsamość klienta, gdy nawiązuje on komunikację (wiąże się to z ochroną prywatności). Adresy tymczasowe mają ograniczony czas życia i nie zawierają identyfikatora interfejsu, czyli dołączonego adresu MAC. Ogólnie są nie do rozróżnienia od adresów publicznych.
W protokole IPv6 istnieje pojęcie ograniczonego zasięgu adresu, oparte na wbudowanych projektowo określeniach zasięgu.
Protokół SNMP Protokół SNMP służy do zarządzania systemem. Taka sama obsługa w przypadku IPv6.
Interfejs API gniazd Funkcje API gniazd to metody korzystania z protokołu TCP/IP przez aplikacje. Aplikacje, które nie potrzebują protokołu IPv6, są niewrażliwe na zmiany dotyczące obsługi gniazd w IPv6. Protokół IPv6 rozszerza pojęcie gniazd, a aplikacje mogą teraz używać IPv6, korzystając z nowej rodziny adresów. Rozszerzenia te zostały tak zaprojektowane, że istniejące aplikacje IPv4 są całkowicie niewrażliwe na zmiany związane z protokołem IPv6 i funkcjami API. Aplikacje, które mają obsługiwać współbieżnie ruch IPv4 i IPv6 albo tylko ruch IPv6, można łatwo przystosować, korzystając z adresów IPv4 odwzorowanych na IPv6 klienta.
Telnet Usługa Telnet umożliwia zalogowanie się i korzystanie ze zdalnego komputera, tak jak przy połączeniu bezpośrednim. Taka sama obsługa w przypadku IPv6.
Śledzenie trasy Funkcja śledzenia trasy stanowi podstawowe narzędzie TCP/IP do określania ścieżki. Taka sama obsługa w przypadku IPv6.
Warstwy transportowe TCP, UDP, RAW. Takie same warstwy transportowe znajdują się w protokole IPv6.
Adres nieokreślony (unspecified) Niezdefiniowany. Używany jako źródłowy adres IP w niektórych pakietach wykrywania sąsiada i w innych kontekstach, na przykład w gniazdach.
Wirtualna sieć prywatna (VPN) Sieć VPN (korzystająca z protokołu IPsec) umożliwia rozszerzenie zasięgu chronionych sieci prywatnych za pośrednictwem istniejących sieci publicznych. Taka sama obsługa w przypadku IPv6.