Что такое калькулятор хостов в подсети?
Этот инструмент показывает, сколько доступных для устройств IP-адресов помещается в подсеть IPv4, исходя из длины префикса CIDR — это число после косой черты в записи вида 192.168.1.0/24. Длина префикса равна количеству бит, отведённых под сетевую часть адреса; оставшиеся биты используются для адресации отдельных хостов.
Как пользоваться калькулятором
Введите длину префикса в диапазоне от 0 до 32 — и сразу увидите количество доступных хостов. В результатах также отображаются число хостовых бит и общее количество адресов, чтобы было наглядно видно, откуда берётся итоговое значение.
Разбираем формулу
Адрес IPv4 состоит из 32 бит. При префиксе p под хостовую часть остаётся \(32 - p\) бит, что даёт \(2^{(32 - p)}\) адресов в сумме. Два из них зарезервированы: адрес сети (все хостовые биты равны 0) и широковещательный адрес (все хостовые биты равны 1). Поэтому число доступных хостов вычисляется как
$$\text{Usable Hosts} = 2^{\left(32 - \text{Prefix } /n\right)} - 2$$
Пример расчёта
Для подсети /24: хостовых бит = \(32 - 24 = 8\), всего адресов = \(2^8 = 256\), доступных хостов = \(256 - 2 = \mathbf{254}\). Подсеть /30 (часто применяется для каналов «точка — точка») даёт \(2^2 - 2 = \mathbf{2}\) доступных хоста.
Частые вопросы
Почему вычитаем 2? Первый адрес обозначает саму сеть, а последний является широковещательным, поэтому ни тот, ни другой нельзя назначить устройству в классической схеме IPv4.
А как насчёт /31 и /32? По классической формуле /31 даёт 0 доступных хостов, хотя стандарт RFC 3021 разрешает использовать оба адреса на каналах «точка — точка». /32 представляет собой маршрут к одному узлу. Этот калькулятор не опускает значение доступных хостов ниже 0.
Подходит ли это для IPv6? Нет — формула рассчитана на IPv4 с его 32-битными адресами. В IPv6 используются 128-битные адреса, и там адреса сети и широковещания не резервируются таким же образом.