W IPv4 liczba użytecznych adresów hostów w podsieci zależy od liczby bitów części hosta. Jeśli część hosta ma h bitów, to w podsieci istnieje łącznie 2h adresów, ale zwykle 2 adresy nie są przypisywane hostom: adres sieci (same zera w części hosta) oraz adres rozgłoszeniowy/broadcast (same jedynki w części hosta). Dlatego stosuje się wzór: 2h − 2.
W zadaniu podsieć ma "obsługiwać do 500 hostów", czyli potrzebujemy co najmniej 500 użytecznych adresów. Szukamy najmniejszego h, dla którego:
2h − 2 ≥ 500
- dla h = 8: 28 − 2 = 256 − 2 = 254 (za mało)
- dla h = 9: 29 − 2 = 512 − 2 = 510 (wystarczy)
Skoro potrzeba 9 bitów na hosty, to na część sieci zostaje 32 − 9 = 23 bity. Otrzymujemy więc prefiks /23. Maska /23 w zapisie dziesiętnym to:
- pierwsze 16 bitów jedynek: 255.255
- w trzecim oktecie mamy 7 jedynek (bo 23 − 16 = 7): 11111110 = 254
- czwarty oktet to 0
Wynik: 255.255.254.0.
Dlaczego pozostałe maski są błędne? Maska 255.255.255.0 (/24) daje tylko 254 hosty, więc nie spełnia wymagania. Maski 255.255.252.0 (/22) i 255.255.248.0 (/21) spełniają warunek liczby hostów, ale są większe niż minimalnie potrzebne (odpowiednio 1022 i 2046 hostów), więc nie są właściwą odpowiedzią, gdy celem jest dobranie maski dla podsieci na 500 hostów.