logo
адресация сетей

4.2.3 Организация подсетей методом vlsm

Документ RFC 1009 от 1987 года сформулировал, каким образом в сетях, состоящих из нескольких подсетей, можно использовать больше одной маски подсети. В ситуации, когда в распределенной IP -сети назначается несколько масок подсетей, она рассматривается как сеть с масками подсетей переменной длины, так как в этом случае расширенные сетевые префиксы в различных подсетях имеют разную длину.

Сложные методы организации подсетей предусматривают использование для номера подсети больше одного октета. До сих пор для выделения номера подсети мы использовали только один октет. Но метод организации подсетей с помощью нескольких октетов в действительности не намного сложнее, а просто чуть непривычнее. В частности, рассмотрим пример с адресом сети 10.0.0.0. Предположим, что необходимо выделить 2000 подсетей с 8000 хостов в каждой подсети. Такие требования к подсети вынуждают использовать не меньше 11 битов в части адреса с обозначением подсети (211 - 2 = 2046). В результате будет получена маска 255.255.224.0, или 10.0.0.0/21. Это означает, что весь второй октет и часть третьего октета относятся к части адреса с обозначением подсети. Задача определения допустимых диапазонов адресов хостов для этого адреса сети также не становится.

С использованием упрощенного метода выполним аналогичный процесс определения диапазонов адресов. Прежде всего установим, какой октет является интересующим. Напомним, что интересующим называется октет, в котором значение маски не равно 0 или 255. Этому определению соответствует третий октет, поэтому начнем с него. Возьмем его значение, равное 224, и вычтем его из 256. В результате останется диапазон 32. Но в данном случае, прежде чем приступить к следующему этапу, необходимо вспомнить, что перед интересующим октетом находится еще один целый октет, который также относится к подсети. В связи с этим перед переходом к следующему этапу необходимо учесть значение второго октета (который не является интересующим). Для этого вначале присвоим второму октету значение нуль и будем увеличивать значение в третьем октете до тех пор, пока не будет достигнут последний диапазон, а затем добавим единицу ко второму октету и выполним этот процесс с самого начала, как показано ниже.

10.0.0.0-10.0.31.255.

10.0.32.0-10.0.63.255.

10.0.64.0-10.0.95.255.

10.0.96.0-10.0.127.255.

10.0.128.0-10.0.159.255.

10.0.160.0-10.0.191.255.

10.0.192.0-10.0.223.255.

10.0.224.0-10.0.255.255.

10.1.0.0-10.1.31.255.

10.1.32.0-10.1.63.255.

10.1.64.0-10.1.95.255.

10.1.96.0-10.1.127.255.

И т.д.

Затем вернемся к составленному списку и удалим две недействительные подсети (первую и последнюю) и два недопустимых адреса в каждой подсети (первый и последний). В результате останется примерно такой список диапазон адресов, который представлен ниже.

10.0.0.0-10.0.31.255.

10.0.32.1-10.0.63.254.

10.0.64.1-10.0.95.254.

10.0.96.1-10.0.127.254.

10.0.128.1-10.0.159.254.

10.0.160.1-10.0.191.254.

10.0.192.1-10.0.223.254.

10.0.224.1-10.0.255.254.

9.10.1.0.1-10.1.31.254.

10.1.32.1-10.1.63.254.

... ниже следуют примерно 2 000 диапазонов адресов подсетей...

10.255.96.1-10.255.127.254.

10.255.128.1-10.255.159.254.

10.255.160.1-10.255.191.254.

10.255.192.1-10.255.223.254.

10.255.ада.1 10.255.355.354.

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

Теперь перейдем к описанию метода применения маски подсети переменной длины (VLSM), который используется для получения адреса на основе класса и преобразования его в более масштабируемый и менее расточительный диапазон адресов. Нeдостатком адресов на основе классов является то, что они обычно предоставляют либо слишком большой, либо слишком маленький диапазон адресов для использования в большинстве ситуаций. Например, предположим, что организация имеет сеть со структурой, показанной на рис. 4.12. После организации подсетей на основе адреса класса В с использованием 20-битовой маски (255.255.240.0) будет получено 14 подсетей и 4094 хостов в каждой подсети. Именно такие параметры необходимо создать в здании 1, поскольку в этом здании имеется 2500 хостов. Но в остальных местах потребность в размещении хостов значительно ниже и поэтому адреса используются неэффективно. Из всех прочих площадок ни на одной не используется свыше 500 IP -адресов, но все они имеют маску /20. Это означает, что данная организация не использует свыше 50 000 IP -адресов.

Рис. 4.12. Пример бесполезного расходования IP -адресов

Метод VLSM предусматривает разбивку на подсети адресного пространства, основанного на использовании классов, а затем разбивку подсетей на подсети до тех пор, пока не будет достигнуто требуемое количество хостов в каждой подсети.

При использовании метода VLSM вводится ряд новых правил распределения адресов, которые позволяют значительно уменьшить их непроизводительный расход. Во-первых, при использовании этого метода не требуется удалять подсети с номерами, состоящими из одних нулей или одних единиц. Эти подсети теперь разрешено использовать для размещения в них хостов. (Но удалять первый и последний IP -адреса из каждой подсети все равно необходимо.) Во-вторых, разрешено применять к разным частям сети разные маски. Это позволяет в случае необходимости разделять сеть на меньшие части (как показано на рис. 4.13). Единственное требование при этом состоит в том, чтобы диапазоны адресов в подсетях не перекрывали друг друга.

Рис. 4.13. Уменьшение непроизводительного расхода IP -адресов с использованием метода VLSM

Единственный способ проверки того, что перекрытие адресов отсутствует, состоит в выполнении вычислений с помощью двоичной арифметики.

Предположим, что организации был выделен сетевой адрес 172.16.0.0/16 ( IP -адрес класса В), и администратор планирует принять во внимание маски подсети переменной длины.

Во-первых, определим, какое количество хостов требуется для самых больших подсетей. В рассматриваемом случае для самой крупной подсети требуется, по меньшей мере, 2500 хостов, поэтому начнем с нее. Для поддержки этих хостов нужна 20-битовая маска, с помо­щью которой будет получено 16 подсетей (напомним, что при использовании метода VLSM не требуется отбрасывать первую и последнюю подсети) с 4094 хостами каждая (поскольку все еще необходимо отбрасывать первый и последний IP -адреса в каждой подсети). Одна из этих подсетей используются для здания 1 (172.16.0.0/20). Для всех остальных хостов требуется только менее 2000 IP -адресов, поэтому для поддержки этих подсетей необходимо взять одну из крупных 16 подсетей с количеством хостов 4094.

Возьмем одну подсеть (172.16.16.0) и разделим ее на восемь подсетей, используя для каждой из них 23-битовую маску. Добавим эти три бита к маске подсети (в результате чего они составят часть с обозначением адреса подподсети другой подсети), что позволяет создать восемь подсетей с 510 хостами каждая. Рассматривая двоичные значения адресов, приведенные на рис. 4.13, можно заметить, что ни один из этих диапазонов не перекрывается.

Две из этих подсетей выделим зданию 2 (172.16.16.0/23) и 3 (172.16.18.0/23) . Наконец, отметим, что для всех последних трех подсетей требуется меньше 254 хостов. В этом случае необходимо использовать 24-битовую маску, поэтому возьмем две из 23-битовых подсетей и разобьем их на меньшие подсети с применением этой маски. В результате будет получено 4 подсети, каждая из которых состоит из 254 хостов. Три из этих диапазонов адресов будут использоваться для создания трех подсетей. В результате общий итог составляет 1 подсеть с 254 хостами, 4 подсети с 510 хостами и 14 подсетей с 4094 хостами, которые остаются в резерве для распределения в будущем. Логическая структура созданного таким образом распределения адресов показана на рис. 4.15.

Рис. 4.14. Пример вычислений диапазона IP -адресов с использованием метода VLSM

Рис. 4.15. Логическая структура созданного распределения адресов

На этом тема практического применения метода VLSM исчерпывается. Этот метод нельзя назвать слишком сложным, но для его применения требуется полное понимание того, какие манипуляции с двоичными числами лежат в основе адресации TCP/IP.