Adres IP stanowi niezwykle ważny element w działaniu sieci komputerowych ponieważ na jej podstawie odbywa się dostarczanie informacji. Aby dostarczyć pakiety do odpowiedniego hosta potrzebny jest adres, nazywamy adresem IP. Stanowi on kluczowy element w funkcjonowaniu protokołów warstwy sieciowej.
Adres IP jest adresem logicznym interfejsu sieciowego (hosta) to znaczy, że nie musi to być tylko adres konkretnego komputera, może to być również adres interfejsu (interfejsów) rutera czy access pointa.
Każdy adres IPv4 składa się z 32-bitowego ciągu zer i jedynek. Wynika to z faktu, że działanie urządzeń w sieciach komputerowych oparte jest na logice cyfrowej, co oznacza, że adresy te interpretowane są jako liczby binarne. Dla prostszego stosowania adresacji i zapamiętywania adresów, na co dzień stosuje się jednak zapis dziesiętny. Zapis ten składa się z 4 części (każda z nich to 1 bajt czyli 8 bitów), zwanych oktetami.
Podstawowym elementem z jakim należy zapoznać się przy sieciach komputerowych jest znajomość techniki obliczania adresu sieci i adresu rozgłoszeniowego (broadcast). Na internecie można znaleźć wiele poradników na ten temat, mówiących o zamianie adresu ip oraz maski na postać binarną i dalej wyliczanie wszystkiego. Technika ta jest oczywiście poprawna, ale można to zrobić znacznie szybciej.
11.130.13.14/12
Krok 1:
Będziemy operować na 2 oktecie ponieważ jeden oktet to 8 bitów więc nie zmieścimy się w pierwszym (bo maska to 12) i musimy przejść do drugiego. 12-8 (maska – suma bitów oktetów pominiętych, bez tego na którym operujemy) = 4. Mamy więc 4 bity na adres sieci, a reszta to adres hosta.
Krok 2:
Rozpisujemy binarnie liczbę 130 z drugiego oktetu (na ten oktet wskazuje maska):
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Adres sieci | Adres hosta |
Sumujemy wagi z części należącej do adresu sieci mam więc: 128 * 1 + 64 * 0 + 32 * 0 + 16 * 0 = 128. Pamiętamy, że operujemy na drugim oktecie więc adres sieci to: 11.128.0.0. Po drugim oktecie (oktecie na którym operujemy według tego co wskazuje maska) czyli w trzecim i czwartym wstawiamy zera (zawsze po oktecie na którym operowaliśmy musimy wstawić zera).
Krok 3:
Wyznaczamy adres rozgłoszeniowy broadcast. W części po stronie hosta wpisujemy jedynki i sumujemy wszystkie wagi:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | ||||
Adres sieci | Adres hosta |
Suma wag (po stronie hosta i sieci (szare tło)): 128 + 8 + 4 + 2 + 1 = 143
Adres broadcast: 11.143.255.255 – operujemy na drugim oktecie więc pierwszy pozostaje bez zmian, a w trzecim i czwartym wstawiamy 255 (tak samo jak przy adresie sieci, po oktecie na którym operujemy wstawiamy 255).
Wynik:
s: 11.128.0.0
b: 11.143.255.255
17.18.20.11/5
Krok 1:
Będziemy operować na 1 oktecie ponieważ jeden oktet to 8 bitów, a my mamy w masce 5 więc się spokojnie zmieścimy. 5-0 = 5 (maska – suma bitów oktetów pominiętych, bez tego na którym operujemy, w tym przypadku nie pominęliśmy żadnego oktetu więc mamy 0). Mamy więc 5 bitów na adres sieci, a reszta to adres hosta.
Krok 2:
Rozpisujemy binarnie liczbę 17 z pierwszego oktetu (na ten oktet wskazuje maska):
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
Adres sieci | Adres hosta |
Sumujemy wagi z części należącej do adresu sieci mam więc: 128 * 0 + 64 * 0 + 32 * 0 + 16 * 1 = 16. Pamiętamy, że operujemy na pierwszym oktecie więc adres sieci to: 16.0.0.0 (po oktecie na którym operujemy wstawiamy 0).
Krok 3:
Wyznaczamy adres rozgłoszeniowy broadcast. W części po stronie hosta wpisujemy jedynki i sumujemy wszystkie wagi:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | |||||
Adres sieci | Adres hosta |
Suma wag (po stronie hosta i sieci (szare tło)): 16 + 4 + 2 + 1 = 23
Adres broadcast: 23.255.255.255 – operujemy na pierwszym oktecie więc w drugim, trzecim i czwartym wstawiamy 255 (po oktecie na którym operujemy wstawiamy 255).
Wynik:
s: 16.0.0.0
b: 23.255.255.255