Решение: Минимальная маска сети
В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, — в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда — нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 127.220.170.23 адрес сети равен 127.220.168.0. Каково наименьшее возможное количество единиц в разрядах маски?
Решение по шагам
4 шагаПервые два байта адреса сети полностью совпадают с первыми двумя байтами IP-адреса, поэтому в маске в них находятся 16 единиц.
$$8+8=16$$Переведём третий байт в двоичную систему:
$$170_{10}=10101010_2,\quad 168_{10}=10101000_2$$Чтобы получить $168$ побитовой конъюнкцией, маска в третьем байте должна сохранить первые пять единиц числа $170$. Минимальная подходящая маска имеет вид $11111000_2$.
$$10101010_2\mathbin{\&}11111000_2=10101000_2$$В последнем байте маски единиц быть не должно, так как последний байт адреса сети равен нулю. Общее количество единиц в маске равно:
$$16+5=21$$Где здесь ошибаются
Считать единицы только в третьем байте и получить 5.
Использовать маску с четырьмя единицами в третьем байте: она даст значение 160, а не 168.
Считать количество единиц в двоичной записи IP-адреса вместо маски.