Преобразуйте IPv4-адрес между точечно-десятичной, 32-битной десятичной, шестнадцатеричной и двоичной формами и увидьте его вид in-addr.arpa.
Один адрес — все представления. Переключайтесь между точечно-десятичной, 32-битной целочисленной, шестнадцатеричной и двоичной формами любого IPv4-адреса, а также обратным DNS-именем in-addr.arpa. Чистая математика, работает в браузере.
Недействительный IPv4-адрес
Десятичная (uint32)
–
Шестнадцатеричная
–
Двоичная
–
in-addr.arpa
–
Один адрес, четыре записи
Биты за точками
IPv4-адрес — это одно беззнаковое 32-битное целое. Привычная точечно-десятичная форма — лишь соглашение об отображении: 192.168.1.1 — это четыре 8-битных блока, записанных десятично и соединённых точками, что читается куда легче, чем реальное значение 3232235777. Любая запись на этой странице — одно и то же число в разной одежде, поэтому преобразование между ними никогда не теряет информацию.
Десятичная форма — это целое число, записанное целиком. Шестнадцатеричная форма группирует 32 бита в 8 шестнадцатеричных цифр, что удобно, потому что каждая пара цифр отображается ровно в один октет — 0xC0A80101 чисто делится на C0, A8, 01, 01. Двоичная форма делает границы битов видимыми, что и нужно, когда вы рассуждаете о масках сети.
Где встречается каждая запись
Целочисленная форма появляется везде, где адрес нужно дёшево хранить или сравнивать. Базы данных используют её, потому что INT UNSIGNED сортируется и сканирует диапазоны быстрее, чем строка, поэтому WHERE ip BETWEEN x AND y превращается в поиск по индексу. Конвейеры логов и таблицы GeoIP передают диапазоны парами целых чисел по той же причине.
Шестнадцатеричная форма встречается в дампах пакетов, структурах ядра и старых форматах конфигов. Двоичная — в основном учебная и отладочная подсказка: выстройте адрес против его маски подсети в двоичном виде, и разделение сеть/узел перестаёт быть абстракцией.
Обратный DNS и in-addr.arpa
Прямой DNS сопоставляет имя с адресом. Обратный DNS делает обратное, и поскольку DNS делегирует полномочия слева направо, а IPv4 становится конкретнее слева направо, октеты приходится переворачивать. 192.168.1.1 превращается в 1.1.168.192.in-addr.arpa, а PTR-запись с этим именем даёт имя хоста. Почтовые серверы проверяют это регулярно — отсутствующий или несовпадающий PTR — частая причина, по которой легитимная почта помечается как спам.
Часто задаваемые вопросы
Для чего нужна десятичная форма?
Это адрес, прочитанный как одно беззнаковое 32-битное целое. Базы данных, фаерволы и таблицы geo-IP часто хранят адреса так, потому что диапазонные сравнения целых чисел дёшевы.
Почему для 255.255.255.255 показывается 4294967295?
Потому что преобразование — беззнаковое. Языки, трактующие результат как знаковое 32-битное целое, выдают -1 для того же адреса; этот инструмент всегда показывает беззнаковое значение.
Что такое форма in-addr.arpa?
Это имя, используемое для обратных DNS-запросов. Октеты переворачиваются и добавляется суффикс, поэтому 192.168.1.1 превращается в 1.1.168.192.in-addr.arpa.
Почему двоичное показывается четырьмя группами?
Каждая группа — это один октет. Разбиение по точкам позволяет легко увидеть, где именно маска подсети режет адрес, — обычно это единственная причина читать двоичный вид вообще.
Обрабатывает ли это IPv6?
Нет, этот конвертер только для IPv4. IPv6-адреса — 128 бит и используют другую текстовую запись с гексетами и сжатием ::.
Что-нибудь отправляется на сервер?
Нет. Преобразование — чистая арифметика, работающая в браузере, поэтому адреса, которые вы вставляете, никогда не покидают страницу.