Как CIDR показывает границы подсети

Введите IPv4-адрес устройства и префикс от 0 до 32. Калькулятор найдёт канонический адрес сети, обычную и wildcard-маску, broadcast, диапазон хостов и количество адресов. Например, запись 192.168.1.42/24 относится к сети 192.168.1.0/24, хотя введённый адрес находится внутри неё.
IPv4-адрес состоит из 32 бит. Для чтения человеком их делят на четыре восьмибитных октета, поэтому каждое число в записи через точки лежит от 0 до 255. Префикс CIDR сообщает, сколько первых бит относятся к сети. В /24 сетевыми являются 24 бита, а оставшиеся 8 меняются у адресов внутри подсети.
Подсеть CIDR задаётся адресом сети и длиной префикса: например, 10.20.16.0/20. У всех адресов этой подсети первые 20 бит совпадают, а последние 12 образуют часть хоста.
Число адресов зависит только от длины префикса:
Всего адресов = 232 − префикс
У /24 остаётся 8 бит хоста, поэтому блок содержит 28 = 256 адресов. У /27 остаётся 5 бит и получается 32 адреса. Чем больше число после косой черты, тем меньше подсеть. Разобрать двоичную запись отдельных октетов помогает переводчик десятичных чисел в двоичные.
Как находятся сеть, маска и broadcast
Маска подсети содержит единицы на позициях сети и нули на позициях хоста. Префикс /24 даёт 255.255.255.0, /27 даёт 255.255.255.224, а /32 даёт 255.255.255.255. Wildcard-маска является побитным дополнением обычной маски: 255 заменяется на 0, а для /27 последнее число 224 превращается в 31. Поэтому сумма соответствующих октетов двух масок всегда равна 255.
Адрес сети получается, когда все биты хоста установлены в ноль. Для подсетей от /1 до /30 верхняя граница с единицами во всех битах хоста является направленным broadcast-адресом. Между этими границами лежат адреса устройств: первый равен адресу сети плюс один, последний равен broadcast минус один. У предельного блока /0 верхняя граница 255.255.255.255 является специальным ограниченным broadcast.
Из-за двух служебных границ в типичной /24 из 256 адресов доступны 254. Это арифметическое число, а не обещание количества подключаемых устройств. Маршрутизатор, шлюз, DHCP-сервер, точки доступа и другие узлы тоже занимают адреса из доступного диапазона. Калькулятор не назначает роли и не проверяет, какие адреса уже заняты.
Расчёт подсетей разного размера
Домашняя сеть 192.168.1.42/24. Адрес сети равен 192.168.1.0, маска 255.255.255.0, wildcard-маска 0.0.0.255, broadcast 192.168.1.255. В блоке 256 адресов, а обычный диапазон хостов идёт от 192.168.1.1 до 192.168.1.254 и содержит 254 адреса.
Небольшой сегмент 192.168.100.97/27. Размер блока равен 32. Граница, в которую входит адрес 97, начинается с 96, поэтому сеть записывается как 192.168.100.96/27. Broadcast равен 192.168.100.127, а хосты занимают адреса от 192.168.100.97 до 192.168.100.126. Маска равна 255.255.255.224.
Подсеть 10.20.30.40/20. Здесь граница проходит внутри третьего октета. Сеть равна 10.20.16.0/20, broadcast 10.20.31.255, маска 255.255.240.0, wildcard-маска 0.0.15.255. Всего получается 4096 адресов, из них 4094 лежат между 10.20.16.1 и 10.20.31.254.
Малый блок 172.16.5.6/30. Четыре адреса блока идут от 172.16.5.4 до 172.16.5.7. Первый является адресом сети, последний broadcast, а устройствам остаются 172.16.5.5 и 172.16.5.6. Такой пример наглядно показывает обычное правило «всего минус два».
Point-to-point-ссылка 203.0.113.11/31. Каноническая сеть равна 203.0.113.10/31, маска 255.255.255.254, wildcard-маска 0.0.0.1. Согласно RFC 3021, оба адреса, 203.0.113.10 и 203.0.113.11, могут обозначать концы такой ссылки. Отдельного направленного broadcast здесь нет.
Маршрут к одному узлу 203.0.113.10/32. Адрес сети и единственный адрес совпадают, маска состоит из четырёх чисел 255, wildcard-маска из четырёх нулей. RFC 4632 называет /32 host route. Такая запись описывает один адрес, поэтому broadcast и диапазон из нескольких хостов не возникают.
Почему /31 и /32 считаются отдельно
Механическое вычитание двух служебных адресов дало бы для /31 ноль, а для /32 отрицательное число. Для современных маршрутов это неверно. RFC 3021 разрешает использовать оба адреса /31 на point-to-point-ссылке, где есть ровно два конца и направленный broadcast не нужен. Поэтому калькулятор показывает два доступных адреса и явно отмечает специальное правило.
Префикс /32 оставляет ноль бит хоста. Размер блока равен 20 = 1, а единственный IPv4-адрес одновременно является маршрутом к конкретному узлу. Калькулятор показывает один доступный адрес и не выдаёт его за broadcast. Это соответствует понятию host route в RFC 4632.
Другой край шкалы, /0, оставляет 32 бита и охватывает 232 = 4 294 967 296 адресов от 0.0.0.0 до 255.255.255.255. В таблицах маршрутизации 0.0.0.0/0 используют как маршрут по умолчанию. Арифметический диапазон калькулятора не означает, что каждый IPv4-адрес можно выдать обычному устройству: назначение специальных и публичных блоков является отдельной задачей.
Как читать результат без ошибок
Каноническая запись в главной строке всегда начинается с адреса сети, а не повторяет введённый адрес устройства. Если ввести 192.168.100.97/27, ответом будет 192.168.100.96/27. Это не округление десятичного числа: калькулятор обнуляет пять бит хоста, заданные префиксом.
Поле принимает только четыре десятичных октета через точку. Записи 192.168.001.1, 0xC0.168.1.1, 192.168.1 и IPv6-адрес не проходят проверку. Запрет ведущих нулей устраняет неоднозначность: некоторые старые инструменты могли воспринимать такие части адреса не как обычные десятичные числа.
Диапазон хостов отвечает на вопрос о границах подсети, но не заменяет настройку сети. Калькулятор не проверяет конфликт адресов, DHCP-пул, VLAN, шлюз, NAT, доступность узла или правила провайдера. Для просмотра того же числа как последовательности нулей и единиц можно использовать калькулятор систем счисления.
Вопросы о CIDR и IPv4-подсетях
Для нового сегмента выбирайте блок с запасом под шлюз, служебные узлы и рост сети. Например, /29 содержит 8 адресов и обычно даёт 6 адресов хостов, а следующий размер /28 содержит 16 и даёт 14.
Какой префикс выбрать примерно для 50 устройств?
Обычная /26 содержит 64 адреса и даёт 62 адреса хостов после исключения сети и broadcast. Но все 62 не стоит заранее считать пользовательскими: оставьте места для шлюза, точек доступа, серверов, принтеров и роста сегмента.
Адрес, заканчивающийся на .255, всегда является broadcast?
Нет, это зависит от префикса. Например, 192.168.1.255 внутри сети 192.168.0.0/22 не является верхней границей: broadcast этой сети равен 192.168.3.255. Смотрите на все биты хоста, а не только на последний октет.
Может ли один IPv4-адрес относиться к разным подсетям?
Да, если меняется префикс. Адрес 192.168.100.97 входит в сеть 192.168.100.0/24, но при /27 его сеть начинается с 192.168.100.96. Поэтому адрес без длины префикса не определяет границы подсети.
Проверяет ли калькулятор пересечение двух подсетей?
Нет, он рассчитывает границы только для одной пары «адрес и префикс». Чтобы проверить пересечение, рассчитайте обе сети и сравните их полные диапазоны: пересечение есть, если хотя бы одна граница одного блока попадает внутрь другого.
Чем количество хостов отличается от размера DHCP-пула?
Число хостов является арифметической ёмкостью подсети. DHCP-пул обычно меньше: из него исключают шлюз, адреса инфраструктуры, статические назначения и резерв. Конкретные исключения задаются в настройках DHCP-сервера, а не в CIDR.
Можно ли публиковать адреса 10.x.x.x и 192.168.x.x в интернете?
Эти диапазоны относятся к частному адресному пространству RFC 1918 и напрямую в публичном интернете не маршрутизируются. Для выхода наружу обычно используется NAT или другой шлюз, хотя границы их подсетей рассчитываются по тем же правилам CIDR.
Почему соседние сети /26 имеют одинаковую маску, но разные адреса?
Маска задаёт размер блока, а адрес сети задаёт его положение. В одном /24 помещаются четыре сети /26: они начинаются с последних октетов 0, 64, 128 и 192. Их маска одинакова, а диапазоны не пересекаются.
Подойдёт ли этот калькулятор для IPv6?
Нет, здесь поддерживается только четырёхоктетный IPv4. У IPv6 адрес имеет 128 бит и записывается шестнадцатеричными группами; длина его префикса может доходить до /128, поэтому нужен отдельный парсер и другой формат результата.
Похожие калькуляторы
Возможно вам пригодятся ещё несколько калькуляторов по данной теме:
- Калькулятор систем счисления. Переведите числа между системами счисления (двоичная, восьмеричная, десятичная и т.д.).
- Калькулятор десятично-двоичных чисел. Введите число, и оно автоматически переведётся в двоичную систему счисления.
- Перевести двоичное число в десятичное. Введите двоичное число и калькулятор переведет его в десятичное.
- Визуальный редактор HTML. Редактируйте бесплатно и онлайн HTML-код, и сразу же смотрите внешний вид текста и страницы в режиме предпросмотра (WYSIWYG).
- Генератор паролей. Создайте сложный и надёжный пароль бесплатно с помощью онлайн-генератора из 8, 10, 12 или большего числа рандомных (случайных) символов.
- Генератор QR-кода. Вставьте ссылку или текст. Готовый QR-код можно скопировать или скачать как PNG.
- Сумма прописью. Переведите сумму в виде цифр в сумму прописью - текстом. Сделайте расшифровку правильно для договоров и других документов.
- Хрономер: время чтения текста. Оцените, сколько времени займёт чтение или произнесение текста вслух. Просто введите текст в форму, и хронометраж рассчитается автоматически.
- Рандомайзер: генератор случайных чисел. Выберите случайное число в нужном диапазоне для любых целей, в частности для розыгрышей и онлайн-лотерей в соцсетях.
- Случайный выбор из списка. Добавьте варианты по одному в строке, укажите количество и выберите режим повторов.
Есть что добавить?
Напишите своё мнение, комментарий или предложение.