No Image

Как определить адрес подсети

СОДЕРЖАНИЕ
4 710 просмотров
16 декабря 2019

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Таким образом можно рассчитать префикс 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-количество нулей в двоичном виде маски.

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

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

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

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

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

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

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

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

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

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

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

Для создания 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-адреса используются для идентификации устройств в сети. Для взаимодействия c другими устройствами по сети 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-адреса указанных частный подсетей иногда называют "серыми".
IP-адреса можно получить через IANA, у своего провайдера услуг Интернет или самостоятельно назначить из диапазона адресов для частных сетей.

Маски подсети
Маска подсети используется для определения того, какие биты являются частью номера сети, а какие – частью идентификатора хоста (для этого применяется логическая операция конъюнкции – "И").
Маска подсети включает в себя 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 бита.

Маску подсети можно определить как количество бит в адресе, представляющих номер сети (количество бит со значением "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 бит 2 24 – 2 16777214 16 бит 255.255.0.0 16 бит 2 16 – 2 65534 24 бит 255.255.255.0 8 бит 2 8 – 2 254 29 бит 255.255.255.248 3 бит 2 3 – 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) представляют собой номер сети, а оставшийся октет – идентификатор хоста, что позволяет использовать в сети максимум 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. 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-битным номером

Количество "одолженных" битов
идентификатора хоста
Маска подсети Количество
подсетей
Количество
хостов в подсети
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.

/27 — префикс сети или сетевая маска
В формате двоичных чисел 11111111 11111111 11111111 11100000
В формате десятичных чисел 255.255.255.224

В четвертом поле (последний октет) 11100000 первые 3 бита определяют число подсетей, в нашем примере 2 3 = 8.
В четвертом поле (последний октет) 11100000 последие 5 бит определяют число хостов подсети, в нашем примере 2 5 = 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

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

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

Комментировать
4 710 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев