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

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

Умение вычислить значение маски TCP/IP может быть использовано при подключении нового хоста в сеть и реорганизации корпоративной сетки. Изучение этой проблемы следует начать с понимания того, что она собой представляет и для каких целей используется.

1456398.jpg

Битовая маска

Маска подсети может называться битовой маской, что является 32-битным значением, которое указывает на одну часть IP, относящуюся к адресации сетевого интерфейса, и на вторую часть, относящуюся к адресации подсетей. Обычно её значение отображается в десятичном виде, в формате ХХХ.ХХХ.ХХХ.ХХХ.

Это определение приближено к профессиональному сленгу и может показаться непонятным. Разобраться с тем, что это такое, поможет конкретный пример.

Предположим, что у нас есть какая-то сеть, в которой присутствует компьютер. В свойствах подключения видно, что его сетевому интерфейсу присвоен IP-адрес и маска подсети.

1456173.jpg

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

1456196.jpg

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

1456409.jpg

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

1456407.jpg

Умножая адрес IP на инвертированное значение маски, получаем последовательность

1456410.jpg

Возвращая в десятичный вид, получается цифра 199, соответствующая адресу интерфейса хоста.

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

В итоге маска подсети помогла выяснить по IP, что наш компьютер находится в подсети 192.168.0.0 и имеет в ней адрес 199. Возвращаясь к определению выше, она показала, какая часть IP указывает на подсетку, а какая на адрес хоста.

Как найти маску подсети по классу IP-сети

Совокупность всех IPv4-адресов делится на классы по диапазонам адресов. Всего существует пять, из которых используются A, B, C, D- адреса заложены под мультикасты, и E – зарезервированы на будущее.

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

1456181.jpg

Возвращаясь к примеру, который был выше, как узнать маску подсети в нем:

1456194.jpg

IP-адрес в двоичном виде начинается на 110, значит, он принадлежит к классу C. Ещё один способ, как узнать маску подсети, это запомнить диапазоны принадлежащие классам.

1456199.jpg

Как узнать маску по префиксу

Для краткости маску можно записывать в виде префикса, который означает количество бит порции сети. Эта система обозначения принята с приходом бесклассовой междоменной маршрутизации (Classless Inter-Doma-in Routing, или CIDR, «сайдр»). Она избавляет от классов, а для идентификации сети может использоваться разное число битов IP. Узнать маску подсети в десятичном и двоичном виде по префиксу проще всего по таблице.

1456195.jpg

Как рассчитать маску по префиксу CIDR

Привести маску из префикса в десятичный вид просто. Известно, что маска подсети имеет 32 бита, при этом единицы в начале, а нули в конце. Следовательно, нужно:

1456171.jpg

Последним действием получаем маску в десятичном виде.

Как привести маску подсети из десятичного вида в короткий префикс

Написание маски сети в виде префикса экономит время и место в тексте. Кроме того, это стандартизированное международное отображение и сейчас используется чаще, чем десятичное. Для этого требуется:

1456175.jpg

Таким образом можно рассчитать префикс CIDR.

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

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

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

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

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

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

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

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

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

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

1456414.jpg

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

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

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

1456431.jpg

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

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

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

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

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

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

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

1456183.jpg

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

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

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

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

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

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

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

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

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

Введите IP адрес хоста (сети) и маску сети, чтобы рассчитать адрес broadcast (широковещательный адрес), адрес сети, Cisco wildcard mask, диапазон допустимых адресов в сети и количество хостов.

Маска сети указывается в десятичном формате с разделяющими точками (255.255.255.0) либо в «CIDR notation» RFC 1517 (/25). Если маска сети не введена, используется маска сети по умолчанию установленная для сетей такого класса.

Полученные результаты представлены и в двоичном формате, для лучшего понимания принципов расчета адресов ip-сетей. Биты адресов разделены пробелом: биты до пробела это часть, определяющая принадлежность к сети (биты сети), после пробела – часть отвечающая за адреса хостов в сети (биты хостов). В адресе сети все «биты хостов» равны нулю, в широковещательном адресе все они равны 1.

Класс сети определяется ее первыми битами . Если сеть находится в диапазоне сетей Интранет (Private Internet RFC 1918) это указывается дополнительно.

Cisco wildcard – обратная маска сети, используется в списках доступа (ACL) сетевого оборудования Cisco.

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

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

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

Знакомство с IP-адресамиОдна часть IP-адреса представляет собой номер сети, другая – идентификатор хоста. Точно так же, как у разных домов на одной улице в адресе присутствует одно и то же название улицы, у хостов в сети в адресе имеется общий номер сети. И точно так же, как у различных домов имеется собственный номер дома, у каждого хоста в сети имеется собственный уникальный идентификационный номер – идентификатор хоста. Номер сети используется маршрутизаторами (роутерами, интернет-центрами) для передачи пакетов в нужные сети, тогда как идентификатор хоста определяет конкретное устройство в этой сети, которому должны быть доставлены пакеты.

СтруктураIP-адрес состоит из четырех частей, записанных в виде десятичных чисел с точками (например, 192.168.1.1). Каждую из этих четырех частей называют октетом. Октет представляет собой восемь двоичных цифр (например, 11000000, или 192 в десятичном виде). Таким образом, каждый октет может принимать в двоичном виде значения от 00000000 до 11111111, или от 0 до 255 в десятичном виде. На следующем рисунке показан пример IP-адреса, в котором первые три октета (192.168.1) представляют собой номер сети, а четвертый октет (16) – идентификатор хоста.

Рисунок 1. Номер сети и идентификатор хоста

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

Частные IP-адресаУ каждого хоста в сети Интернет должен быть уникальный адрес. Если ваши сети изолированы от Интернета (например, связывают два филиала), для хостов без проблем можно использовать любые IP-адреса. Однако, уполномоченной организацией по распределению нумерации в сети Интернет (IANA) специально для частных сетей зарезервированы следующие три блока IP-адресов:

  • 10.0.0.0 — 10.255.255.255
  • 172.16.0.0 — 172.31.255.255
  • 192.168.0.0 — 192.168.255.255

Маски подсетиМаска подсети используется для определения того, какие биты являются частью номера сети, а какие – частью идентификатора хоста (для этого применяется логическая операция конъюнкции – «И»). Маска подсети включает в себя 32 бита. Если бит в маске подсети равен «1», то соответствующий бит IP-адреса является частью номера сети. Если бит в маске подсети равен «0», то соответствующий бит IP-адреса является частью идентификатора хоста.

Таблица 1. Пример выделения номера сети и идентификатора хоста в IP-адресе

1-ый октет: (192) 2-ой октет: (168) 3-ий октет: (1) 4-ый октет: (2)
IP-адрес (двоичный) 11000000 10101000 00000001 00000010
Маска подсети (двоичная) 11111111 11111111 11111111 00000000
Номер сети 11000000 10101000 00000001
Идентификатор хоста 00000010

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

Таблица 2. Маски подсети

Десятичная</td>11111111</td>00000000</td>00000000</td>00000000</td>255.0.0.0</td></tr>11111111</td>11111111</td>00000000</td>00000000</td>255.255.0.0</td></tr>11111111</td>11111111</td>11111111</td>00000000</td>255.255.255.0</td></tr>11111111</td>11111111</td>11111111</td>11111000</td>255.255.255.248</td></tr>

Размер сетиКоличество разрядов в номере сети определяет максимальное количество хостов, которые могут находиться в такой сети. Чем больше бит в номере сети, тем меньше бит остается на идентификатор хоста в адресе. IP-адрес с идентификатором хоста из всех нулей представляет собой IP-адрес сети (192.168.1.0 с 24-битной маской подсети, например). IP-адрес с идентификатором хоста из всех единиц представляет собой широковещательный адрес данной сети (192.168.1.255 с 24-битной маской подсети, например). Так как такие два IP-адреса не могут использоваться в качестве идентификаторов отдельных хостов, максимально возможное количество хостов в сети вычисляется следующим образом:

Таблица 3. Максимально возможное число хостов

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

Размер идентификатора хоста

8 бит</td>255.0.0.0</td>24 бит</td>2 24 – 2</td>16777214</td></tr>16 бит</td>255.255.0.0</td>16 бит</td>2 16 – 2</td>65534</td></tr>24 бит</td>255.255.255.0</td>8 бит</td>2 8 – 2</td>254</td></tr>29 бит</td>255.255.255.248</td>3 бит</td>2 3 – 2</td>6</td></tr>

Формат записиПоскольку маска всегда является последовательностью единиц слева, дополняемой серией нулей до 32 бит, можно просто указывать количество единиц, а не записывать значение каждого октета. Обычно это записывается как «/» после адреса и количество единичных бит в маске.

Например, адрес 192.1.1.0 /25 представляет собой адрес 192.1.1.0 с маской 255.255.255.128. Некоторые возможные маски подсети в обоих форматах показаны в следующей таблице.

Таблица 4. Альтернативный формат записи маски подсети

Маска подсети
255.255.255.0 /24 0000 0000
255.255.255.128 /25 1000 0000 128
255.255.255.192 /26 1100 0000 192
255.255.255.224 /27 1110 0000 224
255.255.255.240 /28 1111 0000 240
255.255.255.248 /29 1111 1000 248
255.255.255.252 /30 1111 1100 252

Формирование подсетейС помощью подсетей одну сеть можно разделить на несколько. В приведенном ниже примере администратор сети создает две подсети, чтобы изолировать группу серверов от остальных устройств в целях безопасности. В этом примере сеть компании имеет адрес 192.168.1.0. Первые три октета адреса (192.168.1) представляют собой номер сети, а оставшийся октет – идентификатор хоста, что позволяет использовать в сети максимум 2 8 – 2 = 254 хостов. Сеть компании до ее деления на подсети показана на следующем рисунке.

Рисунок 2. Пример формирования подсетей: до разделения на подсети

Чтобы разделить сеть 192.168.1.0 на две отдельные подсети, можно «позаимствовать» один бит из идентификатора хоста. В этом случае маска подсети станет 25-битной (255.255.255.128 или /25).

«Одолженный» бит идентификатора хоста может быть либо нулем, либо единицей, что дает нам две подсети: 192.168.1.0 /25 и 192.168.1.128 /25. Сеть компании после ее деления на подсети показана на следующем рисунке. Теперь она включает в себя две подсети, A и B.

>

Рисунок 3. Пример формирования подсетей: после деления на подсети

В 25-битной подсети на идентификатор хоста выделяется 7 бит, поэтому в каждой подсети может быть максимум 2 7 – 2 = 126 хостов (идентификатор хоста из всех нулей – это сама подсеть, а из всех единиц – широковещательный адрес для подсети). Адрес 192.168.1.0 с маской 255.255.255.128 является адресом подсети А, а 192.168.1.127 с маской 255.255.255.128 является ее широковещательным адресом. Таким образом, наименьший IP-адрес, который может быть закреплен за действительным хостом в подсети А – это 192.168.1.1, а наибольший – 192.168.1.126. Аналогичным образом диапазон идентификаторов хоста для подсети В составляет от 192.168.1.129 до 192.168.1.254.

Пример: четыре подсетиВ предыдущем примере было показано использование 25-битной маски подсети для разделения 24-битного адреса на две подсети. Аналогичным образом для разделения 24-битного адреса на четыре подсети потребуется «одолжить» два бита идентификатора хоста, чтобы получить четыре возможные комбинации (00, 01, 10 и 11). Маска подсети состоит из 26 бит (11111111.11111111.11111111.11000000), то есть 255.255.255.192.

Каждая подсеть содержит 6 битов идентификатора хоста, что в сумме дает 2 6 – 2 = 62 хоста для каждой подсети (идентификатор хоста из всех нулей – это сама подсеть, а из всех единиц – широковещательный адрес для подсети).

Таблица 5. Подсеть 1

IP-адрес/маска подсети Номер сети
IP-адрес (десятичный) 192.168.1.
IP-адрес (двоичный) 11000000.10101000.00000001. 00000000
Маска подсети (двоичная) 11111111.11111111.11111111. 11000000
Наименьший идентификатор хоста: 192.168.1.1
Наибольший идентификатор хоста: 192.168.1.62

Таблица 6. Подсеть 2

IP-адрес/маска подсети Номер сети
IP-адрес 192.168.1. 64
IP-адрес (двоичный) 11000000.10101000.00000001. 01000000
Маска подсети (двоичная) 11111111.11111111.11111111. 11000000
Наименьший идентификатор хоста: 192.168.1.65
Наибольший идентификатор хоста: 192.168.1.126

Таблица 7. Подсеть 3

IP-адрес/маска подсети Номер сети
IP-адрес 192.168.1. 128
IP-адрес (двоичный) 11000000.10101000.00000001. 10000000
Маска подсети (двоичная) 11111111.11111111.11111111. 11000000
Наименьший идентификатор хоста: 192.168.1.129
Наибольший идентификатор хоста: 192.168.1.190

Таблица 8. Подсеть 4

IP-адрес/маска подсети Номер сети
IP-адрес 192.168.1. 192
IP-адрес (двоичный) 11000000.10101000.00000001. 11000000
Маска подсети (двоичная) 11111111.11111111.11111111. 11000000
Наименьший идентификатор хоста: 192.168.1.193
Наибольший идентификатор хоста: 192.168.1.254

Пример: восемь подсетейАналогичным образом для создания восьми подсетей используется 27-битная маска (000, 001, 010, 011, 100, 101, 110 и 111). Значения последнего октета IP-адреса для каждой подсети показаны в следующей таблице.

Таблица 9. Восемь подсетей

Подсеть Адрес подсети
1 1 30 31
2 32 33 62 63
3 64 65 94 95
4 96 97 126 127
5 128 129 158 159
6 160 161 190 191
7 192 193 222 223
8 224 225 254 255

Планирование подсетейСводная информация по планированию подсетей для сети с 24-битным номером сети приводится в следующей таблице. Таблица 10. Планирование подсетей для сети с 24-битным номером

Маска подсети
1 255.255.255.128 (/25) 2 126
2 255.255.255.192 (/26) 4 62
3 255.255.255.224 (/27) 8 30
4 255.255.255.240 (/28) 16 14
5 255.255.255.248 (/29) 32 6
6 255.255.255.252 (/30) 64 2
7 255.255.255.254 (/31) 128 1

Пример расчета количества подсетей и хостов в подсети на основе IP-адреса и маски подсети

Приведем пример расчета количества подсетей и хостов для сети 59.124.163.151/27.

Диапазон IP первой подсети 0

NOTE: Важно! В настоящее время для удобства расчета IP-адресов в подсети и сетевых масок существуют в Интернете специальные онлайн IP-калькуляторы, а также бесплатные программы/утилиты для быстрого и наглядного расчета.

Пользователи, считающие этот материал полезным: 265 из 295

Поделись знанием: Материал из Википедии — свободной энциклопедии Перейти к:навигация, поиск

Маска подсети — битовая маска, определяющая, какая часть IP-адресаузла сети относится к адресу сети, а какая — к адресу самого узла в этой сети (при этом, в отличие от IP-адреса, маска подсети не является частью IP-пакета). Например, узел с IP-адресом 12.34.56.78 и маской подсети 255.255.255.0 находится в сети 12.34.56.0 с длиной префикса 24 бита. В случае адресации IPv6 адрес 2001:0DB8:1:0:6C1F:A78A:3CB5:1ADD с длиной префикса 32 бита (/32) находится в сети 2001:0DB8::/32.

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

Чтобы получить адрес сети, зная IP-адрес и маску подсети, необходимо применить к ним операцию поразрядной конъюнкции (логическое И). Например, в случае более сложной маски (битовые операции в IPv6 выглядят аналогично):

IP-адрес:       11000000 10101000 00000001 00000010 (192.168.1.2) Маска подсети:  11111111 11111111 11111110 00000000 (255.255.254.0) Адрес сети:     11000000 10101000 00000000 00000000 (192.168.0.0) 

Легенда:

  • Часть маски определяющая адрес сети, состоящая из единиц.
  • Адрес сети, который определяется маской подсети.
  • Диапазон адресов устройств в этой сети.

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

Сеть назначения Маска сети Адрес шлюза
192.168.1.0 255.255.255.0 10.20.30.1

Пусть теперь маршрутизатор получает пакет данных с адресом назначения 192.168.1.2. Обрабатывая построчно таблицу маршрутизации, он обнаруживает, что при наложении на адрес 192.168.1.2 маски 255.255.255.0 получается адрес сети 192.168.1.0. В таблице маршрутизации этой сети соответствует шлюз 10.20.30.1, которому и отправляется пакет.

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

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

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

IPv4 CIDR
IP/маска До последнего IP

в подсети

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

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

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

Маска назначается по следующей схеме <math>2^8-n</math> (для сетей класса C), где <math>n</math> — количество компьютеров в подсети + 2,[1] округленное до ближайшей большей степени двойки (эта формула справедлива для <math>n</math> ≤ 254, для <math>n</math> > 254 будет другая формула).

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

28 - 32 = 224 (0E0h) < = > 255.255.255.224 (0xFFFFFFE0) 

Напишите отзыв о статье «Маска подсети»

Литература

  1. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов = Computer Networks. Principles, Technologies and Protocols for Network Design. — 3-е изд. — СПб.: Издательский дом «Питер», 2006. — С. 572-576. — 958 с. — ISBN 5-469-00504-6.

См. также

Термин маска подсети переменной длины (variable-length subnet mask VLSM) означает, что одна сеть может быть сконфигурирована с различными масками. Основная идея применения VLSM3 заключается в предоставлении большей гибкости при разбиении сети на несколько подсетей, т.е. для оптимального распределения допустимого количества хостов в различных подсетях. Без VLSM для всей сети может использоваться только одна маска подсети. Тогда количество хостов в подсетях будет строго ограничено. Если же вы выберете маску, которая предоставит нужное количество подсетей, то, возможно, вам будет недостаточно допустимого количества хостов для каждой подсети. Та же ситуация справедлива и для хостов, т.е. маска, обеспечивающая достаточное количество хостов, ограничивает вас в числе подсетей. Маски переменной длины предоставляют возможность выделять подсети с различным количеством хостов в них, что позволяет сетевому администратору более эффективно использовать доступное адресное пространство.

Допустим для примера, что вам выделена сеть класса С с адресом 192.214.11.0, и

требуется разделить ее на три подсети. В одной подсети должно быть около 100 хостов, а в двух других — около 50 хостов в каждой. Исключая два адреса, 0 (номер сети) и 255 (широковещательный адрес для сети) вам теоретически доступно 256 адресов хостов для сети класса С, т.е. с 192.214.11.0 до 192.214.11.255. Как видите разбить такую  сеть  на подсети с требуемым количеством хостов без использования VLSM невозможно.

Чтобы определить параметры подсети в сети 192.214.11.0, сначала необходимо определить маску сети, которая  для обычной сети класса С будет представлена в  виде 255.255.255.0 (все биты равны 1 в первых трех октетах). Для разделения сети класса С с адресом 192.214.11.0 на подсети можно использовать несколько масок вида 255.255.255.Х. Маска, начиная со старшего (самого левого) бита, должна иметь непрерывный ряд единиц и оканчиваться нулями.

Примечание

Изначально маски не обязательно должны были состоять из непрерывных групп 1 и оканчиваться 0. Иногда, например, практиковалось использование «средних битов» в маске для определения адресной части, отвечающей за идентификацию хоста,

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

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

Таблица 3.3 Разделение сети класса C на подсети

Последний октет      Двоичное

представление

Количество

подсетей                         Число хостов*

128                               1000 0000                        2                                       128

192                               1100 0000                        4                                       64

224                               1110 0000                        8                                       32

240                               1111 0000                        16                                     16

248                               1111 1000                        32                                     8

252                               1111 1100                        64                                     4

*Обратите внимание на то, что в поле таблицы  «Число хостов» включены  и адрес подсети и широковещательный адрес.

До появления VLSM сети обычно делились лишь простыми масками, как указано в табл. 3.3. В этом случае у вас был выбор применять маску 255.255.255.128 и разбить адресное пространство  на две подсети по 128 хостов в каждой  или разбить его маской 255.255.255.192 на четыре подсети по 64 хоста в каждой. Однако ни одна из этих процедур не соответствует вашим требованиям получить сегмент сети размером 100 хостов и еще два сегмента по 50 хостов в каждом.

RoutingForInternet_art_image031.jpg

Рис. 3.7. Пример сети класса С, разделенной на три подсети

RoutingForInternet_art_image032-min-vs.jpg

Рис. 3.8. Применение VLSM для неравного деления адресного пространства на подсети

Прибегнув к использованию масок переменной длины, вы можете выполнить поставленную задачу. Представим, что вы получили сеть 192.214.11.0. Во-первых, разделите эту сеть на две подсети маской 255.255.255.128. Вы получите две подсети по 128 хостов в каждой. Эти две подсети будут представлены адресами 192.214.11.0 (от .0 до .127) и 192.214.11.128 (от .128 до .255). Затем вторую подсеть с адресом 192.214.11.128 разбейте еще на две подсети с помощью маски 255.255.255.192 — вы получите две подсети по 64 адреса в

каждой: подсети 192.214.11.128 (адреса от .128 до 191) и 192.214.11.192 (адреса от .192 до 255). На рис. 3.7 и 3.8 представлен механизм деления адресного пространства на подсети. Обратите внимание, что адрес подсети и ее широковещательный адрес также включены в число адресов хостов.

Конечно, далеко не все протоколы маршрутизации поддерживают VLSM. Так, протокол информации о маршрутах версии 1 Routing Information Protocol (RIP-1) и протокол маршрутизации внутреннего шлюза Interior Gateway Routing Protocol (IGRP) не передают информацию о сетевых масках при обновлениях маршрутной информации и, следовательно, не могут корректно маршрутизировать сети с подсетями переменной длины. Сегодня, несмотря на то, что протоколы маршрутизации, такие как протокол кратчайшего свободного пути Open Shortest Path First (OSPF), расширенный IGRP (Enchanced IGRP или EIGRP), протокол информации о маршрутах версии 2 Routing Information Protocol (RIP-2) и протокол связи промежуточных систем Intermediate System-to-Intermediate System (IS-IS), поддерживают работу с VLSM, администраторы до сих пор испытывают трудности при реализации этой методики разделения сетей. Построенные ранее на базе протоколов RIP-1 и IGRP сети имеют структуру IP-адресов, распределенных таким образом, что невозможно более оптимально сгруппировать их в блоки различной длины. Таким образом, ввиду разброса IP-адресов администраторам пришлось бы перенумеровать все хосты в сети для того, чтобы привести их в соответствие с новой системой адресации. Такая перенумерация является довольно сложной процедурой, и администраторы чаще всего сразу же отвергают подобную перспективу. Однако одновременное сосуществование двух систем осложняет ситуацию и вынуждает администраторов всячески маневрировать и применять статическую маршрутизацию для обеспечения нормальной работы в сети.

Источник: Сэм Хелеби, Денни Мак-Ферсон, Принципы маршрутизации в Internet, 2-е  издание.  : Пер. с англ. М. : Издательский дом «Вильямс», 2001. — 448 с. : ил. — Парал. тит. англ.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Используемые источники:

  • https://hd01.ru/info/kak-opredelit-adres-podseti/
  • http://wiki-org.ru/wiki/%d0%9c%d0%b0%d1%81%d0%ba%d0%b0_%d0%bf%d0%be%d0%b4%d1%81%d0%b5%d1%82%d0%b8
  • http://crypto.pp.ua/2013/08/maski-podseti-peremennoj-dliny/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации