Site icon ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 30 июня, 2025

Как определить, какую маску использовать?

Как определить, какую маску использовать?

Интернет стал повсеместным. Устройствам, подключенным к Интернету, требуется IP-адрес для связи с другими устройствами в Интернете. С развитием Интернета, особенно IOT (Интернета вещей), доступное пространство IPv4 сокращается. Это создало серьезную проблему для роста объединенных сетей. Чтобы справиться с этой ситуацией, предлагается множество решений, таких как адресация DHCP, CIDR, NAT и т. д.

 

Необходимость разделения на подсети

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

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

 

Что мы будем освещать?

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

 

Классовая и бесклассовая схема адресации

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

Рассмотрим количество сетей и хостов при классовой адресации:

  1. Класс A имеет маску подсети 255.0.0.0 со 126 сетями (2^7-2) и 16777214 хостами (2^24-2).
  2. Класс B имеет маску подсети 255.255.0.0 с 16384 сетями (2^14) и 65534 хостами (2^16-2).
  3. Класс C имеет маску подсети 255.255.255.0 с 2097152 сетями (2^21) и 254 хостами (2^8-2).

Мы можем заметить, что класс A имеет большее количество адресов хостов, чем требуется практически любой организации, что приводит к потере миллионов адресов класса A. Точно так же класс B также имеет большее количество адресов, чем требуется для организации среднего размера. В случае класса C количество хост-адресов очень мало для большинства организаций. В таком сценарии на помощь приходит CIDR или схема бесклассовой междоменной маршрутизации. CIDR поддерживает маски произвольной длины, например /23, /11, /9 и т. д.

Определение маски сети или маски подсети для использования

Чтобы проиллюстрировать концепцию CIDR, рассмотрим организацию, которой требуется 10000 адресов для своих хост-устройств. Если мы используем классовую адресацию, то сеть класса B здесь более эффективна по сравнению с классом A и классом C. Но все же в этом случае есть 55534 неиспользуемых IP-адреса. В случае использования CIDR сети может быть назначен непрерывный блок /18 с 16384 хостами. Маска подсети в этом случае будет 255.255.192.0. На рисунке ниже показана часть префикса блока CIDR и соответствующее количество адресов хоста.

Префикс блока CIDR Количество адресов хоста
/27 32
/26 64
/25 128
/24 256
/23 512
/22 1024
/21 2048
/20 4096
/19 8192
/18 16384

 

Точно так же, если нам нужно 800 адресов хостов, класс B приведет к потере ~ 64 700 адресов. Если мы используем адресацию класса C, нам нужно будет ввести 4 новых маршрута в таблицы маршрутизации. С другой стороны, если мы используем схему CIDR, мы можем назначить блок /22 и получить 1024 (2^10) IP-адресов.

 

Использование сетевой маски или маски подсети

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

1. Чтобы найти первый адрес, нам нужно выполнить операцию И для данного IP-адреса и маски подсети. Например, если наш IP-адрес 205.16.37.39, т.е. 11001101.00010000.00100101.00100111, а маска подсети — /28, т.е. 11111111 11111111 11111111 11110000, мы можем найти первый адрес как:

Адрес:         11001101 00010000 00100101 00100111
Маска:             11111111 11111111 11111111 11110000
Первый адрес: 11001101 00010000 00100101 00100000

 

2. Точно так же последний адрес может быть найден операцией ИЛИ для данного IP-адреса и дополнения маски подсети до единицы, как показано ниже:

Адрес:                                    11001101 00010000 00100101 00100111
Дополнение маски подсети:     00000000 00000000 00000000 00001111
Последний адрес:                             11001101 00010000 00100101 00101111

 

3. Чтобы получить количество адресов, дополните маску подсети (до единицы), преобразуйте результат в десятичную форму и добавьте к нему 1:

Дополнение маски подсети:  00000000 00000000 00000000 00001111 = (15)10
Количество адресов = 15+1 =16

Заключение

Это все. В этой статье мы узнали об использовании сетевой маски или маски подсети, а также о том, как вычислить первый и последний адрес и т.д. Для ИТ-специалистов очень важно спроектировать и эффективно использовать доступное IP-пространство своей организации.

Exit mobile version