Gdy w latach 80. zaczęto wprowadzać system TCP/IP, korzystał on z
dwupoziomowego schematu adresowania. W tamtych czasach było to wystarczająco
skalowalne rozwiązanie. Niestety, twórcy protokołów TCP/IP nie mogli
przewidzieć, że ich dzieło stanowić będzie podstawę globalnej sieci wymiany
informacji, handlu i rozrywki. W ciągu ostatnich dwudziestu lat protokół IP
wersja 4 (IPv4) oferował strategię adresowania, która, choć skalowalna w owym
czasie, powodowała nieefektywne przydzielanie adresów.
Adresy klas A i B
stanowią 75 procent przestrzeni adresowej IPv4, jednak możne je przydzielić
tylko mniej niż 17 000 organizacji.
Adresów sieci klasy C jest znacznie więcej niż adresów klasy A lub B,
jednak stanowią one jedynie 12,5 procent wszystkich możliwych czterech
miliardów adresów IP.
Niestety, adresy klasy C są ograniczone do 254 hostów. Jest to zbyt mało,
aby zaspokoić potrzeby większych organizacji, które nie mogą otrzymać adresu
klasy A lub B. Nawet gdyby było więcej adresów klas A, B lub C, zbyt wiele
adresów sieciowych spowodowałoby zatrzymanie pracy routerów w Internecie na
skutek olbrzymich tablic routingu, wymaganych do przechowania ścieżek do każdej
z sieci.
Już w roku 1992 organizacja Internet Engineering Task Force
(IETF) określiła dwa następujące problemy:
- Wyczerpywanie pozostałych, nieprzypisanych jeszcze adresów sieciowych IPv4.
W tym czasie przestrzeń adresowa klasy B była bliska wyczerpania.
- Gwałtowny wzrost rozmiarów tablic routingu w związku z coraz większą liczbą
wchodzących do użycia sieci klasy C. Będący tego rezultatem zalew informacji o
nowych sieciach groził uniemożliwieniem efektywnej pracy routerów
internetowych;
W ciągu ostatnich dwóch dziesięcioleci utworzono wiele rozszerzeń
schematu IPv4. Rozszerzenia te były zaprojektowane w celu zwiększenia
efektywności wykorzystania 32-bitowej przestrzeni adresowej. Dwa z ważniejszych
rozszerzeń to maski podsieci i bezklasowy routing międzydomenowy CIDR, które
zostaną omówione bardziej szczegółowo w toku dalszych lekcji.
W
międzyczasie zdefiniowano i utworzono jeszcze bardziej skalowalną wersję
protokołu IP, czyli IP wersję 6 (IPv6).
Protokół IPv6 używa 128 bitów zamiast 32, stosowanych aktualnie w
protokole IPv4. Do reprezentowania tych 128 bitów schemat IPv6 używa liczb
szesnastkowych. Schemat IPv6 zawiera 340 sekstylionów adresów. Ta wersja
protokołu IP powinna zapewnić wystarczającą liczbę adresów, aby zaspokoić
przyszłe potrzeby komunikacyjne.
Na rysunku
porównano przykładowy adres IPv4 oraz IPv6. Adresy IPv4 są 32-bitowe,
zapisywane w postaci dziesiętnej przy użyciu kropek jako separatorów. Adresy
IPv6 maja długość 128 bitów i są identyfikatorami poszczególnych interfejsów i
zbiorów interfejsów. Adresy IPv6 są przypisywane do interfejsów, a nie do
węzłów. Ponieważ każdy interfejs należy do pojedynczego węzła, którykolwiek
adres jednostkowy (unicast) przypisany do interfejsów węzła może być użyty jako
identyfikator tego węzła. Adresy IPv6 są zapisywane w postaci szesnastkowej
przy użyciu dwukropków jako separatorów. Poszczególne pola adresu IPv6 mają
rozmiar 16 bitów. Aby adresy łatwiej było odczytywać, w każdym polu można
pominąć początkowe zera. Pole :0003: zostało zapisane jako :3:. Skrócona
reprezentacja 128-bitowego adresu IPv6 używa ośmiu liczb 16-bitowych,
przedstawionych w postaci czterech cyfr szesnastkowych.
Po latach badań
i rozwoju protokół IPv6 jest powoli wprowadzany w wybranych sieciach. Być może
w przyszłości protokół IPv6 zastąpi protokół IPv4 jako podstawowy protokół
Internetu.