Что такое CIDR?

«Что такое CIDR?» — вопрос из категории Сети, который задают на 24% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

CIDR (Classless Inter-Domain Routing) — это метод бесклассовой адресации, который заменил устаревшую классовую систему (A, B, C). Он позволяет гибко определять размер сети с помощью записи IP-адрес/префикс, где префикс указывает количество бит в сетевой части адреса.

Как это работает: Адрес 192.168.1.0/24 означает:

  • Сетевой адрес: 192.168.1.0
  • Маска подсети: 255.255.255.0 (24 единичных бита слева)
  • Диапазон хостов: 192.168.1.1 — 192.168.1.254
  • Широковещательный адрес: 192.168.1.255

Практическое применение в DevOps:

  1. Проектирование VPC/Cloud Networks: В AWS VPC я обычно создаю сеть /16 (например, 10.0.0.0/16) и разбиваю её на публичные и приватные подсети размером /24 в разных AZ.
    10.0.1.0/24 — public-subnet-a
    10.0.2.0/24 — private-subnet-a
    10.0.3.0/24 — public-subnet-b
  2. Безопасность: CIDR-блоки используются в Security Groups и Network ACLs для точного контроля доступа. Например, разрешить SSH только из офиса: Ingress: TCP/22, Source: 203.0.113.32/28.
  3. Маршрутизация: В таблицах маршрутов указываются CIDR-назначения.

Полезные команды:

# Рассчитать сеть и диапазон (Linux)
$ ipcalc 10.0.1.32/27
Address:   10.0.1.32          00001010.00000000.00000001.001 00000
Netmask:   255.255.255.224 = 27
Network:   10.0.1.32/27       00001010.00000000.00000001.001 00000
HostMin:   10.0.1.33          00001010.00000000.00000001.001 00001
HostMax:   10.0.1.62          00001010.00000000.00000001.001 11110
Broadcast: 10.0.1.63          00001010.00000000.00000001.001 11111
Hosts/Net: 30