Калькулятор IPv4
Интерактивный калькулятор адресов: маска, сеть, широковещательный, первый и последний узел, деление на подсети. С разбором формул и двоичным видом каждого шага.
Интерактивный разбор адреса IPv4: маска, сеть, широковещательный, границы диапазона и деление на подсети — с формулами и двоичным видом каждого шага.
Вводите адрес с префиксом — получаете всё остальное: маску, обратную маску, адрес сети, широковещательный, первый и последний узел, размер сети и назначение диапазона. Ползунок двигает границу сети по битам, кнопки делят сеть на равные части.
Считается на месте, в браузере. Ни один адрес никуда не отправляется: сервер отдаёт страницу и больше в вычислениях не участвует.
Что понимает поле ввода
| Запись | Пример |
|---|---|
| адрес с префиксом | 185.135.41.5/24 |
| адрес с маской через пробел | 172.16.20.55 255.255.240.0 |
| голый адрес | 10.0.0.7 — считается как /32 |
Неправильную маску калькулятор не принимает: 255.255.0.255 записывается, но маской не является — единицы в ней обязаны идти подряд. Адрес с ведущим нулём (10.0.0.010) тоже отвергается: часть систем читает такой октет как восьмеричное число, и адрес молча означал бы не то, что написано.
Что он показывает
- Адрес: узел, префикс, маска, обратная маска для правил ACL и OSPF.
- Сеть: адрес сети, широковещательный, первый и последний узел. У
/31широковещательного нет — оба адреса рабочие, это звено между маршрутизаторами по RFC 3021. У/32сети нет вовсе, это один узел. - Размер: всего адресов, сколько из них можно раздать, рабочий диапазон.
- Назначение: частный, CGNAT, петля, link-local, многоадресный или публичный — с указанием документа, который занял диапазон.
- Двоичный вид адреса, маски и сети: сетевая часть цветом, узловая приглушённо. Видно, где именно проходит граница.
- Деление на подсети: одна кнопка — и
/24превращается в четыре/26с готовыми диапазонами.
На чём всё держится
Шесть формул, всё остальное из них выводится:
маска = 2³² − 2⁽³²⁻ᵖ⁾
сеть = адрес AND маска
wildcard = NOT маска
bcast = сеть OR wildcard
всего = 2⁽³²⁻ᵖ⁾
узлам = 2⁽³²⁻ᵖ⁾ − 2
Отсюда же следует то, что новичка обычно удивляет: любой адрес из сети даёт один и тот же адрес сети, поэтому 185.135.41.5/24 и 185.135.41.200/24 — это одна и та же сеть 185.135.41.0/24.
На странице каждая формула разобрана отдельно, с примером в битах. Рядом — справочник префиксов от /8 до /32, таблица занятых диапазонов и шесть ошибок, которые стоят вечера: от «172.x — это частный диапазон» (нет, только 172.16–172.31) до разных масок на одном сегменте.
Как проверялось
Арифметика вынесена в отдельный модуль без единой строчки про интерфейс, и на неё написаны тесты: границы /0, /30, /31, /32, маски с разрывом, ведущие нули, определение частных диапазонов, деление сети на части. Числа на странице берутся из тех же функций, что и в тестах, — разойтись им негде.
К проекту пока не приложено файлов.
Пока тихо. Будь первым.
Войди, чтобы оставить комментарий.