Сети

Что такое CIDR и как читать префикс сети

Запись вида 192.0.2.0/24 описывает общий сетевой префикс, а не один адрес; её смысл зависит от длины префикса и контекста маршрутизации.

CIDR, Classless Inter-Domain Routing, описывает IP-префикс записью из адреса и длины общей начальной части: 192.0.2.0/24 или 2001:db8::/32. Число после косой черты сообщает, сколько старших битов фиксировано как префикс. Остальные биты различают адреса внутри блока.

CIDR используется в маршрутизации, сетевых правилах, облачных подсетях и документации. Запись с косой чертой не обязательно означает, что весь диапазон принадлежит одному сайту или доступен для назначения. Контекст определяет, является ли это маршрутом, выделением, подсетью или фильтром.

Длина префикса и размер блока

IPv4-адрес состоит из 32 бит. Префикс /24 фиксирует 24 бита и оставляет 8, поэтому описывает 2^8 = 256 адресных значений. /32 оставляет ноль переменных битов и обозначает один IPv4-адрес. /0 охватывает всё адресное пространство IPv4 и требует особой осторожности в правилах доступа.

Для IPv6 длина находится между /0 и /128. /128 обозначает один адрес. Даже привычный IPv6-префикс /64 содержит 2^64 значений, поэтому его нельзя практически «перебрать» как маленькую IPv4-подсеть.

Чем больше длина префикса, тем меньше блок. Это иногда формулируют наоборот из-за визуально большего числа после /, поэтому полезно всегда считать оставшиеся биты.

Связь с маской IPv4

IPv4-префикс можно представить десятичной маской. /24 соответствует 255.255.255.0, /16 - 255.255.0.0, /32 - 255.255.255.255. В корректной сетевой маске единичные биты идут непрерывно слева, а затем следуют нули.

Для /26 двоичная маска заканчивается октетом 11000000, то есть десятичным 192. Полная маска будет 255.255.255.192, а размер блока составит 64 адреса.

IPv6 обычно записывают непосредственно с длиной префикса, а не с длинной шестнадцатеричной маской. Общая идея остаётся той же: сравниваются начальные биты.

Практический пример границ

Возьмём документационный префикс 192.0.2.64/26. Диапазон 192.0.2.0/24 делится на четыре блока по 64 значения:

  • 192.0.2.0/26 охватывает последние октеты от 0 до 63;
  • 192.0.2.64/26 охватывает от 64 до 127;
  • 192.0.2.128/26 охватывает от 128 до 191;
  • 192.0.2.192/26 охватывает от 192 до 255.

У выбранного блока первые 26 бит общие, поэтому его выровненная граница начинается на 64. Запись 192.0.2.70/26 часто нормализуют к тому же сетевому префиксу 192.0.2.64/26: адрес 70 находится внутри блока, но не является его начальной границей.

Команда ipcalc, если пакет установлен локально, помогает проверить расчёт без отправки сетевого трафика:

ipcalc 192.0.2.64/26

Формат вывода и трактовка «доступных хостов» зависят от реализации. Для размера математического блока используйте число оставшихся битов. Не применяйте универсальное «минус два»: специальные префиксы /31, /32, IPv6 и разные типы интерфейсов имеют иные правила использования.

CIDR в allowlist и firewall

Ошибка в длине префикса меняет масштаб доступа. Разрешение 203.0.113.17/32 относится к одному IPv4-адресу, а 203.0.113.0/24 - к 256 значениям. Случайный /0 может сделать правило глобальным. Перед применением:

  1. получите диапазон из официального источника поставщика;
  2. нормализуйте его до сетевой границы;
  3. посчитайте первый, последний адрес и общий размер;
  4. проверьте пересечения с существующими правилами;
  5. используйте принцип минимально необходимого доступа;
  6. предусмотрите журналирование и способ безопасного отката.

Не копируйте текущий IP сайта в постоянный allowlist, если сервис работает через CDN или меняет адреса. Проверка IP показывает сведения о конкретном адресе и диапазоне на момент запроса, но не заменяет поддерживаемый поставщиком список сетей.

Агрегация и более специфичные префиксы

CIDR позволяет объединять соседние выровненные блоки в агрегированный маршрут. Например, два подходящих /25 могут быть представлены одним /24. Но арифметическая возможность не означает право объявлять маршрут или использовать адреса.

В таблице маршрутизации при совпадении нескольких маршрутов обычно выбирается наиболее длинный, то есть наиболее специфичный префикс. Это отличается от порядка правил конкретного firewall, где могут действовать дополнительные приоритеты и логика. Не переносите правило маршрутизации механически в продукт безопасности без его документации.

Для IPv6 сжатие нулей через :: меняет запись, но не значение адреса. Перед сравнением префиксов нормализуйте форму специализированной библиотекой. Строковое сравнение может ошибочно считать эквивалентные представления разными.

Частые ошибки

  • Считать /24 одним адресом или номером порта.
  • Думать, что большее число после / означает больший диапазон.
  • Принимать адрес внутри блока за корректную сетевую границу.
  • Всегда вычитать сетевой и широковещательный адрес независимо от контекста.
  • Путать сведения о держателе диапазона с владельцем каждого сайта на нём.
  • Расширять allowlist ради быстрого исправления, не оценивая число добавленных адресов.
  • Перебирать чужой CIDR сканером без разрешения.
  • Сравнивать IPv6-префиксы как ненормализованные текстовые строки.

Если нужно исследовать один адрес, дополните данные диапазона обратным DNS, но сохраняйте границы вывода: CIDR, регистрационная запись и PTR отвечают на разные вопросы и вместе не доказывают фактическое владение сервисом.

Частые вопросы

Что означает число после косой черты в CIDR?

Это длина сетевого префикса в битах. В IPv4 она находится в диапазоне от /0 до /32, а в IPv6 - от /0 до /128. Чем больше число, тем меньше адресный блок при прочих равных.

Сколько адресов содержит IPv4-префикс /24?

Префикс /24 оставляет 8 бит для адресов и описывает 2^8, то есть 256 значений. Сколько из них можно назначить интерфейсам, зависит от протокола и контекста подсети, поэтому правило вычитания двух нельзя бездумно применять ко всем префиксам.

Можно ли определить владельца сети только по CIDR?

Нет. CIDR описывает набор адресов, но не удостоверяет текущего пользователя каждого адреса. Регистрационные данные диапазона, маршруты, субделегирование, облачная аренда и фактический оператор сервиса могут указывать на разные стороны.

Проверить на практике

Связанные термины

Источники

  1. RFC 4632: Classless Inter-domain Routing (CIDR)
  2. RFC 4291: IP Version 6 Addressing Architecture
  3. RFC 5737: IPv4 Address Blocks Reserved for Documentation
  4. RFC 3849: IPv6 Address Prefix Reserved for Documentation

Как узнать IP-адрес сайта

IP-адрес сайта получают из DNS, но один домен может вести на несколько узлов, а CDN способен менять ответ в зависимости от сети пользователя.

Как проверить доступность порта

Успешное TCP-соединение подтверждает достижимость точки в момент проверки, но не гарантирует исправность приложения или доступность из другой сети.

Что такое PTR-запись и обратный DNS

PTR используется для обратного DNS-поиска, но не является доказательством владельца IP и настраивается обычно у оператора адресного диапазона.

IPv4 и IPv6: в чём разница

IPv4 и IPv6 различаются адресным пространством и работой протокола, а совместимость зависит от DNS, выбора адреса и реальной доступности сервера.