Введение

В предыдущей статье данного руководства вы узнали о протоколе Интернета уровня 4. Помимо этого вы научились конвертировать IPv4 адреса из двоичной системы счисления в десятеричную систему, а также узнали о диапазонах IPv4 адресов. Была рассмотрена настройка IPv4 адресов при помощи графического интерфейса, а именно при помощи диалогового окна настроек параметров сетевого подключения. Первейшая проблема стандартной IP-маршрутизации заключалась в том, что на фоне общего развития Интернета большое количество IP-адресов развивалось, но оставалось неиспользованными. Что, в свою очередь, приводило к быстрому перерасходу адресного пространства. Вызвано это большими различиями в количестве IP-адресов в разных классах. По своей сути, сеть в организации, как правило, представляет собой локальную сеть, подключенную через какую-либо точку – маршрутизатор или шлюз. Такая локальная сеть в Интернете и интерпретируется как подсеть. Снаружи, со стороны Интернета, обращение ведется лишь к одному устройству сети – шлюзовому маршрутизатору, и, совершенно все равно, сколько компьютеров и сетей стоит за этим маршрутизатором. При этом трафик направляется на него, а он сам занимается его последующим распределением. При этом, IP-адрес в подсети состоит из таких компонентов, как идентификатор сети и идентификатор узла. Идентификаторы сети и узла содержатся в идентификаторе узла исходного IP-адреса, при этом фактически забирается часть битов ID узла для ID сети. Осуществляется это путем использования специального псевдоадреса IP, называемого маской сети. В этой статье вы узнаете об этом компоненте, который определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети и предоставляющем идентификатор сети – о маске подсети.

По сути, маска подсети предоставляет набор методов, которые можно использовать для эффективного разделения адресного пространства префикса адреса для распределения подсетей сети организации. Фиксированная часть префикса индивидуальных адресов включает в себя определенное количество бит и длину префикса, которые имеют определенное значение. Переменная часть префикса индивидуальных адресов включает в себя биты, расположенные за пределами длины префикса, которые могут равняться 0. Подсети предназначены для использования переменной части префикса индивидуальных адресов и создания префиксов, которые присваиваются в подсетях сети организации. Именно благодаря подсетям вы можете определить какие из 32 битов используются для идентификатора сети и для идентификатора узла в адресах класса А и класса В.

Например, вы наверняка часто видели похожие записи IPv4 адресов: 192.168.23.245/24, где значение /24 является маской подсети и указывает на то, что в этом адресе первые 24 бита из 32 представляют идентификатор сети. А подсеть адреса 156.60.0.20/16 может поддерживать до 65534 узлов, что является приличным количеством и не требует перенастройки маршрутизаторов сети Интернет.

Обе указанные выше подсети (/24 и /16) легко интерпретируются. Обратим внимание на то, что значения обеих указанных выше масок подсети делятся на 8 и, соответственно, легко догадаться, что идентификатор сети состоит из первых трех и первых двух октетов IPv4 адреса. То есть, в узле с адресом 192.168.23.245/24 идентификатором сети является 192.168.23, поэтому сетевым адресом узла будет 192.168.23.0. А в узле с адресом 156.60.0.20 ID сети будет 156.60, и сетевой адрес узла будет 156.60.0.0.

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

Перед проектированием подсетей для вашей организации необходимо обратить внимание на следующие моменты:

  • Сколько подсетей включает сеть вашей организации (включая физические, логические, а также подсети, предназначенные для WAN ссылок между сайтами);
  • Количество идентификаторов узлов, которое необходимо для каждой подсети. Необходимо помнить, что каждому узлу или маршрутизатору необходимо иметь как минимум один IPv4 адрес.

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

Определение значений средних диапазонов подсетей

Маска сообщает конечным системам сети, какие именно биты IP-адреса следует интерпретировать как идентификатор сети. Такие биты называются расширенным сетевым префиксом. Общепринятым и самым распространенным представлением масок подсетей является представление префиксов сети или представлением бесклассовой междоменной маршрутизации CIDR (Classes Inter Domain Routing), т.е. представление с косыми чертами. Помимо этого представления, вы также можете увидеть маски подсети в форме 32-битового представления с разделительными точками в десятеричной или в двоичной системах счисления. Например, маска подсети /16 в представлении с разделительными точками выглядит 255.255.0.0. но маски подсети не всегда делятся на 8, так что для их интерпретации вначале вам нужно будет преобразовать представление с косыми чертами в двоичный формат.

Рассмотрим живой пример. Есть IPv4 адрес 192.168.207.47/22 с маской подсети, соответственно, /22. Нам нужно преобразовать маску подсети в представление с разделительными точками в десятеричную систему счисления и определить сетевой адрес узла. Для начала попробуем преобразовать маску подсети из представления косой черты в двоичный формат, затем узнаем десятеричное значение маски подсети, после этого определим адрес узла.

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

  1. Разделите длину префикса, в нашем случае 22, как сумму из четырех цифр с последующим вычитанием из 8. В нашем примере получится 8+8+6+0;
  2. Преобразуйте полученные значения в двоичный формат: 11111111 11111111 11111100 00000000;
  3. Преобразуйте маску подсети из двоичной системы счисления в десятеричную. Получится следующее: 255.255.252.0.

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

  1. Запишите IPv4 адрес и полученные значения суммы длины маски подсети в таблицу с тремя строками и четырьмя колонками следующие образом:
192 168 207 47
8 8 6 0
       
  1. Не меняем значения третьей строки для столбцов, в которых присутствуют цифры 8 и записываем значение 0 в третьей строке для тех столбцов, где во второй строке указан 0. Получится следующее:
192 168 207 47
8 8 6 0
192 168   0
  1. Для октета, в котором значение не равняется 8 или 0, преобразовываем оба числа в двоичную систему счисления и выполняем вычитание. В нашем примере нужно преобразовать числа 207 и 6 в двоичный формат и отнять от 207 число 6. Преобразовываем число 207 в двоичную систему счисления, получается 128+64+8+4+2+1, что в двоичной системе счисления выглядит 11001111. Теперь вычитаем из получившегося октета 6 цифр и получаем значение 11001100, что равняется 204. Записываем полученное значение в таблицу:
192 168 207 47
8 8 6 0
192 168 204 0

В итоге адресом узла для IPv4-адреса 192.168.207.47/22 будет 192.168.204.0/22, где маска подсети в представлении с разделительными точками выглядит 255.255.252.0

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

Косая черта Двоичное значение Значение с разделительными точками
/8 11111111 00000000 00000000 00000000 255.0.0.0
/9 11111111 10000000 00000000 00000000 255.128.0.0
/10 11111111 11000000 00000000 00000000 255.192.0.0
/11 11111111 11100000 00000000 00000000 255.224.0.0
/12 11111111 11110000 00000000 00000000 255.240.0.0
/13 11111111 11111000 00000000 00000000 255.248.0.0
/14 11111111 11111100 00000000 00000000 255.252.0.0
/15 11111111 11111110 00000000 00000000 255.254.0.0
/16 11111111 11111111 00000000 00000000 255.255.0.0
/17 11111111 11111111 10000000 00000000 255.255.128.0
/18 11111111 11111111 11000000 00000000 255.255.192.0
/19 11111111 11111111 11100000 00000000 255.255.224.0
/20 11111111 11111111 11110000 00000000 255.255.240.0
/21 11111111 11111111 11111000 00000000 255.255.248.0
/22 11111111 11111111 11111100 00000000 255.255.252.0
/23 11111111 11111111 11111110 00000000 255.255.254.0
/24 11111111 11111111 11111111 00000000 255.255.255.0
/25 11111111 11111111 11111111 10000000 255.255.255.128
/26 11111111 11111111 11111111 11000000 255.255.255.192
/27 11111111 11111111 11111111 11100000 255.255.255.224
/28 11111111 11111111 11111111 11110000 255.255.255.240
/29 11111111 11111111 11111111 11111000 255.255.255.248
/30 11111111 11111111 11111111 11111100 255.255.255.252

Табл. 1. Представления масок подсетей

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

Десятичное значение 0 128 192 224 240 248 252 254 255
Число битов 0 1 2 3 4 5 6 7 8
Двоичное значение 00000000 10000000 11000000 11100000 111100000 11111000 11111100 11111110 11111111

Табл. 2. Значения октетов масок подсетей

Количество адресов в подсетях

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

Перед тем как начать определять число адресов или, иначе говоря, емкость узла адресного блока, которые можно назначать маршрутизаторам, компьютерам и прочим устройствам нужно запомнить несколько моментов: в адресном блоке первый адрес в блоке обязательно должен быть зарезервирован для адреса сети (адрес, состоящий из нулей), а последний – для широковещательного сетевого адреса (адрес, состоящие из единиц). Широковещательный адрес — это условный (не присвоенный никакому устройству в сети) адрес, который используется для передачи широковещательных пакетов в компьютерных сетях. Также нужно запомнить, что блок /24 всегда состоит из 256 адресов и для определения количества адресов нужно разделить или умножить на два значения 256 относительно этой маски подсети. Соответственно, сеть /23 содержит 512 адресов, а сеть /25 – 128 адресов.

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

  1. Определим представление маски подсети с использованием косой черты. Значение данной маски подсети /18
  2. Определим количество адресов в блоке. Для этого умножим значение 256 шесть раз на два. Соответственно, получим 16384 адреса в данном блоке;
  3. Определим емкость узла адресного блока, отняв от полученного значения два адреса, и получим 16382.

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

Значение с разделительными точками Представление с косой чертой Количество адресов в блоке Емкость узла адресного блока
255.248.0.0 /13 524288 524282
255.252.0.0 /14 262144 262142
255.254.0.0 /15 131072 131070
255.255.0.0 /16 65536 65534
255.255.128.0 /17 32768 32766
255.255.192.0 /18 16384 16382
255.255.224.0 /19 8192 8190
255.255.240.0 /20 4096 4094
255.255.248.0 /21 2048 2046
255.255.252.0 /22 1024 1022
255.255.254.0 /23 512 510
255.255.255.0 /24 256 254
255.255.255.128 /25 128 126
255.255.255.192 /26 64 62
255.255.255.224 /27 32 30
255.255.255.240 /28 16 14
255.255.255.248 /29 8 6
255.255.255.252 /30 4 2

Табл. 3. Размеры адресных блоков и емкость узлов

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

Для примера можно взять школу, в которой на четырех этажах есть компьютерные классы с 25 компьютерами. Интернет провайдер выделил вам сеть 194.149.155.0/24, где вам нужно использовать только 100 узлов адреса, скажем, в диапазоне 194.149.155.1 – 194.149.155.254. Если вы сконфигурируете маску подсети с начальным значением 255.255.255.0, то все IPv4-адреса в этом адресном пространстве будут видеть все узлы и принадлежать одной подсети. Помимо этого все узлы этого адресного блока будут осуществлять коммуникации друг с другом. Если вы решите заменить существующую маску подсети маской /27, внутренние узлы будут читать адреса как адреса с разными идентификаторами сети. Для коммуникаций друг с другом адреса 194.149.155.1/27 и 194.149.155.33/27 пересылают пакеты на свои основные шлюзы, адреса которых располагаются в пределах своей подсети, причем, для коммуникаций за пределами данной организации узлы продолжат использовать маску подсети /24.

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

s=2n,

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

n = nint – next

где nint является длиной битов IDсети, предназначенной для внутреннего использования, а next, соответственно, длина исходного идентификатора сети.

В нашем случае ID сети с исходным адресным блоком равняется 24, а ID сети для внутреннего использования – 27. Соответственно, n = 27/24 = 3, а количество подсетей будет равняться 8. Если значения масок подсети вам предоставляются в десятичном представлении с разделительной чертой, проще всего сначала перевести значение в представление с косой чертой, а затем уже просчитывать количество подсетей. В нашем случае в каждой из четырех нужных для нас подсетей (с маской подсети 255.255.255.224) можно использовать следующие блоки адресов:

194.149.155.1 – 194.149.155.30

194.149.155.33 – 194.149.155.62

194.149.155.65 – 194.149.155.94

194.149.155.97 – 194.149.155.126

194.149.155.129 – 194.149.155.158

194.149.155.161 – 194.149.155.190

194.149.155.193 – 194.149.155.222

194.149.155.225 – 194.149.155.255

Заключение

В этой статье вы узнали об основах масок подсетей. Были рассмотрены примеры конвертации представлений с косой чертой в двоичную систему счисления, а также в формат десятеричного значения с разделительными точками. Помимо этого было рассказано, как можно подсчитать количество адресов в блоках масок подсетей, а также определять число адресов, которые можно назначать маршрутизаторам, компьютерам и прочим устройствам и разбивать существующие подсети постоянной длины (/8, /16 и /24) на подсети переменной длины.

Реклама