Интернет стал повсеместным. Устройствам, подключенным к Интернету, требуется IP-адрес для связи с другими устройствами в Интернете. С развитием Интернета, особенно IOT (Интернета вещей), доступное пространство IPv4 сокращается. Это создало серьезную проблему для роста объединенных сетей. Чтобы справиться с этой ситуацией, предлагается множество решений, таких как адресация DHCP, CIDR, NAT и т. д.
Необходимость разделения на подсети
По мере постепенного роста управление сетью становится все более и более сложным. Сетевые администраторы обычно используют концепцию разделения на подсети для управления гигантской компьютерной сетью. Подсети – это процесс разделения IP-сети на более мелкие подсети или подсети. Это улучшает управление и безопасность сети. При разделении на подсети используется маска подсети или маска сети для указания количества хостов в сети.
Сетевая маска и маска подсети работают одинаково, за исключением того, что маска подсети берет часть битов из части адреса хоста (биты хоста преобразуются в сетевые биты) для определения подсети. Это называется заимствованием битов. Взяв биты из части хоста, мы можем создать больше подсетей или подсетей, но в этих новых подсетях будет меньше хостов. Когда мы заимствуем биты из части хоста, маска подсети будет изменена.
Что мы будем освещать?
В этом руководстве мы увидим, как определить сетевую маску или маску подсети. Мы также научимся вычислять первый и последний адрес, количество адресов по маске подсети. Прежде чем мы продолжим, давайте сначала поймем разницу между классовой и бесклассовой схемой адресации.
Классовая и бесклассовая схема адресации
Классовая схема адресации имела ряд ограничений. CIDR или бесклассовая междоменная маршрутизация более эффективна по сравнению с классовой адресацией при назначении сетевых адресов.
Рассмотрим количество сетей и хостов при классовой адресации:
- Класс A имеет маску подсети 255.0.0.0 со 126 сетями (2^7-2) и 16777214 хостами (2^24-2).
- Класс B имеет маску подсети 255.255.0.0 с 16384 сетями (2^14) и 65534 хостами (2^16-2).
- Класс 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-пространство своей организации.