Маска подсети: что это такое, зачем нужна и как рассчитать

Маска подсети: что это такое, зачем нужна и как рассчитать

Маска подсети помогает устройству понять, какая часть IPv4-адреса относится к сети, а какая часть остаётся для конкретного устройства. Без маски один адрес вроде 192.168.1.25 почти ничего не говорит о границах локальной сети. С маской 255.255.255.0 тот же адрес уже читается понятнее: сеть 192.168.1.0, устройство внутри сети – 25.

На практике маску чаще записывают двумя способами. Первый выглядит как обычный IPv4-адрес, например 255.255.255.0. Второй называют CIDR-префиксом: /24, /26, /30. Число после косой черты показывает, сколько первых битов адреса занято сетевой частью. Такой подход закрепился после того как классовую адресацию заменил CIDR, описанный в RFC 4632. В документации Cloudflare маску также описывают как внутренний ориентир для маршрутизаторов: пакеты в интернете несут адрес назначения, а маршрутизаторы сопоставляют его с известными сетевыми префиксами.

Что такое маска подсети в IPv4 и зачем она нужна

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

Например, маска 255.255.255.0 в двоичном виде выглядит так: 11111111.11111111.11111111.00000000. Первые 24 бита равны единице, поэтому такую маску записывают как /24. Адрес 192.168.1.25/24 означает, что первые три октета образуют сеть 192.168.1.0, а последний октет выделен под устройства.

Маска нужна не только чтобы красиво записывать адреса. Устройство сравнивает свой IP-адрес и адрес назначения с маской, чтобы решить, отправлять пакет напрямую в локальную сеть или передавать его шлюзу. Если адрес назначения попадает в ту же подсеть, устройство пытается найти получателя внутри локального сегмента. Если адрес лежит за пределами подсети, пакет уходит на маршрутизатор.

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

Маска подсети не шифрует трафик и не защищает сеть сама по себе. Она только задаёт границы адресного пространства. Для защиты нужны правила межсетевого экрана, сегментация, контроль доступа и правильно настроенная маршрутизация.

Как рассчитать маску подсети, сеть и диапазон адресов

Как рассчитать маску подсети.

Самый понятный способ расчёта начинается с CIDR-префикса. Возьмём адрес 192.168.10.34/27. Префикс /27 означает, что 27 битов заняты сетью, а под адреса внутри подсети остаются 5 битов. Общее число адресов считают по формуле: 2 в степени количества битов узла. В примере получается 2^5 = 32 адреса.

Для классической IPv4-подсети обычно вычитают два адреса. Первый адрес в диапазоне обозначает саму сеть, последний адрес служит широковещательным. Значит, /27 даёт 30 пригодных адресов для устройств. Исключения встречаются, например, в точечных линках и специальных сценариях, но для обычной локальной сети правило «минус два» остаётся рабочим.

Дальше нужно найти шаг подсети. При /27 маска равна 255.255.255.224. Последний значимый октет равен 224. Шаг считают так: 256 – 224 = 32. Значит, подсети идут блоками по 32 адреса: 192.168.10.0, 192.168.10.32, 192.168.10.64, 192.168.10.96 и дальше.

Адрес 192.168.10.34 попадает в блок от 192.168.10.32 до 192.168.10.63. Поэтому сетевой адрес будет 192.168.10.32, широковещательный – 192.168.10.63, а пригодный диапазон для устройств – от 192.168.10.33 до 192.168.10.62.

Префикс Маска Всего адресов Обычно доступно хостов Где часто встречается
/24 255.255.255.0 256 254 Домашние и офисные сети
/25 255.255.255.128 128 126 Деление сети /24 пополам
/26 255.255.255.192 64 62 Небольшие отделы или VLAN
/27 255.255.255.224 32 30 Малые сегменты
/28 255.255.255.240 16 14 Серверные или служебные подсети
/30 255.255.255.252 4 2 Классические точечные соединения
/32 255.255.255.255 1 1 в специальных сценариях Адрес одного узла или loopback

Обратный расчёт тоже простой. Если нужно выбрать маску под количество устройств, сначала берут число устройств, добавляют запас и два служебных адреса, затем ищут ближайшую степень двойки. Например, для 50 устройств нужно минимум 52 адреса. Ближайшая степень двойки сверху равна 64. Под хосты нужно 6 битов, потому что 2^6 = 64. IPv4-адрес содержит 32 бита, значит, префикс будет 32 – 6 = /26. Маска для такой сети равна 255.255.255.192.

Для 100 устройств подойдёт /25: всего 128 адресов и 126 адресов для хостов. Для 200 устройств подойдёт /24: всего 256 адресов и 254 адреса для хостов. Для 500 устройств одной /24 уже мало. Нужен как минимум блок на 512 адресов, то есть /23, где обычно доступны 510 адресов для устройств.

Типичные ошибки при расчёте маски подсети

Первая ошибка связана с путаницей между IP-адресом устройства, адресом сети и широковещательным адресом. В сети 192.168.1.0/24 адрес 192.168.1.0 нельзя назначать обычному компьютеру как адрес хоста, а 192.168.1.255 обычно используют чтобы рассылать сообщения внутри подсети. Рабочий диапазон начинается с 192.168.1.1 и заканчивается 192.168.1.254.

Вторая ошибка возникает при ручном выборе маски «на глаз». Маски не бывают произвольными числами вроде 255.255.255.200. В корректной маске единицы идут подряд слева направо, а потом идут только нули. Поэтому допустимы значения октета: 0, 128, 192, 224, 240, 248, 252, 254 и 255. RFC 4632 прямо описывает CIDR-маску как последовательность старших единичных битов и младших нулевых битов.

Третья ошибка связана с малым запасом адресов. Сеть на 30 доступных хостов выглядит достаточной для 28 устройств, но через месяц появляются телефоны, принтеры, камеры, точки доступа, виртуальные машины и гостевая сеть. Потом администратору приходится срочно менять схему адресации. В рабочих сетях лучше сразу закладывать рост и делить адресное пространство на понятные сегменты.

Четвёртая ошибка встречается при смешении IPv4 и IPv6. Маска вида 255.255.255.0 относится к IPv4. В IPv6 используют префиксную запись, например /64, но механика адресации и привычные широковещательные адреса там устроены иначе. Переносить правила IPv4 на IPv6 без проверки нельзя.

Что значит маска 255.255.255.0?

Маска 255.255.255.0 равна префиксу /24. Первые 24 бита адреса обозначают сеть, последние 8 битов остаются для устройств. В такой подсети всего 256 адресов, из которых в обычной схеме доступны 254 адреса для хостов.

Чем отличается маска от шлюза?

Маска задает границы подсети, а шлюз передает трафик в другие сети. Если устройство видит, что адрес назначения не входит в локальную подсеть, пакет уходит на шлюз.

Как быстро понять, сколько хостов даст префикс?

Нужно вычесть префикс из 32 и посчитать 2 в получившейся степени. Для /26 остается 6 битов, значит, всего 64 адреса. В обычной IPv4-подсети для хостов остается 62 адреса.

Можно ли использовать /31 и /32?

Можно, но не как обычную пользовательскую подсеть. /32 обозначает один адрес и часто используется для loopback или точного маршрута. /31 применяют в отдельных точечных соединениях, если оборудование и схема сети поддерживают такой режим.

Нужно ли вручную считать маску каждый раз?

Для учебы и диагностики ручной расчет полезен. В реальной работе удобнее проверять себя CIDR-калькулятором, но администратор все равно должен понимать, почему калькулятор выдал конкретный диапазон.

Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
GIS
Газинформ
Сервис
SafeERP
Полный контроль безопасности 1С
Мониторинг платформы и анализ кода в едином интерфейсе
Подробнее
Реклама. 18+ ООО «Газинформсервис»
ОГРН 1047833006099

Комнатный Блогер

Объясняю новую цифровую реальность