Маска подсети: простой гид по адресации в сетях
Маска подсети (subnet mask) — это 32-битное число, которое определяет границы между сетевой частью и частью конкретного устройства (хоста) в IPv4-адресе. Она сообщает маршрутизатору и компьютеру, какие адреса находятся «внутри» локальной сети и могут общаться напрямую, а какие — «снаружи» и требуют отправки данных через шлюз. Без корректной маски устройство не сможет определить путь для передачи данных.
Зачем нужна маска подсети
В протоколе IPv4 адрес состоит из 32 битов (например, 192.168.1.10). Сам по себе этот набор цифр не говорит устройству, насколько велика его «домашняя» сеть. Маска решает три ключевые задачи:
- Определение границ сети. Позволяет устройству понять, принадлежит ли целевой IP-адрес той же локальной сети или находится за её пределами.
- Экономия адресного пространства. Позволяет делить большие диапазоны адресов на мелкие логические сегменты (подсети), избегая хаоса в крупных инфраструктурах.
- Снижение сетевого шума. Ограничивает область действия широковещательных пакетов (broadcast), которые отправляются всем устройствам в сегменте. Чем меньше подсеть, тем меньше лишнего трафика обрабатывает каждый компьютер.
Простая аналогия Представьте, что IP-адрес — это полный почтовый адрес (Город, Улица, Дом). Маска подсети говорит вам, какая часть этого адреса является «Городом» (сетью), а какая — конкретным «Домом» (устройством). Если город совпадает, вы идёте пешком (прямое соединение). Если нет — вам нужно такси до вокзала (шлюз/маршрутизатор).
Как работает маска: принцип побитовой операции
Технически маска подсети применяется к IP-адресу с помощью логической операции И (AND).
- Единицы (
1) в маске обозначают сетевую часть. - Нули (
0) обозначают часть хоста (устройства).
Пример расчёта
Возьмём стандартную домашнюю конфигурацию:
- IP-адрес:
192.168.1.42 - Маска:
255.255.255.0
Переведём их в двоичный код:
| Компонент | Десятичный вид | Двоичный вид |
|---|---|---|
| IP-адрес | 192.168.1.42 | 11000000.10101000.00000001.00101010 |
| Маска | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
| Результат (AND) | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
Результат операции (192.168.1.0) — это сетевой адрес. Все устройства, у которых при применении этой же маски получается одинаковый сетевой адрес, находятся в одной подсети и могут обмениваться данными напрямую.
Форматы записи: от десятичной дроби к CIDR
Существует два основных способа записи маски:
- Точечно-десятичная нотация: Привычный вид
255.255.255.0. - Бесклассовая междоменная маршрутизация (CIDR): Запись вида
/24. Число после слэша показывает количество единиц в маске.
Таблица популярных масок
| Префикс (CIDR) | Маска (Decimal) | Двоичная маска | Кол-во хостов* | Типичное применение |
|---|---|---|---|---|
/8 | 255.0.0.0 | 11111111.00000000... | ~16 млн | Крупные провайдеры, класс A |
/16 | 255.255.0.0 | 11111111.11111111.00000000... | ~65 тыс. | Средние корпоративные сети |
/24 | 255.255.255.0 | ...11111111.00000000 | 254 | Стандарт для домашних и офисных LAN |
/30 | 255.255.255.252 | ...11111100 | 2 | Каналы связи между двумя роутерами |
/32 | 255.255.255.255 | ...11111111 | 1 | Конкретный хост (обычно для маршрутов) |
*Количество доступных хостов рассчитывается как $2^{(32 - префикс)} - 2$. Два адреса резервируются: один для адреса сети, второй для широковещательного адреса.
Почему вычитаем 2? В любой подсети первый адрес (все нули в части хоста) зарезервирован как адрес сети, а последний (все единицы) — как широковещательный адрес (broadcast). Их нельзя присваивать конкретным устройствам.
Влияние маски на маршрутизацию
Маршрутизатор принимает решение о пересылке пакета, сравнивая адрес назначения с таблицей маршрутизации, используя маску.
- Локальная доставка: Если маска показывает, что адрес получателя находится в той же подсети, что и отправитель, компьютер использует протокол ARP, чтобы узнать MAC-адрес получателя, и отправляет кадр напрямую.
- Отправка на шлюз: Если сетевые адреса не совпадают, компьютер понимает, что получатель «далеко». Пакет отправляется на шлюз по умолчанию (обычно это IP-адрес роутера), который уже знает, как доставить данные дальше.
Неверная маска приведёт к тому, что компьютер будет пытаться отправить данные напрямую туда, куда нужно идти через роутер, или наоборот. В обоих случаях связь работать не будет.
Частые ошибки при настройке
- Несовпадение масок в одной сети. Если на одном компьютере стоит маска
/24(255.255.255.0), а на другом в той же физической сети/25(255.255.255.128), они могут «не видеть» друг друга, так как будут считать, что находятся в разных логических сегментах. - Конфликт диапазонов DHCP. Если роутер раздаёт адреса из диапазона
192.168.1.1–192.168.1.254, но маска установлена неверно или пересекается с другой подсетью, возникнут конфликты IP-адресов. - Игнорирование резервных адресов. Попытка присвоить статический адрес, совпадающий с адресом шлюза или широковещательным адресом, вызовет сбой в работе всей подсети.
FAQ
Что такое маска 255.255.255.255? Это маска хоста (/32). Она означает, что «сеть» состоит всего из одного устройства. Используется в таблицах маршрутизации для указания точного пути к конкретному серверу или компьютеру, а не к целой группе.
Можно ли использовать нестандартные маски, например, 255.255.255.128? Да, это маска /25. Она делит стандартную сеть /24 на две равные части по 126 полезных адресов в каждой. Это полезно для сегментации больших офисных сетей. Главное, чтобы все устройства в сегменте использовали одинаковую маску.
Почему в современных системах часто пишут просто /24 вместо полной маски? Запись CIDR (слэш-нотация) короче, удобнее для чтения администраторами и является стандартом де-факто в профессиональной среде. Операционные системы понимают оба формата.