Перейти к основному содержанию
CalcMax

Калькулятор IP-подсети

Результат

192.168.1.0Частное использование

Адрес сети

Широковещательный адрес
192.168.1.255
Первый доступный хост
192.168.1.1
Последний доступный хост
192.168.1.254
Доступных хостов
254
Адресов в блоке
256
Маска подсети
255.255.255.0
Обратная маска
0.0.0.255

Этот калькулятор IP-подсети принимает CIDR-блок вида 192.168.1.10/24 и возвращает адрес сети, широковещательный адрес, первый и последний доступные адреса хостов, маску подсети и обратную маску, а вместе с ними — общее число адресов в блоке. Число после косой черты — это длина префикса: /24 закрепляет первые 24 бита за сетевой частью и оставляет 8 бит на хосты, то есть 256 адресов и 254 доступных. Всё, что стояло в битах хоста, обнуляется, поэтому 192.168.1.10/24 принадлежит сети 192.168.1.0/24. Значок рядом с результатом называет тип адресного пространства — частное, петлевое, канальное, многоадресное или публичное, — а таблица ниже перечисляет все блоки, зарезервированные IANA.

Блоки IPv4 специального назначения

БлокТипОпределён в
0.0.0.0/8Эта сетьRFC 791 §3.2
10.0.0.0/8Частное использованиеRFC 1918
100.64.0.0/10Разделяемое адресное пространствоRFC 6598
127.0.0.0/8Петлевой адресRFC 1122 §3.2.1.3
169.254.0.0/16Канальный локальныйRFC 3927
172.16.0.0/12Частное использованиеRFC 1918
192.0.2.0/24ДокументацияRFC 5737
192.168.0.0/16Частное использованиеRFC 1918
198.18.0.0/15Тестирование производительностиRFC 2544
198.51.100.0/24ДокументацияRFC 5737
203.0.113.0/24ДокументацияRFC 5737
224.0.0.0/4Многоадресная рассылкаRFC 1112
240.0.0.0/4ЗарезервированоRFC 1112 §4
255.255.255.255/32Ограниченная широковещательная рассылкаRFC 8190 / RFC 919 §7

Все блоки, которые IANA перечисляет в реестре адресов IPv4 специального назначения, плюс диапазон многоадресной рассылки, зарегистрированный отдельно. Столбец типа называет блок, а последний столбец — документ, который его определяет. Адрес, не попавший ни в один из них, показывается как публичный.

Формула

адрес сети = адрес AND маска доступных хостов = 2^(32 − префикс) − 2

адрес
IPv4-адрес, который вы вводите, как 32-битное число
маска
Маска подсети: первые биты длиной с префикс, выставленные в 1
адрес сети
Адрес, в котором обнулены все биты хоста
префикс
Длина префикса после косой черты, от 0 до 32

Первая строка — это всё деление на подсети целиком: адрес сети получается логическим AND адреса и маски, а широковещательный адрес — тем же AND, только все биты хоста выставлены в 1. Вычтите один адрес из другого, и получите число доступных хостов. Вторая строка — короткий путь, и он верен для любого префикса от /0 до /30. Исключений два — префиксы точка-точка /31 и /32, где адреса сети и широковещательный не резервируются и короткая формула дала бы неверный счёт: для них калькулятор применяет правило RFC 3021. Диапазон хостов здесь всегда лежит между адресом сети и широковещательным адресом, а маска подсети и обратная маска — это одна и та же последовательность бит, прочитанная с двух сторон.

Разобранные примеры

  1. Домашняя сеть, введённая как 192.168.1.10/24

    1. Префикс равен 24, значит маска — это 24 единицы и 8 нулей: 255.255.255.0.
    2. Обнуляем биты хоста в адресе: 192.168.1.10 AND 255.255.255.0 = 192.168.1.0. Это адрес сети.
    3. Выставляем биты хоста в единицу: 192.168.1.0 OR 0.0.0.255 = 192.168.1.255. Это широковещательный адрес.
    4. Диапазон хостов — всё между ними: с 192.168.1.1 по 192.168.1.254.
    5. Считаем: 2^8 = 256 адресов минус два зарезервированных = 254 доступных. ✓

    Число .10, которое ввёл пользователь, — это адрес хоста внутри блока, поэтому оно и не попадает в первую строку: блок опознаётся по адресу сети.

  2. Канальное соединение точка-точка, 172.16.5.1/30

    1. Префикс /30 оставляет 2 бита хоста, значит в блоке 2^2 = 4 адреса, а маска заканчивается на 252 (11111100).
    2. Адрес сети: 172.16.5.1 AND 255.255.255.252 = 172.16.5.0.
    3. Широковещательный: 172.16.5.0 плюс все 3 бита хоста в единице = 172.16.5.3.
    4. Два доступных адреса — 172.16.5.1 и 172.16.5.2; адрес из примера принадлежит маршрутизатору на этом конце. ✓

    Это самый маленький блок, который всё ещё тратит два адреса. Соединению между двумя маршрутизаторами нужно ровно два, ради чего и существует /31.

  3. Деление /24 на /26, введённое как 192.168.1.130/26

    1. Префикс /26 оставляет 6 бит хоста: 2^6 = 64 адреса, маска 255.255.255.192.
    2. 172.16.5.1 — это другой блок; здесь 130 в двоичном виде равно 10000010, а /26 сохраняет первые два из этих битов: 130 AND 192 = 128.
    3. Значит адрес сети — 192.168.1.128, а не 192.168.1.0: /26 лежит на кратном 64 в последнем октете.
    4. Широковещательный: 192.168.1.128 + 63 = 192.168.1.191.
    5. Доступных: 64 − 2 = 62 адреса, с .129 по .190. ✓

    Это тот расчёт, который чаще всего делают на глаз неправильно: границы блоков при /26 — это 0, 64, 128 и 192, поэтому адрес .130 попадает в третью четверть /24, а не в первую.

  4. Одиночный публичный узел, 8.8.8.8/32

    1. Префикс /32 оставляет все биты сетевыми, поэтому маска — 255.255.255.255, а блок состоит из одного адреса.
    2. AND с маской из одних единиц ничего не меняет: адрес сети — 8.8.8.8.
    3. Битов хоста нет, поэтому и широковещательный адрес совпадает с ним.
    4. Один адрес, и он доступен: правило в духе RFC 3021 даёт /32 счёт хостов 1, а не 2^0 − 2 = −1. ✓

    Так записывают маршрут к отдельному узлу в таблице маршрутизации или в правиле межсетевого экрана. Обратная маска получается 0.0.0.0 — ровно то, что нужно экрану, чтобы совпасть с одним адресом.

Ограничения

Этот калькулятор работает только с IPv4. Адреса IPv6 имеют ширину 128 бит, что не укладывается в ту же арифметику и не подчиняется тем же правилам счёта хостов: в /64 помещается 2^64 адресов, поэтому вычитать из них адрес сети и широковещательный бессмысленно. Ввод IPv6 отклоняется, а не округляется. Страница также придерживается классической модели деления на подсети: адрес сети и широковещательный адрес считаются зарезервированными, а диапазон хостов — всем, что лежит между ними; так установил RFC 950, и так до сих пор работает почти любая сеть. Для особых случаев существуют другие соглашения о длине префикса, а классификация блоков опирается на реестры специального назначения IANA в их нынешнем виде: эти записи меняются, и блок, зарезервированный после того, как эта страница была написана, будет показан как публичный. Частные адреса при этом не маршрутизируются в публичном интернете, поэтому одну и ту же тройку блоков может свободно использовать любая организация.

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

Как найти адрес сети по CIDR-блоку?
Выполните логическое AND адреса и маски подсети. Для 192.168.1.10/24 маска равна 255.255.255.0, то есть в двоичном виде это 24 единицы и 8 нулей; AND обнуляет последний октет и даёт 192.168.1.0. Широковещательный адрес — тот же AND, но биты хоста выставлены в 1, а не в 0, то есть 192.168.1.255. Всё, что между ними, и есть диапазон доступных хостов.
Сколько доступных хостов в /26?
62. Префикс /26 оставляет 6 бит хоста, значит в блоке 2^6 = 64 адреса, и два из них забирают адрес сети и широковещательный. То же правило даёт 254 для /24, 126 для /25 и 30 для /27. Не применяется оно только к двум префиксам: у /31 два доступных адреса, а у /32 один.
Какие адреса частные?
Три блока, все перечисленные в RFC 1918: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Они не маршрутизируются в публичном интернете, поэтому любая организация может пользоваться ими свободно, пока ей не нужно дотянуться до другой сети с теми же номерами. Несколько других блоков выглядят похоже, но частными не являются: 100.64.0.0/10 — это разделяемое адресное пространство внутри сетей операторов, а 169.254.0.0/16 — канальный блок, который устройство назначает себе само, когда DHCP не отвечает.
Что такое обратная маска и чем она отличается от маски подсети?
Это маска подсети, инвертированная побитово. У префикса /24 маска равна 255.255.255.0, а обратная маска — 0.0.0.255. Списки доступа Cisco и некоторые правила межсетевых экранов пишут обратными масками, тогда как на интерфейсах настраивают саму маску, поэтому страница показывает обе. В сумме они всегда дают 255.255.255.255, так что из одной всегда получается другая.
Почему у /31 два доступных хоста, а не ноль?
Потому что для этого единственного префикса правило изменил RFC 3021. В /31 два адреса, и по старой арифметике оба считались бы зарезервированными — один как адрес сети, другой как широковещательный, — и для соединения, которому нужны ровно две точки, не осталось бы ничего. RFC предписывает считать оба адреса доступными хостами на соединениях точка-точка; так теперь и поступают маршрутизаторы, и так же отвечает этот калькулятор.
Работает ли это с IPv6?
Нет, и страница этого и не обещает. Адреса IPv6 имеют ширину 128 бит, поэтому ту же арифметику на 32-битных целых к ним не применить, да и правило счёта хостов там иное по сути: в /64 содержится 2^64 адресов, а это не то число, из которого что-то вычитают. Ввод префикса IPv6 возвращает ошибку формата, а не неверный ответ; версия для IPv6 была бы отдельной страницей со своими выходными полями.

Источники

Похожие калькуляторы