Niezbędny by dostarczyć dane do odpowiedniego hosta. IP to logiczny adres interfejsu sieciowego (hosta) urządzenia pracującego wsieci np. komputera (interfejsem karta sieciowa; serwer 2 karty- do łączenia z LAN i WAN)), routera, access pointa.
W powszechnym użyciu są dwie wersje protokołu IP:
wersja 4 (IPv4) – jest liczbą 32 bitową co pozwala na zapisanie 232 ≈ 4 miliardów adresów
wersja 6 (IPv6) - jest liczbą 128 bitową co pozwala na zapisanie 2128 ≈ 3,4 ∙ 1038 adresów
Podstawową różnicą pomiędzy tymi protokołami sprowadza się do sposobu reprezentacji adresu sieciowego urządzeń podłączonych do sieci.
Adres sieciowy IP w IPv4 jest 32-bitową sekwencją zer i jedynek. Określona liczba bitów 32-bitowego adresu IP licząc od lewej strony jest adresem sieci, a reszta adresem konkretnego hosta, bowiem pakiet pierw trafia do sieci, a potem konkretnego hosta.
W celu ułatwienia korzystania z adresów IP zwykle zapisuje się je w postaci czterech liczb dziesiętnych oddzielonych kropkami (notacja dziesiętna kropkowa - łatwiejszy zapis, zapamiętanie, mniej pomyłek).
Na przykład adres IP
192.168.0.1
zapisany w systemie dwójkowym ma postać
11000000.10101000.00000000.00000001
Każda część adresu jest nazywana oktetem, ponieważ składa się z 8 bitów (1bajt).
11111111 – najwyższa liczba mogąca być użyta w adresie IP (255)
00000000 – najniższa liczba mogąca być użyta w adresie IP (0)
Adres sieciowy jest bitowym iloczynem maski sieciowej z którymkolwiek z adresów IP sieci.
Specjalny adres 127.0.0.1 oznacza zawsze komputer lokalny, czyli ten na którym wykonywane są operacje sieciowe.
Z każdą siecią związane są następujące typy adresów:
adres sieciowy (ang. network address) - adres, który określa całą sieć,
adres rozgłoszeniowy (ang. broadcast address) – specjalny adres używany w celu wysyłania danych do wszystkich hostów w określonej sieci,
adres hosta (interfejsu urządzenia końcowego) – adres przyporządkowany urządzeniu końcowemu pracującemu w sieci.
Podział na podsieci zapobiega wyczerpaniu adresów IP oraz ułatwia zarządzanie. Internet nie posiada określonej struktury - jest zbiorem wielu sieci dzielących się na coraz mniejsze sieci, dlatego ważną rolę w określaniu lokalizacji komputera w sieci pełni maska podsieci.
Maska podsieci określa, które bity adresu sieciowego oznaczają adres sieci (LAN), a które adres urządzenia sieciowego (hosta). Bity maski ustawione na 1 określają adres sieci, a bity ustawione na 0 adres urządzenia sieciowego (hosta; należącego do tej sieci).
np.: maska - zapis dziesiętny:
255.255.255.0
zapis binarny
11111111 11111111 11111111 00000000
adres sieci adres hosta
W masce podsieci mogą wystąpić najpierw wyłącznie "1", a potem wyłącznie "0"
Do określenia maski podsieci można użyć skróconego sposobu zapisu maski podsieci - podając za adresem IP (podsieci) ilość jedynek występujących w masce podsieci.
np. zapis adresu (podsieci):
192.168.10.0/24
oznacza że maska składa się z 24 jedynek i 8 zer (32-24=8)
11111111 11111111 11111111 00000000
W każdej podsieci przeznaczene dwóch adresów jest z góry określone:
najmniejszy możliwy adres określa tzw. adres podsieci
największy możliwy adres określa tzw. adres rozgłoszeniowy (broadcast) tj. adres transmisji do wszystkich hostów w podsieci
Na podstawie podanego adresu IP i maski określić możemy:
adres sieci, do której należy host,
maksymalną liczbę hostów należących do tej sieci
adres rozgłoszeniowy.
Aby to określić potrzebna będzie umiejętność konwersji liczb dziesiętnych na binarne (i odwrotnie) oraz wiedza z zakresu wykonywania operacji logicznych AND i NOT.
Dane:
IP: 192.168.1.145
maska: 255.255.255.128
Oblicz:
adres podsieci,
adres rozgłoszeniowy,
maksymalną liczbę hostów,
wskaż adres pierwszego i ostatniego hosta w sieci.
Rozwiązanie
1. Obliczamy adres podsieci
Zamieniamy adres IP oraz maskę na postać binarną.
Na otrzymanych liczbach binarnych wykonujemy operację AND(czyli mnożymy liczby w kolumnach).
Otrzymaną postać binarną konwertujemy na liczbę dziesiętną
192.168.1.145: 11000000101010000000000110010001
255.255.255.128 11111111111111111111111110000000
AND 11000000101010000000000110000000
192 168 1 128
Adres podsieci: 192.168.1.128
Adres IP hosta 192.168.1.145 należy zatem do podsieci 192.168.1.128
2. Obliczamy adres rozgłoszeniowy
Na postaci binarnej maski wykonujemy operację logiczną NOT(jedynki zamieniamy na zera, a zera na jedynki)
Zamieniamy otrzymaną liczbę binarną na postać dziesiętną
Otrzymaną liczbę dziesiętną dodajemy do adresu podsieci
maska: 11111111111111111111111110000000
NOT: 00000000000000000000000001111111
0 0 0 127
+ 192 168 1 128
192 168 1 255
Adres rozgłoszeniowy: 192.168.1.255
3. Obliczamy maksymalną liczbę hostów w sieci
Obliczając maksymalną liczbę hostów w sieci korzystamy ze wzoru
2(liczba bitów adresu IP – skrócony zapis maski) - 2
skrócony zapis maski to liczba jedynek w jej postaci binarnej
Co w naszym przypadku daje:
2(32-25) – 2 = 27 – 2 = 128 – 2 = 126 hostów
4. Wskazujemy adres pierwszego i ostatniego hosta w sieci
Jeśli adres sieci ma postać 192.168.1.128 to adres pierwszego hosta będzie miał postać
192.168.1.129
Jeśli natomiast adres rozgłoszeniowy ma postać 192.168.1.255 to adres ostatniego hosta będzie miał postać
192.168.1.254
Podsumowując:
Adres podsieci: 192.168.1.128.
Adres rozgłoszeniowy: 192.168.1.255.
Liczba hostów: 126.
Pierwszy host: 192.168.1.129.
Ostatni host: 192.168.1.254.