Wiki
Сеть

Subnet mask — маска подсети простыми словами

Маска подсети — способ разделить IPv4-адрес на «сеть» и «хост». /24 = 256 адресов, /16 = 65k. CIDR-нотация — стандарт с 1993. Основа маршрутизации.

Subnet mask (маска подсети) — 32-битное число, где единицы = сетевая часть IP, нули = хостовая. Пример: маска `255.255.255.0` (двоичное 11111111.11111111.11111111.00000000) = 24 единицы = префикс `/24`. Значит IP `192.168.1.42/24` принадлежит сети `192.168.1.0/24` с диапазоном хостов `192.168.1.1` – `192.168.1.254` (256 - 2 адреса, минус network + broadcast).

CIDR-запись (RFC 4632, 1993) заменила устаревшие "классы A/B/C": `/8` = 16M адресов (крупный ISP), `/16` = 65K (кампус), `/24` = 254 (офис), `/29` = 6 хостов (small VPS-block), `/30` = 2 (point-to-point линк), `/32` = 1 (host-route).

Как считать: (1) число хостов = `2^(32-prefix) - 2`. (2) network address = IP AND mask. (3) broadcast = network OR (NOT mask). (4) subnet magic number для /27 в третьем октете шагает на 32 (`.0`, `.32`, `.64`, ...).

IPv6 — маски отсутствуют как класс, только префикс: `2a01:4f8::/29` (LIR-block Hetzner), `/64` — минимальная user-сеть (2^64 адресов — по 1 на молекулу воды на Земле).

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

Почему -2 адреса?
Network-address (`.0`) резервируется как "вся сеть", broadcast (`.255`) — для "всех в сети". Хостовые — между.
/31 — работает?
Да, RFC 3021 разрешает /31 для point-to-point (2 хоста без broadcast). Экономия адресов у ISP.

Смотрите также