Маска подсети переменной длины

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

СОВЕТ

В том случае, если в сети планируется использовать маску подсети переменной длины (Variable Length Subnet Mask — VLSM), следует включать в работу протоколы маршрутизации OSPF или EIGRP. Протоколы RIP и IGRP относятся к так называемым классовым (classful) протоколам маршрутизации и не поддерживают VLSM.

При использовании протокола маршрутизации RIP первой версии (RIP-1 IP) в сети поддерживается только одна маска подсети с каждым адресом (а точнее, с каждым номером сети), так как протокол не переносит информацию о масках под­сетей в своих сообщениях об обновлении маршрутизации (сообщения, рассылае­мые маршрутизаторами при задействовании таких протоколов маршрутизации, как RIP, IGRP и т. п.). При отсутствии данной информации протокол маршрутизации RIP-1 IP принимает простое решение, выбирая маску подсети, которая соотносит­ся с каждым маршрутом в таблице маршрутизации.

При этом возникает вопрос: каким образом маршрутизатор, работающий по протоколу RIP-1, определяет, какую маску необходимо соотносить с новым марш­рутом, полученным от соседнего маршрутизатора? Если в полученном маршруте номер адреса сети совпадает с номером адреса сети, присвоенным любому локаль­ному порту маршрутизатора, то будет использоваться маска подсети порта марш­рутизатора. Если же номера сетей не совпадают, то будет использоваться класси­ческая маска подсети.

Покажем это на примере. Предположим, что порту 1 маршрутизатора был при­своен адрес 130.24.13.1 с маской 255.255.255.0 (расширенный сетевой префикс/24), а порту 2 — адрес 200.14.13.2 с такой же маской подсети (тот же расширенный се­тевой префикс). Анализируя первые биты адреса порта 1 и маску подсети, марш­рутизатор определяет, что это адрес класса В, а третий байт адреса используется для задания номера подсети. Порту 2 присвоен адрес класса С без выделения под­сетей.

Если данный маршрутизатор получает информацию о маршруте в сеть 130.24.36.0 от соседнего маршрутизатора, он будет использовать маску подсети 255.255.255.0 (расширенный сетевой префикс /24), так как порту 1 присвоен адрес с тем же номе­ром сети — 130.24.0.0. Маска подсети просто наследуется. Но если маршрутизатор получит от соседа информацию о маршруте в сеть 131.25.0.0, он будет использовать стандартную маску подсети 255.255.0.0, так как адрес 131.25.0.0 является адресом класса В, а этому классу соответствует маска подсети 255.255.0.0. Будет использо­ваться именно эта маска, так как маршрутизатор не имеет дополнительной инфор­мации о необходимой маске подсети.

Маршрутизатор, поддерживающий протокол RIP-1 IP, будет включать биты, определяющие номера подсетей, в свои сообщения об обновлении маршрутов толь­ко в том случае, если порт, через который предполагается посылать сообщения, будет настроен на подсеть с тем же номером сети. Если порт настроен с другим сетевым номером, то маршрутизатор будет посылать только сетевую часть адреса.

Продемонстрируем это, продолжая рассмотрение предыдущего примера. Пред­положим, что маршрутизатор получил информацию от соседа о маршруте в сеть 130.24.36.0. Так как порт 1 настроен на адрес того же класса, то маршрутизатор предполагает, что сеть 130.24.36.0 имеет маску 255.255.255.0. Поэтому когда на­ступает время рекламировать данный маршрут, маршрутизатор информирует о маршруте сеть с адресом 130.24.36.0 через свой порт 1, а также сеть с адресом 130.24.0.0 через порт 2, то есть происходит потеря информации, содержащейся в третьем байте адреса (36).

Протокол RIP-1 IP может использовать с каждым номером сети только одну маску подсети. Возможность назначения одному адресу нескольких масок подсе­тей дает следующие преимущества:

множество масок подсетей позволяет более эффективно использовать выделен­ное организации адресное пространство;

множество масок подсетей позволяет объединять маршруты, что значительно уменьшает количество маршрутной информации внутри домена маршрутиза­ции организации.

Использование маски подсети переменной длины позволяет более эффектив­но использовать адресное пространство протокола IP, выделенное организации. Использование единственной маски подсети ограничивало возможности органи­зации, так как номер и размер подсети были фиксированными.

Например, предположим, что администратор намеревается настроить выделен­ную организации сеть класса В 130.5.0.0 на использование расширенного сетевого префикса /22 (табл. 2.10). Для задания номеров подсетей могут использоваться 6 бит.

Сеть класса В с расширенным сетевым префиксом /22 позволяет организовать 64 подсети (26 = 64), каждая из которых поддерживает максимум 1022 (210 - 2 = 1022) индивидуальных адреса хостов. Такой вариант может устроить администратора, если организации нужно некоторое число подсетей с большим количеством хостов. Од­нако если организации не нужны подсети с числом хостов более 30, то, имея фикси­рованную маску подсети, администратору придется эксплуатировать подсети, рас-считаные на большое количество хостов, подключая к ним всего нескольких пользо­вателей. В результате невостребованными могут оказаться около 1000 возможных адресов хостов в подсетях. Как видно из этих рассуждений, ограничение, получен­ное в результате использования единственной маски подсети, значительно умень­шает эффективность использования адресного пространства.

Основным решением данной проблемы является использование маски подсе­ти переменной длины. Рассмотрим другой пример. Предположим, что админи­стратор хочет использовать расширенный сетевой префикс /26. Адрес класса В с таким расширенным сетевым префиксом позволит поддерживать до 1024 подсе­тей (210 = 1024), каждая из которых поддерживает до 62 (26 - 2 = 62) адресов хос­тов (табл. 2.11). Такой расширенный сетевой префикс идеально подходит к неболь­шим подсетям с числом хостов порядка 60, в то время как префикс /22 ориентиро­ван на большие подсети с тысячами хостов.

Применение различных расширенных сетевых префиксов — /2.1 и //о — позво­лило получить два типа подсетей с резким отличием по числу поддерживаемых хостов. Внедрение маски подсети переменной длины позволяет администратору получать в рамках своей организации подсети с необходимыми характеристиками на нужный период времени. Это происходит следующим образом: сначала сеть делится на подсети, затем некоторые из этих подсетей делятся, в свою очередь, на подсети и т. д., то есть происходит рекурсия числа подсетей.

На рис. 2.15 показан пример, в котором сеть класса А с адресом 10.0.0.0 снача­ла делится на подсети с расширенным сетевым префиксом /16 (маска подсети 255.255.0.0). Общее количество получаемых подсетей — 254. В каждой подсети поддерживается до 65 534 (216 - 2 = 65 534) адресов хостов. Полученная подсеть с адресом 10.253.0.0 при рекурсии с расширенным сетевым префиксом /24 поддер­живает до 254 подсетей, каждая из которых поддерживает до 254 (28 - 2 = 254) ад­ресов хостов. При дальнейшей рекурсии с расширенным сетевым префиксом /27 подсеть с адресом 10.253.1.0 поддерживает 6 подсетей с номерами, кратными 32, каждая из которых поддерживает до 30 (25 - 2 = 30) номеров хостов.

Таким образом, рекурсивное разбиение адресного пространства организации может быть выполнено с учетом пожеланий администратора сети. Кроме возмож­ности рекурсии адресов подсетей, внедрение маски подсети переменной длины позволяет значительно уменьшить объем таблиц маршрутизации маршрутизато­ров организации. Каждый маршрутизатор имеет возможность объединять свои подсети в одну запись в сообщении об обновлении. Так как структура подсетей не

видна вне организации, граничный маршрутизатор рекламирует в Интернете мар­шрут с адресом 10.0.0.0 (см. рис. 2.16).

При разработке концепции подсетей с использованием маски подсети перемен­ной длины администратору необходимо убедиться в том, что в предоставляемом организации IP-адресе существует достаточное количество битов для формирова­ния требуемого числа подсетей на каждом уровне рекурсии.

Предположим, что сеть организации охватывает несколько удаленных филиа­лов. Если организация имеет три удаленных сети, то сегодня ей потребуется выде­лить 3 бита для формирования подсетей, которых может хватить как сегодня, так и в обозримом будущем (23 = 8). Предположим, что администратор хочет сформи­ровать отдельные подсети внутри каждого филиала. Эти подсети будут вторым уровнем в иерархии подсетей. Кроме того, внутри каждого филиала необходимо поддерживать отдельные рабочие группы, для которых также нужно выделить подсети. Следуя приведенной модели иерархии, верхний уровень определяется числом удаленных филиалов, второй — числом зданий внутри каждого филиала, а третий — максимальным числом подсетей в каждом здании и максимальным чис­лом хостов в каждой из подсетей.

Для успешного внедрения маски подсети переменной длины требуется выпол­нить три основных условия:

· протокол маршрутизации должен переносить информацию о маске подсети в каждом сообщении;

· все маршрутизаторы должны поддерживать алгоритм передачи, основывающий­ся на технологии наибольшего совпадения (longest match);

· адреса должны присваиваться в соответствии с существующей топологией сети.

Современные протоколы маршрутизации, такие как OSPF и IS-IS, позволяют использовать маску подсети переменной длины. Это достигается с помощью пере­дачи значения маски подсети в каждом сообщении об обновлении маршрутов, что позволяет рекламировать каждую подсеть с ее маской. Если протокол маршрути­зации не позволяет использовать маску подсети, маршрутизатор либо предполага­ет, что должна использоваться маска подсети, присвоенная его локальному порту, либо выполняет поиск в статически настроенной таблице, содержащей всю ин­формацию о масках подсетей. Первое решение не может гарантировать выбора корректной маски подсети, а статическая таблица не имеет возможности масшта­бирования, кроме того, она сложна в управлении и коррекции ошибок.

Таким образом, если требуется использование маски подсети переменной длины в сложной сетевой топологии, наилучшим выбором является применение протоко­лов маршрутизации OSPF и IS-IS, а не RIP-1 IP. Однако при этом нужно учиты­вать, что вторая версия протокола RIP (RIP-2 IP), описанная в документе RFC 1388, расширяет возможности первой версии протокола, в том числе и добавлением воз­можности переноса маски подсети.