Разбор, Информатика

Как по IP-адресу и маске найти адрес сети: правило и примеры для ОГЭ и ЕГЭ

Чтобы найти адрес сети по IP-адресу и маске, нужно выполнить поразрядную конъюнкцию (операцию И) между ними. На практике это сводится к простому правилу для каждого из четырёх байтов. Ниже ты увидишь это правило, два примера с «неудобными» байтами маски, обратную задачу на подбор маски и способ быстро посчитать число узлов.

ОГЭ и ЕГЭчитать около 5 минобновлено 4 октября 2026

Адрес и маска - это два числа по 32 бита

IPv4-адрес записывают четырьмя десятичными числами от 0 до 255, но на самом деле это 32 бита: каждое число - один байт. Маска тоже занимает 32 бита, причём в ней сначала идут единицы, потом нули. Единицы соответствуют части адреса, которая обозначает сеть, а нули - части, которая нумерует узлы внутри сети.

Маску можно записать десятичными байтами (255.255.255.224) или префиксом: число единиц подряд после слеша. Для 255.255.255.224 это /27, так как 24 + 3 = 27 единиц: число 224 = 111000002 содержит три единицы.

Один байт - три возможных действия

Конъюнкцию выполняют отдельно для каждого байта. Здесь возможны три ситуации:

Байт маскиЧто делаем с байтом адреса
255переписываем без изменений
0заменяем на 0
любое другое (128, 192, 224, 240, 248, 252, 254)переводим оба числа в двоичный вид и выполняем поразрядное И

Значит, в каждой задаче «живёт» не более одного байта, где нужны двоичные вычисления: именно в нём граница между сетью и узлом проходит внутри байта.

Пример: маска с байтом 224

Задача. Узел имеет адрес 192.168.88.173, маска сети 255.255.255.224. Найди адрес сети.

Решение. Первые три байта маски равны 255, поэтому 192.168.88 переписываем. В последнем байте выполняем И: 173 = 101011012, 224 = 111000002. Результат: 101000002 = 160.

Ответ: 192.168.88.160.

Этот же результат можно получить без двоичных вычислений: маска 224 делит последний байт на блоки по 256 − 224 = 32 адреса, то есть 0–31, 32–63, 64–95, 96–127, 128–159, 160–191 и так далее. Число 173 попадает в блок 160–191, и его начало (160) - это адрес сети. Адрес 191 будет широковещательным, а в сети можно разместить 30 узлов.

Пример: байт маски посередине

Задача. Узел имеет адрес 10.77.202.9, маска 255.255.252.0. Найди адрес сети, широковещательный адрес и число узлов.

Решение. Первые два байта переписываем: 10.77. Четвёртый байт маски равен 0, значит, в адресе сети он тоже 0. В третьем байте: 202 = 110010102, 252 = 111111002, результат 110010002 = 200. Сеть начинается с 10.77.200.0. Блок третьего байта имеет длину 256 − 252 = 4, то есть охватывает значения 200–203. Значит, широковещательный адрес 10.77.203.255. Для узлов отведено 10 бит (префикс /22), всего адресов 210 = 1024, узлов 1022.

Ответ: 10.77.200.0; 10.77.203.255; 1022 узла.

Обратная задача: ищем маску

В экзамене часто дают адрес узла и адрес сети и спрашивают о маске. Тогда подбирают такие байты маски, при которых И даёт адрес сети.

Задача. Адрес узла 172.30.99.201, адрес сети 172.30.96.0. Первые два байта маски равны 255. Сколько существует различных масок, подходящих под условие?

Решение. Если бы третий байт маски был равен 255, в адресе сети стояло бы число 99, а там 96, поэтому третий байт маски меньше 255. После такого байта единиц в маске быть не может, значит, последний байт маски равен 0. Остаётся подобрать третий байт m так, чтобы 99 AND m = 96. Запишем: 99 = 011000112, 96 = 011000002. Маска должна сохранить единицы в разрядах 64 и 32 и обнулить единицы в разрядах 2 и 1. Подходят 224, 240, 248 и 252. Маска 192 не сохраняет бит 32, а 254 оставляет бит 2 (получится 98).

Ответ: 4 маски.

Запомни. Маска содержит единицы подряд, поэтому её байт принимает только значения 0, 128, 192, 224, 240, 248, 252, 254, 255. Перебирай именно их, а не все числа до 255.

Широковещательный адрес и число узлов: короткая памятка

Широковещательный адрес получается заменой всех бит узла на единицы, а адрес сети - заменой на нули. Число адресов в сети равно 2k, где k - число нулей в маске, а число узлов на два меньше: два адреса служебные. Так, для маски 255.255.248.0 (/21) нулей 11, адресов 2048, узлов 2046.

Частая ошибка. Забывают вычесть два служебных адреса или путают число адресов с числом узлов. В условии всегда смотри, что именно считают.

Если нужно ещё раз вспомнить, как записывать байты в двоичном виде, загляни в разбор перевода чисел между системами счисления. А для тренировки на задачах всех типов пройди тест по IP-адресации.

Проверь себя

Узел имеет адрес 172.16.45.130, маска сети 255.255.255.128. Каков адрес сети?

Узел имеет адрес 10.4.77.200, маска сети 255.255.255.240. Каков широковещательный адрес этой сети?

Сколько узлов можно адресовать в сети с маской 255.255.248.0? (Служебные адреса не считаем.)

Частые вопросы

Что такое поразрядная конъюнкция?
Это операция И, выполняемая над каждой парой соответствующих бит двух чисел. Результат равен 1 только если оба бита равны 1.
Всегда ли адрес сети оканчивается нулём?
Нет. Последний байт адреса сети равен нулю, если в последнем байте маски стоит 0, но при другой маске он может быть любым числом, кратным размеру блока. Для маски 255.255.255.224 это 0, 32, 64, 96, 128, 160, 192 или 224.
Как перейти от префикса к десятичной маске?
Запиши столько единиц подряд, сколько указано в префиксе, остальные биты заполни нулями и раздели на четыре байта. Например, /20 даёт 11111111.11111111.11110000.00000000, то есть 255.255.240.0.

Читай дальше

Материалы подготовлены с помощью ИИ и проверены автоматически: все вычисления пересчитаны программой, а ответы сверены независимым решением. Если нашёл ошибку или неточность, напиши на vortexlearn.offical@gmail.com - исправим.