Решение: Максимальное число единиц маски
В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, — в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда — нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 57.179.85.27 адрес сети равен 57.179.84.0. Каково наибольшее возможное количество единиц в разрядах маски?
Решение по шагам
3 шагаРассмотрим третий байт IP-адреса узла и адреса сети:
$$85_{10}=01010101_2,\quad 84_{10}=01010100_2$$Чтобы при поразрядной конъюнкции получить 84 вместо 85, последний разряд третьего байта маски должен быть нулевым. Остальные семь старших разрядов третьего байта могут быть единицами.
$$01010101_2\mathbin{\&}11111110_2=01010100_2$$Первые два байта маски полностью состоят из единиц, что даёт 16 единиц. В третьем байте можно использовать ещё 7 единиц. В четвёртом байте маска должна состоять из нулей, чтобы получить четвёртый байт адреса сети 0.
$$16+7=23$$Где здесь ошибаются
Считать единицы только в третьем байте и получить 7 вместо 23.
Разрешить единицы в четвёртом байте, не проверив получение нулевого четвёртого байта адреса сети.
Забыть, что единицы в маске должны идти подряд от старшего разряда.