- Маска подсети и префикс CIDR — одно и то же значение в двух записях: 255.255.255.0 и /24 описывают одну границу между сетевой и хостовой частью адреса.
- Всего адресов в подсети IPv4 — 2^(32-N), хостам доступно на два меньше: первый адрес занимает сама сеть, последний отдан широковещательной рассылке.
- Приватные диапазоны RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) в публичном интернете не маршрутизируются: именно из них нарезают офисные сегменты и виртуальные сети в облаках.
- CIDR виртуальной сети указывается при создании и, как правило, не меняется. Диапазон планируют с запасом и сверяют с сетями, которые потом свяжут VPN-туннелем.
IP-адреса, подсети и CIDR: разбираем с нуля

Когда вы создаёте виртуальную сеть в облаке или готовите кластер Kubernetes, интерфейс просит ввести CIDR подсети. Ошибка на этом шаге дорогая: диапазон задаётся один раз и потом обычно не меняется. Ниже разберём, как устроен IPv4-адрес, что такое маска подсети, как читать запись /24 и как посчитать разбиение сети руками. Статические и динамические IP-адреса — в нашей статье.
IPv4-адрес — 32-битное число. Для удобства его записывают четырьмя десятичными октетами через точку: 192.168.1.100. Каждый октет занимает 8 бит и принимает значения от 0 до 255 (RFC 791).
Та же запись в двоичном виде:
192.168.1.100 → 11000000.10101000.00000001.01100100
Всего комбинаций 2^32, то есть примерно 4,3 млрд адресов: от 0.0.0.0 до 255.255.255.255. Часть из них зарезервирована под служебные задачи, поэтому реально доступных для публичной адресации заметно меньше.
Логически адрес делится на две части:
- сетевая часть (network) — общая для всех узлов одной подсети;
- хостовая часть (host) — уникальный номер узла внутри этой подсети.
Граница между ними не зашита в сам адрес. Её задаёт маска подсети или, что то же самое, длина префикса в CIDR-нотации.
Классовая адресация: историческая справка
До середины 1990-х граница сеть/хост определялась классом адреса, то есть значением первого октета. Классовая схема ушла вместе с введением CIDR, но понимать её полезно: в документации и настройках оборудования до сих пор встречаются отсылки к «сети класса C».
| Класс | Диапазон первого октета | Граница сеть/хост | Хостов в сети |
| A | 1–126 | /8 | ~16 млн |
| B | 128–191 | /16 | ~65 тыс. |
| C | 192–223 | /24 | 254 |
| D | 224–239 | multicast | — |
| E | 240–255 | зарезервировано | — |
Главная проблема классовой схемы: между /16 и /24 ничего нет. Компании, которой нужно 500 адресов, приходилось выдавать сеть класса B на 65 тысяч. CIDR снял это ограничение, разрешив любую длину префикса.
Маска подсети — 32-битное число, в котором единицы отмечают биты сетевой части, а нули — биты хостовой. Записывают её либо в десятичном виде (255.255.255.0), либо префиксом CIDR (/24). Это две формы одной и той же величины.
Посмотрим на примере, как маска режет адрес:
IP: 192.168.1.100 → 11000000.10101000.00000001.01100100 Маска: 255.255.255.0 → 11111111.11111111.11111111.00000000 Сеть: 192.168.1.0 → 11000000.10101000.00000001.00000000
Первые 24 бита маски — единицы, значит сетевая часть занимает три октета, а на хосты остаётся последний октет (8 бит). Все адреса от 192.168.1.0 до 192.168.1.255 принадлежат одной подсети.
Два адреса из этого диапазона хостам не назначаются:
- адрес сети (первый, 192.168.1.0) идентифицирует саму подсеть и используется в таблицах маршрутизации;
- широковещательный адрес (последний, 192.168.1.255) адресует одновременно все узлы подсети.
Остаются адреса с 192.168.1.1 по 192.168.1.254, то есть 254 узла. Отсюда общая формула расчёта подсети: для префикса длиной N всего адресов 2^(32-N), доступных хостам — 2^(32-N) − 2 (RFC 950). Исключения из формулы — префиксы /31 и /32, о них ниже.
CIDR (Classless Inter-Domain Routing) — бесклассовая схема адресации, принятая взамен классовой. Она задаёт границу сеть/хост произвольной длиной префикса, а не фиксированными классами A, B и C. Запись выглядит как адрес, слеш и число бит сетевой части: 192.168.1.0/24.
Число после слеша читается буквально — сколько первых бит адреса относятся к сети:
- /24 — 24 бита сети, 8 бит хостов: 256 адресов, 254 хоста;
- /16 — 16 бит сети, 16 бит хостов: 65 536 адресов;
- /32 — все 32 бита отданы сети, это один конкретный узел;
- /0 — нулевая сетевая часть, то есть любой адрес: такая запись используется как маршрут по умолчанию (default route).
Чем длиннее префикс, тем меньше подсеть. Несколько примеров диапазонов:
10.0.0.0/8 — от 10.0.0.0 до 10.255.255.255 172.16.0.0/12 — от 172.16.0.0 до 172.31.255.255 192.168.1.0/24 — от 192.168.1.0 до 192.168.1.255 192.168.1.128/25 — половина /24: от .128 до .255, 126 хостов
Полезное свойство CIDR — агрегация: соседние подсети одинакового размера объединяются в одну запись маршрута с более коротким префиксом. Две сети /25 складываются в /24, четыре /26 тоже дают /24.
Справочная таблица для быстрого расчёта подсети: префикс, десятичная маска, число адресов и число доступных хостов. Значения хостов посчитаны по формуле 2^(32-N) − 2.
| Префикс | Маска | Адресов всего | Хостов (usable) | Типичное применение |
| /8 | 255.0.0.0 | 16 777 216 | 16 777 214 | Крупнейшие корпоративные сети, 10.0.0.0/8 |
| /9 | 255.128.0.0 | 8 388 608 | 8 388 606 | |
| /10 | 255.192.0.0 | 4 194 304 | 4 194 302 | Shared Address Space 100.64.0.0/10 |
| /11 | 255.224.0.0 | 2 097 152 | 2 097 150 | |
| /12 | 255.240.0.0 | 1 048 576 | 1 048 574 | Приватный диапазон 172.16.0.0/12 |
| /13 | 255.248.0.0 | 524 288 | 524 286 | |
| /14 | 255.252.0.0 | 262 144 | 262 142 | |
| /15 | 255.254.0.0 | 131 072 | 131 070 | |
| /16 | 255.255.0.0 | 65 536 | 65 534 | Виртуальная сеть в облаке, 192.168.0.0/16 |
| /17 | 255.255.128.0 | 32 768 | 32 766 | |
| /18 | 255.255.192.0 | 16 384 | 16 382 | |
| /19 | 255.255.224.0 | 8 192 | 8 190 | |
| /20 | 255.255.240.0 | 4 096 | 4 094 | Подсеть крупного офиса |
| /21 | 255.255.248.0 | 2 048 | 2 046 | |
| /22 | 255.255.252.0 | 1 024 | 1 022 | |
| /23 | 255.255.254.0 | 512 | 510 | |
| /24 | 255.255.255.0 | 256 | 254 | Стандартная офисная подсеть |
| /25 | 255.255.255.128 | 128 | 126 | Разбивка /24 пополам |
| /26 | 255.255.255.192 | 64 | 62 | Четверть /24 |
| /27 | 255.255.255.224 | 32 | 30 | |
| /28 | 255.255.255.240 | 16 | 14 | Маленькая подсеть: стенд, VPN |
| /29 | 255.255.255.248 | 8 | 6 | Точка-точка между маршрутизаторами |
| /30 | 255.255.255.252 | 4 | 2 | Линк между двумя узлами |
| /31 | 255.255.255.254 | 2 | 2* | Точка-точка без broadcast |
| /32 | 255.255.255.255 | 1 | 1 | Хост-маршрут, loopback, VPN-пир |
* /31 — особый случай. На линках точка-точка оба адреса пары назначаются интерфейсам, адрес сети и широковещательный адрес не выделяются (RFC 3021). Так экономятся два адреса на каждом линке, где раньше расходовался /30.
Часть адресного пространства зарезервирована и в публичном интернете не маршрутизируется. Три приватных диапазона определены RFC 1918:
| Диапазон | CIDR | Размер |
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | ~16 млн адресов |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | ~1 млн адресов |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | ~65 тыс. адресов |
Из этих диапазонов нарезают сети домашних роутеров, офисные сегменты и виртуальные сети в облаках. Выход в интернет такие адреса получают через NAT.
Есть ещё несколько диапазонов, которые стоит узнавать в лицо:
- 127.0.0.0/8 — loopback. Адрес 127.0.0.1 указывает на сам узел, интерфейсам в сети он не назначается (RFC 1122).
- 169.254.0.0/16 — link-local. Узел назначает себе такой адрес сам, когда не получил ответа от DHCP (RFC 3927). Если на виртуальной машине внезапно появился адрес из этого диапазона, ищите проблему с DHCP.
- 100.64.0.0/10 — Shared Address Space для операторских сетей с Carrier-Grade NAT. Диапазон выделен отдельно, чтобы адресация провайдера не пересекалась с приватными сетями клиентов (RFC 6598).
Практический вывод: планируя адресацию в облаке, сверяйтесь со списком занятых диапазонов на своей стороне. Пересечение CIDR двух сетей, которые потом свяжут VPN-туннелем, маршрутизацией не лечится: трафик просто не уйдёт в туннель.
Задача. Есть сеть 192.168.10.0/24. Нужно разделить её на четыре подсети, в каждой примерно по 60 узлов.
- Считаем биты под хосты. 60 узлов плюс адрес сети и широковещательный адрес — минимум 62 адреса. Ближайшая степень двойки: 2^6 = 64. Значит, под хостовую часть нужно 6 бит, под сетевую остаётся 32 − 6 = 26. Префикс подсети — /26, доступных хостов в ней 64 − 2 = 62.
- Проверяем, помещаются ли подсети в исходную сеть. В /24 ровно 256 адресов, в /26 — 64. 256 / 64 = 4. Четыре подсети помещаются без остатка.
- Находим границы. Шаг между подсетями равен размеру блока, то есть 64 адресам в последнем октете:
| Подсеть | Диапазон | Адрес сети | Broadcast | Хостов |
| 192.168.10.0/26 | .0 – .63 | .0 | .63 | 62 |
| 192.168.10.64/26 | .64 – .127 | .64 | .127 | 62 |
| 192.168.10.128/26 | .128 – .191 | .128 | .191 | 62 |
| 192.168.10.192/26 | .192 – .255 | .192 | .255 | 62 |
Та же логика работает для любого шага: нужно 30 хостов — берите /27 с блоком в 32 адреса, нужно 14 — /28 с блоком в 16.
Запас при планировании облачной сети. Виртуальная сеть и подсеть в облаке получают CIDR при создании, и поменять его потом, как правило, не получится: диапазон приходится пересоздавать вместе с ресурсом. Отсюда правило: считайте не текущее число машин, а потолок на горизонте жизни проекта. Для небольшого стенда хватит /24, для кластера Kubernetes, где адреса расходуют ещё и поды, закладывайте диапазон крупнее.
IPv6-адрес длиннее в четыре раза: 128 бит против 32. Записывают его восемью группами по четыре шестнадцатеричных символа через двоеточие, причём группы нулей сокращаются двойным двоеточием (RFC 4291):
2001:0db8:85a3:0000:0000:8a2e:0370:7334 2001:db8:85a3::8a2e:370:7334
Что важно знать тем, кто уже освоил CIDR в IPv4:
- нотация та же: адрес, слеш, длина префикса;
- стандартный размер подсети для оконечных сегментов — /64;
- аналог приватных адресов RFC 1918 — диапазон Unique Local Addresses fc00::/7 (RFC 4193);
- адреса сети и broadcast в привычном смысле в IPv6 отсутствуют, широковещательную рассылку заменяет multicast.
Арифметика хостов в IPv6 теряет смысл: в одном /64 помещается 2^64 адреса, поэтому подсети нарезают не по числу узлов, а по топологии.
В VK Cloud сетевой слой собирается в разделе «Сети». Там создаются виртуальные сети (VPC) и подсети, виртуальные машины объединяются в локальные сети. В том же разделе настраиваются балансировщик нагрузки, VPN по схеме site-to-site (IPsec IKEv1/v2 с аутентификацией по общему ключу), Public DNS и Private DNS, Firewall и Floating IP. CIDR вы указываете на этапе создания подсети, и дальше от этого выбора зависят остальные настройки: правила межсетевого экрана, маршруты и диапазоны, которые анонсируются в VPN-туннель.
Для Kubernetes планирование адресов строже. Managed Kubernetes от VK Cloud поддерживает два поколения кластеров, и у второго поколения есть сетевое предусловие: для проекта должна быть подключена SDN Sprut. Отличается и модель ответственности. Во втором поколении сервисный балансировщик нагрузки, через который идёт доступ к Kubernetes API, вместе со своим IP-адресом размещается в сервисном проекте платформы, а не в проекте пользователя.
Эта изоляция не абсолютна: группы безопасности, созданные для кластера, живут в пользовательском проекте, и правка их правил может привести кластер в неработоспособное состояние. Прежде чем менять правила «для теста», сверьтесь с документацией по сетевым требованиям кластера.
Чек-лист перед созданием сети в облаке:
- Выпишите все диапазоны, с которыми новая сеть будет связана: офис, другие проекты, сети подрядчиков. Пересечений быть не должно.
- Оцените потолок числа адресов, а не текущую потребность. Для кластера учитывайте адреса подов и сервисов, а не только узлов.
- Заложите место под будущие подсети: делить /16 на /24 проще, чем переезжать с тесного диапазона.
- Зафиксируйте схему адресации в документации проекта, включая назначение каждой подсети.
Для разовой проверки удобнее утилита в терминале, чем онлайн-форма. Классический вариант — ipcalc:
apt install ipcalc ipcalc 192.168.10.64/26 # Вывод: # Address: 192.168.10.64 # Netmask: 255.255.255.192 = 26 # Network: 192.168.10.64/26 # HostMin: 192.168.10.65 # HostMax: 192.168.10.126 # Broadcast: 192.168.10.127 # Hosts/Net: 62
Утилита сразу показывает адрес сети, первый и последний адреса для узлов, широковещательный адрес и число доступных хостов. Для IPv6 и более подробного разбора подойдёт sipcalc. Из онлайн-инструментов выручают subnet-calculator.com и cidr.xyz, где диапазон наглядно подсвечивается по битам.
Частые вопросы про подсети и CIDR
Чем отличается /24 от 255.255.255.0?
Ничем: это одна и та же маска в двух нотациях. /24 — запись CIDR, где число означает количество единичных бит сетевой части. 255.255.255.0 — та же маска в десятичном виде. В конфигурации облачных сетей и маршрутизаторов чаще применяют CIDR как более компактную форму.
Почему из /24 получается 254 хоста, а не 256?
Из 256 адресов диапазона два зарезервированы: первый (.0) обозначает саму сеть, последний (.255) служит широковещательным. Узлам они не назначаются, поэтому остаётся 254 адреса. В общем виде расчёт подсети даёт 2^(32-N) − 2 хостов.
Какой CIDR выбрать для виртуальной сети в облаке?
Для небольшого проекта на несколько десятков машин достаточно /24 с 254 адресами. Для кластера Kubernetes берите диапазон крупнее: адреса расходуют не только узлы, но и поды, и при /24 свободные адреса заканчиваются быстро. Главное ограничение не в размере, а в пересечениях: диапазон не должен конфликтовать с сетями, к которым планируется VPN-туннель.
Можно ли изменить CIDR подсети после создания?
Как правило, нет. Диапазон задаётся при создании подсети, и для смены приходится пересоздавать ресурс вместе с зависимыми объектами. Поэтому схему адресации проектируют заранее и с запасом.
Что такое /32 и зачем он нужен?
/32 — префикс, в котором под сеть отданы все 32 бита, то есть маска одного конкретного адреса. Такая запись используется в host-маршрутах, в правилах межсетевого экрана вида «разрешить только этот адрес», в конфигурации VPN-пиров и на loopback-интерфейсах.
CIDR не требует сложной математики: число после слеша говорит, сколько бит адреса отведено под сеть, остальное достаётся хостам. Если нужен быстрый ответ по размеру подсети, смотрите таблицу масок выше; если размер нестандартный, считайте по формуле 2^(32-N) − 2; если хочется проверить себя — запустите ipcalc. Самое дорогое решение принимается до первой команды: выбранный диапазон виртуальной сети обычно не меняется, поэтому считайте запас заранее и сверяйте адресацию с сетями, которые будете связывать.
Создать виртуальную сеть, подсети и маршрутизацию, указав собственный CIDR, можно в разделе «Сети» в VK Cloud.
Оставьте заявку, чтобы получить консультацию
Наши специалисты свяжутся с вами в ближайшее время и ответят на все вопросы.
Узнавайте о выходе новых статей в блоге первыми!
Будем держать в курсе новостей и облачных трендов


Почитать по теме

Паттерны проектирования GoF: полный разбор по группам

Агентный ИИ в облаке: от function calling до MCP и GPU-инференса

