Trzeba wyznaczyć adres sieci (network address) dla hosta o adresie 176.31.12.137/12. Prefiks /12 oznacza, że część sieci ma 12 bitów, a część hosta 20 bitów.
Krok 1: zamiana prefiksu /12 na maskę.
12 jedynek w masce to: 8 bitów (pierwszy oktet) + 4 bity (drugi oktet). Zatem maska to 255.240.0.0.
Krok 2: obliczenie adresu sieci (AND adresu hosta z maską).
Adres hosta: 176.31.12.137
Maska: 255.240.0.0
W pierwszym oktecie maska ma 255, więc 176 pozostaje bez zmian. W drugim oktecie maska 240 oznacza, że zachowujemy tylko 4 najbardziej znaczące bity. Liczba 31 w zapisie binarnym to 00011111, a 240 to 11110000. Wynik AND daje 00010000, czyli 16. Pozostałe dwa oktety maska ma równe 0, więc trzeci i czwarty oktet adresu sieci muszą być wyzerowane.
Otrzymujemy więc adres sieci: 176.16.0.0.
Dlaczego pozostałe odpowiedzi są błędne?
- "176.31.0.0" wynika z błędnego założenia, że /12 zachowuje cały drugi oktet (czyli jakby prefiks był /16). To ignoruje fakt, że tylko 4 bity drugiego oktetu należą do sieci.
- "176.31.12.0" to typowy błąd polegający na wyzerowaniu wyłącznie ostatniego oktetu (jak przy /24). Przy /12 trzeba wyzerować znacznie więcej bitów hosta, także w drugim i trzecim oktecie.
- "176.16.255.0" nie jest adresem sieci dla /12, bo w adresie sieci wszystkie bity części hosta muszą być równe 0. Wpisanie 255 w trzecim oktecie oznacza ustawione bity hosta.
Wskazówka egzaminacyjna: gdy prefiks nie kończy się na granicy oktetu (np. /12, /20, /27), zawsze warto policzyć "ile bitów zostaje" w kolejnym oktecie i wykonać szybkie AND na tym oktecie.