Проблема равных подсетей

Классическое разбиение на подсети делит блок на куски одного фиксированного размера. Это просто, но расточительно, когда потребности различаются. Если один сегмент содержит 100 хостов, а другой — это канал между двумя маршрутизаторами с 2, то выдача обоим /26 (62 пригодных) не подходит для первого и тратит 60 адресов на втором. , маска подсети переменной длины, исправляет это, позволяя каждой подсети использовать длину префикса, соответствующую её собственной потребности, и всё вырезается из одного и того же родительского блока.

Единственное, что делает VLSM трудоёмче фиксированного разбиения, — это порядок: вы должны размещать самые большие подсети первыми, иначе адреса застрянут, а возникнут перекрытия.

Определение размера каждой подсети

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

  • 100 хостов требуют 7 бит хоста (2⁷ − 2 = 126 пригодных), /25.
  • 50 хостов требуют 6 бит хоста (62 пригодных), /26.
  • 25 хостов требуют 5 бит хоста (30 пригодных), /27.
  • 10 хостов требуют 4 бита хоста (14 пригодных), /28.
  • Канал точка-точка с 2 хостами — это /30 (2 пригодных) или /31 по RFC 3021.

Всегда округляйте вверх до следующей степени двойки. Сегмент из 100 хостов не помещается в /26 (62), поэтому берёт следующий размер, /25.

Вырезание из блока, самое большое первым

Предположим, у вас есть 192.168.10.0/24 и нужны пять подсетей выше. Назначайте в порядке убывания размера, каждая начинается на своей естественной границе:

/25  192.168.10.0   – .127   (126 пригодных)  ← сегмент 100 хостов
/26  192.168.10.128 – .191   (62 пригодных)   ← сегмент 50 хостов
/27  192.168.10.192 – .223   (30 пригодных)   ← сегмент 25 хостов
/28  192.168.10.224 – .239   (14 пригодных)   ← сегмент 10 хостов
/30  192.168.10.240 – .243   (2 пригодных)    ← канал маршрутизаторов

Каждый блок начинается ровно там, где заканчивается предыдущий, а от 192.168.10.244 и далее остаётся свободным для будущего роста. Если бы вы назначили /30 первым, у /25 уже не было бы чистой границы, на которую он мог бы лечь, в чём и состоит весь смысл правила «сначала самые большие».

Почему это важно

VLSM — это то, как реальные сети экономят адресное пространство и держат назначения выровненными, чтобы маршруты можно было чисто агрегировать. Арифметика — та же математика длины префикса, что и для одной подсети, применённая многократно: фиксируйте больше бит, чтобы уменьшить блок, и держите каждый блок на границе, кратной степени двойки.

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