Калькулятор IP-подсети
Результат
Адрес сети
- Широковещательный адрес
- 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. Диапазон хостов здесь всегда лежит между адресом сети и широковещательным адресом, а маска подсети и обратная маска — это одна и та же последовательность бит, прочитанная с двух сторон.
Разобранные примеры
Домашняя сеть, введённая как 192.168.1.10/24
- Префикс равен 24, значит маска — это 24 единицы и 8 нулей: 255.255.255.0.
- Обнуляем биты хоста в адресе: 192.168.1.10 AND 255.255.255.0 = 192.168.1.0. Это адрес сети.
- Выставляем биты хоста в единицу: 192.168.1.0 OR 0.0.0.255 = 192.168.1.255. Это широковещательный адрес.
- Диапазон хостов — всё между ними: с 192.168.1.1 по 192.168.1.254.
- Считаем: 2^8 = 256 адресов минус два зарезервированных = 254 доступных. ✓
Число .10, которое ввёл пользователь, — это адрес хоста внутри блока, поэтому оно и не попадает в первую строку: блок опознаётся по адресу сети.
Канальное соединение точка-точка, 172.16.5.1/30
- Префикс /30 оставляет 2 бита хоста, значит в блоке 2^2 = 4 адреса, а маска заканчивается на 252 (11111100).
- Адрес сети: 172.16.5.1 AND 255.255.255.252 = 172.16.5.0.
- Широковещательный: 172.16.5.0 плюс все 3 бита хоста в единице = 172.16.5.3.
- Два доступных адреса — 172.16.5.1 и 172.16.5.2; адрес из примера принадлежит маршрутизатору на этом конце. ✓
Это самый маленький блок, который всё ещё тратит два адреса. Соединению между двумя маршрутизаторами нужно ровно два, ради чего и существует /31.
Деление /24 на /26, введённое как 192.168.1.130/26
- Префикс /26 оставляет 6 бит хоста: 2^6 = 64 адреса, маска 255.255.255.192.
- 172.16.5.1 — это другой блок; здесь 130 в двоичном виде равно 10000010, а /26 сохраняет первые два из этих битов: 130 AND 192 = 128.
- Значит адрес сети — 192.168.1.128, а не 192.168.1.0: /26 лежит на кратном 64 в последнем октете.
- Широковещательный: 192.168.1.128 + 63 = 192.168.1.191.
- Доступных: 64 − 2 = 62 адреса, с .129 по .190. ✓
Это тот расчёт, который чаще всего делают на глаз неправильно: границы блоков при /26 — это 0, 64, 128 и 192, поэтому адрес .130 попадает в третью четверть /24, а не в первую.
Одиночный публичный узел, 8.8.8.8/32
- Префикс /32 оставляет все биты сетевыми, поэтому маска — 255.255.255.255, а блок состоит из одного адреса.
- AND с маской из одних единиц ничего не меняет: адрес сети — 8.8.8.8.
- Битов хоста нет, поэтому и широковещательный адрес совпадает с ним.
- Один адрес, и он доступен: правило в духе 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 была бы отдельной страницей со своими выходными полями.