Adresacja IP
W dzisiejszym artykule poruszymy temat adresacji IP.
Omówione zostaną:
-
Adresowanie IP
-
Rodzaje transmisji IP
-
Protokół IPv4
-
Adresowanie klasowe
-
Adresowanie bezklasowe – maski podsieci
-
Podział na podsieci
Każdy komputer, który chce korzystać z sieci internetu musi posiadać adres IP. Te adresy IP zarządzane są przez pewne światowe organizacje. Do najważniejszych należą:
IETF (The Internet Engineering Task Force) – jest to organizacja, która opracowała nowy 128 bitowy protokół w wersji 6 (IPv6). Organizacja ta zajmuje się zarządzaniem dokumentami RFC, sprawuje nadzór nad prawidłowym funkcjonowaniem Internetu.
InterNIC (Internet Network Information Center) na początku lat 80 organizacja ta opracowała protokół w wersji 4 (IPv4).
IANA (Internet Assigned Numbers Authority) organizacja ta przydziela adresy IP w skali światowej, zarządza ona również system DNS, oraz numerami portów. Organizacja ta wspierana jest przez ICANN (Internet Corporation for Assigned Names and Numbers), która podobnie jak IANA zarządza w skali światowej adresami IP.
Regional Internet Registries są to organizacje, które zajmują się zarządzaniem oraz przydzielaniem adresów IP w zależności od położenia geograficznego. Przykładowo dla Ameryki Północnej i Kanady taka organizacją jest ARIN.
Rodzaje transmisji IP
Transmisja UNICAST jest to transmisja jeden do jednego oznacza to że jeden komputer nadaje a inny komputer odbiera. Transmisja oparta pomiędzy dwoma urządzeniami.
Transmisja multicast w tym rozwiązaniu jedna stacja nadaje a informacje odbiera wcześniej ustalona grupa odbiorców. Na załączonym obrazku widzimy, że komputery należące do grupy odbiorców posiadają dwa adresy IP. Jeden adres IP z klas A B C, drugi adres natomiast pochodzi ze specjalnej klasy D, która jest przeznaczona do przesyłania wiadomości typu multicast.
Transmisja broadcast specjalny rodzaj transmisji polegający na tym, że jedna stacja wysyła, a wszystkie pozostałe w danej sieci czy też podsieci daną informację odbierają.
Jak jest zbudowany protokół w wersji 4?
Gdy opracowywano protokół w wersji 4 postanowiono, że adres ten będzie 32 bitową liczbą. Czyli liczbą składająca się z kombinacji 32 zer i jedynek. Początkowo adresy były zapisywane w takiej notacji. Jednak zapisywanie adresów IP w postaci binarnej nie było zbyt wygodne, dla tego postanowiono ten zapis uprościć. 32 bitową liczbę binarną postanowiono podzielić po 4 grupy po osiem cyfr binarnych i każdą grupę cyfr binarnych przekonwertować do zapisu dziesiętnego dodatkowo każdą wartość dziesiętną oddzielić kropką. Taki zapis 192.168.134.128 jest to zapis w notacji kropkowo dziesiętnej.
Adres IP w wersji 4 jest liczba 32 bitową, która składa się z dwóch części. Pierwsza część to tak zwany identyfikator sieci, a druga część to identyfikator hosta.
W zależności od tego do której klasy należy dany adres IP, zależy właściwa długość identyfikatora sieci i identyfikatora hosta.
Dla każdego adresu IP przypisanego do konkretnego urządzenia można określić dwa specyficzne adresy – adres sieci i adres rozgłoszeniowy.
Adres sieci jest to adres, który w części id hosta ma na poszczególnych pozycjach same zera. Adres sieci określa sieć, do której przynależy dany adres IP. Adres rozgłoszenia w części hosta przyjmuje wartość samych jedynek. Adres hosta jest to adres pomiędzy adresem sieci a adresem rozgłoszenia. Adres rozgłoszeniowy (ang. broadcast) to adres pozwalający na wysłanie informacji do wszystkich urządzeń w danej sieci.
Klasy adresów IPv4
Twórcy Internetu postanowili wszystkie adresy IP podzielić na pięć klas adresowych. Klasy: A,B,C oraz Klasy D, E te dwie ostanie przeznaczone są dla specjalnych zastosowań.
W klasie A identyfikator sieci stanowi 8 bitów (1 Bajt), natomiast identyfikator hosta 24 bity (3 Bajty). W klasie B długość identyfikatora sieci jest równa długości identyfikatora hosta wynoszą one po 16 bitów (2 Bajty). W klasie C mamy 3 Bajty przeznaczone dla identyfikatora sieci, natomiast 1 Bajt to identyfikator hosta.
Klasa A
Twórcy adresowania IP postanowili że adresy w klasie A będą miały 1 Bajt natomiast części hosta 3 Bajty. Adresy sieciowe w klasie A zaczynają się od 0 a kończą na wartości 127. Można sobie łatwo wyliczyć, że w klasie A jest 128 sieci przy czym 2 sieci z tej klasy mają szczególne zastosowania. Tzn. 0.0.0.0 oraz 127.0.0.0 w związku z czym gdy wyłączymy te sieci pozostanie nam 126 użytecznych sieci. W każdej z tych 126 użytecznych sieci możemy zaadresować 2^24 adresów IP = 16 777 216 – 2
Dla czego odejmujemy 2 ponieważ jeden z tych adresów IP jest adresem sieci, a drugi adresem rozgłoszenia. Są to takie specjalne adresy, które nie są przeznaczone dla hostów.
Klasa B
W klasie B dla identyfikatora sieci oraz identyfikatora hosta przeznaczone zostały 2 bajty. W pierwszym oktecie dwa pierwsze bity pozostają nie zmienne; mianowicie pierwszy bit ustawiony jest zawsze na wartość 1 a drugi bit ustawiony jest na wartość 0, natomiast pozostałe wartości mogą przyjmować dowolną liczbę zer lub jedynek. Jeśli wykonamy odpowiednie obliczenia otrzymamy informacje, że adresy zaczynają się od liczby 128 a kończą na wartości 191. Możemy wyliczyć, że w klasie B znajduje się 2^14 sieci.
Dla czego 2^14? Pomimo tego że na identyfikator sieci przeznaczonych jest 16 bitów, musimy pamiętać, że dwa pierwsze bity są niezmienne i są zarezerwowane dla określenia zakresu sieci w klasie B, w związku z czym możemy wykorzystać pozostałe 14 bitów.
2^14=16 384 sieci w każdej z tych ponad 16 tysięcy sieci możemy zaadresować po 2^16 -2 hostów = 65 534 hosty.
Klasa C
W klasie C na identyfikator sieci mamy 24 bity natomiast na identyfikator hosta mamy 8 bitów. 3 pierwsze bity w pierwszym oktecie ustawione są zawsze na kombinacji 110. Jeśli dokonamy uzupełnienia pierwszego oktetu w pierwszym przypadku zerami a w drugim przypadku jedynkami, to otrzymamy informację że w klasie C znajdują się sieci o początkowym adresie 192 i końcowym adresie 223.
Aby wyznaczyć liczbę sieci w klasie C należy 2 podnieść do potęgi 21. Dla czego do 21? Pomimo tego że na id sieci są przeznaczone 24 bity jednak 3 pierwsze bity są zarezerwowane, przyjmują zawsze stała określoną wartość i nie są uwzględniane przy określaniu sieci.
2^21= 2 097 152 sieci. W każdej z tych ponad 2 milionów sieci możemy zaadresować 2^8 – 2 hosty = 254 hosty.
Klasa D
Klasa D zbudowana jest w ten sposób, że pierwsze 4 bity pierwszego oktetu przyjmują wartość 1110 więc jeśli dokonamy uzupełnienia w tym bicie zer i jedynek w drugim przypadku otrzymamy informację że sieci w klasie D zaczynają się od adresu 224 a kończą na wartości 239
Klasa E
Klasa E zbudowana jest w ten sposób, że pierwsze 4 bity w pierwszym oktecie przyjmują niezmienną wartość 1111. Dokonując uzupełnień w pierwszym przypadku samymi zerami a w drugim samymi jedynkami otrzymamy informację, że adresy sieciowe w klasie E zaczynają się wartością 240 a kończą na wartości 255.
Klasa D oraz klasa E są klasami wykorzystywanymi do specjalnych celów. Klasa D wykorzystywana jest do obsługi grup multicastowych, natomiast klasa E w zamyśle twórców miała służyć przyszłościowym zastosowaniom różnym celom eksperymentalnym, badawczym.
Alokacja adresów IPv4
W klasie A znajduje się połowa adresów IP jest to ponad 2 miliardy, w klasie B znajduje się jedna czwarta czyli ponad miliard, w klasie C znajduje się ponad jedna ósma wszystkich adresów IP czyli ponad 500 milionów, oraz w klasie D i E znajduje się ponad jedna ósma adresów IP.
Skoro w klasie A można zaadresować 126 użytecznych sieci i jeśli te 126 sieci pochłania połowę wszystkich adresów IPv4 to to rozwiązanie nie było dobre, nie było ekonomiczne. Mnóstwo adresów IP bezpowrotnie się marnowało w związku z tym należało wprowadzić pewne usprawnienie w adresowaniu IP w wersji 4 i tym usprawnieniem są maski podsieci.
Maski podsieci – Adresowanie bezklasowe
Maski podsieci podobnie jak adresy IP w wersji 4 są liczbami 32 bitowymi binarnymi. Maska podsieci ma bardzo charakterystyczną budową. Ta charakterystyka polega na tym, że na początku w masce pojawiają się jedynki w pewnym momencie jedynki się urywają i do końca maski ciągną się zera. W adresowaniu klasowym podział pomiędzy częścią hostową a częścią adresową wyznaczały klasy, natomiast w adresowaniu bezklasowym, tym podziałem pomiędzy adresem sieci a adresem hosta są zera i jedynki. Czyli do momentu w którym w masce podsieci ciągną się jedynki mamy część sieciową natomiast w części gdzie są zera jest to część hostowa. Maska podsieci podobnie jak adres IP w wersji 4 zapisywany jest w notacji kropkowo dziesiętnej.
Standardowe maski podsieci w postaci dziesiętnej w klasie A mają wartość 255.0.0.0 ; W klasie B mają postać 255.255.0.0 ; natomiast w klasie C 255.255.255.0
Podział sieci na podsieci
Zakładamy że mamy jedną sieć z klasy C ze standardową maską podsieci 255.255.255.0 możemy zaadresować 254 hosty. Jednak gdybyśmy chcieli efektywniej zarządzać przestrzenią adresową, mając na uwadze że w firmie znajduje się kilka działów i w każdym z tych działów chcielibyśmy mieć osobne podsieci w których moglibyśmy adresować hosty w związku z tym można dokonać tzw. podziału sieci na podsieci. Należy pamiętać że bity z których będziemy wyróżniać sobie podsieci możemy pożyczać tylko i wyłącznie z części hostowej. Czyli część sieciowa administrowana jest odgórnie i niestety zmienić jej nie możemy, natomiast w części hostowi możemy tą przestrzenią dowolnie gospodarować.
Podział na podsieci z maską 25 bitową
Pożyczyliśmy sobie jeden bit z części hostowej, w wyniku zapożyczenia z części hostowej możemy wydzielić 2 podsieci i w każdej z tych dwóch podsieci, możemy wydzielić po 126 hostów. Dla czego 126 hostów?
Należy zwrócić uwagę, że w części hostowej zostało siedem pozycji 2^7 = 128 ale pamiętamy, że dwa adresy IP są zawsze zarezerwowane w każdej podsieci (adres podsieci oraz adres rozgłoszenia). W związku z tym dla sytuacji pokazanej powyżej mamy 2 podsieci i w każdej z tych 2 podsieci możemy zaadresować po 126 hostów. Oczywiście nastąpiła również zmiana maski na adres 255.255.255.128
Podział na podsieci z maską 26 bitową
Przy masce 26 bitowej mamy zapożyczone 2 bity. Dzięki nim możemy wydzielić 4 różne podsieci, w których możemy wydzielić 2^6 – 2 hosty czyli 62 hosty. Znowu ulega zmianie maska podsieci na 255.255.255.192.
Podział na podsieci z maską 27 bitową
Przy masce 27 bitowej pożyczamy aż 3 bity. Maska w tym przykładzie będzie wynosiła 255.255.255.224 Podczas takiego podziału możemy wydzielić 8 różnych podsieci 2^3=8 i w każdej z tych 8 podsieci możemy zaadresować 2^5 – 2 hosty czyli 30 hostów.
Podział na podsieci z maską 28 bitową
Maska 28 bitowa z 4 pożyczonych bitów możemy wydzielić 16 podsieci gdzie możemy użytkować 14 użytecznych hostów.
Podział na podsieci z maską 29 bitową
Maska 29 bitowa składa się z 5 pożyczonych bitów dzięki czemu możemy wydzielić 32 podsieci w której możemy wykorzystać 6 hostów. Adres maski sieciowej przyjmuje wartość 255.255.255.248
Podział na podsieci z maską 30 bitową
Maska 30 bitowa pozwala na skorzystanie z 6 bitów co pozwala na stworzenie 64 sieci i w każdej z tych 64 podsieci możemy zaadresować po 2 użyteczne hosty. Maska podsieci przyjęła wartość 255.255.255.252
Ćwiczenia:
Zidentyfikuj klasę adresu IP:
176.186.14.112
197.76.210.100
129.118.32.189
113.26.172.106
201.200.100.90
47.145.148.211