Раздел помощи SpaceWeb

Маска подсети: что такое и как узнать по IP

28 дек, 2023

В этой статье вы узнаете о том, что такое маски подсети и зачем они нужны. 

IP-адрес, маска подсети и шлюз: как работают

Давайте начнем с рассмотрения устройства работы IP-адресов, поскольку понимание структуры IP-адресов – это ключ к пониманию функции маски подсети.

Каждое устройство имеет Айпи-адрес с двумя компонентами: адрес клиента или хоста и адрес сервера/сети. IP-адреса либо настраиваются с использованием DHCP-сервера, либо настраиваются вручную (статические IP-адреса). 

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

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

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

IP-адрес (IP address) – это уникальный числовой идентификатор, который присваивается каждому устройству (например, компьютеру, смартфону, принтеру), подключенному к интернету. Этот адрес используется для того, чтобы устройства могли общаться друг с другом в сети. 
 
IP-адреса бывают двух типов: IPv4 (например, 192.168.1.1) и IPv6 (например, 2001:0db8:85a3:0000:0000:8a2e:0370:7334). IPv4 состоит из четырех групп чисел, разделенных точками, а IPv6 использует более длинные адреса, состоящие из букв и цифр, разделенных двоеточиями. IP-адрес позволяет устройствам обмениваться данными в сети, а также обеспечивает маршрутизацию данных от отправителя к получателю.

Что такое маска подсети

Маска подсети (Subnet mask) представляет собой 32-битное число, созданное путем установки битов хоста в 0 и битов сети в 1. Таким образом, маска подсети разделяет IP-адрес на адреса сети и хоста.

Адрес «255» всегда назначается в качестве адреса широковещательной рассылки, а адрес «0» всегда назначается в качестве адреса сети. Ни один из них не может быть назначен узлам, так как они зарезервированы для этих специальных целей.

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

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

Цель маски подсети – просто облегчить процесс разделения подсетей. Термин «маска» используется потому, что маска подсети фактически использует свое собственное 32-битное число для маскирования IP-адреса.

Вот пример маски подсети:

255.255.255.0 = 11111111.11111111.11111111.00000000

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

Устройства в сети IPv4 могут быть уникально идентифицированы с использованием 32-битных IP-адресов. Эти 32 бита содержат адрес хоста и адрес сети, которые определяются маской подсети.

Биты разбиты на 4 группы по 8 чисел, называемых октетами. Представление в бинарной системе обычно неудобно для восприятия, поэтому IP-адреса обычно представляются в десятичной форме с числами от 0 до 255, или от 00000000 до 11111111 в бинарном представлении.

Маска подсети может выглядеть, например, так: 11111111.11111111.11111111.00000000. Однако в большинстве случаев адрес подсети выглядит так: 255.102.255.0.

Маска подсети имеет аналогичный формат IP-адреса. IP-адрес обычно состоит из 32 бит и представляется серией октетов, разделенных точками.

IP-адрес может выглядеть, например, так: 11000000.10101000.01111011.10000100. Однако в большинстве случаев он выглядит так: 192.168.123.132.

Как видите, у них схожая функция и структура. Однако маска подсети используется только внутри внутренней сети и не является общедоступным сетевым адресом.

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

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

Сети имеют разные размеры. Некоторым требуется доступ всего к нескольким хостам. Другие должны предоставлять доступ к многим тысячам хостов. Из-за этого существуют разные классы IP-адресов. Они предоставляют пространство для сетей класса A, сетей класса B и сетей класса C.

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

Класс IP-адреса определяет возможный размер сети, а также количество октетов, выделенных для маски подсети. Различные классы IP-адресов подходят для разных потребностей:

  • Сеть класса A поддерживает более 65 000 хостов. Она обеспечивает доступ, отражая адрес сети только в первом октете маски подсети, при этом второй, третий и четвёртый октеты остаются свободными для назначения администратором по необходимости хостам и подсетям.
  • Сеть класса B имеет IP-адрес, в котором маска подсети отражает адрес сети в первом и втором октетах. При этом третий и четвёртый остаются для назначения в сети. Сеть класса B, следовательно, поддерживает соединения только для от 256 до 65 534 хостов.
  • Сеть класса C поддерживает наименьшее количество хостов. В сети класса C первый, второй и третий октеты используются для отражения номера сети. Последний октет остается только для обеспечения до 254 адресов хостов.

И сети класса B, и сети класса C выглядят одинаково. Поэтому им требуется маска подсети для идентификации адреса сети и адреса хоста.

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

  • Маска подсети по умолчанию для класса A – 255.0.0.0.
  • Маска подсети по умолчанию для класса B – 255.255.0.0.
  • Маска подсети по умолчанию для класса C – 255.255.255.0.

Маски подсети в IPv6

У масок подсети в IPv6 есть особые характеристики.

Как известно, количество адресов в протоколе IPv4 насчитывает уже более 4 миллиарда. Но и этого оказалось недостаточно. В связи с чем применение протокола IPv6, способного обрабатывать 128-битные значения (8 чисел в шестнадцатеричной системе), стало необходимостью. 

В нем количество доступных адресов в разы выше, чем в IPv4 (точнее, в 1028 раз), а потому полностью удовлетворяет и будет удовлетворять потребности человечества даже в далеком будущем.

Однако из-за шестнадцатеричного формата маски подсетей в IPv6 устанавливаются в соответствии с иными правилами. Расчет маски подсети также происходит по-другому.

Для построения сетей применяется бесклассовая адресация CIDR, что значительно улучшает гибкость настройки подсетей. 

В шестнадцатеричном формате каждая позиция может принимать значения от 0 до F (числа 0-9 и буквы A-F представляют собой последовательность из 16 символов). При установке маски используется F для сетевой части.

Пример: 

ffff:ffff:ffff:ffff:ffff:ffff:ffff:0000. 

Такая маска позволяет работать с 65536 адресами. Для сокращения числа адресов наполовину используется вариант: 

ffff:ffff:ffff:ffff:ffff:ffff:ffff:8000. 

Приближенным эквивалентом маски для сети класса C (хотя классы в IPv6 отсутствуют) будет: 

ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. 

Эта запись предоставляет возможность выделить 256 IP-адресов в формате IPv6, учитывая два свободных разряда в правой части.

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

Для определения адреса сети по IP-адресу и маске подсети вы можете воспользоваться процессом, называемым «логическим оператором И» над битами. Этот процесс выполняется побитово, то есть для каждого бита IP-адреса и соответствующего ему бита маски подсети. Результат этой операции даст вам адрес сети.

Вот как это сделать:

  1. Переведите IP-адрес и маску подсети в двоичную систему. Разбейте каждый из них на 8 бит (октеты).
  2. Примените логическую операцию «И» между каждым битом IP-адреса и соответствующим битом маски подсети. Это можно сделать для каждого октета отдельно.
  3. Полученные результаты объедините в новый IP-адрес в двоичной форме.
  4. Преобразуйте этот новый IP-адрес обратно в десятичную систему, чтобы получить окончательный адрес сети.

Давайте рассмотрим пример. У нас есть следующие данные:

IP-адрес: 192.168.1.100
Маска подсети: 255.255.255.0

Переведем их в двоичную систему:

IP-адрес:  11000000.10101000.00000001.01100100

Маска подсети: 11111111.11111111.11111111.00000000

Применим операцию И бит-по-биту. Иными словами, сравним каждый бит в IP-адресе с соответствующим битом в маске подсети. 

Результат: 

11000000.10101000.00000001.00000000

Преобразуем полученный результат обратно в десятичную систему:

Адрес сети:  192.168.1.0

Где посмотреть маску подсети

Чтобы посмотреть маску подсети на компьютере, вам нужно воспользоваться командной строкой (Command Prompt) или терминалом, в зависимости от операционной системы. 

Вот как это сделать в различных ОС:

Windows:

  1. Зажмите сочетание клавиш Win + R, чтобы открыть «Выполнить».
  2. Введите «cmd» и нажмите Enter.
  3. Пропишите команду:

ipconfig

Это выведет информацию об IP-адресе вашего компьютера и его подсети. 

macOS и Linux:

  1. Откройте терминал.
  2. Введите команду:

ifconfig

Или для новых версий Linux и macOS:

ip addr

Это также выведет информацию об IP-адресе и маске подсети вашего компьютера.

Заключение

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

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