Рассмотрим, что такое маска подсети с переменной длиной (VLSM). VLSM, variable length subnet mask — инструмент, позволяющий рассчитать диапазоны сетей, первый и последний хост, а также максимальное количество IP-адресов для бесклассовой адресации CIDR.
Содержание:
Пример №1
В предыдущих статьях о подсетях в двоичном формате и в десятичном формате все подсети имели «фиксированный размер». Например, мы рассматривали сеть класса C 192.168.1.0/24 и делили её на 4 блока:
64 | 64 |
64 | 64 |
Действительно ли это эффективный способ создания подсетей? Допустим, есть следующие требования:
- одна подсеть для 12 узлов;
- одна подсеть для 44 узлов;
- одна подсеть для 2 узлов (point-to-point хороший пример, где нужны только 2 IP-адреса узла);
- одна подсеть для 24 узлов.
Если использовать блок из 64 адресов для подсети, где нужны только 2 IP-адреса, просто-напросто теряются 62 IP-адреса.
Поэтому посмотрим, какие подсети нужны, чтобы они подходили под вышеперечисленные требования сети 192.168.1.0/24:
- 12 узлов, минимальный блок для этой подсети будет 16;
- 44 узла, минимальный блок для этой подсети будет 64;
- 2 узла, минимальный блок для этой подсети будет 4;
- 24 узла, минимальный блок для этой подсети будет 32.
Давайте создадим подсети. Возьмём блок 256 и разделим его на блоки, о которых только что указали:
Получилось сохранить некоторые неиспользуемые IP-адреса. Теперь ответим на следующие вопросы:
- Адрес подсети?
- Широковещательный адрес?
- Маска подсети?
- Количество доступных адресов?
Примечание: при использовании VLSM (Variable Length Subnet Mask) сначала убедитесь, что начинаете разделение с самой большой подсети, иначе будет перекрывающееся адресное пространство.
Давайте ответим на заданные выше вопросы. Начнем с адреса подсети и широковещательного адреса:
Подсеть 1 (размер 64):
адрес подсети: 192.168.1.0
широковещательный адрес: 192.168.1.63
Подсеть 2 (размер 32):
адрес подсети: 192.168.1.64
широковещательный адрес: 192.168.1.95
Подсеть 3 (размер 16):
адрес подсети: 192.168.1.96
широковещательный адрес: 192.168.1.111
Подсеть 4 (размер 4):
адрес подсети: 192.168.1.112
широковещательный адрес: 192.168.1.115
Подсеть 5 (здесь начинается свободное пространство):
адрес подсети: 192.168.1.116
Поскольку мы имеем разные размеры подсетей, нужно вычислить маску подсети (VLSM) для каждой подсети. Чтобы найти маску подсети (VLSM), можно использовать формулу:
Подсеть 1: 256 — 64 = 192, поэтому маска подсети 255.255.255.192
Подсеть 2: 256 — 32 = 224, поэтому маска подсети 255.255.255.224
Подсеть 3: 256 — 16 = 240, поэтому маска подсети 255.255.255.240
Подсеть 4: 256 — 4 = 252, поэтому маска подсети 255.255.255.252
Осталось только записать используемые IP-адреса узлов:
Подсеть 1 (размер 64):
адрес подсети: 192.168.1.0
первый IP: 192.168.1.1
последний IP: 192.168.1.62
широковещательный адрес: 192.168.1.63
Подсеть 2 (размер 32):
адрес подсети: 192.168.1.64
первый IP: 192.168.1.65
последний IP: 192.168.1.94
широковещательный адрес: 192.168.1.95
Подсеть 3 (размер 16):
адрес подсети: 192.168.1.96
первый IP: 192.168.1.97
последний IP: 192.168.1.110
широковещательный адрес: 192.168.1.111
Подсеть 4 (размер 4):
адрес подсети: 192.168.1.112
первый IP: 192.168.1.113
последний IP: 192.168.1.114
широковещательный адрес: 192.168.1.115
Пример №2
В этом примере используем сеть класса B 172.16.0.0/16 с различными требованиями:
- одна подсеть для 340 узлов;
- одна подсеть для 250 узлов;
- одна подсеть для 31 узла;
- одна подсеть для 20 узлов;
- одна подсеть для 8 узлов.
Чтобы создать подсети с данными требованиями, нужно определить размер требуемого «блока»:
- чтобы уместить 340 узлов, нужно 2 x 256 или блок 512.
- чтобы уместить 250 узлов, нужен блок 256.
- чтобы уместить 31 узел, нужен блок 64.
- чтобы уместить 20 узлов, нужен блок 32.
- чтобы уместить 8 узлов, нужен блок 16.
Примечание: для 31 узла был выбран блок из 64 адресов вместо блока из 32 адресов, поскольку блок в 32 узла имеет только 30 свободных используемых IP-адресов, плюс 1 адрес сети и 1 широковещательный.
Запишем адреса подсетей и широковещательные адреса:
Подсеть 1 (размер 512):
адрес подсети: 172.16.0.0
широковещательный адрес: 172.16.1.255
Подсеть 2 (размер 256):
адрес подсети: 172.16.2.0
широковещательный адрес: 172.16.2.255
Подсеть 3 (размер 64):
адрес подсети: 172.16.3.0
широковещательный адрес: 172.16.3.63
Подсеть 4 (размер 32):
адрес подсети: 172.16.3.64
широковещательный адрес: 172.16.3.95
Подсеть 5 (размер 16):
адрес подсети: 172.16.3.96
широковещательный адрес: 172.16.3.111
Подсеть 6 (свободное пространство):
адрес подсети: 172.16.3.112
Давайте выпишем маски подсети (VLSM).
Подсеть 1: эта подсеть представляет собой блок 512, который является комбинацией 2 x 256. В подсети размером 256 адресов обычно имеется маска подсети 255.255.255.0 (/24). Когда объединяется 2 x 256, чтобы получить блок 512, заимствуется ещё один бит узла. Это означает, что теперь имеется префикс /23, который соответствует маске подсети 255.255.254.0.
Подсеть 2: 256 — 256 = 0, поэтому маска подсети 255.255.255.0
Подсеть 3: 256 — 64 = 192, поэтому маска подсети 255.255.255.192
Подсеть 4: 256 — 32 = 224, поэтому маска подсети 255.255.255.224
Подсеть 5: 256 — 16 = 240, поэтому маска подсети 255.255.255.240
И последнее, но не менее важное — заполним используемые IP-адреса узла:
Подсеть 1 (размер 512):
адрес подсети: 172.16.0.0
первый IP: 172.16.0.1
последний IP: 172.16.1.254
широковещательный адрес: 172.16.1.255
Подсеть 2 (размер 256):
адрес подсети: 172.16.2.0
первый IP: 172.16.2.1
последний IP: 172.16.2.254
широковещательный адрес: 172.16.2.255
Подсеть 3 (размер 64):
адрес подсети: 172.16.3.0
первый IP: 172.16.3.1
последний IP: 172.16.3.62
широковещательный адрес: 172.16.3.63
Подсеть 4 (размер 32):
адрес подсети: 172.16.3.64
первый IP: 172.16.3.65
последний IP: 172.16.3.94
широковещательный адрес: 172.16.3.95
Подсеть 5 (размер 16):
адрес подсети: 172.16.3.96
первый IP: 172.16.3.97
последний IP: 172.16.3.110
широковещательный адрес: 172.16.3.111
Для закрепления предлагаем самостоятельно разбить сеть класса А 10.0.0.0 на подсети по следующим требованиям:
- одна подсеть для 600 узлов;
- одна подсеть для 250 узлов;
- одна подсеть для 120 узлов;
- одна подсеть для 30 узлов;
- одна подсеть для 2 узлов.
Выводы
Спасибо за уделенное время на прочтение статьи. Теперь Вы умеете рассчитывать маску подсети с переменной длиной (VLSM).
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
5 комментариев. Оставить новый
У меня есть задание разбить диапазон 68.2.122.0-68.2.123.255 на 4 подсети, у меня получился свободный диапазон и в задании сказано: «Указать свободный диапазон при наличии в агрегированном виде.», что это значит?
Вот мои подсети:
Подсеть SA FA LA BA
I 68.2.122.0 68.2.122.1 68.2.122.126 68.2.122.127
II 68.2.122.128 68.2.122.129 68.2.122.190 68.2.122.191
III 68.2.122.192 68.2.122.193 68.2.122.222 68.2.122.223
IV 68.2.122.224 68.2.122.225 68.2.122.230 68.2.122.231
И можете проверить, пожалуйста, так ли я сделала, первый раз разбивала на подсети.
Забыла указать кол-во компьютеров в отделах (VLSM)
1 — 112
2 — 42
3 — 30
4 — 5
Разбила правильно.
Не указала маску подсетей.
Свободных диапазонов с минимальными масками три: 68.2.122.232/8, 68.2.122.240/16, 68.2.123.0/24. С максимально длинными масками — 70.
Спасибо большое, можете, пожалуйста, объяснить как выделять такие свободные диапазоны в агрегированной записи, я не поняла, а хотелось бы разобраться.
Я дико извиняюсь, перепутал количество адресов в подсети с маской. Должно быть так: 68.2.122.232/29, 68.2.122.240/28, 68.2.123.0/24.
Дело в том, что адреса (под)сетей в пределах одного октета имеют совершенно определенные значения и не могут иметь произвольные. Отсюда и считаем — масок в одном октете всего 8 (1 байт) — 32, 31, 30, 29, 28, 27, 26, 25 и каждая маска определяет свое число адресов. Маска /24 (256 адресов) занимает весь октет. Маски 32 и 31 использовать для подсети теоретически нельзя, покольку 32 — это сам хост, а 31 — два адреса, один из которых адрес сети, а второй широковещательный. На практике маску 31 используют (оборудование такое пропускает), но в теории нельзя. Получается, что минимальное число адресов должно быть 4, т.е. маска /30 (сеть, бродкаст и два хоста). Делим диапазон 68.2.123.0/24 (256 адресов) на 4, получаем 64 подсети. И в оставшемся диапазоне после вашего распределения (256-232=24 адреса) делим на 4 — получаем 6 подсетей. Итого 70 теоретических подсетей с максимальной маской и минимальным числом хостов (2+сеть+бродкаст). Аналогично пытаемся найти подсети с минимальной маской (максимальным числом хостов) в осташемся адресном пространстве. 24 адреса — можно разбить по маскам на 16 и 8. Первыми идут максимальные маски, т.е. 8 адресов, т.е. /29 маска. Адрес следующей сети получается х.х.х.240. За ней 16 адресов и /28 маска. Вот и все. Ну а следующий диапазон полностью ложится в маску /24. Итого 3 подсети с минимальной маской и 70 подсетей с максимальной.