CIDR простыми словами: запись подсетей и маска | Глоссарий FREEHOSTING

CIDR

Classless Inter-Domain Routing
CIDR — CIDR — способ записи IP-сетей через слэш и длину префикса. Запись 192.168.0.0/24 означает сеть, в которой первые 24 бита адреса фиксированы и определяют подсеть, а оставшиеся 8 бит — конкретные хосты.

Определение простыми словами

До CIDR интернет делили на жёсткие классы: класс A — миллионы адресов, класс C — 256. Это было неудобно: либо слишком много, либо слишком мало. CIDR разрешил указывать произвольную длину сетевой части адреса. Запись после слэша — это число подряд идущих единиц в маске. /24 значит «маска 255.255.255.0», /16 — «255.255.0.0».

Чем больше число после слэша, тем меньше адресов в подсети. /24 — это 256 адресов (включая broadcast и адрес сети), /28 — 16, /30 — всего 4 (типично для point-to-point ссылок). Для глобальной маршрутизации провайдеры объявляют через BGP блоки от /24 и крупнее.

Сравнение (таблица)

Префикс Маска Адресов в сети Хостов (минус сеть и broadcast) Типичное применение
/30 255.255.255.252 4 2 point-to-point
/29 255.255.255.248 8 6 маленькая стойка
/28 255.255.255.240 16 14 офисная подсеть
/24 255.255.255.0 256 254 обычный сегмент LAN
/16 255.255.0.0 65 536 65 534 крупный кампус
/8 255.0.0.0 16 777 216 16 777 214 исторический класс A

Кейсы использования

  • Настройка iptables: разрешить SSH только из офисной сети — iptables -A INPUT -s 203.0.113.0/24 -p tcp --dport 22 -j ACCEPT.
  • Описание VPC в облаке: 10.0.0.0/16 — общий пул, 10.0.1.0/24 — публичная подсеть, 10.0.2.0/24 — приватная.
  • Заявка провайдеру на дополнительные IP: блок /29 даёт шесть полезных адресов на dedicated.
  • Настройка WireGuard: AllowedIPs указывают именно в CIDR-нотации.
  • Негативный сценарий: в конфиге OpenVPN перепутали /24 и /16 — пользователи получили адреса из чужой сети и потеряли доступ ко внутренним сервисам. Чтобы такого не было, схему адресации проектируют один раз и фиксируют в документации.

Технические детали

В Linux работа с CIDR — это пара команд. Можно проверить принадлежность адреса сети, посчитать диапазон или построить таблицу маршрутизации.

ip addr add 10.10.0.5/24 dev eth0
ip route add 10.20.0.0/16 via 10.10.0.1

ipcalc 192.168.5.0/26
# Network:   192.168.5.0/26
# HostMin:   192.168.5.1
# HostMax:   192.168.5.62
# Broadcast: 192.168.5.63
# Hosts/Net: 62

# проверить, входит ли IP в CIDR
python3 -c "import ipaddress; print(ipaddress.ip_address('10.0.1.5') in ipaddress.ip_network('10.0.0.0/16'))"

Для IPv6 формат тот же, только префиксы крупнее: типичная подсеть для одного сегмента — /64, на хост целиком — /48 или /56. Объединение нескольких сетей в более широкий префикс называется supernetting; разбиение на меньшие — subnetting.

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

Чем CIDR отличается от классов A/B/C?

Классы делили адресное пространство жёстко по первому байту. CIDR позволяет произвольную длину префикса и куда экономичнее расходует адреса.

Сколько хостов в подсети /24?

Всего 256 адресов, из них 254 пригодны для хостов: один уходит на адрес сети, один — на broadcast.

Можно ли использовать /31 для point-to-point?

Да, RFC 3021 разрешает /31 на двухточечных линках — там не нужны broadcast и сетевой адрес. Поддерживается на современном оборудовании.