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

**URL:** `/developer-calculators/ip-subnet-calculator` **Schema:** `WebApplication` + `FAQPage` + `BreadcrumbList`

Все расчёты выполняются в браузере. Ничего из введённого не отправляется на сервер.

01 калькулятор

Результаты обновляются при вводе. Ctrl/Cmd+Enter копирует основной результат.

Результат

    Показать решение

      Калькулятор IP-подсети принимает IPv4 или IPv6 адрес с длиной префикса и возвращает сетевой адрес, broadcast-адрес, диапазон используемых хостов, маску подсети, wildcard-маску и число хостов. Каждый результат показан рядом с двоичной операцией, которая его дала, чтобы маску можно было проверить, а не просто доверять. Калькулятор также делит сеть на меньшие подсети и помечает адреса, попадающие в частные или зарезервированные диапазоны.

      Все расчёты выполняются в браузере. Ничего из введённого не отправляется на сервер.

      Вычисление IPv4-подсети по адресу и префиксу

      Concept diagram: Входы leads to IPv4-подсеть по адресу и префиксу leads to РезультатВходыIPv4-подсеть по адресуи префиксуРезультат
      Вычисление IPv4-подсети по адресу и префиксу.

      IPv4-подсеть определяется двумя вещами: 32-битным адресом и длиной префикса, которая говорит, сколько из этих бит идентифицируют сеть. Введите 202.47.56.51/24, и калькулятор читает первые 24 бита как сеть, а оставшиеся 8 как хостовую часть, затем выводит все остальные значения из этого разделения.

      Префикс можно ввести тремя способами, и все три означают одно: нотация CIDR (/24), точечно-десятичная маска подсети (255.255.255.0) или требуемое число хостов, которое калькулятор округляет вверх до ближайшего подходящего префикса. Сетевые инженеры думают в CIDR, документация старого оборудования использует точечно-десятичный формат, а при планировании адресной схемы начинают с числа хостов.

      Сетевой адрес, broadcast и диапазон хостов

      Concept diagram: Входы leads to сетевой адрес, broadcast и диапазон хостов leads to РезультатВходысетевой адрес,broadcast и диапазонхостовРезультат
      Сетевой адрес, 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

      Concept diagram: Входы leads to маска подсети через двоичное AND leads to РезультатВходымаска подсети черездвоичное ANDРезультат
      Применение маски подсети через двоичное 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

      Concept diagram: Входы leads to Подсеть 202.47.56.51 с префиксом /24 leads to РезультатВходыПодсеть 202.47.56.51 спрефиксом /24Результат
      Подсеть 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-префиксов

      Concept diagram: Входы leads to таблица CIDR-префиксов leads to РезультатВходытаблица CIDR-префиксовРезультат
      Таблица CIDR-префиксов.

      Связь между длиной префикса, маской подсети и числом хостов фиксирована, и большая часть работы с подсетями это узнавание нескольких распространённых строк на глаз. /24 даёт 254 хоста, /30 даёт 2, /16 даёт 65 534.

      ПрефиксМаска подсетиВсего адресовИспользуемых хостов
      /8255.0.0.016 777 21616 777 214
      /16255.255.0.065 53665 534
      /20255.255.240.04 0964 094
      /22255.255.252.01 0241 022
      /24255.255.255.0256254
      /25255.255.255.128128126
      /26255.255.255.1926462
      /27255.255.255.2243230
      /28255.255.255.2401614
      /29255.255.255.24886
      /30255.255.255.25242

      Полная таблица от /1 до /32 доступна в калькуляторе. Два паттерна стоит запомнить: всего адресов удваивается при каждом снятом бите префикса, а используемых хостов всегда на два меньше, кроме /31 и /32, которые работают иначе.

      Префиксы /31 и /32

      Concept diagram: Входы leads to префиксы /31 и /32 leads to РезультатВходыпрефиксы /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 записей маршрутизации и анонса одного адреса в протокол маршрутизации.

      Разделение сети на меньшие подсети

      Concept diagram: Входы leads to Разделение сети на меньшие подсети leads to РезультатВходыРазделение сети наменьшие подсетиРезультат
      Разделение сети на меньшие подсети.

      Разделение берёт одну сеть и делит её на равные блоки с более длинным префиксом. Введите начальную сеть и либо целевой префикс, либо нужное число подсетей, либо требуемое число хостов на подсеть, и калькулятор перечислит результаты с их диапазонами.

      Деление 192.168.10.0/24 на четыре подсети значит переход с /24 на /26, потому что 2² = 4:

      ПодсетьСетьИспользуемый диапазонBroadcast
      1192.168.10.0/26.1-.62192.168.10.63
      2192.168.10.64/26.65-.126192.168.10.127
      3192.168.10.128/26.129-.190192.168.10.191
      4192.168.10.192/26.193-.254192.168.10.255

      Реальные адресные планы редко требуют равных блоков. VLSM назначает каждому сегменту только нужный префикс: /30 для линка маршрутизаторов, /26 для небольшого офиса, /23 для большой пользовательской VLAN, поэтому ввод требуемого числа хостов обычно полезнее, чем ввод числа подсетей. Выделяйте крупнейшие блоки первыми, с начала диапазона, иначе план фрагментируется.

      Частные и зарезервированные диапазоны

      Concept diagram: Входы leads to Частные и зарезервированные диапазоны leads to РезультатВходыЧастные изарезервированныедиапазоныРезультат
      Частные и зарезервированные диапазоны.

      Некоторые блоки адресов зарезервированы и никогда не маршрутизируются в публичном интернете. Калькулятор помечает любой адрес, попадающий в такой блок, с 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/8LoopbackRFC 1122
      169.254.0.0/16Link-local, APIPARFC 3927
      100.64.0.0/10Carrier-grade NATRFC 6598
      192.0.2.0/24ДокументацияRFC 5737
      224.0.0.0/4MulticastRFC 5771

      Устройство с адресом 169.254.x.x не получило DHCP-аренду и назначило себе link-local адрес. Этот один факт закрывает большую долю обращений «нет интернета», и адрес это диагноз.

      Диапазон 100.64.0.0/10 подставляет ловушку, потому что выглядит публичным. Он зарезервирован для carrier-grade NAT, и его вид на WAN-интерфейсе значит, что провайдер не даёт публичный адрес.

      Вычисление IPv6-подсети

      Concept diagram: Входы leads to вычисление IPv6-подсети leads to РезультатВходывычисление IPv6-подсетиРезультат
      Вычисление 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

      Concept diagram: Входы leads to классы адресов и замена CIDR leads to РезультатВходыклассы адресов и заменаCIDRРезультат
      Классы адресов и почему их заменил 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.