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

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

Что такое IP-адрес и его роль в сети

Компоненты IP-адреса

IP‑адрес состоит из двух основных частей: сетевой идентификатор и идентификатор узла. Сетевой идентификатор определяет, к какой подсети принадлежит устройство, а идентификатор узла уникально различает его внутри этой подсети. В двоичном представлении адрес делится на последовательность единиц (сетевой префикс) и нулей (хостовая часть). Количество единиц в начале адреса и есть размер маски подсети.

Чтобы получить маску подсети, имея только IP‑адрес, следует выполнить несколько простых действий:

  1. Определить класс адреса (A, B или C) по первому октету. Для класса A первая цифра находится в диапазоне 1‑126, для класса B – 128‑191, для класса C – 192‑223. Это дает базовый префикс: 8, 16 или 24 бита соответственно.
  2. Если известна информация о количестве используемых хостов, вычислить необходимое количество бит для хостовой части: ⌈log₂(кол‑во хостов + 2)⌉.
  3. Вычесть полученное число из 32 (общее количество бит IP‑адреса). Оставшееся значение – длина сетевого префикса.
  4. Сформировать маску, записав в двоичном виде столько единиц, сколько получено в пункте 3, а остальные биты заменить нулями. Затем преобразовать её в привычный десятичный вид (четыре октета).

Например, если адрес 192.168.10.45 и требуется разместить 50 хостов, то для хостовой части понадобится 6 бит (2⁶ = 64 ≥ 52). Длина префикса будет 32 − 6 = 26, а маска в десятичном виде выглядит как 255.255.255.192.

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

Роль IP-адреса в маршрутизации

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

Определить, какая часть адреса относится к сети, а какая — к отдельному узлу, можно несколькими способами. Если известен только сам IP, первым шагом является поиск подсетной маски, которая задаёт границы сетевого префикса. Наиболее распространённые методы:

  • Классовый подход. По старой схеме адреса делятся на классы A, B и C. Если первая цифра находится в диапазоне 1‑126, это класс A и маска = 255.0.0.0; 128‑191 — класс B, маска = 255.255.0.0; 192‑223 — класс C, маска = 255.255.255.0. Этот способ подходит лишь для устаревших сетей, но иногда всё ещё встречается в небольших инфраструктурах.

  • CIDR‑нотация. Современные сети используют префиксную запись, например 192.168.10.45/24. Число после слеша указывает количество бит, отведённых под сеть. Соответствующая маска вычисляется простым преобразованием: 24 → 255.255.255.0, 26 → 255.255.255.192 и т.д. Если в адресе уже присутствует такая запись, маска получена мгновенно.

  • Анализ диапазона адресов. Если известен диапазон используемых адресов (например, от 10.0.0.0 до 10.0.3.255), можно вывести маску, сравнив бинарные представления начала и конца диапазона. Общие биты образуют сетевой префикс, остальные заменяются нулями в маске.

  • Инструменты и команды. В любой ОС доступны утилиты, которые выводят маску автоматически: ipconfig (Windows), ifconfig или ip addr (Linux). Также существуют онлайн‑калькуляторы, где вводится IP, а результатом становится полная информация о подсети, включая маску, сеть и широковещательный адрес.

После получения маски маршрутизатор разбивает входящий пакет на две части: сеть и хост. Сетевой префикс сравнивается с записями в таблице маршрутизации, и пакет либо направляется дальше, либо доставляется локальному узлу. Ошибки в определении маски приводят к неправильному распределению трафика, потере соединений и избыточным запросам ARP. Поэтому точный расчёт маски из IP‑адреса — неотъемлемый этап любой сетевой настройки.

Маска подсети: функции и формы представления

Назначение маски подсети

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

Чтобы получить маску подсети, имея только IP‑адрес, следует выполнить несколько последовательных шагов:

  1. Определить класс адреса.

    • Если первый октет от 1 до 126 – класс A (по умолчанию маска 255.0.0.0).
    • От 128 до 191 – класс B (маска 255.255.0.0).
    • От 192 до 223 – класс C (маска 255.255.255.0).
  2. Узнать реальное использование сети. В большинстве современных сетей применяется VLSM (переменная длина маски). Поэтому после определения базового класса необходимо проверить, какие подсети уже задействованы. Это делается с помощью таблиц маршрутизации, DHCP‑серверов или конфигурационных файлов роутера.

  3. Подсчитать количество требуемых хостов. Чем больше хостов, тем меньше битов отводится под часть сети, а больше – под часть узла. Формула (2^{n{host}}-2) (где (n{host}) – число битов, отведённых под хосты) позволяет быстро подобрать оптимальную маску.

  4. Сформировать маску в десятичном виде. После выбора количества битов сети записываем их единицами, а оставшиеся нулями. Например, если нужно 24 бита для сети, маска будет 11111111.11111111.11111111.00000000 → 255.255.255.0.

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

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

Различные форматы записи

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

Самый привычный вид — десятичная запись с точками (192.168.10.45). При этом часто указывается префикс сети после слэша: 192.168.10.45/24. Число после слэша сразу показывает, сколько битов принадлежит сети, а оставшиеся 32 – N битов образуют маску. В примере /24 → маска 255.255.255.0.

Если адрес представлен в бинарном виде, например 11000000.10101000.00001010.00101101, то первые N битов, где N – длина префикса, образуют единицы маски, а остальные – нули. Для /24 это будет 11111111.11111111.11111111.00000000, что в десятичной системе дает 255.255.255.0.

Шестнадцатеричная запись (C0.A8.0A.2D) тоже позволяет определить маску: каждый октет преобразуется в двоичный, после чего применяется тот же принцип подсчёта единичных битов. Если известен префикс /20, то первые 20 битов – единицы, а остальные – нули, получаем маску 255.255.240.0.

В некоторых случаях используют wildcard‑маску (0.0.0.255). Она представляет инвертированную форму обычной маски, поэтому, зная её, легко восстановить стандартную запись: 255.255.255.0.

Для практического применения достаточно выполнить три простых действия:

  1. Выяснить длину сетевого префикса (число после слэша или из документации).
  2. Записать N единиц в двоичном виде, а оставшиеся 32 – N позиций заполнить нулями.
  3. Перевести полученную 32‑битовую строку в четыре десятичные октета – это и будет искомая маска подсети.

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

Классы IP-адресов и их стандартные маски

Классы A, B, C

IP‑адреса делятся на три традиционных класса — A, B и C. Каждый из них имеет фиксированную часть сети и часть узла, что сразу задаёт базовую маску подсети.

  • Класс A — первые 8 бит (первый октет) отводятся под идентификатор сети. Стандартная маска = 255.0.0.0 (или /8). Диапазон адресов : 1.0.0.0 – 126.255.255.255.
  • Класс B — первые 16 бит (первые два октета) определяют сеть. Стандартная маска = 255.255.0.0 (или /16). Диапазон : 128.0.0.0 – 191.255.255.255.
  • Класс C — первые 24 бит (три октета) служат для сети. Стандартная маска = 255.255.255.0 (или /24). Диапазон : 192.0.0.0 – 223.255.255.255.

Чтобы получить маску подсети для конкретного IP‑адреса, выполните следующее:

  1. Определите, к какому классу принадлежит адрес, глядя на его первый октет.
  2. Возьмите стандартную маску, соответствующую найденному классу.
  3. При необходимости уточните маску, добавив битовые «подсети» к части сети. Это делается путем замены нулей в правой части стандартной маски на единицы, пока не достигнете нужного количества подсетей или хостов.
  4. Переведите полученную маску в десятичный вид (например, /24 → 255.255.255.0) или оставьте в CIDR‑формате, если так удобнее.

Пример. Адрес 192.168.10.45 принадлежит к классу C, значит базовая маска = 255.255.255.0. Если требуется разбить сеть на две подсети, добавляем один бит к части сети: маска становится 255.255.255.128 (или /25). Теперь первая подсеть охватывает диапазон 192.168.10.0 – 192.168.10.127, а вторая 192.168.10.128 – 192.168.10.255.

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

Классы D и E

Классы D и E относятся к диапазонам IP‑адресов, которые не предназначены для обычного размещения конечных устройств в сети. Адреса класса D (от 224.0.0.0 до 239.255.255.255) зарезервированы для мультикаст‑передачи: один пакет одновременно доставляется множеству получателей. Класс E (от 240.0.0.0 до 255.255.255.255) предназначен для экспериментальных целей и в реальных сетевых инфраструктурах не используется.

При работе с обычными адресными пространствами (классы A, B, C) маска подсети определяется, исходя из начального бита, который указывает на принадлежность к конкретному классу. Для классов D и E такой схемы нет – их маски фиксированы и не допускают деления на подсети. Поэтому при попытке «вычислить» маску для адреса из диапазона D или E вы получите стандартный набор единиц /4 (255.0.0.0) для класса D и /3 (255.224.0.0) для класса E, но они не применимы к реальному сегментированию сети.

Если необходимо быстро определить, к какому классу принадлежит заданный IP‑адрес и узнать, можно ли задать для него обычную маску подсети, выполните простую проверку первых октетов:

  • Если первый октет находится в диапазоне 0 – 127, это класс A.
  • Если первый октет в диапазоне 128 – 191, это класс B.
  • Если первый октет в диапазоне 192 – 223, это класс C.
  • Если первый октет в диапазоне 224 – 239, это класс D (мультикаст).
  • Если первый октет в диапазоне 240 – 255, это класс E (экспериментальный).

Для классов A, B и C стандартные маски выглядят так: 255.0.0.0, 255.255.0.0 и 255.255.255.0 соответственно, но их можно изменять, используя CIDR‑нотацию, чтобы создать более мелкие подсети. В случае классов D и E изменение маски не имеет смысла, потому что эти диапазоны не поддерживают обычное адресное распределение. Поэтому при планировании сети следует исключать адреса из диапазонов D и E из списка доступных хостов и сосредоточиться на классах A‑C, где маска подсети действительно управляет границами сети.

Бесклассовая адресация (CIDR)

Необходимость перехода к CIDR

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

Определить сетевую маску по конкретному IP‑адресу проще, чем кажется. Достаточно выполнить несколько последовательных действий:

  • Перевести IP‑адрес в двоичный вид, разделив его на четыре октета (например, 192.168.10.45 → 11000000 10101000 00001010 00101101).
  • Выяснить, какой префикс (количество ведущих единиц) использует сеть. В CIDR этот префикс указывается после слеша: /24, /22 и т.д.
  • На основании префикса построить маску: заменить первые n бит единицами, а оставшиеся — нулями, затем снова разбить на октеты. Например, префикс /22 даёт маску 11111111 11111111 11111100 00000000 → 255.255.252.0.
  • Сравнить полученную маску с исходным IP‑адресом, выполнив побитовое И. Результат покажет адрес сети, к которой принадлежит хост.

Эти шаги позволяют быстро и точно установить нужную маску, независимо от того, работаете ли вы с небольшим офисом или крупным дата‑центром. Переход к CIDR не только устраняет неэффективность классической схемы, но и предоставляет гибкость, необходимую для масштабирования и оптимального использования ограниченного пула IPv4‑адресов. Делайте этот переход сейчас — ваш сетевой план станет более рациональным, а управление адресным пространством — прозрачным и предсказуемым.

CIDR-нотация и ее смысл

CIDR‑нотация (Classless Inter‑Domain Routing) — это компактный способ указания сети, в котором к IP‑адресу добавляется числовой префикс, обозначающий количество битов маски подсети. Запись выглядит так: 192.168.10.0/24, где «/24» говорит, что первые 24 бита адреса относятся к сети, а оставшиеся 8 битов — к хостовой части.

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

Чтобы получить реальную маску из CIDR‑префикса, достаточно выполнить несколько простых шагов:

  1. Выделить количество битов — число после косой черты указывает, сколько единичных битов будет в маске.
  2. Сформировать 32‑битовую последовательность: первые N битов — единицы, остальные — нули (где N = значение префикса).
  3. Разбить полученную строку на четыре октета и перевести каждый из них в десятичный вид. Например, для /24 получаем 11111111 11111111 11111111 00000000 → 255.255.255.0.
  4. Проверить соответствие — маска должна быть непрерывной, без чередования единиц и нулей.

Если известен только IP‑адрес и требуется выяснить, к какой сети он относится, достаточно сравнить его с маской, полученной из префикса. Выполняем побитовое ИЛИ (AND) между адресом и маской; результат — сетевой адрес, а оставшиеся биты указывают диапазон доступных хостов.

Для быстрого расчёта часто используют готовые таблицы, где каждому префиксу сопоставлена стандартная десятичная маска:

  • /8  → 255.0.0.0
  • /16 → 255.255.0.0
  • /24 → 255.255.255.0
  • /30 → 255.255.255.252

Эти значения позволяют мгновенно определить границы подсети без дополнительных вычислений. Таким образом, CIDR‑нотация не только упрощает запись сети, но и предоставляет все необходимые данные для получения точной маски подсети.

Преобразование CIDR в десятичный формат маски

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

Сначала берём число после слеша, например /20. Оно указывает, сколько самых старших битов в 32‑битовой маске должны быть единицами. Оставшиеся биты заполняются нулями. Получаем бинарную строку длиной 32 символа, где первые 20 символов — 1, а остальные — 0:

11111111 11111111 11110000 00000000

Далее разбиваем её на четыре октета по восемь битов и переводим каждый октет в десятичную форму:

  • 11111111 → 255
  • 11111111 → 255
  • 11110000 → 240
  • 00000000 → 0

Итоговая маска: 255.255.240.0.

Если необходимо выполнить преобразование вручную, достаточно помнить несколько типовых значений:

Кол‑во единиц в октете Двоичный вид Десятичный
8 11111111 255
7 11111110 254
6 11111100 252
5 11111000 248
4 11110000 240
3 11100000 224
2 11000000 192
1 10000000 128
0 00000000 0

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

Пример практического применения: у вас есть адрес 192.168.10.45/26. Число 26 → два полных октета (16 бит) + 10 единиц в третьем октете. Таблица показывает, что 10 единиц соответствуют значению 252. Последний октет полностью нулевой. Итоговая маска: 255.255.255.252.

Таким образом, зная только CIDR‑префикс, вы без труда получаете маску в привычном формате, а значит сразу можете определить границы сети, диапазон доступных адресов и адрес широковещательной рассылки. Всё, что требуется, – чётко следовать алгоритму: количество единиц → бинарная запись → разбиение на октеты → перевод в десятичные числа. Это надёжный способ, который работает для любой длины префикса от 0 до 32.

Методы получения маски подсети

Через средства операционной системы

Просмотр в Windows (ipconfig)

Для получения полной информации о текущем сетевом соединении в Windows достаточно открыть командную строку и выполнить команду ipconfig. После ввода она мгновенно выводит список адаптеров, их IP‑адреса, маски подсети и шлюзы.

  1. Нажмите Win + R, введите cmd и подтвердите клавишей Enter.
  2. В открывшемся окне введите ipconfig и нажмите Enter.
  3. Среди строк, относящихся к нужному сетевому адаптеру, найдите строки IPv4‑Address и Subnet Mask – они содержат непосредственно ваш IP‑адрес и соответствующую маску.

Если требуется определить маску подсети, используя только IP‑адрес, следует обратить внимание на класс адреса или воспользоваться калькулятором:

  • Классы A, B, C:
    • Адреса от 1.0.0.0 до 126.255.255.255 используют маску 255.0.0.0.
    • Адреса от 128.0.0.0 до 191.255.255.255 используют маску 255.255.0.0.
    • Адреса от 192.0.0.0 до 223.255.255.255 используют маску 255.255.255.0.

  • Пользовательские сети: если в выдаче ipconfig указана маска, отличная от стандартных, её значение уже готово к использованию. При необходимости проверить её корректность, переведите каждую октет в двоичный вид и убедитесь, что единицы идут слева подряд, а нули – справа.

Для быстрой проверки можно воспользоваться онлайн‑инструментами или простым скриптом, который берёт IPv4‑Address и Subnet Mask, применяется побитовое И (AND) и выводит адрес сети, а также диапазон доступных хостов.

Таким образом, команда ipconfig в Windows предоставляет всю необходимую информацию, а знание правил построения масок позволяет быстро определить их даже без дополнительных утилит.

Просмотр в Linux/macOS (ifconfig/ip)

В Linux и macOS вся необходимая информация о сетевых интерфейсах доступна через утилиты ifconfig и ip. Эти инструменты выводят не только текущий IP‑адрес, но и соответствующую ему маску подсети, что позволяет быстро понять, в какой сети находится ваш компьютер.

Для получения данных достаточно открыть терминал и выполнить одну из команд:

  • ifconfig — классический способ, который показывает список всех интерфейсов. В строке, начинающейся с inet, после IP‑адреса следует маска в виде netmask 255.255.255.0 (или в шестнадцатеричном виде, например 0xffffff00).
  • ip addr show — современный вариант, выводящий более структурированный результат. В блоке каждого интерфейса найдите строку inet — там сразу указана подсеть в CIDR‑нотации, например 192.168.1.10/24. Число после слеша (24) и есть длина маски; её обычное десятичное представление легко восстановить (в данном случае — 255.255.255.0).

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

ifconfig eth0 | grep netmask
ip -o -f inet addr show eth0

Эти команды отобразят одну строку, где IP и маска находятся рядом, что упрощает их копирование в конфигурационные файлы или скрипты.

Для автоматической обработки в скриптах удобно извлекать маску через awk или cut:

ip -o -f inet addr show eth0 | awk '{print $4}'
# результат: 192.168.1.10/24

Затем, применяя простую таблицу соответствия префикса и десятичной маски, получаем окончательное значение, например:

Префикс Маска
8 255.0.0.0
16 255.255.0.0
24 255.255.255.0
30 255.255.255.252

Таким образом, используя только встроенные средства системы, вы мгновенно получаете точную маску подсети, сопоставленную с текущим IP‑адресом, без необходимости обращаться к внешним справочникам. Всё, что нужно, — вызвать одну из команд и прочитать результат.

По известной CIDR-нотации

Определить маску подсети, зная CIDR‑нотацию, можно за несколько простых шагов. Сначала необходимо понять, что запись вида 192.168.10.45/24 состоит из IP‑адреса и числа после слеша, которое указывает количество битов, принадлежащих сетевой части.

  1. Запишите IP‑адрес в двоичном виде. Каждый октет превращается в восемь битов, например, 192 → 11000000, 168 → 10101000 и т.д.
  2. По полученному числу после слеша (например, 24) выделите соответствующее количество битов слева. Эти биты образуют сетевую часть, остальные –‑ хостовую.
  3. Сформируйте маску, заменив все биты сетевой части на 1, а хостовую часть – на 0. В случае /24 получаем 11111111.11111111.11111111.00000000.
  4. Переведите полученную двоичную маску обратно в десятичный формат. Для примера выше это 255.255.255.0.

Если CIDR‑префикс отличается от стандартных /8, /16, /24, процесс остаётся тем же: просто меняйте количество единичных битов. Например, при /19 будет 19 единиц, а оставшиеся 13 нулей формируют маску 255.255.224.0.

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

Анализ сетевой документации

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

Первый шаг – собрать все строки, где указаны адреса в формате «x.x.x.x». Затем следует перевести каждый октет в двоичную форму. Это позволяет увидеть, какие биты находятся в фиксированной части, а какие могут изменяться. Если в документах уже указана длина префикса (например, /24, /20), её достаточно сопоставить с полученными двоичными представлениями.

Если префикс отсутствует, используют один из проверенных методов:

  • Сравнивают адрес с известными диапазонами классов (Class A – /8, Class B – /16, Class C – /24). При совпадении выбирают соответствующую маску.
  • Анализируют соседние записи в таблице: если несколько адресов отличаются только в последних битах, то общая часть указывает на длину маски.
  • Применяют подсчет количества единичных битов в маске, исходя из количества устройств, которые должны находиться в одной подсети. Чем больше хостов, тем меньше длина маски.

После определения длины префикса формируют полную маску подсети в десятичном виде (255.255.255.0, 255.255.240.0 и т.п.). Эта маска записывается рядом с IP‑адресом в документах, что упрощает дальнейший аудит и настройку оборудования.

Завершающий этап – проверить согласованность полученных данных с реальными настройками маршрутизаторов и коммутаторов. Для этого используют команды диагностики (например, show ip interface brief на Cisco) и сравнивают результаты с тем, что записано в документации. Любые расхождения фиксируются и исправляются, чтобы исключить ошибки маршрутизации и обеспечить стабильную работу сети.

Примеры вычисления параметров сети

Расчет по CIDR-префиксу

CIDR‑префикс — это числовое обозначение количества единичных битов в маске подсети, записываемое после IP‑адреса через косую черту (например, 192.168.10.0/24). Чтобы получить маску, достаточно перевести значение префикса в двоичный вид и затем сформировать четырёхоктетную запись.

  1. Определяем длину префикса. Число после «/» показывает, сколько первых битов сетевой части установлены в 1. Если префикс = 24, то первые 24 бита = 1, остальные = 0.

  2. Преобразуем в байты. Делим длину префикса на 8. Целая часть задаёт количество полностью заполненных октетов = 255. Остаток (0‑7) заполняем битами единиц слева, а оставшиеся позиции заполняем нулями. Пример: /22 → полные октеты = 2 (255.255), остаток = 6 → 11000000 = 192, последний октет = 0. Итоговая маска = 255.255.192.0.

  3. Проверяем результат. Сумма всех битов в маске должна совпадать с префиксом. В примере 255 (8 бит) + 255 (8 бит) + 192 (6 бит) + 0 (0 бит) = 22 бита, что соответствует указанному префиксу.

Если требуется провести обратный расчёт – от маски к префиксу – считаем количество единичных битов во всех октетах. 255 = 8, 254 = 7, 252 = 6 и т.д. Сложив их, получаем значение после «/».

Таким образом, любой IP‑адрес с указанием CIDR‑префикса мгновенно превращается в полную маску подсети, что упрощает планирование сети и распределение адресного пространства.

Определение сетевого и широковещательного адресов

Определить сетевой и широковещательный адреса можно, используя только IP‑адрес и маску подсети. Сначала переводим оба числа в двоичный вид. В двоичном представлении маска состоит из единиц, задающих часть адреса, принадлежащую сети, и нулей, определяющих часть, принадлежащую хостам.

Шаги определения:

  1. Получаем маску.
    Если известен CIDR‑префикс (например, /24), записываем маску как последовательность из указанного количества единиц, а остальные биты заполняем нулями. В десятичном виде это будет 255.255.255.0.

  2. Вычисляем сетевой адрес.
    Выполняем побитовое И (AND) между IP‑адресом и маской. Результат – сеть, к которой принадлежит данный хост. В двоичном виде все хостовые биты становятся нулями, а сетевые сохраняются.

  3. Вычисляем широковещательный адрес.
    Инвертируем маску (заменяем 1 на 0 и 0 на 1), получая маску хостовой части. Затем выполняем побитовое ИЛИ (OR) между сетевым адресом и полученной инвертированной маской. В результате все хостовые биты становятся единицами – это широковещательный адрес подсети.

Пример.
IP‑адрес = 192.168.10.45, префикс = /26.

  • Маска в двоичном виде: 11111111.11111111.11111111.11000000 → 255.255.255.192.
  • Сетевой адрес: 192.168.10.0 (побитовое И).
  • Инвертированная маска: 00000000.00000000.00000000.00111111 → 0.0.0.63.
  • Широковещательный адрес: 192.168.10.63 (побитовое ИЛИ).

Эти операции позволяют безошибочно определить границы любой подсети, а значит, быстро находить как адрес сети, так и её широковещательный адрес. Если префикс неизвестен, его можно вывести, анализируя закономерности в адресах соседних узлов или используя таблицы, где каждому классу IP‑адресов сопоставлены стандартные маски. В любом случае, работа полностью основана на простых побитовых действиях, которые легко реализовать вручную или с помощью любого сетевого калькулятора.

Применение маски для разделения сети

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

Определить, какой маской следует пользоваться для конкретного IP‑адреса, можно, следуя нескольким простым правилам:

  • Проверьте класс адреса.

    • Класс A – первые 8 битов отводятся под сеть (маска 255.0.0.0).
    • Класс B – первые 16 битов отводятся под сеть (маска 255.255.0.0).
    • Класс C – первые 24 бита отводятся под сеть (маска 255.255.255.0).
      Если адрес попадает в один из этих диапазонов, начальная маска уже известна.
  • Уточните потребности сети.
    Оцените, сколько хостов должно быть в каждом сегменте. Если требуется меньше адресов, чем предоставляет стандартный класс, уменьшите количество битов, отведённых под сеть, и увеличьте часть, отведённую под хосты. Например, для 30 устройств достаточно 5 битов под хосты (2⁵‑2 = 30), что даёт маску /27 (255.255.255.224).

  • Переведите маску в двоичный вид.
    Запишите маску как последовательность из единиц, за которой следуют нули. Это упрощает проверку совпадения сети: IP & маска = сетевой адрес. Если полученный сетевой адрес совпадает у нескольких устройств, они находятся в одном сегменте.

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

  • Задокументируйте результат.
    Запишите IP‑адрес, выбранную маску и полученный сетевой адрес в таблице. Это ускорит диагностику и последующее расширение сети.

Применяя эти шаги, вы быстро получаете корректную маску подсети, позволяющую эффективно разделять сеть, контролировать доступ и рационально использовать доступные IP‑адреса. Уверенно следуйте описанному процессу, и ваш сетевой план будет работать без сбоев.