Концепции протоколов маршрутизации в Internet

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

Дистанционно-векторные протоколы маршрутизации

Дистанционно-векторные протоколы маршрутизации иногда именуются протоколами Беллмана-Форда (Bellman-Ford) в честь изобретателей алгоритма вычислений кратчайших маршрутов2, которые впервые описали механизм распределенного применения этого алгоритма3. Термин дистанционный вектор (distance vector) возник ввиду того, что в протоколе имеется вектор (список) расстояний (счетчик переприемов или другие параметры), который связан с каждым префиксом получателя, содержащимся в сообщении о маршруте.

Дистанционно-векторные протоколы маршрутизации, такие как протокол маршрутной информации Routing Information Protocol (RIP), при расчете маршрута используют механизм распределенных вычислений для каждого префикса пункта назначения. Другими словами для работы дистанционно-векторных протоколов необходимо, чтобы каждый узел отдельно занимался вычислением наилучшего маршрута (исходящего соединения) для каждого префикса пункта назначения.

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

Начальные спецификации дистанционно-векторных протоколов, таких как RIP версии 1 (RIP-1), имели серьезные недостатки. Например, подсчет количества переприемов был единственной метрикой в RIP-1, которая использовалась при выборе маршрута. Кроме того, этот протокол имел несколько ограничений. Рассмотрим, например, маршрутные таблицы маршрутизатора RTA (рис. 4.1). В одной из них представлена информация о маршрутах, собранная протоколом RIP, а в другой — протоколом OSPF (этот протокол маршрутизации на основе анализа состояния канала будет обсуждаться в последующих разделах).

При использовании RIP-1 маршрутизатор RTA выберет прямое соединение между RTA и RTB, чтобы достичь сети 192.10.5.0. Маршрутизатор RTA выбирает это соединение потому, что при непосредственном соединении для того, чтобы достичь заданной сети, используется лишь один переприем через узел RTB, против двух переприемов при выборе маршрута через узлы RTC и RTB. Однако маршрутизатор RTA "знает" о том, что канал RTA- RTB имеет меньшую производительность и большое время задержки, а канал RTC-RTB обеспечит более высокое качество обслуживания.

С  другой  стороны,  при  использовании  протокола  OSPF  и  метрик  при  выборе

маршрута, помимо подсчета количества переприемов, маршрутизатор RTA обнаружит, что путь к маршрутизатору RTB через RTC (вес: 60 + 60 = 120; 2 переприема) является более оптимальным, чем прямой путь (вес: 2000; 1 переприем).

Еще  при  подсчете  переприемов  следует  учитывать  ограничения,  налагаемые  на

количество переприемов, т. е. их не может быть бесконечное множество. В дистанционно- векторных протоколах (например, в RIP-1) количество переприемов ограничено, как правило, числом 15. При превышении этого предела узел считается недоступным по заданному маршруту. Таким образом, распространение информации о маршрутах в больших сетях также вызывало определенные проблемы (в тех из них, где насчитывалось более 15 узлов  на  маршрут). Зависимость  от  количества  переприемов  — одна  из  определяющих

характеристик дистанционно-векторных протоколов, хотя более новые протоколы этой категории (RIP-2 и EIGRP) не столь строги.

Еще один недостаток — способ обмена маршрутной информацией. Для традиционных дистанционно-векторных протоколов в настоящее время применяется следующая концепция: маршрутизаторы ведут обмен всеми IP-адресами, которые могут быть достигнуты при периодическом обмене данными посредством широковещательных анонсов дистанционных векторов. Эти широковещательные сообщения рассылаются согласно "таймеру обновлений" (refresh timer),  установленному для каждого сообщения. Таким образом, если истекает срок работы "таймера обновлений" и при этом поступает новая маршрутная информация, требующая пересылки соседям, этот таймер сбрасывается, и маршрутная информация не пересылается до тех пор, пока срок работы таймера снова не истечет. Теперь рассмотрим, что бы произошло, если бы соединение или определенный маршрут вдруг стали недоступны по каким-либо причинам сразу после обновления маршрутов. Распространение маршрутной информации со сведениями о нерабочем маршруте было бы задержано на время до окончания срока работы "таймера обновления", следовательно, возникло бы значительное замедление при обновлении маршрутной информации.

К счастью, в новые модификации дистанционно-векторных протоколов, таких как EIGRP и RIP-2, введена концепция триггерных обновлений (triggerred updates). Триг-герные обновления распространяют сообщения об отказах по мере их появления, что значительно ускоряет обмен маршрутной информацией.

Итак, можно сделать вывод о том, что в крупных и даже небольших сетях с большим количеством узлов периодический обмен таблицами маршрутов с соседними узлами может быть очень большим по объему, что затрудняет обслуживание и замедляет обмен маршрутной информацией. Нагрузка на процессоры и каналы связи, вызванная периодическим обменом маршрутной информацией, также может негативно влиять на общую производительность сети. Еще одно свойство, которым обладают новые дистанционно-векторные протоколы, — повышенная надежность при передаче дистанционных векторов между соседями, что исключает необходимость периодически повторять полные таблицы маршрутов.

Конвергенция (convergence) — это интервал времени, за который обновляются все

маршруты в сети, т.е. устанавливается факт существования, отсутствия или изменения того или иного маршрута. Старые дистанционно-векторные протоколы работали по принципу периодического обновления маршрутов с использованием таймеров удержания: если в течение определенного времени информация о маршруте не поступала, то этот маршрут "замораживался" (удерживался) и исключался из таблицы маршрутов. Процесс удержания и исключения из таблицы маршрутов в больших сетях мог длиться несколько минут, пока не проходила полная конвергенция, т. е.  пока всем узлам сети  сообщалась информация об исчезновении маршрута. Задержка между моментом, когда маршрут становился недоступным, и его исключением из таблицы маршрутов могла привести к образованию временных петель или даже "черных дыр".

В некоторых дистанционно-векторных протоколах (например, в RIP) при пропадании активного маршрута и его появлении, но уже с более высокой метрикой (предположительно сгенерированной другим маршрутизатором, который сообщил о возможном альтернативном маршруте) маршрут по-прежнему остается в "замороженном" состоянии. Таким образом, время конвергенции для всей сети остается достаточно большим.

Еще  один  серьезный  недостаток  дистанционно-векторных  протоколов  первого

поколения — их классовая природа и отсутствие полноценной поддержки VLSM и CIDR. При обновлении маршрутной информации эти дистанционно-векторные протоколы не передают сведения о сетевых масках и, следовательно, не могут поддерживать эти технологии. В протоколе RIP-1 маршрутизатор, принимающий обновление маршрутов через определенный интерфейс, будет подставлять в эту посылку свою локальную маску подсети. Протокол IGRP делает то же самое, что и RIP-1, но он, кроме того, привязывается к сетевым маскам сетей класса А, В и С, если часть переданного сетевого адреса не соответствует локальному сетевому адресу. Все это приводит к определенным затруднениям (в том случае,

если интерфейс принадлежит сети, которая разбита на подсети с помощью масок переменной длины) и неправильной интерпретации принимаемых обновлений маршрутов. В новейших дистанционно-векторных протоколах, таких как RIP-2 и EIGRP, указанные недостатки устранены.

С целью исправления недостатков старых дистанционно-векторных протоколов маршрутизации было разработано несколько их модификаций. Так, например, протоколы RIP-2 и EIGRP уже поддерживают работу с VLSM и CIDR. К тому же протоколы IGRP и EIGRP способны воспринимать сложные метрики, которые используются для представления характеристик, соединений составляющих маршрут (таких как полоса пропускания, текущая нагрузка, задержки, размер передаваемого блока (MTU) и т.д.), с помощью которых можно вычислить более оптимальный маршрут, чем при простом подсчете числа переприемов.

Простота и завершенность дистанционно-векторных протоколов стала причиной их

широкой популярности. Основной недостаток протоколов этого класса — медленная конвергенция, что может стать катализатором образования петель и "черных дыр" при изменении топологии сети. Однако в  последних модификациях дистанционно-векторных протоколов, в частности в EIGRP, достигается довольно хорошая конвергенция.

Этот раздел мы не могли бы завершить, не упомянув, что протокол BGP также относится к семейству дистанционно-векторных протоколов. Кроме обычных параметров, свойственных этим протоколам, в BGP используется дополнительный механизм, именуемый вектором маршрута (path vector), благодаря которому устраняется проблема ограничения числа переприемов. По сути, вектор маршрута содержит список доменов маршрутизации (номера автономных систем), по которому пролегает тот или иной маршрут. Если домен получает информацию о маршруте, который уже имеет идентификатор домена, то такой маршрут игнорируется. Эта маршрутная информация позволяет избежать образования петель маршрутизации. Кроме того, ее можно использовать как основу для создания правил маршрутизации в домене. Этот атрибут маршрута более подробно обсуждается в последующих главах.

Источник: Сэм Хелеби, Денни Мак-Ферсон, Принципы маршрутизации в Internet, 2-е  издание.  : Пер. с англ. М. : Издательский дом «Вильямс», 2001. — 448 с. : ил. — Парал. тит. англ.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100