Расчет масок подсетей
Есть несколько разновидностей масок подсети, и реализация той или другой зависит от желаемой схемы сегментации адреса. Простейшая форма маски подсети применяет технологию маскирования подсети маской постоянной длины. При этом каждая подсеть включает одно и то же количество станций и представляет собой простое разделение адресного пространства за счет организации нескольких равных сегментов.
Другая разновидность — технология маскирования подсети маской переменной длины. Она позволяет разделить адрес на несколько подсетей, каждая из которых необязательно равна по размеру другим. Когда приходит время разрабатывать схему маскирования подсетей, то, в случае, если все сегменты должны поддерживать примерно равное количество устройств с поправкой 20 в ту или иную сторону, разумнее всего применять схему маскирования маской постоянной длины. Но если на один или два сегмента приходится большое количество пользователей, а на другие сегменты — намного меньшее, то более эффективное распределение адресного пространства сможет обеспечить технология маскирования подсети маской переменной длины. (В данном случае схему маскирования маской постоянной длины можно применять только для больших сегментов, что привело бы к растрачиванию множества адресов на сегментах с меньшим заполнением.) В схеме адресации с применением маскирования подсети маской переменной длины различные подсети могут иметь различные сетевые префиксы, отражающие их схемы и емкости. Несомненно, двоичная природа организации подсетей означает, что все они должны приспосабливаться к тем же видам структур, что характерны и для технологии маскирования подсети маской постоянной длины.
В адресации с применением маскирования подсети маской переменной длины отдельные адресные пространства подсетей высокого уровня могут быть разделены на еще более мелкие подпространства, если в том есть необходимость.
Разработка маски подсети постоянной длины
Чтобы создать маску подсети постоянной длины, в которой каждая часть сети обладает одинаковым количеством адресов, сделайте следующее:
1. Определитесь с тем, сколько подсетей вам требуется.
2. Поскольку количество подсетей должно быть отражено в битовой комбинации, прибавьте к этому количеству 2 (1 для сетевого адреса, 1 для широковещательного адреса), затем перейдите к ближайшей большей степени двойки. Если сумма равна степени двойки, ее можно употреблять.
3. Распишите разряды хостовой части адреса в обратном направлении.
4. Убедитесь, что в каждой подсети осталось достаточное количество доступных ведущих адресов.
5. Для вычисления количества доступных подсетей для маски всегда применяйте формулу 2b - 2, где b представляет собой количество разрядов в маске подсети, а 2 вычитается, чтобы исключить сетевой (все нули) и широковещательный (все единицы) адреса, которые необходимы для каждой сети и подсети IР.
Пример 1.
Пусть некая компания АВС хочет создать 12 подсетей для своего адреса класса С 200.10.10.0. В каждой подсети не должно быть более 10 ведущих адресов.
2. Прибавьте 2 (для сетевого и широковещательного адресов) к 12; получится 14. Ближайшая степень двойки — 16, или 24. Таким образом, нужна 4-разрядная маска подсети.
3. Резервирование четырех разрядов сверху вниз демонстрирует битовую комбинацию 11110000 для маски подсети. Десятичное значение для этого числа - 128 + 64 + 32 + 16, или 240. Соответственно, маска подсети по умолчанию для адреса класса С расширяется с 255.255.255.0 до 255.255.255.240. (Потому что мы "захватываем" четыре разряда из хостовой части адреса).
4. Для подсчета количества ведущих адресов для каждой подсети осуществите обратное построение логической схемы маски подсети. Это значит, что ни один разряд, применяемый для маски подсети, не может быть использован для ведущих адресов. Подсчитайте количество нулей, оставшихся в маске подсети, чтобы определить количество разрядов, возможных для использования в ведущих адресах. В данном случае результат равен четырем.
5. Формула, применяемая для подсчета количества подсетей, работает и при подсчете количества хостов; при этом b становится количеством разрядов в ведущем адресе: 2b - 2, или 24 - 2, и в результате получаем 14.
Не забывайте, что конечная цель этого упражнения состоит в том, чтобы сравнить количество требующихся хостов для каждой подсети с только что вычисленным значением. Другими словами, если в каждой подсети необходимо более 14 хостов, то рассчитанная маска подсети не сможет обеспечить желаемого результата, но поскольку для каждой подсети необходимо 10 хостов, исходя из требований АВС, наша схема будет работать.
Вот краткое изложение того, что вы только что сделали. Основываясь на требовании о создании 12 подсетей в адресе класса С, в котором ни в одной отдельной подсети не должно быть более 10 ведущих адресов, вы вычислили, что необходима 4-разрядная маска подсети. Поскольку соответствующая битовая комбинация, 11110000, эквивалентна 240 в десятичном представлении, маска подсети для класса С по умолчанию 255.255.255.0 должна быть изменена таким образом, чтобы эти четыре разряда были захвачены из хостовой части адреса; в результате маска подсети принимает вид 255.255.255.240.
Так как оставшиеся четыре разряда для хостовой части позволяют предоставить по 14 ведущих адресов для каждой подсети, а требуется не более 10 адресов на подсеть, наша схема будет работать, как предполагалось. Не забывайте выполнять последнее действие и проверять свою работу — повторно нумеровать IР-сети скучно и утомительно; вам ведь не хочется этого делать!
