CIDR (Classless Inter-Domain Routing, бесклассовая маршрутизация) — метод распределения IP-адресов и агрегации маршрутов, принятый IETF в 1993 году (RFC 1517-1520). До CIDR адреса распределялись классами: класс A — /8 (16 млн хостов), B — /16 (65 534 хоста), C — /24 (254 хоста). Такая система была расточительной: организации с 500 хостами получали целый блок /16 с 65 534 адресами.
Как работает
CIDR-нотация записывает адрес сети и длину префикса через слеш: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. Число после слеша — количество фиксированных бит маски. Оставшиеся биты определяют пространство хостов:
/24— 256 адресов (254 хоста, 2 служебных)/25— 128 адресов (126 хостов)/30— 4 адреса (2 хоста — типичный p2p-линк)/32— 1 адрес (хост-маршрут)/0— весь интернет (default route, 0.0.0.0/0)
CIDR позволяет агрегировать маршруты: вместо 256 записей /24 можно объявить один /16, снизив размер таблицы маршрутизации. Это ключевое свойство для масштабируемости интернет-маршрутизации через BGP. Региональные регистраторы (RIPE, ARIN, APNIC) выделяют провайдерам блоки CIDR — например, /19 или /20 — вместо фиксированных классов.
История
Классовая система IPv4 появилась в RFC 791 (1981). К началу 1990-х таблицы маршрутизации в интернете росли экспоненциально, угрожая исчерпанием IPv4-адресов и переполнением маршрутизаторов. В 1993 году рабочая группа IETF разработала CIDR (RFC 1517-1520). Одновременно RFC 1518 описал VLSM (Variable Length Subnet Masking) для гибкого разбиения сетей. Внедрение CIDR позволило сократить размер таблиц интернет-маршрутизации и продлило жизнь IPv4 на десятилетия.
CIDR на практике
В хостинге CIDR используется повсюду:
- Провайдер выделяет подсеть клиенту:
185.100.200.0/29(6 хостов). - Файрвол разрешает доступ из конкретной подсети:
10.0.0.0/8. - Docker создаёт подсеть для контейнеров:
172.17.0.0/16. - NAT-правила применяются к диапазону адресов через CIDR.
- BGP-анонс блока
/24— минимальный принимаемый префикс в глобальной таблице маршрутизации.
На что обращать внимание
При настройке брандмауэра неверная CIDR-маска открывает доступ шире, чем нужно. Например, 192.168.1.0/23 включает и 192.168.0.0/24, и 192.168.1.0/24. Инструменты расчёта подсетей (ipcalc, sipcalc) помогают избежать ошибок. Минимальный анонсируемый блок в BGP — /24: более специфичные маршруты (/25 и меньше) большинство провайдеров фильтрует.
CIDR в практике хостинга
При аренде VPS или выделенного сервера провайдер выдаёт IP с маской в CIDR-нотации. Одиночный IP: /32 (1 адрес). Блок /29 даёт 8 адресов (6 используемых). /24 — 256 адресов, минимальный анонсируемый блок в BGP. При настройке iptables правила с CIDR позволяют ограничить доступ к SSH только с определённой подсети: -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT. Для Docker-сетей CIDR задаётся при создании: docker network create --subnet=172.20.0.0/16.