Każdy adres IP jest 32-bitową liczbą, składającą się z czterech oktetów (liczb ośmiobitowych). Adresowanie TCP/IP jest łatwiej zrozumieć przyjmując koncepcję, że każdy sposób adresowania jest ściśle związany z funkcją i zadaniami danego komputera. Każdy komputer (a dokładniej węzeł) w sieci TCP/IP ma niepowtarzalny, 32-bitowy adres IP identyfikujący nie tylko komputer, lecz również sieć do której należy. Na adres IP składają się trzy podstawowe elementy:
bity określające klasę adresu,
część identyfikująca sieć lokalną (LAN),
część identyfikującą konkretny komputer w sieci.
W istniejącej klasyfikacji wyróżnia się pięć klas adresów:
Klasa A,
Klasa B,
Klasa C,
Klasa D,
Klasa E.
Adresy klasy A odnoszą się najczęściej do dużych sieci zawierających wiele komputerów, adresy klasy B odpowiadają sieciom średniej wielkości, zaś adresy klasy C małym sieciom. Adresy klasy D to tzw. adresy grupowe, wykorzystywane przy przesyłaniu wiadomości do grupy komputerów w Internecie. Tego typu system umożliwia znaczne zmniejszenie ruchu w sieci w stosunku do systemu nawiązywania oddzielnych połączeń z każdym z użytkowników. Obecnie istnieją jednak lepsze techniki rozgłaszania wiadomości grupowych w sieci. Klasa E jest eksperymentalna i zarezerwowana dla IETF. Jeśli sieć jest przyłączona do Internetu, to adres sieci oraz adresy komputerów są przydzielane przez organizację zarządzająca Internetem. Jeśli natomiast jest to lokalna sieć firmowa, to odpowiednie adresy przydziela administrator. Wybierając odpowiednią klasę adresów można przyporządkować danej sieci: więcej adresów podsieci, a mniej komputerów (adresy klasy C); równą liczbę adresów podsieci i komputerów (klasa B) lub mniej adresów podsieci, a więcej komputerów (klasa A). W sieciach lokalnych wykorzystuje się adresy klasy A, B lub C. Adres IP zapisuje się dziesiętnie w czterech blokach trzycyfrowych rozdzielonych kropkami (każdy blok trzycyfrowy odpowiada 8 bitom, więc może być to liczba do 0 do 255).
klasa | liczba bitów adresujących sieć | liczba bitów adresujących host | zakres adresów | rodzaj sieci | liczba sieci | liczba hostów w obrębie sieci | identyfikacja |
A | 8 | 24 | 1.0.0.0 – 126.0.0.0 | bardzo duże | 127 | 16.777.214 | pierwszy bit = 0 |
B | 16 | 16 | 128.1.0.0 – 191.254.0.0 | średniej wielkości | 16.382 | 65.534 | pierwsze dwa bity = 10 |
C | 24 | 8 | 192.0.1.0 – 223.255.254.0 | małe | 2.097.150 | 254 | pierwsze trzy bity = 110 |
D | – | – | 224.0.0.0 – 239.255.255.254 | do transmisji grupowej | brak podziału | brak podziału | pierwsze cztery bity = 1110 |
E | – | – | 240.0.0.0 – 255.255.255.255 | zarezerwowane dla IETF | – | – | pierwsze cztery bity = 1111 |
Szczególnym przypadkiem jest adres 127.0.0.1, który jest adresem zarezerwowanym do testowania pętli zwrotnej danego hosta.
Braki podziału na klasy adresów
Duże różnice między klasami od lat marnowały dużą potencjalną liczbę adresów IP. Przykładem może być sieć lokalna dla firmy posiadającej 300 komputerów, które należy przyłączyć do Internetu. Pojedyncza grupa adresów klasy C daje 254 adresy co jest liczbą niewystarczającą. Dwie grupy dają zbyt wiele adresów i wymagają obsługi dwóch sieci. Wybranie adresów klasy B daje odpowiednią liczbę adresów w jednej sieci, ale odznacza się dużym marnotrawstwem (65 234) adresów. W początkowej fazie rozwoju Internetu zbyt często przydzielano bezpodstawnie adresy klasy B co zpowodowało, że przestwrzeń adresowa tej klasy wyczerpała się szybciej od innych, równocześnie przyczyniając się do obecnych braków wolnych adresów dla nowo przyłączanych komputerów. W celu ulepszenia wykorzystania 32-bitowej przestrzeni adresowej zaprojektowano wiele specjalnych rozszerzeń protokołu IP. Do jaważniejszeych należą:
maski podsieci o stałej długości,
maski podsieci o zmiennej długości (VLSM),
bezklasowy wybór marszruty między domenami (CIDR),
Mechanizmy te nie wykluczają się nawzajem – należy korzystać z nich łącznie.
Podział przestrzeni adresowej na podsieci.
Podział na podsieci umożliwia podział sieci IP dowolnej klasy (A,B lub C) na mniejsze sieci. Adres IP w podsieci składa się z czterech części:
bitów określających klasę adresu,
adresu sieci,
adresu podsieci,
adresu hosta,
Możliwość podziału na podsieci zależy od typu wykorzystywanego adresu IP. Im więcej bitów hosta w pierwotnym adresie IP, tym więcej można utworzyć podsieci. Podsieci zmniejszają jednak liczbę możliwych do zaadresowania hostów , gdyż bity z adresu hosta pobierane są do identyfikacji podsieci. Podsieci identyfikuje się za pomocą pseudo-adresu IP, zwanego maską podsieci. Maska podsieci jest, podobnie jak sam adres IP, liczbą 32-bitową. Budowa maski podsieci wygląda w ten sposób że pierwsze n-bitów jest jedynkami pozostałe natomiast są zerami. Stąd też dość łatwo można zidentyfikować czy maska podsieci została podana poprawnie. Bity maski identyfikujące część sieciową zawierają jedynki, natomiast bity identyfikujące hosta zawierają zera. Przykładowo, maska 11111111.11111111.11111111.11000000 (inaczej 255.255.255.192) daje 64 teoretycznie możliwe adresy hostów. Praktycznie jednak dwa z nich (000000 i 111111) są zarezerwowane do identyfikacji samej podsieci i do rozgłaszania w niej.
Podział przestrzeni adresowej klasy B na podsieci.
Liczba bitów przedrostka sieci | Maska podsieci | Liczba nadających się do użytku adresów podsieci | Liczba nadających się do użytku adresów hostów na podsieć |
2 | 255.255.192.0 | 2 | 16.382 |
3 | 255.255.224.0 | 6 | 8.190 |
4 | 255.255.240.0 | 14 | 4.094 |
5 | 255.255.248.0 | 30 | 2.046 |
6 | 255.255.252.0 | 62 | 1.022 |
7 | 255.255.254.0 | 126 | 510 |
8 | 255.255.255.0 | 254 | 254 |
9 | 255.255.255.128 | 510 | 126 |
10 | 255.255.255.192 | 1.022 | 62 |
11 | 255.255.255.224 | 2.046 | 30 |
12 | 255.255.255.240 | 4.094 | 14 |
13 | 255.255.255.248 | 8.190 | 6 |
14 | 255.255.255.255 | 16.382 | 2 |
Podział przestrzeni adresowej klasy C na podsieci.
Liczba bitów przedrostka sieci | Maska podsieci | Liczba nadających się do użytku adresów podsieci | Liczba nadających się do użytku adresów hostów na podsieć |
2 | 255.255.255.192 | 2 | 62 |
3 | 255.255.255.224 | 6 | 30 |
4 | 255.255.255.240 | 14 | 14 |
5 | 255.255.255.248 | 30 | 6 |
6 | 255.255.255.255 | 62 | 2 |
Przykład podziału na podsieci
Przypuśćmy, że trzeba podzielić na 6 podsieci sieć 192.168.125.0 (Klasy C).
Numer sieci | adres dwójkowy | adres dziesiętny |
Podstawowy | 11000001.10101000.01111101.0000000 | 192.168.125.0 |
Podsieć 0 | 11000001.10101000.01111101.000-0000 | 192.168.125.0 |
Podsieć 1 | 11000001.10101000.01111101.001-0000 | 192.168.125.32 |
Podsieć 2 | 11000001.10101000.01111101.010-0000 | 192.168.125.64 |
Podsieć 3 | 11000001.10101000.01111101.011-0000 | 192.168.125.96 |
Podsieć 4 | 11000001.10101000.01111101.100-0000 | 192.168.125.128 |
Podsieć 5 | 11000001.10101000.01111101.101-0000 | 192.168.125.160 |
Podsieć 6 | 11000001.10101000.01111101.110-0000 | 192.168.125.192 |
Podsieć 7 | 11000001.10101000.01111101.111-0000 | 192.168.125.224 |
W praktyce podsieci 0 i 7 nie będą wykorzystywane.
Ich adresy – 000 i 111 – powinno się traktować jako zarezerwowane (nie adresujące podsieci).
Same zera identyfikują podsieć, a same jedynki służą do rozgłaszania w niej.
Maski podsieci o zmiennej długości
Maski VLSM pozwalają na lepsze wykorzystanie przestrzeni adresów IP w organizacji, umożliwiając administratorom dostosowanie maski do określonych wymagań każdej podsieci. Istnieje możliwość podzielenia sieci fizycznej na podsieci logiczne o różnych wielkościach. Rozmiar rozszerzonego przedrostka sieci można określać za pomocą kreski ułamkowej (/), po której następuje liczba bitów stosowanych do adresowania sieci i podsieci.
Przykładowo: 193.156.230.0/27