6. Adresy IPv4
Adres IP
Adres IP posiada każdy interfejs sieciowy (punkt przyłączenia), jest on niepowtarzalny w danej sieci i hierarchiczny, to znaczy, że początek adresu wskazuje na sieć w jakiej znajduje się urządzenie, kolejna część może wskazywać podsieć, a reszta adresu to po prostu kolejny numer tego urządzenia w danej sieci.
IP v.4 składa się z 32 bitów (podzielonych na 4 liczby zwane oktetami), np.: 80.52.229.66. Każdy oktet reprezentuje 8 bitową liczbę binarną, więc przyjmuje wartości od 0 do 255.
Klasy adresów IP
Adres IP v.4 zawiera w sobie informację do jakiej klasy adresów należy. Zdefiniowanych jest 5 klas adresów IP, z czego 3 są powszechnie w użyciu:
Maska sieci
W każdym adresie IPv4 możemy wyraźnie wskazać miejsce podziału na część sieci i część hosta. Do tego celu niezbędna jest maska sieci. Podobnie jak adres IP, maska jest liczbą 32 bitową. Jej budowa jest jednak bardzo prosta. Składa się z nieprzerwanego ciągu jedynek, po którym następuje do końca ciągnący się nieprzerwany ciąg zer. To właśnie ta granica między jedynkami a zerami wyznacza granicę między częścią adresu IP, która należy do sieci, a resztą, która należy do hosta.
Przykładowa maska:
Inny zapis tej samej maski to:
A jeszcze inny to po prostu jedna dziesiętna liczba poprzedzona znakiem ukośnika, która określa ile bitów w masce jest ustawione na jedynkę:
/16
Ilość jedynek w masce nie musi być wielokrotnością ósemki:
Adres sieci i rozgłoszeniowy
W każdej sieci lokalnej zarezerwowano dwa adresy: jeden adres jako adres rozgłoszeniowy (tzw. broadcast), a drugi jako adres sieci. Adres rozgłoszeniowy to adres służący do wysyłania pakietów na wszystkie inne urządzenia podłączone do danej sieci. Aby wyznaczyć adres rozgłoszeniowy i adres sieci dla danego urządzenia, konieczna jest znajomość maski sieci.
Załóżmy, że adres IP pewnego urządzenia to
212.51.219.32,
co w przeliczeniu na system binarny stanowi:
11010100.00110011.11011011.00100000,
natomiast maska sieci to
255.255.255.192,
binarnie:
11111111.11111111.11111111.11000000.
oznacza to, że mamy 26 bitów sieci (26 jedynek) i 6 bitów hosta (oznaczmy ilość bitów hosta jako n).
Cała operacja sprowadza się do wstawienia w adres IP urządzenia:
samych jedynek na ostatnich n pozycjach,by uzyskać adres rozgłoszeniowy
samych zer na ostatnich n pozycjach,by uzyskać adres sieci
czyli dla naszego przykładu dane były:
11010100.00110011.11011011.00100000 adresIP urządzenia
11111111.11111111.11111111.11000000 maska sieci
wyznaczamy więc:
11010100.00110011.11011011.00111111 broadcast
11010100.00110011.11011011.00000000 adres sieci
Na czerwono zaznaczono część adresu, która stanowi o tym w jakiej sieci jest dane urządzenie. Zauważ, że czerwony fragment jest identyczny w adresie sieci, adresie rozgłoszeniowym i adresie urządzenia. Wszystkie te 3 adresy różnią się od siebie tylko ostatnimi sześcioma bitami (to wszystko determinuje maska sieci). Dwa urządzenia w tej samej sieci zawsze będą miały identyczną tę pierwszą część adresu IP i zawsze powinny różnić się na ostatnich n bitach.
Zakres adresów hostów i ilość urządzeń w sieci.
Skoro adres IP naszej sieci to 11010100.00110011.11011011.00000000 to pierwszy adres IP jaki moglibyśmy wykorzystać w tej sieci dla dowolnego urządzenia mógłby być
11010100.00110011.11011011.00000001 tzn.212.51.219.1
a kolejny:
11010100.00110011.11011011.00000010 tzn.212.51.219.2
itd..
Idąc tym tropem możemy powiedzieć że ostatni to:
11010100.00110011.11011011.00111110 tzn.212.51.219.62
(ten który ma same jedynki w końcowej części jest bowiem zarezerwowany na adres rozgłoszeniowy).
Można więc powiedzieć, że dostępna pula adresów IP w tej sieci to:
począwszy od 212.51.219.1 do 212.51.219.62
Możemy też powiedzieć, że ilość wszystkich adresów które możemy w tej sieci wykorzystać, determinuje ilość wyzerowanych bitów w masce. Jest ich w naszym wypadku 6, a wszystkich kombinacji zero-jedynkowych możliwych do uzyskania jest więc 26. Z tym, że należy pamiętać że nie wszystkie adresy są tu do wykorzystania, gdyż wśród tych kombinacji znajdują się same zera (adres sieci) i same jedynki (adres rozgłoszeniowy).
Zatem ostatecznie ilość adresów do wykorzystania dla hostów to:
2n - 2, gdzie n - ilość wyzerowanych bitów w masce