Do której klasy należy przedstawiony w postaci binarnej adres IPv4 00101000 11000000 00000000 00000001?
A. Klasy B
B. Klasy D
C. Klasy A
D. Klasy C
Pytanie z egzaminu CKE, czerwiec 2019 (arkusz E.13-X-19.06).
Adres 00101000 11000000 00000000 00000001 należy do klasy A, bo o klasie adresu IPv4 decyduje pierwszy oktet, czyli pierwsze 8 bitów. Tutaj pierwszy oktet to 00101000₂, a po przeliczeniu na system dziesiętny daje 40. Pełny adres można więc zapisać jako 40.192.0.1. W adresacji klasowej IPv4 klasa A obejmuje adresy, których pierwszy oktet mieści się w zakresie 1-126, a binarnie zaczynają się od bitu 0. Ten adres spełnia ten warunek, więc jest to klasa A. Warto pamiętać, że dawniej klasa A miała domyślną maskę 255.0.0.0, czyli /8, co oznaczało dużą liczbę możliwych hostów w jednej sieci. W praktyce współczesne sieci używają głównie CIDR, czyli zapisu z prefiksem, np. /24 albo /16, ale znajomość klas nadal pojawia się w egzaminach, dokumentacji podstawowej i przy analizie starszych konfiguracji. Moim zdaniem najprostsza metoda to patrzeć tylko na pierwszy oktet, nie na cały adres, bo to mocno ogranicza ryzyko pomyłki.
Przy określaniu klasy adresu IPv4 w zapisie klasowym nie analizuje się wszystkich oktetów tak samo, tylko przede wszystkim pierwszy oktet. W tym przykładzie pierwszy fragment binarny to 00101000, czyli 40 w systemie dziesiętnym. Zakres 1-126 oznacza klasę A, więc adres 40.192.0.1 nie może być traktowany jako adres klasy B, C ani D. Częsty błąd polega na tym, że ktoś zauważy drugi oktet 11000000, czyli 192, i zaczyna kojarzyć go z klasą C, bo klasa C zaczyna się od 192 w pierwszym oktecie. Tylko że tutaj 192 jest drugim oktetem, a on nie decyduje o klasie adresu. Klasa B obejmuje adresy z pierwszym oktetem od 128 do 191, binarnie zaczynające się od 10. Klasa C to zakres 192-223, z początkiem bitowym 110. Klasa D obejmuje 224-239 i jest używana do multicastu, a nie do zwykłego adresowania hostów w klasycznym sensie. W omawianym adresie początek to 00, a dokładniej pierwszy bit ma wartość 0, co od razu wskazuje na klasę A. Z mojego doświadczenia najlepiej najpierw oddzielić pierwszy oktet, potem szybko sprawdzić jego wartość dziesiętną albo początkowe bity. To jest dobra praktyka przy zadaniach egzaminacyjnych i przy czytaniu starszych opisów sieci, nawet jeśli w realnej administracji częściej używa się CIDR niż sztywnego podziału klasowego.