Что такое калькулятор сетевого и широковещательного адреса?
Этот инструмент принимает IPv4-адрес и префикс CIDR (например, /24) и вычисляет сетевой адрес, широковещательный адрес (broadcast), маску подсети, диапазон доступных хостов и количество адресов в подсети. Это универсальный сетевой инструмент, основанный на стандартной побитовой арифметике IPv4, — он одинаково работает с любыми частными и публичными адресами.
Как пользоваться
Введите четыре октета IPv4-адреса (каждый в диапазоне 0–255) и длину префикса подсети (0–32). Нажмите «Рассчитать», чтобы увидеть границы сети и broadcast, а также количество хостов. Например, хост 192.168.1.130/24 относится к сети 192.168.1.0 с широковещательным адресом 192.168.1.255.
Разбор формулы
IPv4-адрес и его маска подсети — это 32-битные числа. У маски для префикса /n старшие n битов установлены в 1, а остальные — в 0. Все расчёты сводятся к чистым побитовым операциям:
$$\begin{gathered} \text{Network} = \text{IP} \mathbin{\&} \text{Mask} \qquad \text{Broadcast} = \text{Network} \mid \overline{\text{Mask}} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{IP} &= (\text{O1} \ll 24) \mid (\text{O2} \ll 16) \mid (\text{O3} \ll 8) \mid \text{O4} \\ \text{Mask} &= \text{0xFFFFFFFF} \ll (32 - \text{/n}) \\ \overline{\text{Mask}} &= \lnot\,\text{Mask}\ \ (\text{wildcard}) \end{aligned} \right. \end{gathered}$$сеть = IP AND маска — обнуляет все биты хоста, оставляя базовый адрес подсети. broadcast = сеть OR (NOT маска) — устанавливает все биты хоста в 1, давая старший адрес подсети. Общее число адресов равно \(2^{32-n}\); количество доступных хостов меньше на 2 (один адрес сети, один — broadcast) для префиксов до /30.
$$\text{Usable Hosts} = 2^{\,32 - \text{/n}} - 2$$
Пример расчёта
Для 10.0.0.200 /26: маска /26 — это 255.255.255.192. \(200 \mathbin{\&} 192 = 192\), поэтому сеть — 10.0.0.192. Битов хоста — 6, значит всего \(2^6 = 64\) адреса, broadcast — 10.0.0.255, а доступных хостов — \(64 - 2 = 62\).
Частые вопросы
Почему из числа хостов вычитают 2? Сетевой адрес (все биты хоста равны 0) и широковещательный адрес (все биты хоста равны 1) нельзя назначить устройствам.
Как быть с /31 и /32? Префикс /31 — это соединение «точка-точка» с 2 доступными адресами (RFC 3021), а /32 — это один-единственный хост. Калькулятор корректно обрабатывает эти особые случаи.
Важна ли хостовая часть введённого адреса? Нет — любой адрес внутри подсети даёт одинаковые сеть и broadcast, ведь биты хоста всё равно маскируются.