В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, – в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда – нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 111.81.208.27 адрес сети равен 111.81.192.0. Чему равно наименьшее возможное значение третьего слева байта маски? Ответ запишите в виде десятичного числа.
Источник: демоверсия ФИПИ по информатике и ИКТ 2016-го года.
В решении задания есть видеоразбор
Решение:
Адрес подсети вычисляется с помощью применения поразрядной конъюнкции к IP-адресу и маске, то есть при перемножении разрядов их двоичных записей.
Нас интересует только третий байт маски, поэтому мы можем полностью не переводить IP-адрес и адрес сети в двоичную систему, а перевести только третий байт:
20810 = 110100002 — IP-адрес
19210 = 110000002 — адрес сети
Адрес сети получается в результате применения поразрядной конъюнкции к IP и маске, то есть получение маски можно записать так:
xxxxxxxx — маска
11010000 — IP
--------
11000000 — адрес сети
Умножая разряды маски на разряды IP-адреса мы получаем адрес сети.
Обратите внимание на второй справа разряд IP-адреса и адреса сети:
xxxxxxxx — маска
11010000 — IP
--------
11000000 — адрес сети
Второй справа разряд маски нулём быть не может, так как в этом случае в адресе сети тоже должен быть ноль, значит этим иксом может быть только единица:
x1xxxxxx — маска
11010000 — IP
--------
11000000 — адрес сети
Теперь обратите на четвертый справа разряд адреса сети и IP, в IP он равен 1, а в адресе сети — 0. То есть четвертый правый разряд маски не может быть единицей, так как в этом случае в адресе сети тоже должна быть единица. Выходит, что четвертый правый разряд маски — 0:
x1x0xxxx — маска
11010000 — IP
--------
11000000 — адрес сети
В маске ВСЕГДА сначала идут только единицы, а потом только нули, значит маску мы можем записать так:
11x00000 — маска
11010000 — IP
--------
11000000 — адрес сети
Остался последний икс. Он может быть и единицей, и нулём, так как в IP и адресе сети у нас нули. Но по условию нам нужен наименьший байт маски, соответственно на месте икса должен быть ноль:
11000000 — маска
11010000 — IP
--------
11000000 — адрес сети
Остаётся перевести число 110000002 в десятичную систему счисления.