Что такое калькулятор диапазона IP-адресов по CIDR?
Этот инструмент принимает IPv4-адрес в десятичном виде с точками и длину сетевого префикса CIDR, после чего рассчитывает всю подсеть: адрес сети, широковещательный (broadcast) адрес, диапазон назначаемых адресов хостов, маску подсети, wildcard-маску и количество адресов. В основе лежит бесклассовая адресация CIDR (RFC 4632), а работает он одинаково в любой точке мира — IP-адресация является универсальным стандартом и не зависит от региона или страны.
Как пользоваться калькулятором
Введите четыре октета IPv4-адреса (каждый от 0 до 255), например 128, 1, 10, 164, и длину префикса после слэша (от 0 до 32), например 24 — получится 128.1.10.164/24. Калькулятор выделяет главный результат — диапазон назначаемых хостов — и приводит ниже все производные значения.
Как работает формула
Сначала адрес «упаковывается» в одно 32-битное беззнаковое число: \( \text{ip} = \text{октет}_1 \times 2^{24} + \text{октет}_2 \times 2^{16} + \text{октет}_3 \times 2^{8} + \text{октет}_4 \). У маски подсети первые p бит установлены в 1, где p — длина префикса. Адрес сети равен ip AND маска; широковещательный адрес — это сеть OR wildcard (побитовое дополнение маски). Первый доступный хост — это сеть + 1, а последний доступный хост — broadcast − 1. Всего адресов: \( 2^{32-p} \), а число доступных хостов равно этому значению минус 2, но не меньше 0.
$$\text{Network} = \text{IP} \mathbin{\&} M, \qquad \text{Broadcast} = \text{Network} \mid \lnot M$$$$\text{where}\quad \left\{ \begin{aligned} \text{IP} &= \left(\text{Oct}_1 \ll 24\right) \mid \left(\text{Oct}_2 \ll 16\right) \mid \left(\text{Oct}_3 \ll 8\right) \mid \text{Oct}_4 \\ M &= \left(2^{\text{Prefix}}-1\right) \ll \left(32 - \text{Prefix}\right) \\ \text{Total} &= 2^{\,32 - \text{Prefix}}, \quad \text{Usable} = \text{Total} - 2 \end{aligned} \right.$$
Разбор примера
Для 128.1.10.164/24 маска равна 255.255.255.0, а wildcard-маска — 0.0.0.255. Адрес сети — 128.1.10.0, широковещательный адрес — 128.1.10.255. Диапазон назначаемых адресов: от 128.1.10.1 до 128.1.10.254. Всего \( 2^{32-24} = 256 \) адресов и \( 256 - 2 = 254 \) доступных хоста.
Частые вопросы
Почему доступных хостов на два меньше, чем всего адресов? В классической схеме подсетей IPv4 адрес сети и широковещательный адрес нельзя назначить хосту, поэтому /24 с его 256 адресами даёт 254 доступных хоста.
Как быть с /31 и /32? В /31 помещается 2 адреса, а в /32 — 1; классическая формула выдаёт для обоих 0 доступных хостов, хотя RFC 3021 разрешает использовать оба адреса /31 на каналах «точка-точка».
Что такое wildcard-маска? Это побитовая инверсия маски подсети (0 там, где у маски 1, и наоборот). Её часто применяют в списках контроля доступа (ACL) на маршрутизаторах для сопоставления диапазона адресов.