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). Это то же самое, что маска подсети, только короче:
| Префикс | Маска | Адресов в блоке | Узлов |
|---|---|---|---|
| /16 | 255.255.0.0 | 65 536 | 65 534 |
| /24 | 255.255.255.0 | 256 | 254 |
| /26 | 255.255.255.192 | 64 | 62 |
| /30 | 255.255.255.252 | 4 | 2 |
| /31 | 255.255.255.254 | 2 | 2 на канале точка-точка (RFC 3021) |
| /32 | 255.255.255.255 | 1 | маршрут к одному узлу |
Число адресов — 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).
Источники
- 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 — маршрут по умолчанию
- IETF. RFC 3021: Using 31-Bit Prefixes on IPv4 Point-to-Point Links (2000) — разд. 2.1–2.2: на канале точка-точка с /31 оба адреса — адреса узлов, направленной широковещательной рассылки нет
Нашли ошибку?
Смотрите также
- Калькулятор подсетей IPv4Маска и CIDR, сеть, broadcast, узлы, частные диапазоны, деление на подсети
- Маска подсети32 бита: единицы — номер сети, нули — номер узла; 255.255.255.0 = /24
- Частные IP-адреса10/8, 172.16/12, 192.168/16: адреса локальных сетей, не маршрутизируемые в интернет
- Широковещательный адресАдрес «всем узлам»: 255.255.255.255 или все единицы в части узла
- Ethernet для микроконтроллераW5500, ENC28J60, MAC + PHY по RMII, LAN8720, DP83848, трансформатор и разводка
- Двоичная арифметика и флагиСложение, вычитание, умножение, деление, сдвиги; флаги C, V, N, Z AVR и Cortex-M