Рекурсия позволяет более эффективно использовать имеющнееся адресное пространство. Суть ее проста - организация по своему усмотрению формирует внутренние подсети с требуемым ей соотношением "число подсетей/число хостов в подсети".
В 1987 году документом RFC 1009 было определено, каким образом сети, состоящие из нескольких подсетей, могут использовать более одной маски подсети. При задании в распределенной сети на базе протокола IP нескольких масок подсетей, она рассматривается как сеть с масками подсетей переменной длины, так как в этом случае расширенные сетевые префиксы в различных подсетях имеют разную длину.
МАСКИ ПЕРЕМЕННОЙ ДЛИНЫ
При использовании первой версии протокола маршрутизации RIP (RIP-1 IP) сетью может поддерживаться только одна маска подсети для каждого адреса (а точнее, для каждого номера сети), так как протокол не передает информацию о масках подсетей в своих сообщениях об обновлении таблиц маршрутизации. В отсутствии данной информации протокол маршрутизации RIP-1 IP принимает простое решение о выборе маски подсети для каждого маршрута в таблице маршрутизации.
Каким образом маршрутизатор, работающий по протоколу RIP-1, определяет, какую маску необходимо соотнести с новым маршрутом, полученным от соседнего маршрутизатора? Если адрес полученного маршрута имеет тот же номер сети, что и у какого-либо локального порта маршрутизатора, то он будет использовать маску подсети данного порта. Однако если это не так, то использоваться будет стандартная маска подсети.
Продемонстрируем это на примере. Предположим, что порту 1 маршрутизатора был присвоен адрес 130.24.13.1 с маской 255.255.255.0 (расширенный сетевой префикс /24), а порту 2 - адрес 200.14.13.2 с такой же маской подсети (тот же расширенный сетевой префикс). Анализируя первые биты адреса порта 1 и маску подсети, маршрутизатор определяет, что это адрес класса B, а третий октет адреса используется для задания номера подсети. Порту 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 является адресом класса B, а этому классу соответствует маска подсети 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 воспринимает только одну маску подсети для каждого номера сети. Возможность назначения одному адресу нескольких масок подсетей предоставляет следующие преимущества:
- более эффективное использование выделенного организации адресного пространства;
- значительное уменьшение количества маршрутной информации внутри домена в одной организации за счет объединения маршрутов.
Совокупность присвоенных одному адресу масок подсетей можно определить как маску подсети переменной длины (Variable Length Subnet Mask, VLSM).
Маска подсети переменной длины позволяет более эффективно использовать выделенное организации адресное пространство протокола IP. Главная трудность связана с тем, что ранее каждая сеть могла иметь только одну маску подсети, а это, в свою очередь, ограничивало возможности организации в выборе размера подсети.
Предположим, например, что администратор намеревается настроить выделенную организации сеть класса B 130.5.0.0 на использование расширенного сетевого префикса /22 (см. Таблицу 1). Номер подсети задается с помощью шести бит.
Сеть класс В с расширенным сетевым префиксом /22 позволяет организовать 64 подсети (26 = 64), каждая из которых поддерживает максимум до 1022 (210 - 2 = 1022) индивидуальных адресов хостов. Такой вариант может устроить администратора, если организации требуется некоторое число подсетей с большим количеством хостов в них. Однако если организации нужны подсети с числом хостов не более 30, то при фиксированной маске подсети администратору придется эксплуатировать подсети, рассчитанные на большое количество хостов, но содержащие всего несколько пользователей. В результате невостребованными могут оказаться около 1000 возможных адресов хостов в подсетях. Как видно из этих рассуждений, ограничение на использование только одной маски подсети значительно снижает эффективность распределения адресного пространства.
ТАБЛИЦА 1 - РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ПРИ ПРЕФИКСЕ /22 | |||||
Сетевой префикс (класс B) | Номер подсети | Номер хоста | |||
Адрес сети | 130.5.0.0 /22 | 10000010. | 00000101. | 000000 | 00. 00000000 |
Расширенный сетевой префикс /22 |
Основное решение данной проблемы состоит в введении маски подсети переменной длины. Предположим, что администратор хочет использовать расширенный сетевой префикс /26. Адрес класса В с таким расширенным сетевым префиксом позволит иметь до 1024 подсетей (210 = 1024), каждая из которых может поддерживать до 62 (26-2 = 62) индивидуальных адресов хостов (см. Таблицу 2). Такой расширенный сетевой префикс идеально подходит к небольшим подсетям, с числом хостов порядка 60, в то время как префикс /22 лучше подходит большим подсетям, с тысячами хостов.
ТАБЛИЦА 2 - РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА С ПРЕФИКСОМ /26 | |||||
Сетевой префикс | Номер подсети | Номер хоста | |||
Адрес сети | 130.5.0.0 /26 | 10000010. | 00000101. | 00000000. 00 | 000000 |
Расширенный сетевой префикс /22 |
Как видно, применение разных расширенных сетевых префиксов /22 и /26 позволяет получить два типа подсетей с резко отличающимся количеством поддерживаемых хостов. Введение маски подсети переменной длины дает возможность администратору создавать в рамках своей организации подсети требуемого размера. Это происходит следующим образом. Сначала сеть делится на подсети, затем некоторые из них делятся, в свою очередь, еще на подсети и т. д. - происходит своего рода рекурсия подсетей.
На Рисунке 1 показан пример, в котором сеть класса А с адресом 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) индивидуальных номеров хостов.
Пример рекурсии адресов подсетей.
Таким образом, рекурсивное разбиение адресного пространства организации может быть выполнено с учетом пожеланий администратора сети. Кроме рекурсии адресов подсетей введение маски подсети переменной длины позволяет значительно уменьшить объем таблиц маршрутизации на маршрутизаторах в организации.
Каждый маршрутизатор имеет возможность объединять свои подсети в одной записи в сообщении об обновлении. Структура подсетей вне организации не видна, поэтому маршрутизатор М1 рекламирует в сеть Internet маршрут с адресом 10.0.0.0 (см. Рисунок 2).
Объединение маршрутов с помощью маски подсети переменной длины.
При разработке концепции деления сети организации на подсети с использованием маски подсети переменной длины администратору необходимо убедиться, что имеющийся диапазон адресов имеет достаточное количество бит для формирования требуемого числа подсетей на каждом уровне рекурсии.
Предположим, что сеть организации охватывает несколько удаленных филиалов. Если организация имеет три удаленные сети, то ей понадобится выделить 3 бита для формирования подсетей - этого ей хватит как сегодня, так и в обозримом будущем (23 = 8). Второй уровень в иерархии подсетей образуют отдельные подсети внутри каждого филиала. Кроме того, каждой рабочей группе также требуется выделить отдельные подсети. Следуя приведенной иерархической модели, верхний уровень определяется числом удаленных филиалов, второй - числом зданий внутри каждого филиала, а третий - максимальным числом подсетей в каждом здании и максимальным числом хостов в каждой из подсетей.
Успех внедрения маски подсети переменной длины зависит от выполнения трех основных условий: протокол маршрутизации переносит информацию о маске подсети в каждом сообщении, все маршрутизаторы поддерживают алгоритм передачи, основанный на технологии "наибольшего совпадения" (longest match), и адреса присваивают в соответствии с топологией сети.
Современные протоколы маршрутизации, такие как OSPF и IS-IS, позволяют использовать маску подсети переменной длины. Это достигается за счет передачи маски подсети в каждом сообщении об обновлении маршрутов, так что каждую подсеть можно рекламировать с соответствующей маской. Если протокол маршрутизации не рассчитан на это, то маршрутизатор будет либо предполагать, что ему следует использовать маску подсети своего локального порта, либо произведет поиск в статически настроенной таблице, содержащей всю информацию о масках подсетей. Первое решение не может гарантировать выбора корректной маски подсети, а статическая таблица плохо масштабируется, кроме того, она сложна в управлении и выполнении коррекции ошибок.
Таким образом, если требуется использование маски подсети переменной длины в сложной сетевой топологии, наилучшим выбором является применение протоколов маршрутизации OSPF, IS-IS, а не RIP-1 IP. Однако при этом нужно учитывать, что вторая версия протокола RIP (RIP-2 IP), описанная в документе RFC 1388, расширяет возможности первой версии протокола, в том числе за счет возможности переноса маски подсети.
Методология "наибольшего совпадения" сводится к следующему правилу: маршрут в таблице маршрутизации с длинным расширенным сетевым префиксом описывает меньший набор получателей, чем тот же маршрут с коротким расширенным сетевым префиксом. В результате маршрутизатор должен выбирать при передаче трафика маршрут с самым длинным расширенным сетевым префиксом.
Например, если адрес получателя равен 11.1.2.5 и таблица маршрутизации содержит три маршрута, они показаны в Таблице 3), то маршрутизатор выберет первый маршрут, так как его расширенный сетевой префикс имеет большее число бит в адресе получателя.
ТАБЛИЦА 3 - ПРИМЕР РАБОТЫ АЛГОРИТМА "НАИБОЛЬШЕГО СОВПАДЕНИЯ" | ||
Получатель | 11.1.2.5 | 00001011.00000001.00000010.00000101 |
Маршрут #1 | 11.1.2.0 /24 | 00001011.00000001.00000010.00000000 |
Маршрут #2 | 11.1.0.0 /16 | 00001011.00000001.00000000.00000000 |
Маршрут #3 | 11.0.0.0 /8 | 00001011.00000000.00000000.00000000 |
Одно важное замечание. Адрес получателя соответствует трем маршрутам, поэтому его должен иметь хост, подключенный к подсети 11.1.2.0 /24. Если адрес 11.1.2.5 присваивается хосту, находящемуся в другой подсети, то трафик не будет ему передаваться, так как алгоритм "наибольшего совпадения" предполагает, что хост является частью подсети 11.1.2.0. Наибольшее внимание должно быть уделено назначению адресов хостам, с учетом особенностей алгоритма "наибольшего совпадения".
Применяемая в протоколе OSPF иерархическая маршрутизация требует, чтобы присвоенные хостам адреса отражали реальную сетевую топологию. Это уменьшает объем маршрутной информации, так как весь набор адресов, присвоенных подсетям региона, можно объединить в одном сообщении об обновлении. Иерархическая маршрутизация позволяет выполнять это рекурсивно в различных точках внутри иерархии топологии маршрутизации. Если адреса не соответствуют топологии, то обобщение адресной информации не может быть выполнено и размер таблиц
маршрутизации не будет уменьшаться. Этот постулат является основополагающим при рассмотрении технологии бесклассовой маршрутизации (CIDR).
CIDR. СИДР - ЭТО НЕ ТОЛЬКО ЯБЛОЧНОЕ ВИНО!
Концепция бесклассовой междоменной маршрутизации (Classless Inter - Domain Routing, CIDR) была официально документирована в сентябре 1993 года в RFC 1517, RFC 1518, RFC 1519 и RFC 1520. Ее появление было вызвано участившимися кризисами в сети Internet. Из-за несовершенства протоколов маршрутизации обмен сообщениями об обновлении таблиц приводил к сбоям магистральных маршрутизаторов, из-за перегрузки их ресурсов при обработке большого объема служебной информации. Так, в 1994 году таблицы магистральных маршрутизаторов в Internet содержали до 70 000 маршрутов. Внедрение протокола CIDR сок-ратило число записей до 30 000. Кроме того, дополнительной предпосылкой внедрения протокола CIDR явилась реальная опасность нехватки адресного пространства при дальнейшем расширении Internet. Данная технология позволяет реализовать две новые, не поддерживаемые ранее возможности:
- отход от традиционной концепции разделения адресов протокола IP на классы. Это позволяет более эффективно использовать адресное пространство протокола IP версии 4;
- объединение маршрутов. При этом одна запись в таблице маршрутизации может представлять сотни адресов. Кроме того, оно позволяет снизить объем маршрутной информации в магистральных маршрутизаторах сети Internet.
Рассмотрим более подробно возможности, предоставляемые новой технологией. Протокол CIDR позволяет использовать вместо традиционных классов адресов протокола IP обобщенный сетевой префикс. Он служит для определения границы между номером сети и номером хоста в IP-адресе (вместо проверки первых трех байтов адреса для определения его класса). Вследствие этого данная технология поддерживает организацию сетей произвольного размера взамен сетей со стандартными сетевыми номерами, ассоциируемыми с соответствующими классами адресов.
В протоколе CIDR каждый элемент маршрутной информации рекламируется маршрутизаторами совместно с сетевым префиксом. Битовая длина сетевого префикса помогает определить число старших битов, соответствующих номеру сети в записи таблицы маршрутизации.
Например, адрес подсети в таблице маршрутизации с номером сети, занимающим 20 бит, и номером хоста, занимающим 12 бит, будет записан с сетевым префиксом длиной 20 бит, или /20. Удобство заключается в том, что рекламируемый маршрутизатором IP-адрес подсети с префиксом /20 может быть адресом любого класса (А, B или С). Поддерживающие протокол CIDR маршрутизаторы не проверяют класс адреса обычными методами, вместо этого они полагаются на информацию о сетевом префиксе, пришедшую с рекламируемым маршрутом.
Если отвлечься от разделения адресов на классы, то сетевой префикс можно рассматривать как непрерывный битовый блок в адресном пространстве протокола IP. Например, рассмотренный выше сетевой префикс /20 оставляет то же самое количество бит для задания адресов хостов, что и в адресах с разделением на классы, а именно 12 бит, что позволяет поддерживать до 4094 (212 - 2 = 4094) адресов хостов. В Таблице 4 показан пример использования сетевого префикса /20.
ТАБЛИЦА 4 - ПРИМЕР ИСПОЛЬЗОВАНИЯ СЕТЕВОГО ПРЕФИКСА /20 | ||
Класс А | 10.23.64.0 /20 | 00001010.00010111.01000000.00000000 |
Класс B | 130.5.0.0 /20 | 10000010.00000101.00000000.00000000 |
Класс C | 200.7.128.0 /20 | 11001000.00000111.10000000.00000000 |
Ввиду того, что многие хосты при работе с адресами учитывают их принадлежность к определенному классу, при настройке требуется задавать маску подсети. Если администратор вместо маски подсети укажет сетевой префикс, то хост его не воспримет.
Проблема, например, возникает в случае, если необходимо использовать адрес 200.25.16.0 с сетевым префиксом /20 для поддержки 4094 хостов (212 - 2 = 4094), так как не поддерживающие протокол CIDR хосты будут интерпретировать заданный адрес, как адрес класса С с маской 255.255.255.0. При этом оставшихся в поле номера хоста битов не хватит для задания требуемого количества адресов хостов. Если хосты поддерживают протокол CIDR, то данный адрес может иметь любой сетевой префикс.
Здесь уместно отметить, что в настоящее время протокол CIDR поддерживается магистральными маршрутизаторами Internet с протоколом BGP4, а обычные хосты в локальных сетях не имеют о нем никакого представления. Протокол CIDR позволяет более эффективно использовать адресное пространство протокола IP. Обычно провайдеры услуг Internet выделяют своим клиентам адреса определенных классов, что ведет к некоторой избыточности. Благодаря протоколу CIDR, провайдеры получают возможность "нарезать" блоки из выделенного им адресного пространства в точном соответствии с требованиями каждого клиента, при этом у него остается пространство для маневра на случай его будущего роста.
Предположим, что провайдеру был выделен адрес 206.0.64.0 с сетевым префиксом /18. При таком префиксе для задания индивидуальных адресов остается 14 бит, что позволяет поддерживать до 16 384 (214) хоста. Для поддержки данного количества хостов при использовании классов адресов потребовалось бы выделить провайдеру 64 адреса класса С.
Если обслуживаемому данным провайдером клиенту требуется для сети 800 адресов хостов, то провайдер может выделить ему адресный блок 206.0.68.0 /22, т. е. блок из 1024 (210) адресов хостов. При этом клиент получает в свое распоряжение 224 дополнительных адреса. Если следовать схеме деления адресов на классы, то клиенту потребовалось бы предоставить или один адрес класса B, или четыре адреса класса С. При выделении одного адреса класса B клиент получает более 64 000 не нужных ему адресов. При выделении четырех адресов класса С клиент получает приемлемое количество адресов, но при этом увеличивается размер таблиц маршрутизации (на четыре записи). Рассмотренный пример приведен в Таблице 5.
ТАБЛИЦА 5 - ПРИМЕР ВЫДЕЛЕНИЯ АДРЕСОВ КЛИЕНТУ | ||
Блок адресов провайдера | 206.0.64.0 /18 | 11001110.00000000.01000000.00000000 |
Блок адресов клиента | 206.0.68.0 /22 | 11001110.00000000.01000100.00000000 |
Или | ||
Адрес класса C #0 | 206.0.68.0 /24 | 11001110.00000000.01000100.00000000 |
Адрес класса C #1 | 206.0.69.0 /24 | 11001110.00000000.01000101.00000000 |
Адрес класса C #2 | 206.0.70.0 /24 | 11001110.00000000.01000110.00000000 |
Адрес класса C #3 | 206.0.71.0 /24 | 11001110.00000000.01000111.00000000 |
Рассмотрим еще один пример. Предположим, что провайдеру был выделен адресный блок 200.25.0.0/16. Нетрудно подсчитать, что данный адресный блок поддерживает до 65 536 (216 = 65536) индивидуальных адресов хостов. Из этого блока провайдер хочет выделить адресный блок 200.25.16.0 /20, с 4096 (212 = 4096) адресами. В случае классов адресов провайдеру потребуется использовать для этой цели 16 адресов класса С (см. Таблицу 6).
ТАБЛИЦА 6 - ПРИМЕР ВЫДЕЛЕНИЯ АДРЕСНОГО ПРОСТРАНСТВА | ||
Сеть #0 | 200.25.16.0 /24 | 11001000.00011001.00010000.00000000 |
Сеть #1 | 200.25.17.0 /24 | 11001000.00011001.00010001.00000000 |
Сеть #2 | 200.25.18.0 /24 | 11001000.00011001.00010010.00000000 |
... | ||
Сеть #14 | 200.25.30.0 /24 | 11001000.00011001.00011101.00000000 |
Сеть #15 | 200.25.31.0 /24 | 11001000.00011001.00011111.00000000 |
Наглядно различие между заданием адресов с помощью классов и по протоколу CIDR можно продемонстрировать на круговых диаграммах. В случае классов адресов пример, рассмотренный в Таблице 6, можно изобразить как круг, разделенный на 16 одинаковых секторов (см. Рисунок 3). Каждый сектор соответствует одной сети класса С. Изменение класса адресов может привести к изменению количества секторов. В случае CIDR провайдер имеет возможность "нарезать" адресное пространство на сектора произвольного размера. Предположим, что провайдер обслуживает четыре организации - A, B, C и D. Организация A претендует на половину всего адресного пространства провайдера. Организации B необходима четверть, а организациям C и D требуется по одной восьмой адресного пространства.
Диаграмма деления адресного пространства при использовании классов адресов.
Процесс выделения адресного пространства провайдер может провести за три шага. На первом шаге адресный блок провайдера 200.25.16.0 /20 разделяется на две равные части. Каждая из частей поддерживает до 2048 (214 = 2048) индивидуальных адресов хостов (см. Таблицу 7).
ТАБЛИЦА 7 - ВЫДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ОРГАНИЗАЦИИ А | ||
Блок адресов провайдера | 200.25.16.0 /20 | 11001000.00011001.00010000.00000000 |
Организация А | 200.25.16.0 /21 | 11001000.00011001.00010001.00000000 |
Оставшийся резервный блок | 200.25.24.0 /21 | 11001000.00011001.00011010.00000000 |
Сетевой префикс /21 в Таблице получается следующим образом. Провайдер имеет 4096 исходных адресов хостов. При делении адресного пространства пополам организация А получает 2048 адресов. Для поддержки этих адресов требуется 11-битовое поле номера хоста. В результате сетевой префикс получается равным /21 (32 - 11 = 21).
На втором шаге оставшийся резервный блок разбивается на две равные части. Каждая из частей составляет одну четверть всего адресного пространства провайдера и поддерживает до 1024 (210 = 1024) индивидуальных адреса хостов. Сетевой префикс получается равным /22 (32 - 10 = 22). В Таблице 8 показано выделение адресного пространства организации B.
Таблица 8 - ВЫДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ОРГАНИЗАЦИИ B | ||
Оставшийся резерв от шага 1 | 200.25.24.0 /21 | 11001000.00011001.00011000.00000000 |
Организация B | 200.25.24.0 /22 | 11001000.00011001.00011000.00000000 |
Оставшийся резервный блок | 200.25.28.0 /22 | 11001000.00011001.00011100.00000000 |
На третьем шаге оставшийся резервный блок также разбивается на две равные части. Каждая из частей составляет одну восьмую от всего адресного пространства провайдера и поддерживает до 512 (29 = 512) индивидуальных адресов хостов. Сетевой префикс для адресов организаций C и D оказывается равным /23 (32 - 9 = 23). В Таблице 9 показано выделение адресного пространства организациям С и D.
Таблица 9 - ВЫДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ОРГАНИЗАЦИИ C И D | ||
Оставшийся резерв от шага 2 | 200.25.28.0 /22 | 11001000.00011001.00011100.00000000 |
Организация C | 200.25.28.0 /23 | 11001000.00011001.00011100.00000000 |
Организация D | 200.25.30.0 /23 | 11001000.00011001.00011110.00000000 |
На Рисунке 4 приведена круговая диаграмма, иллюстрирующая разделение провайдером адресного пространства между четырьмя организациями.
Разделение адресного пространства с использованием технологии CIDR.
Необходимо отметить, что рассмотренные выше примеры работы организаций с провайдерами являются несколько оторванными от жизни. Это связано с тем, что в настоящее время получить сеть класса B практически невозможно, а связь маршрутизаторов провайдера и организаций осуществляется при помощи статических таблиц маршрутизации, настроенных вручную. Протокол CIDR (и протокол BGP4) может использоваться и в том случае, если организация подключается к Internet через несколько разных провайдеров, а адреса ей выделяет InterNIC. Однако если ваша организация имеет собственную крупную распределенную сеть, то применение CIDR в ее центре может быть хорошим решением.
Для работы CIDR необходимо выполнение трех основных условий:
- протокол маршрутизации должен в своих служебных сообщениях передавать дополнительную информацию о сетевом префиксе;
- все маршрутизаторы должны поддерживать алгоритм передачи в соответствии с принципом "наибольшего совпадения";
- для выполнения объединения маршрутов адреса должны присваиваться в соответствии с существующей сетевой топологией.
Другим важным достоинством протокола CIDR является возможность контроля роста размеров таблиц маршрутизации в сети Internet. Для уменьшения размеров маршрутной информации сеть Internet разделяется на адресные домены. Внутри каждого домена циркулирует только внутренняя маршрутная информация обо всех сетях в домене. Однако вне домена рекламируется только общий сетевой префикс. Это позволяет одной записи в таблице маршрутизации указывать маршрут во множество индивидуальных сетей.
Отметим, что объединение маршрутов не осуществляется автоматически. Администратор должен настроить для этого каждый маршрутизатор. Плюс ко всему важно помнить, что CIDR является частью нового протокола политики маршрутизации BGP-4. Успешное внедрение CIDR позволит увеличить число индивидуальных сетей, подключенных к Internet, с сохранением размеров таблиц маршрутизации.
Протокол CIDR и маски подсети переменной длины позволяют рекурсивно делить порции адресного пространства на небольшие части. Основное различие между ними в том, что при использовании маски подсети переменной длины рекурсия выполняется в адресном пространстве, ранее присвоенном организации. Схема деления пространства остается невидима извне. Протокол CIDR рекурсивно разделяет адресное пространство от провайдеров разного уровня до адресного пространства организации.
Максим Кульгин - cотрудник компании "Комплит" (Санкт-Петербург). С ним можно связаться по тел. (812) 327-3180 или адресу: mk@complete.ru.