IPv4: полный гид по подсетям и маскам — от основ до расчета
Для правильного проектирования компьютерных сетей нужно знать принципы IPv4-адресации и особенности протокола IPv4 (Internet Protocol version 4), который используется в большинстве сетевых архитектур. Также нужно уметь делить большие сети на подсети и назначать адреса конкретным устройствам. Из статьи вы узнаете, как это делать.

Основы IPv4 адресации
Начнем с простого и емкого определения IP-адреса. Это уникальный идентификатор, который присваивается каждому устройству (компьютеру, серверу, роутеру) в глобальной или локальной сети и указывает на точное местоположение. Он нужен, чтобы другие устройства понимали, куда именно отправлять данные. По сути IP-адрес можно сравнить с обычным почтовым. Отправляя письма, люди указывают индекс, город, улицу, дом и квартиру. Благодаря этим данным почтальоны понимают, куда и кому доставить. Также и с IP-адресом — все цифры в нем формируют точные координаты устройств, чтобы другие устройства могли доставлять «письма» по назначению.
Структура IP-адреса
У любого IP-адреса иерархическая структура. Это значит, что он состоит из двух частей. Первая — сетевая. Она указывает на принадлежность IP-адреса к конкретной сети. Вторая, хостовая, идентифицирует конкретное устройство в этой сети.
Вот пример IPv4-адреса (уточняем про IPv4, поскольку есть и другие форматы) — 193.167.22.11. Он представляет собой четыре числа (октета), разделенных точками. Длина каждого октета — 8 бит. Следовательно, общая длина адреса — 32 бита. Возможный диапазон чисел — от 0.0.0.0 до 255.255.255.255. Если посчитать, то получается, что всего можно назначить 4 294 967 296 IPv4-адресов.
Разделить IP-адрес на номер сети и номер хоста поможет маска подсети (subnet mask). Как и IP-адреса, маска состоит из 32 бит и представляет собой четыре десятичных числа, разделенных точками. Пример написания: 255.255.255.0 в десятичном формате и 11111111.11111111.11111111.00000000 — в двоичном. Единицы указывают, где в адресе номер сети, нули — где номера устройств. Маска подсети «маскирует» сетевую часть IP-адреса и оставляет видимой только хостовую. Таким образом она позволяет определить, какие устройства принадлежат одной и той же подсети.
Расскажем, откуда берется двоичное представление. Люди воспринимают числовую информацию в десятичном формате, а компьютеры — в двоичном. Устройства распознают два значения — 0 и 1 независимо от того, каким способом передается информация.
Рассмотрим на примере все того же IPv4-адреса 193.167.22.11. Сейчас он представлен в десятичном формате, как его видят люди. В двоичном он выглядит так: 11000001.10100111.00010110.00001011.
Если устройства находятся в одной сети, например, 193.167.22, они могут связываться с друг другом. С устройствами из другой сети, например, 192.167.22 просто так они связываться не могут. Чтобы это стало возможным, нужен роутер, который обеспечивает маршрутизацию. На скрине показано, как это работает.
Что такое подсети
Чтобы эффективнее управлять большими сетями, можно разделить их на подсети — логически выделенные сегменты общей сети. Они нужны, чтобы:
Эффективно управлять трафиком и тем самым снижать нагрузку на общую сеть.
Повышать безопасность, ограничивая для устройств из одной подсети доступ до другой подсети (обычно так изолируются критически важные сегменты).
Упрощать администрирование за счет управления подсетями, а не одной большой сетью.
Оптимизировать производительность и ускорить маршрутизацию.
Также наличие подсетей помогает более рационально распоряжаться доступными IP-адресами и предотвращать конфликты — ситуации, когда один адрес назначен нескольким устройствам.
Рассчитывая подсети, важно учитывать, что существуют зарезервированные IP-адреса, которые не могут быть назначены устройствам. Например, это адрес сети и широковещательный адрес (Broadcast Address), используемый для одновременной передачи данных всем устройствам сетевого сегмента. В сетях IPv4 Broadcast Address — последний в сетевом диапазоне.

Расчет подсетей
Разберемся, как рассчитывать подсети с помощью префиксной нотации и покажем расчеты на примерах.
Префиксная нотация
Чтобы вычислять количество доступных подсетей и хостов, нужно освоить префиксную нотацию — CIDR (Classless Inter-Domain Routing). Это метод, заменяющий классическую устаревшую систему разделения IP-адресов. Он позволяет с большей точностью определить размер сети и количество доступных устройств.
Вместо использования маски подсети в десятичной записи, в CIDR маска подсети значится в виде числа, указывающего на количество битов в сетевой части IP-адреса. Это число записывается после косой черты (например, /24).
Как работает префиксная нотация:
Префикс /24 означает, что первые 24 бита из 32 бит IP-адреса принадлежат сети, а оставшиеся 8 бит предназначены для хостов. Маска подсети — 255.255.255.0.
Префикс /16 означает, что первые 16 бит из 32 бит принадлежат сети. Маска — 255.255.0.0.
Префикс /8 означает, что сети принадлежат первые 8 бит. Маска — 255.0.0.0.
В общем, число после косой черты указывает на количество бит в сетевой части, а оставшиеся биты предназначены для хостовой части.
Формула для расчета количества подсетей: 2^(бит для подсетей). Количество бит для подсетей = количество бит в маске CIDR — количество бит в исходной маске. Например, есть маска /24. Нужно разделить сеть на подсети с маской /26. Количество бит для подсетей: 26 - 24 = 2.
Рассчитываем количество подсетей по формуле 2^(количество бит для подсетей). Получается 2^2 = 4. Выходит, что из сети с маской /24 можно создать 4 подсети с маской /26.
Теперь нужно рассчитать количество хостов по формуле 2^(бит для хостов) - 2 (адрес сети и широковещательный адрес). Маска /26 значит 26 бит для сети и 6 для хостов из общих 32 бит. Теперь вставляем значение в формулу: 2^6 - 2 = 64 - 2 = 62 хоста.
Пример расчетов
Разделим сеть 192.168.1.0 с маской /24 (255.255.255.0) на 8 подсетей. Определяем, сколько бит потребуется. Для 8 подсетей нужно выделить 3 бита (2^3 = 8). Добавляем 3 бита к маске /24 и получаем маску /27 (255.255.255.224). Определяем диапазоны:
Сеть 1: 192.168.1.0/27 → Диапазон: 192.168.1.0 — 192.168.1.31.
Сеть 2: 192.168.1.32/27 → Диапазон: 192.168.1.32 — 192.168.1.63.
Сеть 3: 192.168.1.64/27 → Диапазон: 192.168.1.64 — 192.168.1.95.
Сеть 4: 192.168.1.96/27 → Диапазон: 192.168.1.96 — 192.168.1.127.
Сеть 5: 192.168.1.128/27 → Диапазон: 192.168.1.128 — 192.168.1.159.
Сеть 6: 192.168.1.160/27 → Диапазон: 192.168.1.160 — 192.168.1.191.
Сеть 7: 192.168.1.192/27 → Диапазон: 192.168.1.192 — 192.168.1.223.
Сеть 8: 192.168.1.224/27 → Диапазон: 192.168.1.224 — 192.168.1.255.
Определяем количество бит для хостов: 32 - 27 = 5 бит для хостов. Рассчитываем количество адресов: 2^5 -2 = 32 - 2. Получается 30 хостов.
Дальше определяем доступные адреса для хостов. Например, для подсети 192.168.1.0/27 это адреса от 192.168.1.1 до 192.168.1.30. Адрес 192.168.1.0 — адрес самой подсети, а 192.168.1.31 — широковещательный адрес.
Практическое применение расчетов
Даже опытные сетевые администраторы с крепкими навыками все равно для подстраховки используют специальных калькуляторы и руководствуются базовыми принципами планирования подсетей. Рассказываем, о чем речь.
Использование калькуляторов подсетей
Чтобы упростить процесс расчета подсетей и избежать ошибок, можно использовать специальные онлайн-калькуляторы. Они автоматически вычисляют количество доступных подсетей, хостов, сетевых и широковещательных адресов. Примеры калькуляторов:
SubnetOnline — онлайн-инструмент для простых и быстрых расчетов подсетей и масок.
IPCalc — калькулятор, который помогает анализировать и делить IP-адреса на подсети с префиксной нотацией.
Чтобы калькулятор выдал результаты, достаточно ввести IP-адрес и маску подсети.

Что учесть при планировании подсетей в корпоративных сетях
При проектировании подсетей важно учитывать не только текущие, но и будущие потребности организации. Например, можно выделить отдельные диапазоны IP-адресов для различных отделов (например, маркетинг, бухгалтерия, IT). Это помогает уменьшить поток трафика, изолировать данные для повышения безопасности и упростить управление сетью.
Частые ошибки при планирование подсетей и способы их исправить
Вот типичные ошибки, которые часто совершают неопытные сетевые администраторы:
Использование неправильной маски, что приводит к ошибочному делению сети. Чтобы избежать проблемы, нужно определиться с требованиями к сети и выбрать маску, которая соответствует фактическому количеству и подсетей хостов.
Неправильное использование формул для вычисления подсетей (2^n) и хостов (2^m - 2). При определении количества бит для подсетей и хостов нужно учитывать зарезервированные IP-адреса.
Игнорирование адреса сети и широковещательного адреса. Их нужно вычитать из общего количества IP-адресов для хостов.
Ошибки при преобразовании маски или IP-адресов. Если нет навыков ручных расчетов, лучше применять автоматические инструменты или специальные таблицы.
Отсутствие проверок корректности IP-адресов. Следует убедиться, что все диапазоны выбраны правильно и подсети не пересекаются. Для подстраховки можно использовать инструменты визуализации.
Практические советы по улучшению навыков работы с подсетями
Как помочь себе научиться быстро и правильно вести расчеты подсетей:
Изучайте теорию и основы работы с IP-адресами. Пока не разберетесь в концепции масок подсетей, CIDR и двоичных преобразований, не получится корректно рассчитать количество подсетей и хостов.
Проверяйте свои результаты с помощью автоматических калькуляторов. Это поможет сразу обнаружить ошибки, а заодно лучше понять принцип расчетов.
Создавайте таблицы и схемы. Визуализируйте подсети, диапазоны и адреса — это помогает увидеть неточности в своих расчетах.
Практикуйтесь на реальных задачах. Решайте разные примеры: деление сети, определение диапазонов, расчет количества подсетей и хостов. Постепенно вы набьете руку и будете быстрее справляться с вычислениями.
Используйте скрипты или таблицы Excel для быстрого выполнения повторяющихся задач.
Обучайтесь на реальных сценариях, прорабатывайте задачи из практики, например, проектирование сети для компании.
Заключение
Понимание основ IP-адресации и принципов расчета подсетей поможет не только оптимизировать использование адресного пространства, но и улучшить управление сетевой инфраструктурой в целом. Чтобы укрепить свои навыки, пользуйтесь схемами и таблицами, известными формулами. И обязательно первое время проверяйте себя с помощью специальных калькуляторов.
