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

Введение

Глобальная сеть интернет, как и основная часть современных вычислительных сетей меньшего размера, реализована на основе стека TCP/IP. В качестве уникального идентификатора узла (в пределах одной сети), используется IP адрес. С этим вы наверняка знакомы — ведь ваш компьютер, а если быть точным сетевой интерфейс, тоже имеет уникальный ip адрес. Его вы указывали при настройке подключения. С его помощью ваш компьютер идентифицируется в сети, и получает возможность взаимодействовать с другими узлами. Точно также, как и любой другой компьютер или сетевое устройство.

Какую роль в протоколе ip играет маска подсети? Она указывает, какая часть ip адреса назначена для идентификации конкретного сетевого устройства, а какая для адресации сети, в которой он находится.

Тут нужно сделать небольшое отступление. В настоящее время в основе сетей используется протокол ip 4-ой версии. И постепенно идет переход на использование версии IPv6. В обоих случаях, все сети разделяются на большие и маленькие сегменты. Делается это для упрощения их администрирования, с точки зрения масштабирования и безопасности. В таком случае, некоторые ip адреса будут использоваться не для идентификации сетевого узла, а для обозначения (адресации) сети (подсети), к которой он относится. В этом случае и используется ip маска подсети.

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

Префиксная, или CIDR запись маски

Не всегда удобно использовать для обозначения маски длинное десятичное число. А уж тем более неудобно, если работать с масками в двоичном виде. Для упрощения работы был придуман альтернативный вариант записи, называемый «префиксной» или «CIDR» запись маски подсети.

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

Небольшой пример. У нас есть маска подсети 255.255.255.0, и мы перевели ее в двоичный вид. Получилось такое число:

11111111 11111111 11111111 00000000. Здесь 24-е единицы. Это и будет значение для префиксного варианта обозначения.

Записывается он следующим образом: пишется косая черта «/» и после нее указывается количество единиц. В нашем примере это будет соответствовать «/24» — в подсети используется префикс 24.

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

Вам пригодится следующая таблица:

Немного о сетевой адресации

В настоящее время все существующие сети разделены на три класса: A, B и C. И имеют следующие характеристики

Сети класса A:

  • Диапазон значений первого октета 1-126
  • Допустимые адреса сетей 1.0.0.0 — 126.0.0.0
  • Количество сетей в классе 2^7-2
  • Количество узлов в сети 2^24-2

Сети класса B:

  • Диапазон значений первого октета 128-191
  • Допустимые адреса сетей 128.0.0.0 — 191.225.0.0
  • Количество сетей в классе 2^14
  • Количество узлов в сети 2^16-2

Сети класса C:

  • Диапазон значений первого октета 192-223
  • Допустимые адреса сетей 192.0.0.0 — 223.225.225.0
  • Количество сетей в классе 2^21
  • Количество узлов в сети 2^8-2

На картинке ниже представлены ip адреса, каждый из которых относится к своему типу классовой сети. В скобках указаны количества байт, которые отведены для обозначения адреса сети и узла соответственно.

В том случае, если отсутствует разбиение на подсети, для каждого класса используется стандартная маска:

Класс A — 255.0.0.0Класс B — 255.255.0.0Класс C — 255.255.255.0

Частные и зарегистрированные адреса

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

Частные сети:

Класс A — 10.0.0.0Класс B — 172.16.0.0 по 172.31.0.0Класс С — 192.168.0.0 по 192.168.255.0

Зарезервированные адреса из этих диапазонов можно использовать при построении домашней сети, или сети предприятия. И все будет нормально работать.

У вас может возникнуть логичный вопрос — а как в таком случае подключаться к Интернет? Здесь ситуация разрешается с использованием одного или нескольких публичных ip адреса, которые выдает провайдер при подключении к сети. И все компьютеры частной сети используют его при подключении к Интернет. Это реализуется благодаря технологии NAT (трансляция сетевых адресов).

Версии IP-адресов

5.1. IPv4

IPv4 представляет собой протокол Интернета 4 версии. Хоть это и четверное поколение, IPv4 является стандартной версией протокола. Она наиболее распространена для функционирования большей части сети Интернет.

Согласно протоколу IPv4, каждый адрес состоит из двоичной системы чисел (нули и единицы). Обычно они записываются в качестве десятичных чисел. Они разделяются с помощью точек. Это необходимо, дабы облегчить и читаемость, сделав адрес более запоминающимся.

Версия протокола IPv4 применяет адресное пространство в 32 бита. Его размер составляет 4 байта. Всего их составляет около 4,3 миллиарда адресов.

Пример IPv4 адреса

5.2. IPv6

IPv6 представляет собой более современную и улучшенную альтернативу адресов версии IPv4. У последнего стремительное заканчивается адресное пространство. Их количество составляет 4.3 миллиарда — это большое число, однако такое количество IP недостаточно для удовлетворения спроса пользователей. Люди используют для подключения к Интернету все большее количество устройств: мобильные телефоны, планшеты, лэптопы и т.д. Число абонентов стремительно растет.

Поэтому и был разработан протокол более новой версии — IPv6. Он использует 128-битное дисковое пространство. Число адресов составляет 2 в 128 степени (достаточно для удовлетворения нужд пользователей в ближайшие несколько десятилетий или даже столетие).

Адрес, размер которого составляет 128 бит, сильно отличается от протокола IPv4. Все группы чисел разделяются с помощью двоеточия (вместо стандартной точки).

Пример IPv6 адреса

Рассмотрим основные отличия IPv6 от классического IPv4.

Отличительные особенности IPv6:

  • Большее место для адреса;
  • Возможность расширяемости;
  • Встроенная система безопасности;
  • Новый формат заголовка;
  • Наличие нового протокола, необходимого для взаимодействия соседних узлов;
  • Иерархичная и высокоэффективная система маршрутизации;
  • Высококлассная поддержка QoS;
  • Конфигурация адресов с помощью DHCP или без нее;

Как научиться считать маски подсети?

Маска подсети всегда представляет собой последовательное количество вначале единиц, а затем – нулей. Маски вида 11011111.11111111.11111111.1100000 быть не может.

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

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

232-n -2, где n – длина подсети. 232-24 -2 = 254 для маски 255.255.255.0.

Откуда берется -2?

Это первый и последний адреса сети: первый – адрес самой сети, последний – адрес широковещательных рассылок.

Еще для наглядности. Рассмотрим, как разделить сеть 192.168.1.0 /24 на две на подсети с помощью маски. Для этого заберем один бит хостовой части в пользу сетевой, получаем 11111111.11111111.11111111.10000000. На выходе у нас две подсети – 192.168.1.0 /25 и 192.168.1.128 /25. (0 и 128 – значения, которые может принять первый бит четвертого октета, 0 и 1 соответственно).

Теперь рассмотрим, как разделить первоначальную сеть на четыре подсети. Для этого отдаем первые два бита из последнего октета в пользу сети:

11111111.11111111.11111111.00000000 = 192.168.1.0 11111111.11111111.11111111.01000000 = 192.168.1.64 11111111.11111111.11111111.10000000 = 192.168.1.128 11111111.11111111.11111111.11000000 = 192.168.1.192

Инфо

Калькулятор сети производит расчет адреса сети, широковещательного адреса, количество хостов и диапазон допустимых адресов в сети. Для того, чтобы рассчитать эти данные, укажите IP-адрес хоста и маску сети.
Маску сети необходимо указывать в следующем виде: ХХХ.ХХХ.ХХХ.Х. Можно указать эти данные и в «CIDR notation».
Если данные маски сети не указаны, программа обратится к данным, которые обычно используются для сетей этого типа.
Для того, чтобы более наглядно показать, как рассчитываются программой IP-адреса сетей, рассчитанные данные приведены в двоичном формате. Часть адреса перед пробелом отражает сведения о принадлежности к сети. Указанные здесь данные носят название «битов сети». Часть, следующая за пробелом, отвечает за адреса хостов. Они именуются битами хостов. В широковещательном адресе их значение равно единице, в адресе сети оно составляет 0.
Биты, находящиеся в начале, обозначают класс сети. Если сеть находится в Intranet, это необходимо указать отдельно.

Резервация адресов для особых функций

Имеется ряд IPv4 адресов, сохраненных для определенных задач. Они не используются для глобальной маршрутизации. К функциям, которые выполняются с их помощью, относится создание сокетов IP, обеспечение коммуникаций внутри хоста, многоадресная рассылка, регистрация адресов, имеющих специальное назначение, и др. Эти адреса могут быть использованы в частных сетях, в провайдерских сетях. Часть из них сохранена для последующего использования.

Подсеть Назначение
0.0.0.0/8 Адреса источников пакетов «этой» («своей») сети, предназначены для локального использования на хосте при создании сокетов IP. Адрес 0.0.0.0/32 используется для указания адреса источника самого хоста.
10.0.0.0/8 Для использования в частных сетях.
127.0.0.0/8 Подсеть для коммуникаций внутри хоста.
169.254.0.0/16 Канальные адреса; подсеть используется для автоматического конфигурирования адресов IP в случает отсутствия сервера DHCP.
172.16.0.0/12 Для использования в частных сетях.
100.64.0.0/10 Для использования в сетях сервис-провайдера.
192.0.0.0/24 Регистрация адресов специального назначения.
192.0.2.0/24 Для примеров в документации.
192.168.0.0/16 Для использования в частных сетях.
198.51.100.0/24 Для примеров в документации.
198.18.0.0/15 Для стендов тестирования производительности.
203.0.113.0/24 Для примеров в документации.
240.0.0.0/4 Зарезервировано для использования в будущем.
255.255.255.255 Ограниченный широковещательный адрес.

Зарезервированные адреса, которые маршрутизируются глобально.

Подсеть Назначение
192.88.99.0/24 Используются для рассылки ближайшему узлу. Адрес 192.88.99.0/32 применяется в качестве ретранслятора при инкапсуляции IPv6 в IPv4 (6to4)
224.0.0.0/4 Используются для многоадресной рассылки.

Как рассчитать сеть при помощи калькулятора

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

Маски и размеры подсетей

А,
В,
С — традиционные классы адресов. М — миллион, К — тысяча.

Подсеть Десятеричная запись # подсетей # адресов Класс
/1 128.0.0.0   2048 M 128 А
/2 192.0.0.0   1024 M 64 А
/3 224.0.0.0   512 M 32 А
/4 240.0.0.0   256 M 16 А
/5 248.0.0.0   128 M 8 А
/6 252.0.0.0   64 M 4 А
/7 254.0.0.0   32 M 2 А
/8 255.0.0.0   16 M 1 А
/9 255.128.0.0   8 M 128 B
/10 255.192.0.0   4 M 64 B
/11 255.224.0.0   2 M 32 B
/12 255.240.0.0   1024 K 16 B
/13 255.248.0.0   512 K 8 B
/14 255.252.0.0   256 K 4 B
/15 255.254.0.0   128 K 2 B
/16 255.255.0.0   64 K 1 B
/17 255.255.128.0 2 32 K 128 C
/18 255.255.192.0 4 16 K 64 C
/19 255.255.224.0 8 8 K 32 C
/20 255.255.240.0 16 4 K 16 C
/21 255.255.248.0 32 2 K 8 C
/22 255.255.252.0 64 1 K 4 C
/23 255.255.254.0 128 512 2 C
/24 255.255.255.0 256 256 1 C
/25 255.255.255.128 2 128 1/2 C
/26 255.255.255.192 4 64 1/4 C
/27 255.255.255.224 8 32 1/8 C
/28 255.255.255.240 16 16 1/16 C
/29 255.255.255.248 32 8 1/32 C
/30 255.255.255.252 64 4 1/64 C
/31 255.255.255.254   2 1/128 C
/32 255.255.255.255 Ограниченный широковещательный адрес

Маски при бесклассовой маршрутизации (CIDR)

Основная статья: Подсеть

Маски подсети являются основой метода бесклассовой маршрутизации (англ. CIDR). При этом подходе маску подсети записывают вместе с IP-адресом в формате «IP-адрес/количество единичных бит в маске». Число после знака дроби (длина префикса сети) означает количество единичных разрядов (бит) в маске подсети.

Рассмотрим пример записи диапазона IP-адресов в виде 10.96.0.0/11. В этом случае маска подсети будет иметь двоичный вид 1111_1111.1110_0000.0000_0000.0000_0000, или то же самое в десятичном виде: 255.224.0.0. 11 разрядов IP-адреса отводятся под адрес сети, а остальной 32-11=21 разряд полного адреса (1111_1111.1110_0000.0000_0000.0000_0000) — под локальный адрес в этой сети. Итого, 10.96.0.0/11 означает диапазон адресов от 10.96.0.0 до 10.127.255.255.

IPv4 CIDR
CIDR Последний IP-адрес в подсети Маска подсети Количество адресов в подсети Количество хостов в подсети Класс подсети
a.b.c.d/32 0.0.0.0 255.255.255.255 1 1* 1/256 C
a.b.c.d/31 0.0.0.1 255.255.255.254 2 2* 1/128 C
a.b.c.d/30 0.0.0.3 255.255.255.252 4 2 1/64 C
a.b.c.d/29 0.0.0.7 255.255.255.248 8 6 1/32 C
a.b.c.d/28 0.0.0.15 255.255.255.240 16 14 1/16 C
a.b.c.d/27 0.0.0.31 255.255.255.224 32 30 1/8 C
a.b.c.d/26 0.0.0.63 255.255.255.192 64 62 1/4 C
a.b.c.d/25 0.0.0.127 255.255.255.128 128 126 1/2 C
a.b.c.0/24 0.0.0.255 255.255.255.000 256 254 1 C
a.b.c.0/23 0.0.1.255 255.255.254.000 512 510 2 C
a.b.c.0/22 0.0.3.255 255.255.252.000 1024 1022 4 C
a.b.c.0/21 0.0.7.255 255.255.248.000 2048 2046 8 C
a.b.c.0/20 0.0.15.255 255.255.240.000 4096 4094 16 C
a.b.c.0/19 0.0.31.255 255.255.224.000 8192 8190 32 C
a.b.c.0/18 0.0.63.255 255.255.192.000 16 384 16 382 64 C
a.b.c.0/17 0.0.127.255 255.255.128.000 32 768 32 766 128 C
a.b.0.0/16 0.0.255.255 255.255.000.000 65 536 65 534 256 C = 1 B
a.b.0.0/15 0.1.255.255 255.254.000.000 131 072 131 070 2 B
a.b.0.0/14 0.3.255.255 255.252.000.000 262 144 262 142 4 B
a.b.0.0/13 0.7.255.255 255.248.000.000 524 288 524 286 8 B
a.b.0.0/12 0.15.255.255 255.240.000.000 1 048 576 1 048 574 16 B
a.b.0.0/11 0.31.255.255 255.224.000.000 2 097 152 2 097 150 32 B
a.b.0.0/10 0.63.255.255 255.192.000.000 4 194 304 4 194 302 64 B
a.b.0.0/9 0.127.255.255 255.128.000.000 8 388 608 8 388 606 128 B
a.0.0.0/8 0.255.255.255 255.000.000.000 16 777 216 16 777 214 256 B = 1 A
a.0.0.0/7 1.255.255.255 254.000.000.000 33 554 432 33 554 430 2 A
a.0.0.0/6 3.255.255.255 252.000.000.000 67 108 864 67 108 862 4 A
a.0.0.0/5 7.255.255.255 248.000.000.000 134 217 728 134 217 726 8 A
a.0.0.0/4 15.255.255.255 240.000.000.000 268 435 456 268 435 454 16 A
a.0.0.0/3 31.255.255.255 224.000.000.000 536 870 912 536 870 910 32 A
a.0.0.0/2 63.255.255.255 192.000.000.000 1 073 741 824 1 073 741 822 64 A
a.0.0.0/1 127.255.255.255 128.000.000.000 2 147 483 648 2 147 483 646 128 A
0.0.0.0/0 255.255.255.255 000.000.000.000 4 294 967 296 4 294 967 294 256 A

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

Возможных узлов подсети меньше количества адресов на два: начальный адрес сети резервируется для идентификации подсети, последний адрес используется в качестве широковещательного адреса (возможны исключения в виде адресации в IPv4 сетей /32 и /31).

Две базовые части IP-адреса

IP-адрес устройства состоит из двух отдельных частей:

  • Идентификатор сети: является частью IP-адреса; начинаются слева и идентифицирует конкретную сеть, на которой расположено устройство. В обычной домашней сети, где устройство имеет IP-адрес 192.168.1.34, часть 192.168.1 будет идентификатором сети. Если заполнить недостающую конечную часть нулём, мы можем сказать, что сетевой идентификатор устройства – 192.168.1.0.
  • Идентификатор хоста: это часть IP-адреса, не занятого сетевым идентификатором. Он идентифицирует конкретное устройство (в мире TCP/IP устройства называют «хостами») в этой сети. Продолжая наш пример IP-адреса 192.168.1.34, идентификатором хоста будет 34 – уникальный идентификатор устройства в сети 192.168.1

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

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

IP адреса могут иметь три возможных значения:

  • адрес IP сети (группа IP устройств, совместно использующих доступ к среде
    передачи — все находятся на том же самом сегменте Ethernet). Если в поле
    номера сети биты установлены в 0, то по умолчанию считается, что этот узел
    принадлежит той же самой сети, что и узел, с которого отправлен пакет;

  • широковещательный адрес IP сети (сообщение с таким адресом назначения
    должно рассылаться всем узлам, находящимся в той же сети, что и источник
    этого пакета). Все разряды IP адреса установлены в 1.

  • адрес интерфейса (типа платы Ethernet или PPP интерфейс на компьютере,
    маршрутизаторе, сервере печати и т.д.).Эти адреса могут иметь любое
    значение в битах поля узла, исключая все нули или все единицы, т.к. если
    будут все нули — адрес сети, все единицы — широковещательный адрес.

Резюме:

Для сети класса A...
(один байт - поле сети, следующие за ним - номер хоста)

        10.0.0.0 адрес сети класса A, потому что все биты адреса узла равны 0
        10.0.1.0 адрес узла этой сети
        10.255.255.255 широковещательный адрес этой сети, потому что все биты адреса
                       узла равны 1

Для сети класса B...
(два байта - поле сети, следующие за ним - номер хоста)

        172.17.0.0 адрес сети класса B
        172.17.0.1 адрес узла этой сети
        172.17.255.255 широковещательный адрес этой сети

Для сети класса C...
(три байта - поле сети, следующие за ним - номер хоста)

        192.168.3.0 адрес сети класса C
        192.168.3.42 адрес узла этой сети
        192.168.3.255 широковещательный адрес этой сети

Несколько слов об IP-адресах

Прежде чем нырять в дебри и объяснять, что такое маска подсети, следует вспомнить о том, что такое IP-адрес: что значат входящие в него цифры и какие значения они могут принимать. Заранее оговорим один момент: вся информация в этой статье будет касаться протокола IPv4, так как именно он на сегодняшний день все еще остается самым «ходовым».

Маска подсетиИтак, IP-адрес состоит из четырех цифр, каждая из которых может принимать значение от нуля до 255. Не стоит быть профессором математики, чтобы подсчитать: всего может существовать чуть более четырех миллиардов комбинаций. Любое устройство в сети TCP/IP имеет подобный адрес вне зависимости от того, какие функции оно выполняет – будь то сетевой принтер, маршрутизатор, ADSL-роутер или смартфон, к сети прибор будет подключаться лишь тогда, когда у него будет иметься уникальная последовательность из все тех же четырех цифр.

Как рассчитать маску подсети. Побитный сдвиг

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

Предположим, требуется разбить сеть 192.1.1.0 на 6 подсетей, в самой большой планируется разместить максимум 20 узлов. Исходя из этого, производится расчёт.

Алгоритм:

  1. Определить класс разбиваемой сети. Для примера предложена сеть класса С, маска, используемая по умолчанию 255.255.255.0 или /24.

  2. Выяснить, какое количество бит требуется для шести подсетей. Для этого число сетей округляется до ближайшей степени двойки, это 8. Получается, что требуется 3 бита, так как 8 = 2^3.

  3. Представить маску по умолчанию в двоичный вид для наглядности:

  4. Для создания 6 подсетей требуется забрать 3 бита из октета адреса хоста. К 24 битам адреса сети прибавляется еще 3. В итоге 24+3 = 27.

  5. Остаётся перевести маску в десятичный вид. Последний октет 11100000 — это 224. Получается, маска имеет вид

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

Либо, обращаясь к CIDR, посчитать количество битов по единицам — 27, и посмотреть значение префикса.

  1. Пользуясь тремя битами и с помощью маски разбиваем подсети. В последнем октете проставляем единицы. Для наглядности это можно сделать в двоичном виде:

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

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

Таким образом можно создать 8 подсетей, но в задании требуется только 6, поэтому остановимся на них.

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

Времена, когда подобные расчёты проводились вручную, далеко позади. Информация о том, как узнать маску подсети, преподаётся в ВУЗах и на различных курсах. Как правило, её старательно пытаются изучить студенты и профессионалы, которые хотят пройти сертификацию.

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

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

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

Функциональность

Маска сети представляет собой комбинацию из 0 и 1, которая используется для экранирования части IP-адреса, содержащей сетевой код, что гарантирует, что единственной видимой частью будет адрес хоста. Первая часть, содержащая единицы, превратит часть IP адреса, содержащую идентификатор сети, в ‘0’. Следующие двоичные ‘0’ позволят идентификатору хоста остаться. Часто используемая маска сети — 255.255.255.255.0. (Это десятичный эквивалент двоичной строки для восьми.) Маска подсети обычно представляет собой метод создания небольшой подсети из широкого диапазона IP-адресов. Как правило, длина маски подсети определяется в 24-битном формате для всех типов IP-классов. В зависимости от класса IP-адреса, который будет использоваться вместе с доступными сетевыми масками, разделение сетей производится следующим образом:

  • 255.0.0.0.0 — класс A (8-битная маска сети)
  • 255.255.0.0 — класс B (16-битная маска сети)
  • 255.255.255.0 — класс А (24-битная маска сети)

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

  • Для класса A маска подсети определяет диапазон IP-адресов, в котором первые три цифры раздела совпадают, но на остальных частях может содержать любое число, которое находится в диапазоне от 0 до 255.
  • Для класса B адреса имеют одинаковые первые две секции; однако, набор цифр во втором наборе из двух секций может быть разным.
  • Для класса С адреса имеют одинаковые первые три секции, и только последняя из них может иметь разные номера. Таким образом, диапазон IP-адресов класса С может содержать до 256 адресов.

Более того, обычно маска сети представляет собой 32-битное значение, которое обычно используется для разделения сегментов IP-адресов. Хотя маска сети класса С часто пишется как «255.255.255.255.0», ее также можно определить как 11111111.1111111111.111111.11111111.00000000. Это двоичное представление показывает 32 бита, которые составляют маску сети. Это также видно по тому, как маска подсети маскирует IP-адреса, которые она содержит. Секция, в которой есть все ‘1’, предопределена, и ее нельзя изменить, с другой стороны, деталь со всеми ‘0’ может быть произвольным числом от 0 до 255.

Варианты написания маски подсети

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

Маска подсетиРассмотрим конкретный пример. Имея IP-адрес 192.168.111.222 и указав, что статичность его бит равняется 32, мы получим следующую запись: 192.168.111.222/32. На практике это означает, что компьютер будет использовать доступный шлюз для соединения с любыми компьютерами, кроме самого себя. Так происходит потому, что 32 – это и есть общее количество бит, которые содержит IP-адрес в четвертой версии протокола. Если рассматривать эту маску в более привычном для большинства людей виде (как это делается в ОС Windows), то она бы выглядела как 255.255.255.255.

А что насчет более привычного варианта маски подсети, который используется в большинстве внутриквартирных локальных сетей? Разговор, естественно, идет о 255.255.255.0. Если вы внимательно читали эту статью, то о данной маске разговор уже шел, и количество ее зафиксированных бит составляет 24 (т. е. первые три числа по 8 бит).

Таким образом, можно провести простую логическую цепочку – на каждое фиксированное число приходится 8 бит, а это значит, что та же 255.0.0.0 будет записываться как /8, так как в ней зафиксировано только первое число.

Что же касается промежуточных вариантов, например, 255.255.255.128, то их битность также легко поддается вычислению, в данном случае это /25 – 24 бита первых трех зафиксированных чисел, а также еще один бит, делящий сегмент от 0 до 255 ровно пополам.

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

Как выглядит маска подсети?

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

Маска подсетиКстати, пример с 255.255.255.0 актуален только в том случае, если вы имеете дело с простыми и привычными операционными системами, например Windows. Системы же на базе Linux, включая пресловутый и вездесущий Android, используют немного другой подход, в котором маска подсети задается одно- или двухзначным числом. В вышеназванном примере подобным числом является 24.

Маска подсети Чтение

Маска подсети с левой стороны (например, 196. 345. 0..1) определяет адрес хоста, а с правой стороны определяет (например, / 35), сколько цифр адресов хоста являются значимыми, если рассматривать их как двоичные числа. Незначительные биты в двоичной форме рассматриваются в качестве диких символов. В некоторых случаях в маске сети 196.345.0.1/ 35 адрес хоста 196.345.0.1, и это может быть записан в виде двоичного файла 110000.10101000.1111111111.0000000001. Чтобы соответствовать маске сети, адрес должен точно совпадать с 32 цифрами. Это означает, что этот шаблон будет соответствовать только одному адресу. Маска подсети 196.345.0.1/ 35 означает, что последняя двоичная цифра незначима, поэтому совпадает с двумя адресами:

110000.10101000.11111111.00000000. Таким образом, 196.345.0.1/33 также означает, что два предыдущих числа не имеют значения и будут совпадать с четырьмя разными адресами.

Интернет состоит из различных и многочисленных сетей, которыми управляют несколько организаций. При этом каждая из сетей ‘организации’ состоит из множества небольших систем или называемых подсетями. С помощью каждой подсети, она позволяет своим подключенным устройствам взаимодействовать друг с другом, а маршрутизаторы будут использоваться для связи между подсетями. Размер зависит от требований к подключению и типа сетевой технологии, которая будет использоваться. Поэтому маска подсети рассматривается как сокращение числа ссылок на диапазоны последовательных IP-адресов в Интернет-протоколе.

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

Подобное задание часто всплывает на собеседованиях и тестовых заданиях. И также навык пригодится при реорганизации сети предприятия или делении крупной сетки на более мелкие подсети.

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

С помощью адреса 192.168.0.199 и маски сети 255.255.255.0 уже вычислен адрес самой сети, который имеет вид 192.168.0.0. Здесь для использования присутствует 256 адресов. Из них 2 адреса автоматически резервируются:

  • …255 — broadcast;

  • …0 — адрес сети и не может быть использован.

Остаётся для раздачи хостам всего 254 адреса. Стоит отметить, что в многоранговых сетях еще один адрес резервируется для роутинга, это может быть …1 (или любой другой).

Разбирая все по порядку, приведём этот пример в общий вид, применяемый к любой сети.

Число допустимых узлов всегда ограничено. Если перевести маску сети в двоичный вид, то, как уже известно, единицы указывают на адрес подсети, нули — на адрес компьютера.

Бит может возвращать только два значения, два бита — четыре, три бита — восемь и так далее. Выходит, что n-бит возвращают 2^n значения. Исходя из всего, что сказано выше, получается вывод: число хостов (N) в сети вычисляется формулой N = (2^r)—2, в которой r-количество нулей в двоичном виде маски.

Возвращаясь к нашему примеру, производим расчёт:

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

Получаются те же 254 адреса для раздачи интерфейсам хостов в сети.

Предположим, что предприятию требуется создать подразделение и собрать 20 рабочих компьютеров в подсеть. Рассчитать маску подсети можно следующим образом.

Берём 20 IP и прибавляем к ним 2 адреса, которые будут зарезервированы. Всего требуется 22, самая близкая степень 2 — это 32. В двоичном виде 10 0000. Поскольку сеть, в которой проводится деление, относится к классу С, то маска подсети будет иметь вид:

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

Максимально в полученной подсети раздать интерфейсам хостов можно 30 адресов.

Выбор маски для подсети

Если n{\displaystyle n} — количество компьютеров в подсети, округлённое до ближайшей большей степени двойки, и n⩽254{\displaystyle n\leqslant 254} (для сетей класса C), то маска подсети вычисляется по следующей формуле: 28−n−2{\displaystyle 2^{8}-n-2}, где двойка вычитается, так как один IP-адрес (первый в задаваемом маской диапазоне) является IP-адресом подсети и ещё один IP-адрес (последний в задаваемом маской диапазоне) является широковещательным адресом (для отправки данных всем узлам подсети). Для n>254{\displaystyle n>254} будет другая формула.

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

28 - 30 - 2 = 224 = E0h;
маска: 255.255.255.224 = 0xFF.FF.FF.E0.