Маска подсети IPv4: что это такое и как выполнить расчет

 
IPv4, подсети и маски: как устроена адресация и как выполнять расчет

Разбираем, что такое маска подсети IPv4, как устроены IP-адрес, сеть и хост, что означает CIDR-префикс и как выполнить расчет диапазона адресов.

Статья
Время на прочтение: 33 минуты

Любое устройство в сети обменивается данными по определённым правилам, и ключевую роль здесь играет IP-адресация. Именно она определяет, как пакеты находят путь от отправителя к получателю в рамках IPv4. С технической точки зрения это реализация Internet protocol (IP), где IPv4-адрес идентифицирует сетевой интерфейс или узел в пределах конкретной IP-сети.

Что такое маска подсети простыми словами

Маска подсети используется для разделения IP-адреса на две части: одна отвечает за саму сеть, другая — за конкретное устройство внутри неё. Без маски маршрутизатор не сможет понять, можно ли отправить пакет напрямую в локальный сегмент или нужно передать его шлюзу. Коммутатор уровня L2 маску обычно не использует. В англоязычной документации часто используются термины subnet и subnet mask, где слово mask обозначает способ разделения адреса на сетевую и хостовую части.

Зачем нужна маска в IP-сети

Представьте, что вы получаете письмо. На конверте написан адрес: «Москва, Тверская, дом 5». Если не указать, где заканчивается город и начинается улица, почтальон не поймёт, куда нести. В мире IP-адресов роль такого разделителя играет маска. IP-адрес сам по себе не говорит, какая его часть относится к самой сети, а какая — к конкретному устройству внутри неё. Без маски устройство не сможет корректно определить границы своей локальной IP-сети. А маршрутизаторы используют префиксы маршрутов, чтобы понять, через какой интерфейс или следующий hop отправить пакет.

Как маска помогает разделять адрес сети и адрес хоста

Допустим, у нас есть адрес 192.168.1.10. Чтобы понять, где здесь сеть, а где устройство, мы накладываем на него маску. Возьмём самую популярную маску — 255.255.255.0. Внутри компьютера маска превращается в последовательность из 24 единиц и 8 нулей. Маршрутизатор сравнивает маску с адресом: где в маске единицы, там мы оставляем части адреса без изменений. Где нули — обнуляем. В итоге из адреса 192.168.1.10 с такой маской остаётся только 192.168.1.0. Это и есть адрес сети. А то, что отбросили — цифра 10 — это адрес устройства внутри этой сети.

Основы IPv4-адресации

Любое устройство в сети — компьютер, сервер, принтер или смартфон — получает уникальный IP-адрес. Чтобы понять, как происходит передача данных, полезно знать сетевую модель OSI, которая описывает этот процесс на семи уровнях. IP-адресация работает на третьем — сетевом — уровне этой модели. В версии IPv4 адрес всегда имеет длину 32 бита, но человеку работать с битами неудобно, поэтому адрес записывают в десятичном виде с точками.

Структура IP-адреса: октеты, цифры и десятичный формат

Любой адрес четвёртой версии протокола IP состоит ровно из 32 двоичных разрядов. Для человека 32 цифры подряд — это неудобно. Поэтому инженеры разбили их на четыре группы по 8 битов. Каждую такую группу называют октетом. Каждый октет переводят из двоичной системы в обычную десятичную. Получается число от 0 до 255. Четыре таких числа соединяют точками. Вот так и появляется привычная запись вроде 192.168.1.1. Этот формат специалисты называют десятичной нотацией с точками, или dotted decimal notation.

Что такое сетевой адрес, адрес хоста и широковещательный адрес

В большинстве IPv4-подсетей есть два служебных адреса, которые нельзя назначать устройствам. Первый адрес диапазона — это адрес сети, он обозначает саму подсеть целиком. Последний адрес — широковещательный (broadcast): если отправить пакет на него, его получат все устройства внутри этой подсети.

Все остальные адреса между ними образуют диапазон, доступный для хостов — именно их можно использовать для компьютеров, серверов и других устройств.

Например, в подсети 192.168.1.0 с маской 255.255.255.0 адрес сети — 192.168.1.0, широковещательный адрес — 192.168.1.255, а диапазон доступных адресов — от 192.168.1.1 до 192.168.1.254.

Важно учитывать, что существуют исключения. Например, подсети с префиксом /31 часто применяются для point-to-point соединений и не используют отдельный широковещательный адрес, а префикс /32 обозначает один конкретный адрес, а не диапазон.

Чем IPv4 отличается от других версий IP

В сетевой модели OSI протокол IP отвечает за маршрутизацию пакетов между разными сетями. Главная и самая заметная версия этого протокола, с которой мы работаем каждый день, — это IPv4. Но у него есть наследник — IPv6, и они сильно различаются.

Первое отличие — длина адреса. У IPv4 адрес состоит из 32 битов, что даёт примерно четыре с лишним миллиарда уникальных адресов. Этого когда-то казалось много, но сегодня адресов не хватает. У IPv6 адрес длиной 128 битов — это настолько огромное число, что адресов хватит на каждую песчинку на планете.

Второе отличие — как мы эти адреса записываем. IPv4 мы привыкли видеть как четыре числа через точку, например 192.168.1.1. IPv6 записывается иначе — шестнадцатеричными цифрами через двоеточие, и выглядит примерно так: 2001:0db8:85a3:0000:0000:8a2e:0370:7334.

Третье отличие — широковещательные рассылки. В IPv4 есть специальный широковещательный адрес (broadcast), когда пакет получают все устройства в подсети. В IPv6 от этой идеи отказались — вместо broadcast используется multicast, когда пакет получают только те устройства, которым это действительно нужно.

Есть и другие версии IP, но они почти не встречаются в реальной жизни. IPv5 существовал как экспериментальный протокол для потокового видео, но так и остался в лабораториях. Все остальные номера версий просто не используются. Так что на практике выбор стоит между старым добрым IPv4 и новым IPv6. Первый до сих пор остаётся основой интернета, второй постепенно приходит ему на смену.

Как устроена подсеть

Подсеть (subnet) — это логическое разделение общей IP-сети на более мелкие фрагменты. Каждая подсеть ведёт себя как независимая сеть: у неё есть свои границы, свой диапазон адресов и свой широковещательный домен. Без подсетей любая сеть была бы одним гигантским «общим чатом», где все устройства видят все пакеты — это неэффективно и опасно для защиты сети. Именно правильное разделение на подсети часто становится первым шагом к построению безопасной инфраструктуры.

Что такое диапазон адресов в подсети

Диапазон адресов — это просто все IP-адреса, которые принадлежат одной подсети. Он начинается с адреса сети и заканчивается широковещательным адресом. Внутри этого промежутка находятся все возможные адреса, которые могут быть назначены устройствам. Например, для подсети, начинающейся с 10.0.0.0 и имеющей маску 255.255.0.0, диапазон протянется от 10.0.0.0 до 10.0.255.255. Из них реально использовать для устройств можно только адреса с 10.0.0.1 по 10.0.255.254.

Пример диапазона адреса

Что такое локальная сеть, узел и хост

Эти три понятия часто путают. Локальная сеть — это физическое или логическое объединение устройств в пределах ограниченной площадки или административного домена. Она может включать одну или несколько VLAN/подсетей. Например, все компьютеры в одном кабинете. Узел — это любое оборудование, у которого есть свой IP-адрес. Сюда входят и компьютеры, и принтеры, и маршрутизаторы. Хост — это более узкое понятие. Так называют только те узлы, на которых работают приложения. Обычный компьютер или сервер — это хост. А вот управляемый коммутатор или маршрутизатор — это узел, но хостом его называют реже.

Как формируется размер подсети

Размер подсети напрямую связан с тем, сколько битов маска оставляет под номера устройств. Если маска оставляет 8 битов для хостов, то общее количество возможных адресов — 2 в 8-й степени, то есть 256. Из них два адреса зарезервированы. Значит, реально использовать можно 254. Если маска оставляет 6 битов, общее количество — 64 адреса, а доступных устройств — 62. Чем больше единиц в маске, тем меньше конечная подсеть и тем меньше устройств в неё поместится. И наоборот — чем маска короче, тем подсеть просторнее.

Зависимость количества адресов и хостов от длины маски CIDR

Префикс CIDR и запись маски подсети

Маску подсети можно записывать по-разному. Самый старый способ — десятичный (например, 255.255.255.0). Но современные сети используют CIDR-нотацию (Classless Inter-Domain Routing) — она короче, удобнее и позволяет гибко делить сети без привязки к классам A, B, C. CIDR-запись выглядит как IP-адрес, к которому через косую черту добавляется число — префикс.

Что означает префикс /24, /25, /26 и другие значения

Префикс (число после косой черты) показывает, сколько битов в маске отведено под адрес сети. Остальные биты (32 минус префикс) — под адрес хоста.

Префиксы CIDR от /24 до /30 с соответствующими десятичными масками и количеством доступных хостов

Как меняется подсеть при увеличении префикса на 1? Каждый новый бит, забираемый у хостов под сеть, делит существующую подсеть пополам. Например:

  • /24 → одна сеть на 256 адресов
  • /25 → две сети по 128 адресов
  • /26 → четыре сети по 64 адреса

Это называется битовой границей (bit boundary). Понимание этого принципа позволяет быстро выполнять расчёты в уме без калькулятора.

Как связаны CIDR, netmask и prefix notation

В мире IPv4-адресации одну и ту же маску можно записать тремя разными способами, и все они совершенно равноправны. Какой именно использовать — зависит от того, где вы работаете: в командной строке сервера, в графическом окне Windows или в технической документации.

Первый способ — десятичная маска. Она выглядит как обычный адрес — четыре числа через точку, например 255.255.255.0. Такую форму до сих пор можно встретить в настройках сетевых карт и в конфигурационных файлах старого оборудования.

Второй способ — CIDR-нотация. Вместо длинного числа используют косую черту и небольшое целое число: /24, /26, /16. Это самый короткий и современный вариант. Именно он чаще всего встречается в облачных сервисах, курсах по сетям и в технических статьях. Число после черты показывает, сколько битов в маске отведено под адрес сети.

Третий способ — двоичная запись. Маска представляется как последовательность из тридцати двух нулей и единиц, например 11111111.11111111.11111111.00000000. В повседневной работе её почти не используют, но без неё трудно до конца понять логику разделения адреса.

Главное, что нужно знать: все три формы описывают одно и то же. Если вам сказали, что маска имеет префикс /26, вы всегда можете восстановить её десятичный вид — 255.255.255.192. И наоборот, зная десятичную маску, легко определить, сколько в ней единичных битов. Это как три языка, на которых говорят об одном понятии.

Три формата записи одной и той же маски — CIDR-префикс, десятичная маска и двоичная запись

Какие маски подсети используются на практике

Стандартных масок в IPv4 довольно много, но на практике большинство администраторов работает всего с несколькими значениями. Вместо того чтобы запоминать большую таблицу, достаточно понять логику, а конкретные числа придут с опытом.

Одну из коротких масок, например /8 обычно воспринимают как очень крупный адресный блок, например частный диапазон 10.0.0.0/8. Но на практике его почти всегда делят на множество меньших подсетей: /16, /20, /24 и т.д. Использовать /8 как одну подсеть для рабочих хостов обычно нецелесообразно.

Для большинства корпоративных сетей характерны маски от /16 до /24. Маска /16 даёт больше шестидесяти пяти тысяч адресов и используется в очень крупных компаниях, где к одной сети подключаются тысячи устройств. Маска /24 — это классика домашних и малых офисных сетей. Она оставляет под хосты ровно один октет, то есть 254 доступных адреса. Этого с запасом хватает для небольшого офиса или квартиры.

Когда нужно разделить одну сеть на несколько маленьких, в ход идут более длинные маски — /25, /26, /27, /28, /29 и /30. Каждая следующая маска уменьшает размер подсети ровно вдвое. Например, если взять стандартную сеть /24 и применить к ней маску /25, получатся две подсети по 126 хостов в каждой. При маске /26 подсетей станет четыре, и в каждой будет по 62 хоста. Эту логику легко продолжить и дальше.

Особняком стоит маска /30. Она даёт всего четыре адреса, из которых только два можно использовать для устройств. Раньше /30 была стандартом для соединения двух маршрутизаторов напрямую, так называемых P2P-линков. Сегодня для таких задач чаще используют маску /31, которая не теряет адреса на сеть и широковещательную рассылку, но её поддерживают не все устройства.

Маска /32, то есть 255.255.255.255, — это подсеть из одного адреса. Такое используется для так называемых loopback-интерфейсов, когда устройству нужен IP-адрес для самого себя, или для указания маршрута к одному конкретному хосту.

Если вы только начинаете разбираться в подсетях, вам вполне достаточно запомнить несколько основных масок. Это /24 для домашних и малых офисных сетей, /30 для соединений между маршрутизаторами и, возможно, /16 для понимания того, как устроены крупные корпоративные сети. Все остальные маски — это просто деление пополам, и их легко вычислить на месте, когда возникнет необходимость.

Как выполнить расчет подсети

Расчёт подсети — это умение по IP-адресу и маске (или префиксу) определить четыре главных параметра: адрес сети, широковещательный адрес, диапазон доступных адресов хостов и количество хостов.

Формула расчета количества адресов и хостов

Чтобы узнать, сколько устройств поместится в подсеть, нужно выполнить два простых действия. Первое — посчитать, сколько битов маска оставляет под номера устройств. Второе — применить формулу с двойкой.

Общее количество адресов в подсети — это двойка в степени числа хостовых битов. Хостовые биты получаются вычитанием длины маски из тридцати двух. Например, если маска двадцать четыре, хостовых битов будет восемь. Два в восьмой степени — это 256. Если маска двадцать шесть, хостовых битов — шесть. Два в шестой степени — это 64. Если маска тридцать, хостовых битов — два. Два во второй степени — это 4.

Но эти цифры включают в себя два адреса, которые нельзя давать обычным устройствам. Первый — адрес сети, второй — широковещательный. Поэтому из полученного числа всегда нужно вычесть двойку. Для маски 24 получается 254 полезных адреса. Для маски 26 — 62. Для маски 30 — всего 2.

Проверим на реальной ситуации. Если вам нужно подключить 50 компьютеров, маска 26 даёт 62 адреса — этого хватит с небольшим запасом. Маска 27 даёт всего 30 адресов — уже не хватает. Значит, для пятидесяти машин минимальная подходящая маска — двадцать шесть.

Как определить адрес сети, broadcast и диапазон доступных адресов

Зная IP-адрес и маску, можно найти все три ключевых параметра подсети без всяких калькуляторов. Алгоритм укладывается в несколько шагов.

Сначала выделяем октет, в котором маска отличается от 255, и вычитаем его значение из 256. Полученная разница — это размер подсети, или шаг.

В простых случаях, например при масках /24–/30, изменяется только последний октет. Тогда всё считается очень быстро:

  • для маски 255.255.255.0 шаг равен 256, что означает одну подсеть на весь диапазон последнего октета (0–255);
  • для маски 255.255.255.192 шаг равен 64;
  • для маски 255.255.255.224 шаг равен 32.

Однако важно понимать, что этот принцип работает не только для последнего октета. Если маска длиннее /24, всё происходит в четвёртом октете, но при масках /17–/23 шаг уже определяется в третьем октете, а при /9–/15 — во втором. Поэтому правило остаётся тем же: ищем октет, где маска «неполная», и считаем шаг именно в нём.

Дальше смотрим на последний октет нашего IP-адреса. Определяем, в какой промежуток он попадает при таком шаге. Промежутки идут подряд: 0–63, 64–127, 128–191, 192–255 для шага 64. Или 0–31, 32–63, 64–95 и так далее для шага 32.

Начало этого промежутка — это адрес сети. Конец промежутка — широковещательный адрес. Всё, что между началом и концом, кроме двух крайних точек, — это адреса, которые можно раздавать устройствам.

Проверим на живом примере. Пусть адрес заканчивается на 90, а шаг равен 32. Девяносто попадает в промежуток 64–95. Значит, адрес сети будет заканчиваться на 64, широковещательный — на 95. Доступные для устройств адреса — с 65 по 94. Всего их 30. Алгоритм работает для любой маски, которая не заканчивается на ноль. Для масок с нулём в последнем октете всё ещё проще: адрес сети оканчивается на ноль, broadcast — на 255, диапазон хостов — от 1 до 254.

Пример расчета маски подсети по шагам

Чтобы закрепить теорию, разберём один пример полностью, от начала и до конца. Представьте, что у вас есть IP-адрес 192.168.1.73 и маска 255.255.255.192. Такая маска в CIDR-нотации называется /26. Нужно определить адрес сети, широковещательный адрес и диапазон адресов, которые можно назначать устройствам.

Сначала смотрим на последний октет маски — это число 192. Если вычесть его из 256, получится 64. Это размер подсети, или шаг, с которым адреса группируются в подсети. Другими словами, все адреса в такой сети будут разбиты на блоки по 64 адреса: от 0 до 63, от 64 до 127, от 128 до 191 и от 192 до 255.

Теперь посмотрим на последний октет нашего IP-адреса — это число 73. Оно попадает во второй диапазон, который начинается с 64 и заканчивается на 127. Значит, адресом сети будет 192.168.1.64. Это самый первый адрес в этом диапазоне.

Широковещательный адрес, или broadcast, — это последний адрес того же диапазона. В нашем случае это 192.168.1.127. На этот адрес нельзя назначать устройства, он нужен для отправки данных сразу всем компьютерам в подсети.

Все остальные адреса между адресом сети и широковещательным адресом можно спокойно использовать для устройств. Первый доступный адрес — это адрес сети плюс один, то есть 192.168.1.65. Последний доступный адрес — это широковещательный адрес минус один, то есть 192.168.1.126. Диапазон получается от 65 до 126 включительно.

Если посчитать, сколько адресов в этом диапазоне, получится 62. Именно столько устройств можно подключить к такой подсети. Это легко проверить по формуле: маска /26 оставляет под хосты шесть битов, два в шестой степени — это 64, минус два зарезервированных адреса — получается 62.

Для проверки можно взять другой пример, например, адрес 10.10.10.35 с маской 255.255.255.224. Здесь последний октет маски — 224, шаг будет равен 32. Число 35 попадает в диапазон от 32 до 63. Адрес сети — 10.10.10.32, широковещательный адрес — 10.10.10.63, а доступные адреса — с 33 по 62. Всего их 30.

Такой пошаговый подход работает для любых масок, если правильно выбрать октет для расчёта. Ориентироваться нужно не всегда на последний октет, а на тот, в котором заканчиваются единицы маски. Именно в нём определяется шаг подсети и границы диапазонов.

Например, при масках /25–/30 расчёты действительно выполняются в четвёртом октете, при /17–/23 — в третьем, а при /9–/15 — во втором.

Когда этот принцип становится понятным, вычисления выполняются значительно быстрее и не требуют перевода всего адреса в двоичный формат.

Двоичный формат и роль битов в маске

Все расчёты подсетей, которые мы делали выше, работают в десятичной системе. Но на самом деле маршрутизаторы и коммутаторы вообще не видят десятичных чисел. Для них IP-адрес и маска — это просто 32 бита. Понимание двоичного формата превращает расчёты из набора формул в очевидную логику.

Как IP-адрес переводится в двоичный вид

Компьютеры и сетевое оборудование не видят привычных нам десятичных чисел вроде 192.168.1.1. Для них любой IP-адрес — это просто длинная лента из 32 символов, каждый из которых может быть либо нолём, либо единицей. Чтобы понять, как маска отделяет сеть от устройства, полезно научиться переводить адрес в эту двоичную форму.

Четыре октета адреса — это четыре куска по 8 битов. Каждый кусок можно перевести в двоичную систему. Для этого нужно знать веса битов. Самый левый бит в октете означает 128, следующий за ним — 64, затем идут 32, 16, 8, 4, 2 и наконец 1. Чтобы получить двоичную запись, нужно разложить десятичное число на сумму этих весов. Там, где вес участвует в сумме, ставится единица. Где не участвует — ноль.

Разберём на примере. Возьмём адрес 192.168.1.73. Число 192 — это 128 плюс 64. Значит, двоично оно запишется как 11000000. Число 168 — это 128 плюс 32 плюс 8, то есть 10101000. Число 1 — это просто 00000001. Число 73 — это 64 плюс 8 плюс 1, то есть 01001001. Собираем всё вместе с точками между октетами: 11000000.10101000.00000001.01001001. А если убрать точки, получится сплошная 32-битная строка.

Для маски всё точно так же. Маска 255.255.255.192 превратится в 11111111.11111111.11111111.11000000. Единицы здесь показывают сетевую часть, нули — хостовую. Как только вы увидите адрес и маску в таком виде, принцип разделения становится совершенно прозрачным. Не обязательно каждый раз делать полный перевод — достаточно научиться переводить один-два проблемных октета, а для остальных использовать калькулятор или таблицы.

Почему длина маски зависит от количества бит

Длина маски, которую записывают после косой черты, — это на самом деле просто количество единичных битов, если представить маску в двоичном виде. Считать эти единицы принято слева направо, и они всегда идут строго подряд, без разрывов.

Посмотрим на примерах. Если в маске 24 единицы, а затем 8 нулей — это префикс /24. Если единиц 26, а нулей 6 — это /26. Если единиц 30, а нулей 2 — это /30. Единицы никогда не перемежаются с нулями. В правильно построенной маске сначала идут все единицы, потом все нули, и никак иначе.

Из этого правила вытекает простой и важный вывод. Чем длиннее маска (чем больше единиц), тем меньше битов остаётся для нумерации устройств внутри подсети. А значит, тем меньше адресов можно раздать компьютерам и принтерам. И наоборот — короткая маска оставляет много битов для хостов, и в такой сети поместится огромное количество устройств.

На практике это выглядит так. Маска /8 оставляет под хосты 24 бита — это миллионы адресов. Маска /24 оставляет 8 битов — это 256 адресов, из которых полезны 254. Маска /30 оставляет всего 2 бита — это 4 адреса, из которых под устройства отдаются только два. Запомнив эту логику, вы сможете оценить размер любой подсети за несколько секунд.

Как разряды помогают понять принцип разделения сети

Понимание разрядов (позиций битов) делает расчёты очевидными. Рассмотрим два IP-адреса и проверим, в одной ли они подсети.

Пример:
Адрес A: 192.168.1.73
Адрес B: 192.168.1.101
Маска: /26 (255.255.255.192)

Переведём оба адреса в двоичный вид, но достаточно сравнить только последний октет, потому что первые три октета полностью уходят под сеть (маска /26 затрагивает и четвёртый октет).

Последние октеты (двоично):

  • 73 → 01001001
  • 101 → 01100101

Маска для последнего октета: /26 означает, что из 8 битов последнего октета под сеть отдано 2 бита (26 − 24 = 2). То есть берём первые два бита последнего октета.

У 73: 01 001001 → первые два бита = 01
У 101: 01 100101 → первые два бита = 01

Совпадают → адреса в одной подсети.

Если бы у одного адреса первые два бита были 00, а у другого 01 — они были бы в разных подсетях.

Ещё один наглядный пример с границей бита:

Маска /26 (последний октет 11000000). Первые два бита последнего октета — сетевые. Возможные комбинации:

  • 00xxxxxx → диапазон 0–63
  • 01xxxxxx → диапазон 64–127
  • 10xxxxxx → диапазон 128–191
  • 11xxxxxx → диапазон 192–255

Это и есть четыре подсети по 64 адреса внутри одного /24. Каждый диапазон начинается с адреса, кратного 64.

Почему это важно на практике:
Когда вы видите маску /27 (шаг 32), /28 (шаг 16) или /29 (шаг 8), вы можете мгновенно определить границы подсети, работая только с последним октетом, даже без калькулятора. Достаточно запомнить:

  • Шаг = 256 − последний_октет_маски
  • Адрес сети = округлить IP вниз до числа, кратного шагу

Это и есть тот самый «разрядный» принцип: каждый бит, который маска «забирает» у хостов, уменьшает размер подсети вдвое и увеличивает количество подсетей вдвое.

Практическое применение масок и подсетей

Теория адресации и расчётов нужна не для экзаменов — она нужна, чтобы строить реальные сети. Даже если вы не сдаёте экзамен на сетевую модель OSI, без понимания масок вы не настроите офисную LAN, не раздадите IP в корпоративной сети и не сможете диагностировать проблему, когда «компьютеры друг друга не видят».

Где используются подсети в интернете, LAN и корпоративных сетях

Подсети встречаются везде, где есть IP-адресация, — от домашнего роутера до глобального интернета.

В интернете провайдеры и дата-центры работают не с отдельными IP-адресами, а с целыми подсетями. Когда компания получает блок адресов, ей выделяют именно подсеть, чаще всего размером /24. Протокол BGP, отвечающий за маршрутизацию в интернете, объявляет маршруты для подсетей. Без этого таблицы маршрутизации были бы немыслимо огромными.

В локальных сетях, или LAN, подсети видны сразу. Домашний роутер создаёт подсеть, чаще всего 192.168.1.0 с маской /24, в которой живут все устройства. Роутер знает, что адреса внутри этой подсети — домашние, а всё остальное — в интернете. Гостевой Wi-Fi, который вы настраиваете у себя в роутере, — это отдельная подсеть, изолированная от основной.

В корпоративных сетях подсети используют системно и жёстко. Здесь одну большую сеть дробят на множество маленьких. Это нужно для повышения безопасности и управляемости сети. Например, бухгалтерия не должна напрямую взаимодействовать с гостевым Wi-Fi, а разработчики — иметь доступ к кадровым данным.

Однако важно понимать: сама по себе разбивка на подсети не даёт защиты. Безопасность появляется только тогда, когда между ними настроены правила взаимодействия — например, через firewall-политики, ACL или сегментацию с контролируемой маршрутизацией.

Если такие правила отсутствуют, даже изолированные на первый взгляд подсети могут свободно обмениваться трафиком.

Кроме того, дробление нужно для управляемости: если проблема в подсети отдела продаж, она не влияет на остальные отделы. И для эффективности: широковещательный трафик остаётся внутри одной подсети.

Как планировать адресацию для компьютеров, серверов и сетевых устройств

Когда речь заходит о реальной сети, будь то небольшой офис или целое здание, просто знать теорию масок недостаточно. Нужно уметь спланировать адресацию так, чтобы сеть работала без сбоев и её легко было расширять. Хороший план адресации экономит часы работы и спасает от головной боли через год, когда в компании появляются новые сотрудники и новые устройства.

Первое и самое важное правило — всегда резервировать адреса заранее. В любой подсети, даже самой маленькой, часть адресов должна быть зарезервирована под специальные нужды. Адрес сети и широковещательный адрес занимают два адреса автоматически, их трогать нельзя. Кроме того, принято оставлять несколько адресов в начале и в конце диапазона под сетевые устройства.

Например, в подсети 192.168.1.0 с маской 255.255.255.0 самый первый адрес после адреса сети, то есть 192.168.1.1, почти всегда отдают маршрутизатору — это шлюз, через который устройства выходят в интернет. Следующие несколько адресов, скажем с 192.168.1.2 по 192.168.1.10, обычно резервируют под коммутаторы, точки доступа и другое активное оборудование. Адреса с 192.168.1.11 по 192.168.1.20 можно отдать под сетевые принтеры и серверы печати. Основной пул, например с 192.168.1.21 по 192.168.1.200, удобно отдать под динамическую раздачу адресов через DHCP — так подключаются обычные компьютеры и ноутбуки сотрудников. А последние адреса, скажем с 192.168.1.201 по 192.168.1.254, стоит зарезервировать под статические адреса для серверов и тех устройств, которые всегда должны иметь один и тот же IP.

Второе важное правило — не экономить на размере подсети. Очень распространённая ошибка: администратор видит, что сегодня в отделе работает всего пять человек, и выделяет подсеть с маской /28, которая вмещает только четырнадцать хостов. А через полгода в отдел приходят ещё десять человек, плюс несколько принтеров, плюс гостевая сеть — и адреса заканчиваются. Добавить адреса в уже работающую подсеть почти всегда означает перенастройку всех устройств, а это долго и больно. Кроме того, тесные подсети усложняют защиту сети, потому что для критически важных серверов сложно выделить изолированный сегмент. Поэтому лучше сразу взять маску с запасом. Для большинства отделов маска /24 — это разумный минимум, который прослужит годы.

Третье правило касается выбора диапазона адресов. Для частных сетей, которые не видны из интернета, существуют специальные диапазоны, описанные в стандарте RFC 1918. Это все адреса, начинающиеся на 10, адреса от 172.16 до 172.31 и адреса от 192.168 до 192.168.255.

Внутри этих диапазонов можно планировать адресацию так, как удобно. Например, в сетях на базе диапазона 10.0.0.0/8 первый октет фиксирован, поэтому структуру обычно строят, начиная со второго. Часто второй октет используют для обозначения региона, третий — для отдела или типа устройств, а четвёртый — как порядковый номер.

Например, адрес 10.5.20.50 можно интерпретировать так: регион 5, отдел 20, устройство 50. Это упрощает диагностику: по одному IP-адресу можно быстро понять, где находится устройство и к какой группе оно относится.

Четвёртое правило — стандартизировать расположение шлюза. В большинстве сетей маршрутизатор получает либо самый первый доступный адрес в подсети, либо самый последний. То есть либо .1, либо .254. Это негласный стандарт, и его лучше придерживаться. Когда все администраторы в компании знают, что шлюз всегда либо первый, либо последний, на поиск маршрутизатора не тратится лишнее время.

И наконец, пятое правило — документировать всё, что вы сделали. Самая лучшая схема адресации бесполезна, если через полгода никто не помнит, какие адреса зарезервированы, а какие свободны. На более высоком уровне планирования, когда вы выбираете, как приложения будут обмениваться данными, вам может пригодиться сравнение TCP и UDP, чтобы понять, какой протокол лучше подходит для критичных данных, а какой — для потокового видео или голоса. Простая таблица в корпоративной вики или даже текстовый файл на сетевом диске спасут от ситуации, когда новый сервер случайно получает адрес, который уже занят важным устройством.

Планирование адресации — это не самая сложная часть работы с сетями, но именно она отличает хаотичную сеть, где всё постоянно ломается, от надёжной инфраструктуры, которая работает годами без проблем. Несколько часов, потраченных на продуманную схему в самом начале, окупаются сотнями сэкономленных часов в будущем.

Когда удобно использовать калькулятор подсетей

Уметь считать подсети вручную — важный навык. Но в реальной работе иногда разумнее довериться инструментам. Калькулятор подсетей не заменяет понимание, а экономит время там, где ручной счёт становится слишком громоздким.

Вот в каких ситуациях калькулятор особенно полезен. Первое — это работа с очень короткими масками, например /16, /18 или /20. Считать вручную диапазоны для таких масок можно, но долго, и легко ошибиться на нуле. Калькулятор даст ответ за секунду. Второе — это дробление сети на подсети разного размера, так называемая технология VLSM. Когда в одной сети одновременно используются маски /24, /25, /26 и /27, вручную следить за тем, чтобы диапазоны не пересекались, очень утомительно. Калькулятор сразу подсветит ошибку. Третье — это обратная задача, когда несколько маленьких подсетей нужно объединить в одну большую. Специалисты называют это суммированием маршрутов. Без калькулятора здесь легко промахнуться с битовой границей. Четвёртое — быстрая проверка себя. Вы сделали расчёт на бумажке, но не до конца уверены. Пять секунд в онлайн-калькуляторе — и вы либо подтверждаете свой результат, либо находите ошибку.

Из популярных бесплатных инструментов можно посоветовать ipcalc для Linux, а также множество простых сайтов вроде calculator.net. Главное правило: сначала поймите логику и научитесь считать простые примеры вручную. А когда база готова — смело пользуйтесь калькуляторами для сложных случаев. Они должны облегчать работу, а не быть костылём для тех, кто не разобрался в основах.

Калькуляторы подсетей для разных операционных систем и платформ

Частые ошибки при расчете подсети

Даже опытные администраторы иногда ошибаются в расчётах подсетей, особенно под давлением или при работе с нестандартными масками. Большинство ошибок однотипные — их легко избежать, если знать, где обычно спотыкаются.

Путаница между адресом сети, хостом и broadcast

Это вторая по частоте ошибка. Человек видит свободный IP-адрес, назначает его устройству, а сеть не работает. Чаще всего потому, что этот адрес оказался зарезервированным.

В любой подсети есть два адреса, которые нельзя давать обычным устройствам. Первый адрес — это адрес сети. Второй — широковещательный адрес, или broadcast. Всё, что между ними, — адреса хостов, их можно использовать.

Например, в подсети 192.168.1.0 с маской 255.255.255.0 адрес сети — это 192.168.1.0, а broadcast — 192.168.1.255. Если вы назначите компьютеру любой из этих двух адресов, он не будет нормально работать.

Для более сложных масок правило то же, но адреса сети и broadcast не всегда заканчиваются на ноль и 255. Главное запомнить: первый адрес диапазона не трогаем, последний адрес диапазона не трогаем, всё что между ними — можно использовать. Этого простого правила достаточно, чтобы избежать большинства проблем.

Ошибки в двоичном и десятичном представлении

Третья группа ошибок возникает, когда пытаются считать «на глаз», не понимая, как устроены биты. Вот самые частые из них.

Первая ошибка — неправильное определение границы подсети при нестандартной маске. Например, дана маска /26 с шагом 64. Некоторые видят число 190 и думают, что оно попадает в диапазон от 128 до 191, но ошибаются с адресом сети на единицу. Чтобы не ошибаться, нужно каждый раз чётко определять, на какое число делится последний октет.

Вторая ошибка — забывать вычитать двойку при расчёте количества хостов. Формула требует отнять два зарезервированных адреса, но новички часто про это забывают и получают 256 хостов для сети /24 вместо 254. Если спроектировать сеть с такой ошибкой, адреса могут неожиданно закончиться.

Третья ошибка — путаница с порядком битов при переводе в двоичный вид. Важно помнить, что старшие биты всегда слева, а младшие — справа. Запись задом наперёд даст совершенно другой адрес.

Самый простой способ избежать этих ошибок — не лениться переводить проблемные октеты в двоичный вид на бумаге или в уме, хотя бы для сетевой части. И всегда проверять себя по правилу: если сомневаетесь в расчёте, возьмите калькулятор подсетей и сверьте результат. Калькулятор нужен не для того, чтобы думать за вас, а чтобы поймать вашу собственную ошибку.

Итоги: как понять маску подсети и не ошибиться в расчетах

Мы разобрали IPv4, маски и подсети шаг за шагом — от самого простого определения до реальных примеров и типичных ошибок. Настало время собрать главное воедино.

Маска подсети — это не страшная формула и не магия. Это просто правило, которое показывает, где заканчивается адрес сети и начинается адрес конкретного устройства. Без маски IP-адрес сам по себе ничего не говорит о границах сети, и маршрутизатор не сможет понять, куда отправлять пакет. Если запомнить только одно — запомните это.

В любой подсети обычно есть два зарезервированных адреса, которые нельзя назначать обычным устройствам. Первый адрес — это адрес сети, он показывает, где подсеть начинается. Последний адрес — широковещательный, или broadcast, он нужен для отправки данных сразу всем устройствам в подсети.

Все адреса между ними можно использовать для компьютеров, серверов и других устройств. Запомните простое правило: первый не трогаем, последний не трогаем, всё что между — используем.

Однако есть исключения. Например, подсети с префиксом /31 применяются для point-to-point соединений и не используют отдельный широковещательный адрес, а префикс /32 обозначает один конкретный IP-адрес и не образует диапазон.

Когда вы проектируете сеть, всегда закладывайте запас по адресам. Лучше взять маску побольше и иметь сотню свободных адресов, чем через полгода обнаружить, что новые устройства просто некуда подключать. Добавить адреса в уже работающую подсеть почти всегда означает перенастройку всех устройств, а это долго и больно. Для большинства небольших офисов и домашних сетей маска /24 — это разумный минимум, который прослужит годы.

Чтобы выполнить расчёт подсети вручную, не нужен сложный алгоритм. Сначала определите октет, в котором маска отличается от 255, и вычтите его значение из 256 — получится размер подсети, или шаг. Затем посмотрите на соответствующий октет IP-адреса и определите, в какой диапазон он попадает при таком шаге.

Адрес сети — это начало диапазона, широковещательный адрес — это конец диапазона, а всё, что между ними, — доступные адреса хостов. Такой подход работает для любых масок, если правильно выбрать октет для расчёта.

Что касается двоичной системы, её понимание делает картину полной. Когда вы видите, что маска — это просто последовательность единиц и нулей, а IP-адрес — такой же набор битов, становится очевидно, почему одни адреса попадают в одну подсеть, а другие — в разные. Достаточно сравнить несколько первых битов, и ответ готов. Но если вам не хочется каждый раз переводить числа в двоичный вид, можно пользоваться калькулятором подсетей — главное, чтобы вы понимали, почему он выдаёт тот или иной результат.

Главные ошибки, которых стоит избегать, — это неправильный выбор маски, путаница между адресом сети, хостом и широковещательным адресом, а также попытки считать на глаз без понимания битовой логики. Каждую из этих ошибок легко избежать, если помнить простые правила: берите маску с запасом, не трогайте первый и последний адреса подсети, а если сомневаетесь — переведите проблемный октет в двоичный вид или проверьте себя калькулятором.

В конечном счёте понимание масок и подсетей — это не сложная математика, а просто навык, который нарабатывается практикой. Начните с нескольких простых примеров на бумаге, проверьте себя через любой онлайн-калькулятор, и уже через день вы будете определять адрес сети и диапазон хостов почти автоматически. Когда вы освоите адресацию, следующим шагом может стать сравнение TCP и UDP — это поможет понять, как именно приложения передают данные поверх вашей правильно настроенной IP-сети. А когда этот навык станет привычным, вы заметите, что настраивать сети и находить в них неполадки стало гораздо легче.




Источники

  1. RFC 791 — Internet Protocol (оригинальная спецификация IPv4)
  2. RFC 4632 — Classless Inter-domain Routing (CIDR)
  3. Cisco — IP Addressing and Subnetting (официальная документация)
  4. TCP/IP Guide (Charles M. Kozierok)
  5. Microsoft Learn — TCP/IP addressing and subnetting