Маска подсети
Маска подсети — это битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла (хоста) в этой сети. Маска подсети является неотъемлемой частью протокола IP (версии 4 и 6) и используется для разделения крупных сетей на более мелкие логические сегменты — подсети, а также для маршрутизации трафика.
Назначение и принцип работы
IP-адрес (в версии IPv4) представляет собой 32-битное число, которое обычно записывается в виде четырёх десятичных чисел, разделённых точками (например, 192.168.1.10). Для маршрутизации пакетов необходимо знать, к какой сети принадлежит адрес. Маска подсети решает эту задачу, указывая, какие биты IP-адреса являются фиксированными (сеть), а какие — переменными (узел).
Маска подсети также состоит из 32 бит. В двоичной записи она представляет собой последовательность единиц, за которой следуют нули. Единицы соответствуют битам, относящимся к адресу сети, нули — битам адреса хоста. Например, маска 255.255.255.0 в двоичном виде выглядит как 11111111.11111111.11111111.00000000. Это означает, что первые 24 бита IP-адреса (три октета) являются адресом сети, а последние 8 бит (один октет) — адресом узла.
Для определения адреса сети применяется операция побитового логического «И» (AND) между IP-адресом и маской подсети. Результат этой операции даёт адрес сети. Например:
- IP-адрес: 192.168.1.10 (11000000.10101000.00000001.00001010)
- Маска: 255.255.255.0 (11111111.11111111.11111111.00000000)
- Результат AND: 192.168.1.0 (11000000.10101000.00000001.00000000) — адрес сети.
Оставшаяся часть IP-адреса (в данном примере — 10) является адресом узла в этой сети.
Формы записи
Маска подсети может быть представлена в двух основных формах:
- Десятичная (точечно-десятичная) запись: классический формат, состоящий из четырёх десятичных чисел от 0 до 255, разделённых точками. Примеры: 255.0.0.0, 255.255.0.0, 255.255.255.0. Этот формат широко используется в настройках операционных систем и сетевого оборудования.
- Префиксная запись (CIDR-нотация): более компактный формат, где после IP-адреса через косую черту указывается количество единичных бит в маске (длина префикса). Например, запись 192.168.1.0/24 означает, что маска подсети имеет 24 единичных бита, что эквивалентно маске 255.255.255.0. Эта нотация является стандартом для бесклассовой междоменной маршрутизации (CIDR) и повсеместно используется в современных сетях.
Классы IP-адресов и маски по умолчанию
Изначально в архитектуре IP-адресации использовалась классовая модель, которая делила все адреса на пять классов (A, B, C, D, E). Для каждого класса была определена маска подсети по умолчанию:
- Класс A: Адреса от 1.0.0.0 до 126.0.0.0. Маска по умолчанию: 255.0.0.0 (/8). Предназначен для очень крупных сетей с большим количеством узлов (до 16 777 214).
- Класс B: Адреса от 128.0.0.0 до 191.255.0.0. Маска по умолчанию: 255.255.0.0 (/16). Предназначен для сетей среднего размера (до 65 534 узлов).
- Класс C: Адреса от 192.0.0.0 до 223.255.255.0. Маска по умолчанию: 255.255.255.0 (/24). Предназначен для небольших сетей (до 254 узлов).
Классовая модель была эффективна на ранних этапах развития интернета, но приводила к неэффективному использованию адресного пространства. Например, организация, которой требовалось 300 адресов, получала сеть класса B, что приводило к нерациональному расходованию миллионов адресов.
Бесклассовая адресация (CIDR)
С развитием интернета и исчерпанием адресного пространства IPv4 классовая модель была заменена бесклассовой междоменной маршрутизацией (CIDR), описанной в RFC 1518 и RFC 1519. CIDR отказалась от жёсткой привязки к классам и позволила использовать маски подсети произвольной длины. Это дало возможность делить сети на подсети любого размера, точно соответствующего потребностям, что значительно повысило эффективность использования адресов.
В CIDR маска подсети (или длина префикса) может быть любой от 0 до 32. Например, сеть с маской /27 (255.255.255.224) может содержать 30 узлов, а сеть с маской /30 (255.255.255.252) — всего 2 узла, что часто используется для соединения «точка-точка» между маршрутизаторами.
Вычисление характеристик сети
Зная IP-адрес и маску подсети, можно вычислить несколько ключевых параметров сети:
- Адрес сети: минимальный адрес в подсети, получаемый побитовым умножением IP-адреса на маску. Все биты хостовой части равны нулю. Этот адрес не может быть присвоен ни одному устройству.
- Широковещательный адрес (Broadcast): максимальный адрес в подсети, в котором все биты хостовой части равны единице. Пакеты, отправленные на этот адрес, получают все устройства в данной подсети. Этот адрес также не может быть присвоен узлу.
- Диапазон адресов узлов: все адреса между адресом сети и широковещательным адресом. Эти адреса могут быть назначены сетевым интерфейсам (компьютерам, серверам, принтерам и т.д.).
- Количество доступных узлов: вычисляется по формуле 2^(32 - длина_префикса) - 2. Вычитание двух адресов необходимо для исключения адреса сети и широковещательного адреса. Например, для маски /24 количество узлов равно 2^(32-24) - 2 = 2^8 - 2 = 254.
Применение в IPv6
В протоколе IPv6, который призван заменить IPv4, концепция маски подсети также существует, но реализована иначе. В IPv6 длина префикса (аналог маски) всегда записывается в CIDR-нотации (например, 2001:db8::/32). Маска подсети в виде четырёх десятичных чисел в IPv6 не используется.
Стандартная длина префикса для локальной сети в IPv6 обычно составляет /64. Это означает, что адрес сети занимает первые 64 бита, а адрес узла — оставшиеся 64 бита. Такое огромное адресное пространство (2^64 возможных узлов в одной подсети) делает ненужным использование NAT (преобразования сетевых адресов) и упрощает администрирование.
Практическое значение
Маска подсети является фундаментальным параметром конфигурации любого сетевого интерфейса. Неправильная настройка маски приводит к тому, что устройство не сможет корректно определить, находится ли другой узел в той же локальной сети или за маршрутизатором. Это может вызвать проблемы с доступностью сетевых ресурсов, ошибки маршрутизации и невозможность выхода в интернет.
При проектировании сетей администраторы используют маски подсети для логического разделения сети на сегменты (VLAN), управления broadcast-трафиком, повышения безопасности и оптимизации использования IP-адресов.
Источники
- RFC 950 — Internet Standard Subnetting Procedure.
- RFC 1518 — An Architecture for IP Address Allocation with CIDR.
- RFC 1519 — Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy.
- RFC 4632 — Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan.
- Таненбаум Э., Уэзеролл Д. — «Компьютерные сети». 5-е издание. — СПб.: Питер, 2012.
- Олифер В. Г., Олифер Н. А. — «Компьютерные сети. Принципы, технологии, протоколы». 5-е издание. — СПб.: Питер, 2016.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →