Калькулятор IP-подсети
**URL:** `/developer-calculators/ip-subnet-calculator` **Schema:** `WebApplication` + `FAQPage` + `BreadcrumbList`
Все расчёты выполняются в браузере. Ничего из введённого не отправляется на сервер.
Результаты обновляются при вводе. Ctrl/Cmd+Enter копирует основной результат.
Результат
—
Просмотр битов
Показать решение
Калькулятор IP-подсети принимает IPv4 или IPv6 адрес с длиной префикса и возвращает сетевой адрес, broadcast-адрес, диапазон используемых хостов, маску подсети, wildcard-маску и число хостов. Каждый результат показан рядом с двоичной операцией, которая его дала, чтобы маску можно было проверить, а не просто доверять. Калькулятор также делит сеть на меньшие подсети и помечает адреса, попадающие в частные или зарезервированные диапазоны.
Все расчёты выполняются в браузере. Ничего из введённого не отправляется на сервер.
Вычисление IPv4-подсети по адресу и префиксу
IPv4-подсеть определяется двумя вещами: 32-битным адресом и длиной префикса, которая говорит, сколько из этих бит идентифицируют сеть. Введите 202.47.56.51/24, и калькулятор читает первые 24 бита как сеть, а оставшиеся 8 как хостовую часть, затем выводит все остальные значения из этого разделения.
Префикс можно ввести тремя способами, и все три означают одно: нотация CIDR (/24), точечно-десятичная маска подсети (255.255.255.0) или требуемое число хостов, которое калькулятор округляет вверх до ближайшего подходящего префикса. Сетевые инженеры думают в CIDR, документация старого оборудования использует точечно-десятичный формат, а при планировании адресной схемы начинают с числа хостов.
Сетевой адрес, broadcast и диапазон хостов
В любой IPv4-подсети важны четыре адреса, и два из них нельзя назначить устройству. Сетевой адрес это первый адрес диапазона, со всеми хостовыми битами, равными нулю. Broadcast-адрес это последний, со всеми хостовыми битами, равными единице. Между ними адреса назначаемы.
Для 202.47.56.51/24:
| Поле | Значение |
|---|---|
| Сетевой адрес | 202.47.56.0 |
| Первый используемый хост | 202.47.56.1 |
| Последний используемый хост | 202.47.56.254 |
| Broadcast-адрес | 202.47.56.255 |
| Маска подсети | 255.255.255.0 |
| Wildcard-маска | 0.0.0.255 |
| Всего адресов | 256 |
| Используемых хостов | 254 |
Wildcard-маска это побитовая инверсия маски подсети. Списки контроля доступа Cisco и конфигурация OSPF принимают wildcard, а не маски, и инвертировать одну вручную в три часа ночи это путь к простоям.
Применение маски подсети через двоичное AND
Сетевой адрес получается побитовым AND между адресом и маской. Каждый бит, где маска 1, проходит; каждый бит, где маска 0, становится 0. Эта одна операция и есть вся суть subnetting, и вид в двоичном виде делает остальное очевидным.
IP 11001010 . 00101111 . 00111000 . 00110011 202.47.56.51
Mask 11111111 . 11111111 . 11111111 . 00000000 255.255.255.0
───────────────────────────────────────── bitwise AND
Network 11001010 . 00101111 . 00111000 . 00000000 202.47.56.0
└──────────── network ─────────┘ └─ host ─┘
Broadcast-адрес та же операция, но с хостовыми битами, установленными в 1:
Network 11001010 . 00101111 . 00111000 . 00000000 202.47.56.0
Wildcard 00000000 . 00000000 . 00000000 . 11111111 0.0.0.255
───────────────────────────────────────── bitwise OR
Broadcast 11001010 . 00101111 . 00111000 . 11111111 202.47.56.255
Калькулятор показывает этот вид для каждого введённого адреса, с сетевой и хостовой частями в скобках. Биты кликабельны, переключение одного сразу показывает, что это делает с диапазоном.
Подсеть 202.47.56.51 с префиксом /24
Префикс /24 на 202.47.56.51 даёт сеть 202.47.56.0 с 254 используемыми хостами. Вот каждый шаг. 1. Преобразуйте префикс в маску. /24 значит, первые 24 бита это сеть. Двадцать четыре единицы, за которыми восемь нулей, это 11111111 11111111 11111111 00000000, что в точечно-десятичном виде 255.255.255.0.
2. AND адреса с маской. 202.47.56.51 AND 255.255.255.0 = 202.47.56.0. Первые три октета проходят без изменений, потому что их байты маски все единицы; четвёртый становится нулём, потому что его байт маски все нули.
3. Подсчитайте адреса. 32 − 24 = 8 хостовых бит, и 2⁸ = 256 адресов всего.
4. Вычтите два зарезервированных адреса. 256 − 2 = 254 используемых хоста. Сетевой адрес 202.47.56.0 и broadcast-адрес 202.47.56.255 нельзя назначить интерфейсу.
5. Прочитайте используемый диапазон. Первый хост это сеть + 1 = 202.47.56.1. Последний хост это broadcast − 1 = 202.47.56.254.
Измените префикс на /25, и тот же адрес делится на две сети по 126 используемых хостов каждая: 202.47.56.0/25 покрывает от .1 до .126, а 202.47.56.128/25 покрывает от .129 до .254. Каждый дополнительный бит префикса уменьшает число хостов вдвое.
Таблица CIDR-префиксов
Связь между длиной префикса, маской подсети и числом хостов фиксирована, и большая часть работы с подсетями это узнавание нескольких распространённых строк на глаз. /24 даёт 254 хоста, /30 даёт 2, /16 даёт 65 534.
| Префикс | Маска подсети | Всего адресов | Используемых хостов |
|---|---|---|---|
| /8 | 255.0.0.0 | 16 777 216 | 16 777 214 |
| /16 | 255.255.0.0 | 65 536 | 65 534 |
| /20 | 255.255.240.0 | 4 096 | 4 094 |
| /22 | 255.255.252.0 | 1 024 | 1 022 |
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
Полная таблица от /1 до /32 доступна в калькуляторе. Два паттерна стоит запомнить: всего адресов удваивается при каждом снятом бите префикса, а используемых хостов всегда на два меньше, кроме /31 и /32, которые работают иначе.
Префиксы /31 и /32
/30 это наименьшая подсеть по обычным правилам: 4 адреса, 2 используемых, один сетевой и один broadcast. Ниже арифметика ломается, и RFC 3021 изменил поведение /31 специально, чтобы не тратить адреса на point-to-point линки.
/31 даёт 2 используемых адреса, а не 0. На линке между двумя маршрутизаторами некому слать broadcast, единственный возможный получатель это устройство на другом конце. RFC 3021 поэтому разрешает /31 с обоими адресами назначаемыми и без broadcast-адреса вообще. Это вдвое сокращает расход адресов на каждой point-to-point линии в сети, что в масштабе существенно.
Многие калькуляторы подсетей, включая оба самых распространённых, всё ещё сообщают /31 с нулём используемых хостов. Это было верно до 2000 года и неверно с тех пор. Современные маршрутизаторы всех крупных вендоров поддерживают /31 на point-to-point интерфейсах.
/32 это маршрут одного хоста. Один адрес, без понятий сети или broadcast. Используется для loopback-интерфейсов, host-specific записей маршрутизации и анонса одного адреса в протокол маршрутизации.
Разделение сети на меньшие подсети
Разделение берёт одну сеть и делит её на равные блоки с более длинным префиксом. Введите начальную сеть и либо целевой префикс, либо нужное число подсетей, либо требуемое число хостов на подсеть, и калькулятор перечислит результаты с их диапазонами.
Деление 192.168.10.0/24 на четыре подсети значит переход с /24 на /26, потому что 2² = 4:
| Подсеть | Сеть | Используемый диапазон | Broadcast |
|---|---|---|---|
| 1 | 192.168.10.0/26 | .1-.62 | 192.168.10.63 |
| 2 | 192.168.10.64/26 | .65-.126 | 192.168.10.127 |
| 3 | 192.168.10.128/26 | .129-.190 | 192.168.10.191 |
| 4 | 192.168.10.192/26 | .193-.254 | 192.168.10.255 |
Реальные адресные планы редко требуют равных блоков. VLSM назначает каждому сегменту только нужный префикс: /30 для линка маршрутизаторов, /26 для небольшого офиса, /23 для большой пользовательской VLAN, поэтому ввод требуемого числа хостов обычно полезнее, чем ввод числа подсетей. Выделяйте крупнейшие блоки первыми, с начала диапазона, иначе план фрагментируется.
Частные и зарезервированные диапазоны
Некоторые блоки адресов зарезервированы и никогда не маршрутизируются в публичном интернете. Калькулятор помечает любой адрес, попадающий в такой блок, с RFC, который его определяет, потому что случайное использование зарезервированного диапазона даёт сбои, похожие на что угодно, кроме проблемы адресации.
| Диапазон | Назначение | RFC |
|---|---|---|
| 10.0.0.0/8 | Частная сеть | RFC 1918 |
| 172.16.0.0/12 | Частная сеть | RFC 1918 |
| 192.168.0.0/16 | Частная сеть | RFC 1918 |
| 127.0.0.0/8 | Loopback | RFC 1122 |
| 169.254.0.0/16 | Link-local, APIPA | RFC 3927 |
| 100.64.0.0/10 | Carrier-grade NAT | RFC 6598 |
| 192.0.2.0/24 | Документация | RFC 5737 |
| 224.0.0.0/4 | Multicast | RFC 5771 |
Устройство с адресом 169.254.x.x не получило DHCP-аренду и назначило себе link-local адрес. Этот один факт закрывает большую долю обращений «нет интернета», и адрес это диагноз.
Диапазон 100.64.0.0/10 подставляет ловушку, потому что выглядит публичным. Он зарезервирован для carrier-grade NAT, и его вид на WAN-интерфейсе значит, что провайдер не даёт публичный адрес.
Вычисление IPv6-подсети
IPv6-адреса 128 бит вместо 32, записаны как восемь групп по четыре шестнадцатеричные цифры. Префикс работает так же: /64 значит, первые 64 бита идентифицируют сеть, но три вещи достаточно отличаются, чтобы поймать того, кто применяет привычки IPv4.
Broadcast-адреса нет. IPv6 полностью заменил broadcast на multicast. Калькулятор, сообщающий IPv6 broadcast, написан тем, кто знает только IPv4, и этот калькулятор опускает поле, а не показывает его пустым.
Адреса не резервируются из подсети. Все 2⁶⁴ адреса в /64 используемы. Нет «минус два».
/64 по сути фиксирован для обычных подсетей. Stateless address autoconfiguration требует 64-битный идентификатор интерфейса, поэтому subnetting короче /64 ломает SLAAC. Площадки получают /48 или /56 и делят на /64, по одному на VLAN, без необходимости подгонять под число хостов. /48 даёт 65 536 подсетей /64, больше, чем использует одна площадка.
Для 2001:db8:85a3::8a2e:370:7334/64 сеть 2001:db8:85a3::/64, содержащая 18 446 744 073 709 551 616 адресов. Калькулятор показывает это и как 2⁶⁴, потому что строка цифр нечитаема, а экспонента это число, которое вы реально хотели.
:: в адресе это сжатие нулей, заменяющее один прогон последовательных нулевых групп. Оно может появиться только один раз, иначе двусмысленность. Калькулятор нормализует любой адрес к канонической форме RFC 5952 и показывает полностью развёрнутую форму рядом.
Классы адресов и почему их заменил CIDR
Классы адресов делили пространство IPv4 на фиксированные блоки: класс A с 8-битной сетевой частью, класс B с 16, класс C с 24. Первый октет определял класс, маска следовала автоматически. Эту систему заменил CIDR в 1993 году, и ни одна современная сеть под неё не проектируется.
Классовая адресация тратила огромные объёмы пространства. Организации, нуждавшейся в 300 адресах, было мало для 254 класса C, и ей давали 65 534 класса B, оставляя 65 000 адресов неиспользованными. CIDR убрал фиксированные границы и разрешил префикс любой длины, поэтому та организация теперь получает /23 с 510 хостами.
Классы сохраняются в двух местах. Программы сертификации всё ещё их преподают, и некоторое оборудование всё ещё выводит маску по умолчанию из первого октета, когда маска не задана. Калькулятор сообщает класс, в который адрес попал бы, потому что его всё ещё спрашивают, но префикс всегда определяет фактическую сеть.
Часто задаваемые вопросы
Что такое маска подсети?
Маска подсети это 32-битное значение, которое отмечает, какие биты IP-адреса идентифицируют сеть, а какие хост. Сетевые биты это 1, хостовые 0, и единицы всегда идут первыми. 255.255.255.0 отмечает первые 24 бита как сеть, что то же самое, что префикс /24 в нотации CIDR.
Сколько хостов в /24?
/24 содержит 256 адресов всего и 254 используемых хоста. Восемь хостовых бит дают 2⁸ = 256 адресов, и два недоступны: сетевой адрес в начале диапазона и broadcast в конце. Используемый диапазон для 192.168.1.0/24 это 192.168.1.1-192.168.1.254.
Что такое нотация CIDR?
Нотация CIDR записывает адрес со слэшем и числом сетевых бит, как в 192.168.1.0/24. Она заменила классовую адресацию в 1993 году и допускает любую длину префикса вместо фиксированных границ 8, 16 и 24 бит классов. /24 и маска 255.255.255.0 описывают ровно одну и ту же сеть.
Почему два адреса в подсети нельзя использовать?
Первый адрес подсети имеет все хостовые биты нулевыми и идентифицирует саму сеть. Последний имеет все хостовые биты единичными и это broadcast-адрес этой сети. Ни один нельзя назначить интерфейсу, поэтому /24 с 256 адресами поддерживает 254 хоста. Исключение /31, где RFC 3021 делает оба адреса используемыми.
Что такое wildcard-маска?
Wildcard-маска это побитовая инверсия маски подсети, поэтому 255.255.255.0 становится 0.0.0.255. Списки контроля доступа Cisco и network statements OSPF принимают wildcard-маски, а не маски подсети. Калькулятор возвращает обе, потому что инвертировать одну вручную под давлением легко ошибиться.
Как разделить /24 на четыре подсети?
Переместите префикс с /24 на /26, потому что 2² = 4 подсети. Каждая /26 имеет 64 адреса всего и 62 используемых хоста. Для 192.168.10.0/24 четыре подсети начинаются с .0, .64, .128 и .192. Введите сеть и выберите четыре подсети в калькуляторе, чтобы увидеть полные диапазоны.
Есть ли у IPv6 broadcast-адреса?
Нет. IPv6 полностью убрал broadcast и использует multicast, поэтому broadcast-адреса в IPv6-подсети нет, и адреса не вычитаются из используемого счёта. Все 2⁶⁴ адреса в /64 назначаемы. Любой калькулятор, сообщающий IPv6 broadcast, неправильно применяет правила IPv4.
Почему /64 это стандартный размер IPv6-подсети?
Stateless address autoconfiguration требует, чтобы последние 64 бита были доступны как идентификатор интерфейса, поэтому подсеть длиннее /64 ломает SLAAC. Площадки получают /48 или /56 от провайдера и делят на /64, по одному на сегмент сети. Число хостов никогда не ограничивает проект, потому что каждый /64 содержит больше адресов, чем всё пространство IPv4.
Является ли 192.168.1.0/24 частным диапазоном?
Да. 192.168.0.0/16 зарезервирован для частного использования RFC 1918, вместе с 10.0.0.0/8 и 172.16.0.0/12. Адреса в этих диапазонах не маршрутизируются в публичном интернете и требуют NAT для доступа к нему. Калькулятор помечает любой адрес, попадающий в частный или зарезервированный блок.
Что означает адрес, начинающийся с 169.254?
Адрес в 169.254.0.0/16 link-local, назначенный устройством самим после неудачного DHCP-запроса. Windows называет это APIPA. Устройство может достичь других на том же физическом сегменте, но у него нет шлюза и нет доступа в интернет. Такой адрес обычно значит, что DHCP-сервер недоступен, а не что с устройством что-то не так.
Итог
Калькулятор IP-подсети выводит сетевой адрес, broadcast-адрес, диапазон используемых хостов, маски и число хостов из любого IPv4 или IPv6 адреса и префикса и показывает двоичное AND, которое их даёт, чтобы результат можно было проверить, а не просто доверять.
Используемых хостов всего адресов минус два на каждом IPv4-префиксе до /30; /31 даёт два используемых адреса по RFC 3021, /32 описывает один хост. У IPv6 нет broadcast-адреса, ничего не резервируется из подсети, /64 это стандартный размер сегмента, потому что от него зависит SLAAC. Частные и зарезервированные диапазоны помечены RFC, который их определяет, и любую сеть можно разделить на меньшие подсети по числу хостов, числу подсетей или целевому префиксу.
Заметки для сборки
- Разобранные примеры это тестовые фикстуры:
202.47.56.51/24, деление/25,192.168.10.0/24на четыре/26и2001:db8:85a3::8a2e:370:7334/64. - Раздел /31 это отличительный признак корректности. Оба основных конкурента сообщают /31 с 0 используемых хостов. Не смягчайте формулировку.
- Таблица CIDR, зарезервированные диапазоны и префиксы IPv6 берутся из
data/tech-reference.json. - В режиме IPv6 строка broadcast должна отсутствовать полностью, а не отображаться пустой.
- Строка о конфиденциальности во вводном абзаце это обещание. Ни одно событие аналитики не должно передавать введённые значения на этой странице.
- Количество слов 2 240.