Перейти к содержанию

CIDR — бесклассовая адресация и запись префикса

Запись 192.168.1.10/24 встречается в настройках роутеров, в примерах ESP-IDF и в любой документации по сетям. Косая черта и число после неё — это нотация CIDR: короткий способ указать маску. А сама CIDR — схема, которая в 1990-х заменила классы адресов.

Обновлено Редакция GAW

CIDR (Classless Inter-Domain Routing, бесклассовая междоменная маршрутизация) — схема адресации IPv4, в которой граница между номером сети и номером узла задаётся явно длиной префикса, а не классом адреса. RFC 4632 описывает её как отказ от классов A, B и C в пользу бесклассовых иерархических блоков — префиксов, — которые распределяют по топологии сети, чтобы маршруты можно было объединять (разд. 3).

Запись префикса

В нотации CIDR префикс записывают как адрес из четырёх октетов, косую черту и число от 0 до 32 — сколько старших бит составляют номер сети (RFC 4632, разд. 3.1). Это то же самое, что маска подсети, только короче:

ПрефиксМаскаАдресов в блокеУзлов
/16255.255.0.065 53665 534
/24255.255.255.0256254
/26255.255.255.1926462
/30255.255.255.25242
/31255.255.255.25422 на канале точка-точка (RFC 3021)
/32255.255.255.2551маршрут к одному узлу

Число адресов — 232−n; узлов на два меньше, потому что адрес сети и широковещательный адрес служебные (расчёт наш). Исключения — /31 на каналах точка-точка, где по RFC 3021 оба адреса узловые, и /32. Префикс /0 означает маршрут по умолчанию — «весь интернет».

Примеры из RFC 4632: бывшая сеть класса B 172.16.0.0 с маской 255.255.0.0 — это 172.16.0.0/16, бывшая сеть класса C 192.168.99.0 — 192.168.99.0/24.

Зачем отказались от классов

В классовой схеме было всего три размера сетей. CIDR позволяет блок любого размера, равного степени двойки, — от одного адреса до 232 — и выдавать организациям столько, сколько им нужно, а соседние блоки объявлять одним маршрутом (агрегация). RFC 4632 отмечает, что схема задумывалась как временная мера на три–пять лет, но надолго пережила этот срок и стала «среднесрочным решением» (mid-term solution), а заодно замедлила расход адресов IPv4 (разд. 3).

На практике

В настройках микроконтроллера префикс часто вводят маской, а в документации и роутерах пишут через косую черту. Перевод между ними и деление сети на подсети делает калькулятор подсетей IPv4; двоичную запись октетов поможет проверить калькулятор двоичной арифметики. Блоки частных адресов тоже записывают в CIDR: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 — см. «Частные IP-адреса».

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

Что значит /24 после IP-адреса?

Что первые 24 бита адреса — номер сети, то есть маска 255.255.255.0. В блоке /24 2^(32−24) = 256 адресов (RFC 4632, разд. 3.1); узлам из них обычно достаётся 254, потому что адрес сети и широковещательный — служебные.

Как перевести префикс в маску?

Записать n единиц и 32 − n нулей и разбить на октеты. /20 — 11111111.11111111.11110000.00000000 = 255.255.240.0; /26 — 255.255.255.192 (наш расчёт). Обратный перевод — посчитать единицы в маске.

Чем CIDR лучше классов A, B, C?

Размером блоков. В классовой схеме было всего три размера сетей, а CIDR позволяет блок любого размера, равного степени двойки, от 1 до 2³² адресов, и объединять соседние блоки в один маршрут (RFC 4632, разд. 3 и 3.1).

Источники

  1. IETF. RFC 4632: Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan (2006) — разд. 3: классы A/B/C отменены в пользу бесклассовых иерархических блоков (префиксов), назначаемых по топологии, чтобы маршруты можно было агрегировать; CIDR задумывался на 3–5 лет, но надолго пережил ожидания; разд. 3.1: префикс записывают как 4 октета, «/» и число от 0 до 32 значащих бит; 172.16.0.0 с маской 255.255.0.0 — 172.16.0.0/16, 192.168.99.0 — /24; блок любого размера, равного степени двойки, от 1 до 2³² адресов; таблица префиксов: /32 — маршрут к узлу, /0 — маршрут по умолчанию
  2. IETF. RFC 3021: Using 31-Bit Prefixes on IPv4 Point-to-Point Links (2000) — разд. 2.1–2.2: на канале точка-точка с /31 оба адреса — адреса узлов, направленной широковещательной рассылки нет

Нашли ошибку?