Пример расчета количества хостов и подсетей на основе IP-адреса и маски подсети
В данной статье описываются IP-адреса и маски подсетей. Знакомство с IP-адресами (Частные
IP-адреса) Маски подсети (Размер сети) Формирование подсетей Пример расчета количества подсетей и хостов в подсети на
основе IP-адреса и маски подсети.
IP-адреса используются для идентификации устройств в сети. Для взаимодействия по сети IP-адрес должен быть назначен каждому
сетевому устройству (в том числе компьютерам, серверам, маршрутизаторам, принтерам и т.д.). Такие устройства в сети
называют хостами.
С помощью маски подсети определяется максимально возможное число хостов в конкретной сети. Маски подсети позволяют разделить
одну сеть на несколько подсетей.
Знакомство с 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
IP-адреса можно получить через IANA, у своего провайдера услуг Интернет или назначить из диапазона адресов для частных сетей.
Маски подсети
Маска подсети используется для определения того, какие биты являются частью номера сети, а какие – частью идентификатора хоста (для
этого применяется логическая операция конъюнкции – "И").
Маска подсети включает в себя 32 бита. Если бит в маске подсети равен "1", то соответствующий бит IP-адреса является частью номера
сети. Если бит в маске подсети равен "0", то соответствующий бит IP-адреса является частью идентификатора хоста.
На следующем рисунке показана маска подсети, выделяющая номер сети (полужирным шрифтом) и идентификатор хоста в IP-адресе (который
в десятичном виде записывается как 192.168.1.2).
Таблица 1. Пример выделения номера сети и идентификатора хоста в IP-адресе
1-ый октет: (192)
2-ой октет: (168)
3-ий октет: (1)
4-ый октет: (2)
IP-адрес (двоичный)
11000000
10101000
00000001
00000010
Маска подсети (двоичная)
11111111
11111111
11111111
00000000
Номер сети
11000000
10101000
00000001
Идентификатор хоста
00000010
Маски подсети всегда состоят из серии последовательных единиц начиная с самого левого бита маски, за которой следует
серия последовательных нулей, составляющих в общей сложности 32 бита.
Маску подсети можно определить как количество бит в адресе, представляющих номер сети (количество бит со значением "1").
Например, "8-битной маской" называют маску, в которой 8 бит – единичные, а остальные 24 бита – нулевые.
Маски подсети записываются в формате десятичных чисел с точками, как и IP-адреса. В следующих примерах показаны двоичная и
десятичная запись 8-битной, 16-битной, 24-битной и 29-битной масок подсети.
Таблица 2. Маски подсети
Двоичная 1-ый октет:
Двоичная 2-ой октет:
Двоичная 3-ий октет:
Двоичная 4-ый октет:
Десятичная
8-битная маска
11111111
00000000
00000000
00000000
255.0.0.0
16-битная маска
11111111
11111111
00000000
00000000
255.255.0.0
24-битная маска
11111111
11111111
11111111
00000000
255.255.255.0
29-битная маска
11111111
11111111
11111111
11111000
255.255.255.248
Размер сети
Количество разрядов в номере сети определяет максимальное количество хостов, которые могут находиться в такой сети. Чем больше
бит в номере сети, тем меньше бит остается на идентификатор хоста в адресе.
IP-адрес с идентификатором хоста из всех нулей представляет собой IP-адрес сети (192.168.1.0 с 24-битной маской подсети,
например). IP-адрес с идентификатором хоста из всех единиц представляет собой широковещательный адрес данной сети (192.168.1.255 с
24-битной маской подсети, например).
Так как такие два IP-адреса не могут использоваться в качестве идентификаторов отдельных хостов, максимально возможное количество
хостов в сети вычисляется следующим образом:
Таблица 3. Максимально возможное число хостов
Маска подсети
Размер идентификатора хоста
Максимальное количество хостов
8 бит
255.0.0.0
24 бит
224 – 2
16777214
16 бит
255.255.0.0
16 бит
216 – 2
65534
24 бит
255.255.255.0
8 бит
28 – 2
254
29 бит
255.255.255.248
3 бит
23 – 2
6
Формат записи
Поскольку маска всегда является последовательностью единиц слева, дополняемой серией нулей до 32 бит, можно просто указывать
количество единиц, а не записывать значение каждого октета. Обычно это записывается как "/" после адреса и количество единичных
бит в маске.
Например, адрес 192.1.1.0 /25 представляет собой адрес 192.1.1.0 с маской 255.255.255.128. Некоторые возможные маски
подсети в обоих форматах показаны в следующей таблице.
Таблица 4. Альтернативный формат записи маски подсети
Маска подсети
Альтернативный формат записи
Последний октет (в двоичном виде)
Последний октет (в десятичном виде)
255.255.255.0
/24
0000 0000
0
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) представляют собой номер сети, а
оставшийся октет – идентификатор хоста, что позволяет использовать в сети максимум 28 – 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 бит, поэтому в каждой подсети может быть максимум 27 –
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 битов идентификатора хоста, что в сумме дает 26 – 2 = 62 хоста для каждой подсети (идентификатор
хоста из всех нулей – это сама подсеть, а из всех единиц – широковещательный адрес для подсети).
Таблица 5. Подсеть 1
IP-адрес/маска подсети
Номер сети
Значение последнего октета
IP-адрес (десятичный)
192.168.1.
0
IP-адрес (двоичный)
11000000.10101000.00000001.
00000000
Маска подсети (двоичная)
11111111.11111111.11111111.
11000000
Адрес подсети 192.168.1.0
Наименьший идентификатор хоста: 192.168.1.1
Широковещательный адрес 192.168.1.63
Наибольший идентификатор хоста: 192.168.1.62
Таблица 6. Подсеть 2
IP-адрес/маска подсети
Номер сети
Значение последнего октета
IP-адрес
192.168.1.
64
IP-адрес (двоичный)
11000000.10101000.00000001.
01000000
Маска подсети (двоичная)
11111111.11111111.11111111.
11000000
Адрес подсети 192.168.1.64
Наименьший идентификатор хоста: 192.168.1.65
Широковещательный адрес 192.168.1.127
Наибольший идентификатор хоста: 192.168.1.126
Таблица 7. Подсеть 3
IP-адрес/маска подсети
Номер сети
Значение последнего октета
IP-адрес
192.168.1.
128
IP-адрес (двоичный)
11000000.10101000.00000001.
10000000
Маска подсети (двоичная)
11111111.11111111.11111111.
11000000
Адрес подсети 192.168.1.128
Наименьший идентификатор хоста: 192.168.1.129
Широковещательный адрес 192.168.1.191
Наибольший идентификатор хоста: 192.168.1.190
Таблица 8. Подсеть 4
IP-адрес/маска подсети
Номер сети
Значение последнего октета
IP-адрес
192.168.1.
192
IP-адрес (двоичный)
11000000.10101000.00000001.
11000000
Маска подсети (двоичная)
11111111.11111111.11111111.
11000000
Адрес подсети 192.168.1.192
Наименьший идентификатор хоста: 192.168.1.193
Широковещательный адрес 192.168.1.255
Наибольший идентификатор хоста: 192.168.1.254
Пример: восемь подсетей
Аналогичным образом для создания восьми подсетей используется 27-битная маска (000, 001, 010, 011, 100, 101, 110 и 111).
Значения последнего октета IP-адреса для каждой подсети показаны в следующей таблице.
Таблица 9. Восемь подсетей
Подсеть
Адрес подсети
Первый адрес
Последний адрес
Широковещательный адрес
1
0
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-битным номером
Количество "одолженных" битов идентификатора хоста
Приведем пример расчета количества подсетей и хостов для сети 59.124.163.151/27.
/27 - префикс сети или сетевая маска
В формате двоичных чисел 11111111 11111111 11111111 11100000
В формате десятичных чисел 255.255.255.224
В четвертом поле (последний октет)11100000 первые 3 бита определяют число
подсетей, в нашем примере 23 = 8.
В четвертом поле (последний октет) 11100000 последие 5 бит определяют число хостов подсети, в нашем
примере 25 = 32.
Диапазон IP первой подсети 0~31 (32 хоста), но 0 - это подсеть, а 31 - это Broadcast. Таким
образом, максимальное число хостов данной подсети - 30.
Первая подсеть: 59.124.163.0
Broadcast первой подсети: 59.124.163.31
Диапазон IP второй подсети с 59.124.163.32 по 59.124.163.63
Вторая подсеть: 59.124.163.32
Broadcast второй подсети: 59.124.163.63
Мы можем высчитать диапазон IP восьмой подсети с 59.124.163.224 по 59.124.163.255
Восьмая подсеть: 59.124.163.224
Broadcast восьмой подсети: 59.124.163.255
В нашем примере IP-адрес 59.124.163.151 находится в пятой подсети.
Пятая подсеть: 59.124.163.128/27
Диапазон IP пятой подсети с 59.124.163.128 по 59.124.163.159
Broadcast пятой подсети: 59.124.163.159
Обращаем ваше внимание, что в настоящее время для удобства расчета IP-адресов в подсети и сетевых
масок существуют в Интернете специальные онлайн IP-калькуляторы, а также бесплатные программы/утилиты для быстрого и
наглядного расчета.