Chcąc czy nie chcąc, na początku swojej przygody z sieciami IP musisz poznać zasady rządzące adresacją. Dowiedziałeś się już, że adres IPv4 składa się z 32 bitów. W zapisie decymalnym jest podzielony na cztery oktety rozdzielone kropkami, a w każdym z nich możesz użyć wartości od 0 do 255 (oczywiście niedowolnych). Przygotowując się do swojego prawdopodobnie pierwszego sieciowego certyfikatu będziesz musiał wykazać się znajomością metody Classless Inter-Domain Routing w skrócie CIDR oraz Variable Lenght Subnet Mask w skrócie VLSM. Ilość informacji oraz zapewne całkowicie nowych dla Ciebie zasad potrafi być przytłaczająca. Nie martw się, nikt z nas nie jest w stanie wszystkiego zapamiętać. Na egzaminie musisz wykazać się znajomością technologii, a nie umiejętnością wykucia olbrzymiej ilości materiału na pamięć.
Poniżej przedstawiam Ci mój sposób na radzenie sobie z adresacją na egzaminach. Wystarczy, że w czasie przeznaczonym na przygotowanie się do egzaminu rozpiszesz sobie poniższą tabelkę na kartce (lub w czasie kiedy będzie Ci potrzebna).
Magiczna tabelka na egzamin
Przedstawiona powyżej tabelka w pierwszym rzędzie reprezentuje 8 bitów, z których składa się każdy oktet. Drugi rząd przedstawia odpowiadającą danemu bitowi wartość. Ostatnie dwie linijki przedstawiają najpopularniejsze maski, z którymi możesz się spotkać. Tabelkę należy rozpatrywać zarówno wykorzystując konkretne kolumny jak i rzędy. Dla przykładu, aby określić jak zapisać maskę /19 wiemy, że musimy wykorzystać 3 bity z 3 oktetu, czyli maska będzie wyglądać 255.255.224.0. Na pierwszy rzut oka widać również, że w danej podsieci mamy 32 adresy. Teraz może to wydawać Ci się zawiłe i niezrozumiałe. Spokojnie, za chwilkę powtórzymy wszystkie potrzebne zasady IPv4.
Liczenie binarne
Każdy adres składa się z 32 bitów, które dzielimy na oktety po 8 bitów. Jak zapewne dobrze pamiętasz, maska sieciowa również składa się z 32 bitów, jednakże tutaj wszystkie bity od lewej strony mające wartość 1 określają która część adresu należy do podsieci. Z kolei pozostałe wartości binarne powinny reprezentować wyłącznie wartość 0 i określać konkretne urządzenie. Spójrzmy jak to wygląda, na przykładzie popularnej podsieci prywatnej 192.168.100.0 z maską 255.255.255.0 czyli /24. Wiemy, że adres klasy C czyli właśnie z wykorzystaniem maski o długości 24 bitów określa adres sieci wykorzystując pierwsze 3 oktety pozostawiając nam 4 na adresację urządzeń końcowych.
Do pełnego zrozumienia zagadnienia musimy sobie jeszcze przypomnieć jak prawidłowo przekształcać wartość binarną, którą reprezentuje ciąg jedynek i zer na system dziesiętny. Każdy pojedynczy bit reprezentuje wartość potęgi liczby dwa. Zaczynając liczyć od prawej strony mamy więc 2^0 i kolejno aż do 2^7, co doskonale widać na przykładzie. Teraz nie pozostaje nam nic innego niż drogą eliminacji „zapalać” bity, które będą nam potrzebne. Robimy to w taki sposób, że od szukanej wartości na przykład 192 staramy się odjąć wartość każdego bitu po kolei patrząc od lewej strony. Oczywiście wartość takiego odejmowania musi być dodatnia.
Sposoby zapisu maski podsieci
Maska podsieci podobnie jak adres ipv4 składa się z 32 bitów podzielonych na 4 oktety po 8 bitów każdy. Oznacza to, że wartości dziesiętne jakie możemy wykorzystać są z góry ustalone i stanowią sumę wykorzystanych bitów w danym oktecie. Tak więc w celu otrzymania podsieci o notacji /8 wykorzystujemy wszystkie 8 bitów od lewej strony jako adres sieci. Pozostałe 24 bity możemy zaadresować jako hosty w naszej sieci (oczywiście ostatni adres podsieci nie może zostać wykorzystany do niczego innego niż broadcast). Analogicznie jeśli chcemy otrzymać podsieć o masce /16 wykorzystujemy w pełni pierwsze dwa oktety po 8 bitów oraz dla maski /24 wykorzystujemy 3 oktety. Kiedy tworzymy sieci w oparciu o pełne oktety – sieci /8, /16, /24 – mówimy o sieciach klasowych. Do czego wykorzystuje się maski podsieci? Oczywiście do określania wielkości danej sieci. Najłatwiej to zrozumieć skupiając się na czwartym oktecie i maskach od /24 w górę do /32.
Tak więc wykorzystując maskę 255.255.255.0 – z notacją /24 -możemy wykorzystać wszystkie bity i mamy 256 adresów w naszej sieci, wartości od 0 do 255. Jeśli pożyczymy 1 bit do części określającej Twoją sieć zyskujemy dwie sieci o masce /25 z zapisem maski 255.255.255.128. Kiedy pożyczymy 2 bity otrzymujemy maskę 255.255.255.192 dla 4 sieci.
Pamiętaj, że w każdej podsieci mamy dwa adresy specjalnym przeznaczeniu. Adres sieci, który jest pierwszym adresem w danej podsieci i ostatni adres, który jest adresem rozgłoszeniowym.
CIDR Classless Inter-domain routing
Wróćmy do naszego przykładu kiedy mieliśmy sieć o wielkości 256 adresów ( /24), ale potrzebujemy tak naprawdę 2 mniejsze? W takim przypadku stosujemy CIDR i z jednej sieci /24 robimy dwie /25. Niestety nie jesteśmy w stanie zawsze stworzyć idealnie dopasowanej do naszej potrzeb sieci. Na przykład nie jesteśmy w stanie stworzyć podsieci z 34 możliwymi do zaadresowania hostami. Musimy w takim wypadku zastosować większą sieć /26 i pogodzić się ze zmarnowaniem pozostałych adresów. Pozwala nam to na bardzo szybkie przeliczenie ile możemy utworzyć podsieci z daną liczbą hostów. Spójrz na obrazek poniżej, w którym zaznaczyłem kolorami konkretne pary. I tak dla przykładu stosując maskę /26 otrzymamy 4 podsieci z 64 adresami (62 na hosty +2 specjalne). Odwrotnie stosując maskę /30 otrzymany 64 sieci z 4 adresami. Jedynie sieć /32 pozwala wyłącznie na zaadresowanie jednego hosta w związku z czym nie ma potrzeby określania początku podsieci oraz adresu broadcast.
Dlaczego potrzebujemy to wiedzieć? Ponieważ na egzaminach powinieneś spodziewać się pytań w stylu „Jakiej maski podsieci należy użyć w celu zaadresowania 15 hostów lub 500 hostów”. Umiejętność swobodnego operowania (czy to w głowie, czy na kartce) maskami może być również weryfikowana podczas zadań praktycznych, gdzie może być celowo zastosowana zła wartość. Pamiętaj, że sieci komputerowe pracują według sztywnych zasad świata binarnego.
Kilka słów na koniec
Mam nadzieję, że zawarte w tym artykule porady okażą się przydatne i pomogą Ci swobodnie rozprawić się z pytaniami dotyczący tworzenia oraz kalkulacji podsieci. Pamiętaj również, że podana tabelka to przykład, który powinien Ci pomóc i nie musisz się go sztywno trzymać. Jeśli wolisz inny układ, to śmiało go stosuj.
Życzę powodzenia na egzaminach oraz zachęcam do pozostawienia komentarza.