Маска подсети помогает устройству понять, какая часть 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-калькулятором, но администратор все равно должен понимать, почему калькулятор выдал конкретный диапазон.