ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

Интернет стал повсеместным. Устройствам, подключенным к Интернету, требуется 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