Открыть сервисСервис

Маска подсети и определение по IP-адресу

Маска подсети (маска сети, subnet mask) — 32-битный адрес, используемый в сетях IPv4 для разделения IP-адреса на две части: сетевую (идентификатор сети) и хостовую (идентификатор узла). Маска определяет, какая часть IP-адреса принадлежит самой сети, а какая — конкретному устройству (компьютеру, маршрутизатору, серверу) внутри этой сети. Без маски подсети IP-адрес сам по себе не позволяет однозначно определить границы сети.

Структура и запись маски

Маска подсети записывается так же, как и IPv4-адрес — четырьмя десятичными числами, разделёнными точками, каждое в диапазоне 0–255. В двоичном виде маска всегда состоит из последовательности единиц, за которыми следуют нули: единицы соответствуют сетевой части, нули — хостовой.

Пример: маска 255.255.255.0 в двоичной записи выглядит как 11111111.11111111.11111111.00000000. Это означает, что первые 24 бита определяют сеть, а последние 8 бит — конкретный узел. В таком формате маску часто записывают в CIDR-нотации как /24, где число после слэша указывает количество единиц (бит сетевой части).

Основные классовые маски

До внедрения CIDR (Classless Inter-Domain Routing, 1993 год) сети IPv4 делились на классы A, B, C, D и E, и для каждого класса была своя маска по умолчанию:

КлассМаска по умолчаниюCIDRДиапазон сетевых адресов
A255.0.0.0/81.0.0.0 — 126.255.255.255
B255.255.0.0/16128.0.0.0 — 191.255.255.255
C255.255.255.0/24192.0.0.0 — 223.255.255.255

Классы D (224.0.0.0 — 239.255.255.255) зарезервированы под мультикаст, класс E (240.0.0.0 — 254.255.255.255) — под экспериментальные цели. В современных сетях классовое разделение практически не используется: маска подбирается под конкретную задачу (подсеть нужного размера), поэтому возможны, например, маски /25, /26, /30.

Как узнать маску подсети по IP-адресу

По формату IP-адреса

Если известен только IP-адрес, маску нельзя определить однозначно: один и тот же адрес, например 192.168.1.100, может входить в сеть /24, /25 или /28. Однако по первому октету можно косвенно определить класс сети и маску по умолчанию:

  • 1–126 — класс A, маска 255.0.0.0;
  • 128–191 — класс B, маска 255.255.0.0;
  • 192–223 — класс C, маска 255.255.255.0.

Это работает только для классовых сетей; в маскированных (CIDR) сетях класс не определяет маску.

С помощью операционной системы

В Windows маска подсети отображается командой ipconfig в разделе «IPv4-адрес» — строка «Маска подсети». В Linux и macOS используется команда ip addr show (или устаревшая ifconfig); маска выводится после косой черты рядом с IP-адресом, например inet 192.168.1.100/24.

С помощью маршрутизатора

Маска подсети обычно назначается DHCP-сервером (как правило, встроенным в домашний или корпоративный маршрутизатор) вместе с IP-адресом. В веб-интерфейсе роутера маска отображается в настройках LAN или DHCP-сервера. Узнать её можно также, просмотрев конфигурацию на самом устройстве, подключённом к сети.

Определение по другим устройствам в сети

Если известны IP-адреса двух устройств в одной сети, можно определить маску, проверив, совпадают ли у них сетевые части. Например, при адресах 192.168.1.10 и 192.168.1.200 маска может быть /24 или шире; при адресах 10.0.5.12 и 10.0.9.33 первые два октета совпадают, но третий различается — значит, маска не шире /16.

Подсчёт адресов в подсети

Количество адресов в подсети определяется формулой 2^(32 − n), где n — длина префикса в CIDR-нотации. Из общего числа вычитаются два адреса: сетевой (все нули в хостовой части) и широковещательный (все единицы). Например, в подсети /24 доступно 256 адресов, из них 254 пригодны для назначения устройствам; в подсети /30 — 4 адреса, из них 2 пригодны (типичный размер для соединения «точка-точка» между двумя маршрутизаторами).

Особые случаи

  • Адрес 127.0.0.1 (loopback) с маской по умолчанию 255.0.0.0 — локальный интерфейс, не маршрутизируется.
  • Частные (приватные) диапазоны по RFC 1918: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 — используются в локальных сетях, маска подсети в них выбирается администратором.
  • Маска 255.255.255.255 (/32) — «маска хоста», используется в таблицах маршрутизации для обозначения отдельного адреса.
  • Маска 0.0.0.0 (/0) — обозначает «любую сеть», встречается в маршруте по умолчанию (default gateway).

Практическое значение

Правильно подобранная маска подсети определяет широковещательный домен, влияет на производительность сети (слишком большая подсеть приводит к избыточному трафику широковещательных пакетов) и обеспечивает сегментацию — например, отделение гостевой Wi-Fi сети от корпоративной. При проектировании сетей маска рассчитывается исходя из требуемого количества узлов с запасом на рост.

Источники:

  • RFC 791 — Internet Protocol
  • RFC 1918 — Address Allocation for Private Internets
  • RFC 1519 — Classless Inter-Domain Routing (CIDR)
  • Кравцов В. А., Столяров А. М. «Компьютерные сети: технологии, протоколы, безопасность»
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru