Открыть сервис

CIDR

Classless Inter-Domain Routing (CIDR) — это метод адресации и маршрутизации в компьютерных сетях, основанный на протоколе IP, который позволяет гибко делить пространство IP-адресов на подсети произвольного размера и агрегировать (объединять) маршрутные записи. Разработан в 1993 году как замена устаревшей классовой архитектуре адресации (Classful Networking), CIDR обеспечил более эффективное использование адресного пространства и снизил нагрузку на маршрутизаторы магистральных сетей.

История возникновения

Проблемы классовой адресации

В первоначальной архитектуре интернета (до 1993 года) использовалась классовая адресация, где IP-адреса были жёстко разделены на три основных класса: A, B и C. Сети класса A содержали 16 777 216 адресов, класса B — 65 536, класса C — 256. Этот подход приводил к неэффективному расходу адресов: организациям, которым требовалось более 256 адресов, выдавалась сеть класса B, в которой чаще всего оставалась огромная неиспользуемая часть адресного пространства. Кроме того, маршрутизаторы в глобальной сети должны были хранить записи обо всех этих сетях, что приводило к быстрому росту таблиц маршрутизации.

Разработка стандарта

В 1992 году Инженерный совет Интернета (IETF) создал рабочую группу для решения проблемы исчерпания адресного пространства и роста маршрутных таблиц. Результатом стал стандарт RFC 1517—1520, опубликованный в сентябре 1993 года. Метод получил название Classless Inter-Domain Routing, или бесклассовая междоменная маршрутизация. Одним из ключевых нововведений стала концепция префикса сети, задаваемого в формате «IP-адрес/длина маски».

Внедрение

Внедрение CIDR началось в 1994 году и шло поэтапно: сначала — на основных магистральных маршрутизаторах, затем — у региональных интернет-регистраторов (RIR) и провайдеров. К середине 1990-х годов CIDR стал обязательным стандартом для работы в глобальной сети.

Основные понятия и принципы

Префикс и маска подсети

В системе CIDR каждый IP-адрес сопровождается указанием длины префикса — числа бит, определяющих сетевую часть адреса. Длина префикса записывается после косой черты: например, 192.168.0.0/24 означает, что первые 24 бита (три октета) являются адресом сети, а оставшиеся 8 бит — адресом узла внутри этой сети. Маска подсети в такой записи — 255.255.255.0.

Деление на подсети (Subnetting)

CIDR позволяет делить крупные сети на подсети произвольного размера. Например, сеть 10.0.0.0/8 (размер — 16 777 216 адресов) может быть разделена на 256 подсетей /16 (по 65 536 адресов) или на 65 536 подсетей /24 (по 256 адресов). Для этого нужно просто изменять длину маски, не привязываясь к границам классов.

Агрегация маршрутов (Supernetting)

Обратная операция — объединение нескольких меньших сетей в одну большую — называется агрегацией или суперсетью. Если у провайдера есть диапазон 192.168.0.0/22, он может объявить о маршрутизации всего блока целиком, а не отдельных /24 подсетей. Это кардинально уменьшает размер таблиц маршрутизации в магистральных маршрутизаторах.

Запись и формат CIDR

Стандартная запись

Формат CIDR выглядит так: <IPv4-адрес>/<длина префикса>, где длина префикса — целое число от 0 до 32 для IPv4. Примеры корректной записи:

Для IPv6 длина префикса может быть от 0 до 128, например, 2001:db8::/32.

Эквивалентность маске подсети

Длина префикса напрямую связана с маской подсети (netmask):

Таблица соответствия длины префикса и количества адресов

Длина префиксаМаска подсетиЧисло адресов узловКласс (для справки)
/32255.255.255.2551— (один хост)
/30255.255.255.2524
/29255.255.255.2488
/28255.255.255.24016
/24255.255.255.0256C
/16255.255.0.065 536B
/8255.0.0.016 777 216A
/00.0.0.0~4,3 миллиарда (весь IPv4)

Примечание: Из общего числа адресов в подсети вычитаются два: широковещательный адрес (все единицы) и адрес самой сети (все нули). Например, в подсети /24 доступно 254 узла, а не 256.

Применение

Распределение адресов провайдерами

Региональные интернет-регистраторы (RIPE NCC, ARIN, APNIC и др.) выдают блочные диапазоны адресов провайдерам именно в формате CIDR. Провайдеры, в свою очередь, делят полученные блоки на более мелкие подсети для клиентов. Например, провайдер может получить блок /20 (4096 адресов) и выделить клиенту подсеть /27 (32 адреса).

Конфигурация сетей

CIDR повсеместно используется при настройке маршрутизаторов, межсетевых экранов, серверов DHCP и другого сетевого оборудования. Большинство современных протоколов (OSPF, BGP, RIP версии 2) поддерживают CIDR.

Оптимизация маршрутизации

Благодаря агрегации, операторы связи могут объявлять о своих адресных блоках всего несколькими записями. Например, провайдер с блоком /16 может не раскрывать внутреннюю структуру своей сети — он просто сообщает магистральным маршрутизаторам: «Все адреса из этого /16 находятся у меня».

Виртуализация и облачные вычисления

Платформы облачных вычислений (AWS, Google Cloud, Яндекс.Облако) при создании виртуальных частных облаков (VPC) используют CIDR для задания диапазона внутренних IP-адресов. Например, можно задать VPC с диапазоном 10.0.0.0/16, а затем разделить его на подсети /24 в разных зонах доступности.

Сравнение с классовой адресацией

ПараметрКлассовая адресацияCIDR
Фиксированные размеры сетейДа (A, B, C)Нет (любое число)
ЗаписьТолько IP-адресIP-адрес/маска
Эффективность использования адресовНизкая (много пропадает)Высокая
Размер таблицы маршрутизацииОгромныйМеньше (благодаря агрегации)
Поддержка в современных протоколахНетДа

Ограничения и критика

Исчерпание адресов IPv4

CIDR лишь отсрочил, но не решил фундаментальную проблему нехватки IPv4-адресов. К 2011 году IANA распределила все блоки адресов верхнего уровня, а к 2020 году большинство региональных регистраторов исчерпали свои пулы. Решением стало внедрение протокола IPv6, где используется аналогичная система префиксов, но в значительно большем адресном пространстве (128 бит).

Сложность расчётов

Для расчёта подсетей CIDR вручную требуется знание двоичной арифметики. Хотя существуют онлайн-калькуляторы, начинающим администраторам может быть неочевидно, как найти широковещательный адрес или допустимый диапазон адресов узлов.

Несовместимость с устаревшими протоколами

Некоторые старые протоколы маршрутизации, такие как RIPv1 и IGRP, не поддерживают CIDR. Поэтому при использовании такого оборудования требуется особая конфигурация или полная замена.

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →