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