Протоколы маршрутизации RIP OSPF BGP. Внутренний протокол маршрутизации RIP Этот протокол маршрутизации предназначен для сравнительно небольших и относительно


Протокол передачи данных TCP/IP

Сеть Интернет, являющаяся сетью сетей и объединяющая громадное количество различных локальных, региональных и корпоративных сетей, функционирует и развивается благодаря использованию единого протокола передачи данных TCP/IP. Термин TCP/IP включает название двух протоколов:

  • Transmission Control Protocol (TCP) - транспортный протокол;
  • Internet Protocol (IP) - протокол маршрутизации.

Протокол маршрутизации. Протокол IP обеспечивает передачу информации между компьютерами сети. Рассмотрим работу данного протокола по аналогии с передачей информации с помощью обычной почты. Для того чтобы письмо дошло по назначению, на конверте указывается адрес получателя (кому письмо) и адрес отправителя (от кого письмо).

Аналогично передаваемая по сети информация "упаковывается в конверт", на котором "пишутся" IP-адреса компьютеров получателя и отправителя, например "Кому: 198.78.213.185", "От кого: 193.124.5.33". Содержимое конверта на компьютерном языке называется IP-пакетом и представляет собой набор байтов.

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

IP-пакеты на пути к компьютеру-получателю также проходят через многочисленные промежуточные серверы Интернета, на которых производится операция маршрутизации . В результате маршрутизации IP-пакеты направляются от одного сервера Интернета к другому, постепенно приближаясь к компьютеру-получателю.

Internet Protocol (IP) обеспечивает маршрутизацию IP-пакетов, то есть доставку информации от компьютера-отправителя к компьютеру-получателю.

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

С маршрутом прохождения информации в Интернете можно познакомиться достаточно просто. Специальная программа tracert.exe, которая входит в состав Windows, позволяет проследить, через какие серверы и с какой задержкой передается информация с выбранного сервера Интернет на ваш компьютер.

Проследим, как реализуется доступ к информации в "московской" части Интернета к одному из наиболее популярных поисковых серверов российского Интернета www.rambler.ru.

Определение маршрута прохождения информации

2. В окне Сеанс MS-DOS в ответ на приглашение системы ввести команду .

3. Через некоторое время появится трассировка передачи информации, то есть список узлов, через которые передается информация на ваш компьютер, и время передачи между узлами.


Трассировка маршрута передачи информации показывает, что сервер www.rambler.ru находится от нас на "расстоянии" 7 переходов, т. е. информация передается через шесть промежуточных серверов Интернета (через серверы московских провайдеров МТУ-Информ и Демос). Скорость передачи информации между узлами достаточно высока, на один "переход" тратится от 126 до 138 мс.

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

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

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

Transmission Control Protocol (TCP) , то есть транспортный протокол, обеспечивает разбиение файлов на IP-пакеты в процессе передачи и сборку файлов в процессе получения.

Интересно, что для IP-протокола, ответственного за маршрутизацию, эти пакеты совершенно никак не связаны между собой. Поэтому последний IP-пакет вполне может по пути обогнать первый IP-пакет. Может сложиться так, что даже маршруты доставки этих пакетов окажутся совершенно разными. Однако протокол TCP дождется первого IP-пакета и соберет исходный файл в правильной последовательности.

Определение времени обмена IP-пакетами. Время обмена IP-пакетами между локальным компьютером и сервером Интернета можно определить с помощью утилиты ping, которая входит в состав операционной системы Windows. Утилита посылает четыре IP-пакета по указанному адресу и показывает суммарное время передачи и приема для каждого пакета.

Определение времени обмена IP-пакетами

1. Соединиться с Интернетом, ввести команду [Программы-Сеанс MS-DOS].

2. В окне Сеанс MS-DOS в ответ на приглашение системы ввести команду .

3. В окне Сеанс MS-DOS высветится результат пробного прохождения сигнала в четырех попытках. Время отклика характеризует скоростные параметры всей.цепочки линий связи от сервера до локального компьютера.


Вопросы для размышления

1. Что обеспечивает целостное функционирование глобальной компьютерной сети Интернет?

Практические задания

4.5. Проследить маршрут прохождения информации от одного из наиболее популярных поисковых серверов Интернета www.yahoo.com, расположенного в "американском" сегменте Интернета.

4.6. Определить время обмена IP-пакетами с сервером www.yahoo.com.

Внутренний протокол маршрутизации RIP Этот протокол маршрутизации предназначен для сравнительно небольших и относительно однородных сетей (алгоритм Белмана - Форда). Протокол разработан в университете Калифорнии (Беркли), базируется на разработках фирмы Ксерокс и реализует те же принципы, что и программа маршрутизации routed, используемая в О C Unix (4BSD)


Протокол RIP должен быть способен обрабатывать три типа ошибок: Циклические маршруты. Так как в протоколе нет механизмов выявления замкнутых маршрутов, необходимо либо слепо верить партнерам, либо принимать меры для блокировки такой возможности. Для подавления нестабильностей RIP должен использовать малое значение максимально возможного числа шагов (


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



Значения кодов поля команда: Зарезервированы для внутренних целей sun microsystem. 5-6 Выключение режима трассировки (устарело);4 Включение режима трассировки (устарело);3 Отклик, содержащий информацию о расстояниях из маршрутной таблицы отправителя; 2 Запрос на получение частичной или полной маршрутной информации; 1 Значение Команд а


НЕДОСТАТКИ RIP: RIP не работает с адресами субсетей. Если нормальный 16-бит идентификатор ЭВМ класса B не равен 0, RIP не может определить является ли не нулевая часть cубсетевым ID, или полным IP- адресом. RIP требует много времени для восстановления связи после сбоя в маршрутизаторе (минуты). В процессе установления режима возможны циклы. Число шагов важный, но не единственный параметр маршрута, да и 15 шагов не предел для современных сетей.


Протокол OSPF (алгоритм Дикстры) Протокол OSPF (Open Shortest Pass First, RFC , RFC , алгоритмы предложены Дикстрой) является альтернативой RIP в качестве внутреннего протокола маршрутизации. OSPF представляет собой протокол состояния маршрута (в качестве метрики используется - коэффициент качества обслуживания). Каждый маршрутизатор обладает полной информацией о состоянии всех интерфейсов всех маршрутизаторов (переключателей) автономной системы. Протокол OSPF реализован в демоне маршрутизации gated, который поддерживает также RIP и внешний протокол маршрутизации BGP.









Маршрутная таблица OSPF содержит в себе: IP-адрес места назначения и маску; тип места назначения (сеть, граничный маршрутизатор и т.д.); тип функции (возможен набор маршрутизаторов для каждой из функций TOS); область (описывает область, связь с которой ведет к цели, возможно несколько записей данного типа, если области действия граничных маршрутизаторов перекрываются); тип пути (характеризует путь как внутренний, межобластной или внешний, ведущий к AS); цена маршрута до цели; очередной маршрутизатор, куда следует послать дейтограмму; объявляющий маршрутизатор (используется для межобластных обменов и для связей автономных систем друг с другом).


Преимущества OSPF: Для каждого адреса может быть несколько маршрутных таблиц, по одной на каждый вид IP-операции (TOS). Каждому интерфейсу присваивается безразмерная цена, учитывающая пропускную способность, время транспортировки сообщения. Для каждой IP- операции может быть присвоена своя цена (коэффициент качества). При существовании эквивалентных маршрутов OSFP распределяет поток равномерно по этим маршрутам. Поддерживается адресация субсетей (разные маски для разных маршрутов). При связи точка-точка не требуется IP-адрес для каждого из концов. (Экономия адресов!) Применение мультикастинга вместо широковещательных сообщений снижает загрузку не вовлеченных сегментов. Недостатки: Трудно получить информацию о предпочтительности каналов для узлов, поддерживающих другие протоколы, или со статической маршрутизацией. OSPF является лишь внутренним протоколом.


Внешний протокол BGP Протокол BGP (RFC-1267, BGP-3; RFC-1268; RFC-1467, BGP-4; , 1655) разработан компаниями IBM и CISCO. Главная цель BGP - сократить транзитный трафик. Но не всякая ЭВМ, использующая протокол BGP, является маршрутизатором, даже если она обменивается маршрутной информацией с пограничным маршрутизатором соседней автономной системы. BGP- маршрутизаторы обмениваются сообщениями об изменении маршрутов


Формат BGP-сообщений об изменениях маршрутов Поле маркер содержит 16 октетов и его содержимое может легко интерпретироваться получателем. Поле длина имеет два октета и определяет общую длину сообщения в октетах, включая заголовок. Поле тип представляет собой код разновидности сообщения и может принимать следующие значения: (еще жив)KEEPALIVE4 (внимание) NOTIFICATIO N 3 (изменить)UPDATE2 (открыть)OPEN1




Предусмотрены следующие разновидности кодов типа атрибута ORIGIN (код типа = 1) - стандартный обязательный атрибут, который определяет происхождение путевой информации. Генерируется автономной системой, которая является источником маршрутной информации. Значение атрибута в этом случае может принимать следующие значения: Incomplete - информация достижимости сетевого уровня получена каким-то иным способом. 2 EGP - информация достижимости сетевого уровня получена с помощью внешнего протокола маршрутизации; 1 IGP - информация достижимости сетевого уровня является внутренней по отношению к исходной автономной системе; 0 Описание Код атрибута


AS_sequence: уп" title="AS_PATH (код типа = 2) также является стандартным обязательным атрибутом, который составлен из совокупности сегментов пути. Каждый сегмент AS_PATH состоит из трех частей . AS_sequence: уп" class="link_thumb"> 22 AS_PATH (код типа = 2) также является стандартным обязательным атрибутом, который составлен из совокупности сегментов пути. Каждый сегмент AS_PATH состоит из трех частей. AS_sequence: упорядоченный набор маршрутов автономной системы в UPDATE-сообщении. 2 AS_set: неупорядоченный набор маршрутов в update сообщении; 1 Описание Код типа сегмента NEXT_HOP (код типа = 3) - стандартный обязательный атрибут, определяющий IP-адрес пограничного маршрутизатора, который должен рассматриваться как цель следующего шага на пути к точке назначения. MULTI_EXIT_DISC (код типа = 4) представляет собой опционный непереходной атрибут, который занимает 4 октета и является положительным целым числом. Величина этого атрибута может использоваться при выборе одного из нескольких путей к соседней автономной системе. LOCAL_PREF (код типа = 5) является опционным атрибутом, занимающим 4 октета. Он используется BGP-маршрутизатором, чтобы сообщить своим BGP-партнерам в своей собственной автономной системе степень предпочтения объявленного маршрута. ATOMIC_AGGREGATE (код типа = 6) представляет собой стандартный атрибут, который используется для информирования партнеров о выборе маршрута, обеспечивающего доступ к более широкому списку адресов. . AS_sequence: уп"> . AS_sequence: упорядоченный набор маршрутов автономной системы в UPDATE-сообщении. 2 AS_set: неупорядоченный набор маршрутов в update сообщении; 1 Описание Код типа сегмента NEXT_HOP (код типа = 3) - стандартный обязательный атрибут, определяющий IP-адрес пограничного маршрутизатора, который должен рассматриваться как цель следующего шага на пути к точке назначения. MULTI_EXIT_DISC (код типа = 4) представляет собой опционный непереходной атрибут, который занимает 4 октета и является положительным целым числом. Величина этого атрибута может использоваться при выборе одного из нескольких путей к соседней автономной системе. LOCAL_PREF (код типа = 5) является опционным атрибутом, занимающим 4 октета. Он используется BGP-маршрутизатором, чтобы сообщить своим BGP-партнерам в своей собственной автономной системе степень предпочтения объявленного маршрута. ATOMIC_AGGREGATE (код типа = 6) представляет собой стандартный атрибут, который используется для информирования партнеров о выборе маршрута, обеспечивающего доступ к более широкому списку адресов."> . AS_sequence: уп" title="AS_PATH (код типа = 2) также является стандартным обязательным атрибутом, который составлен из совокупности сегментов пути. Каждый сегмент AS_PATH состоит из трех частей. AS_sequence: уп"> title="AS_PATH (код типа = 2) также является стандартным обязательным атрибутом, который составлен из совокупности сегментов пути. Каждый сегмент AS_PATH состоит из трех частей . AS_sequence: уп">


Маршрутная база данных BGP состоит из трех частей: Содержит информацию, которую локальный BGP- маршрутизатор отобрал для рассылки соседям с помощью UPDATE-сообщений. ADJ- RIBS- OUT: 3. Содержит локальную маршрутную информацию, которую BGP-маршрутизатор отобрал, руководствуясь маршрутной политикой, из ADJ-RIBS-IN. LOC-RIB:2. Запоминает маршрутную информацию, которая получена из update-сообщений. Это список маршрутов, из которого можно выбирать. (policy information base - PIB). ADJ- RIBS- IN: 1.


Особенности BGP: BGP отличается от RIP и OSPF тем, что использует TCP в качестве транспортного протокола. ЭВМ, использующая BGP, не обязательно является маршрутизатором. Сообщения обрабатываются только после того, как они полностью получены. BGP является протоколом, ориентирующимся на вектор расстояния. BGP регулярно посылает соседям TCP-сообщения, подтверждающие, что узел жив. Если два BGP-маршрутизатора попытаются установить связь друг с другом одновременно, такая ситуация называется столкновением, одна из связей должна быть ликвидирована. При установлении связи маршрутизаторов сначала делается попытка реализовать высший из протоколов, если один из них не поддерживает эту версию, номер версии понижается.

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

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

Следует отметить, что использование протоколов динамической маршрутизации не отменяет возможность «ручного» внесения данных в таблицы маршрутизаторов. Внесенные таким образом записи называют статическими, а записи, полученные в результате обмена информацией между маршрутизаторами – динамическими. В любой таблице маршрутизации всегда присутствует, по крайней мере, одна статическая запись – маршрут по умолчанию.

Современные протоколы маршрутизации делятся на две группы: протоколы типа «вектор-расстояние» и протоколы типа «состояние канала».

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

Протоколы типа «состояние канала» основаны на ином принципе. Маршрутизаторы обмениваются между собой топологической информацией о связях в сети: какие маршрутизаторы с какими сетями связаны. В результате каждый маршрутизатор имеет полное представление о структуре сети (причем это представление будет одинаковым для всех), на основе которого вычисляет собственную оптимальную таблицу маршрутизации. Протоколом этой группы является протокол OSPF (Open Shortest Path First, «открой кратчайший путь первым»).

Протокол RIP.

Протокол RIP (Routing Information Protocol, протокол маршрутной информации) является наиболее простым протоколом динамической маршрутизации. Он относится к протоколам типа «вектор-расстояние».

Под вектором протокол RIP определяет IP-адреса сетей, а расстояние измеряется в переходах («хопах», hope) – количестве маршрутизаторов, которое должен пройти пакет, чтобы достичь указанной сети. Следует отметить, что максимальное значение расстояния для протокола RIP равно 15, значение 16 трактуется особым образом «сеть недостижима». Это определило основной недостаток протокола – он оказывается неприменимым в больших сетях, где Возможны маршруты, превышающие 15 переходов.

Протокол RIP версии 1 имеет ряд существенных для практического использования недостатков. К числу важных проблем относятся следующие:

  • Оцен ка расстояния только с учетом числа переходов. Протокол RIP не учитывает реальную производительность каналов связи, что может оказаться неэффективным в гетерогенных сетях, т.е. сетях, объединяющих каналы связи различного устройства, производительности, в которых используются разные сетевые технологии.
  • Проблема медленной конвергенции . Маршрутизаторы, спользующие протокол RIP. Рассылают маршрутную информацию каждые 30 с, причем их работа не синхронизирована. В ситуации, когда некоторый маршрутизатор обнаружит, что какая-либо сеть стала недоступной, то в худшем случае (если проблема была выявлена сразу после очередной рассылки) он сообщит об это соседям через 30 с. Для соседних маршрутизаторов все будет происходить также. Это означает, что информация о недоступности какой-либо сети может распространятся маршрутизаторам в достаточно долго, очевидно, что сеть при этом будет находиться в нестабильном состоянии.
  • Широковещательная рассылка таблиц маршрутизации . Протокол RIP изначально предполагал, что маршрутизаторы рассылают информацию в широковещательном режиме. Это означает, что отправленный пакет вынуждены получить и проанализировать на канальном, сетевом и транспортном уровне все компьютеры сети, в которую он направлен.

Частично указанные проблемы решаются в версии 2 (RIP2).

Протокол OSPF

Протокол OSPF (Routing (Open Shortest Path First, «открой кратчайший путь первым») является более новым протоколом динамической маршрутизации и относится к протоколам типа «состояние канала».

Функционирование протокола OSPF основано на использовании всеми маршрутизаторами единой базы данных, описывающей, как и с какими сетями связан каждый маршрутизатор. Описывая каждую связь, маршрутизаторы связы
вают с ней метрику – значение, характеризующее «качество» канала. Например, для сетей Ethernet со скоростью обмена 100 Мбит/с используется значение 1, а для коммутируемых соединений 56 Кбит/с – значение 1785. Это позволяет маршрутизаторам OSPF (в отличие от RIP, где все каналы равнозначны) учитывать реальную пропускную способность и выявлять эффективные маршруты. Важной особенностью протокола OSPF является то, что используется групповая, а не широковещательная рассылка.

Указанные особенности, такие как групповая рассылка вместо широковещательной, отсутствие ограничений на длину маршрута, периодический обмен только короткими сообщениями о состоянии, учет «качества» каналов связи позволяют использовать OSPF в больших сетях. Однако такое использование может породить серьезную проблему – большое количество циркулирующей в сети маршрутной информации и увеличение таблиц маршрутизации. А поскольку алгоритм поиска эффективных маршрутов является, с точки зрения объема вычислений, достаточно сложным, то в больших сетях могут потребоваться высокопроизводительные и, следовательно, дорогие маршрутизаторы. Поэтому возможность построения эффективных таблиц маршрутизации может рассматриваться и как достоинство, и как недостаток протокола OSPF.

Протоколы маршрутизации.

Протоколы маршрутизации (например, RIP, OSPF, NLSP) следует отличать от собственно сетевых протоколов (например, IP, IPX). И те и другие выполняют функции сетевого уровня модели OSI - участвуют в доставке пакетов адресату через разнородную составную сеть. Но в то время как первые собирают и передают по сети чисто служебную информацию, вторые предназначены для передачи пользовательских данных, как это делают протоколы канального уровня. Протоколы маршрутизации используют сетевые протоколы как транспортное средство. При обмене маршрутной информацией пакеты протокола маршрутизации помещаются в поле данных пакетов сетевого уровня или даже транспортного уровня, поэтому с точки зрения вложенности пакетов протоколы маршрутизации формально следовало бы отнести к более высокому уровню, чем сетевой.

Каждый маршрутизатор может поддерживать несколько сетевых протоколов и протоколов маршрутизации.

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

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

Протоколы маршрутизации выполняют две важнейшие функции .

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

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

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

Протоколы, используемые при создании таблицы маршрутизации, можно разделить на три категории:

Протоколы длины вектора расстояния;

Протоколы состояния канала;

Протоколы политики маршрутизации.

Протоколы длины вектора - простейший и наиболее распространенный тип протоколов маршрутизации. Большинство используемых сегодня протоколов этого типа ведет свое начало от протокола Routing Information Protocol компании Xerox (иногда они даже так и называются). Протоколы данного класса включают RIP (стека ТСР/IP), RIP (стека IPX/SPX) , протокол управления таблицей маршрутизации AppleTalk RTMP и Cisco IGRP (Interior Gateway Routing Protocol).

Периодически каждый маршрутизатор копирует адреса получателей и метрику из своей таблицы маршрутизации и помещает эту информацию в рассылаемые соседям сообщения об обновлении. Соседние маршрутизаторы сверяют полученные данные со своими собственными таблицами маршрутизации и вносят необходимые изменения.

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

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

Недостатком таких протоколов состояния каналов, как OSPF, IS-IS и NLSP , является их сложность и высокие требования к памяти. Они трудны в реализации и нуждаются в значительном объеме памяти для хранения объявлений о состоянии каналов.

К третьей категории протоколов по обслуживанию среды относятся протоколы правил маршрутизации . Если протоколы маршрутизации на базе алгоритмов длины вектора и состояния канала решают задачу наиболее эффективной доставки сообщения получателю, то задача маршрутизации - наиболее эффективная доставка сообщения получателю по разрешенным путям. Такие протоколы, как BGP (Border Gateway Protocol) или IDRP (Interdomain Routing Protocol), позволяют операторам Internet получать информацию о маршрутизации от соседних операторов на основе контрактов или других нетехнических критериев. Алгоритмы, используемые для политики маршрутизации, опираются на алгоритмы длины вектора, но информация о метрике и пути базируется на списке операторов магистрали.

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

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

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

Статические алгоритмы и простая маршрутизация

В зависимости от способа формирования таблиц маршрутизации одношаговые алгоритмы делятся на три класса:

  • алгоритмы фиксированной (или статической) маршрутизации;
  • алгоритмы простой маршрутизации;
  • алгоритмы адаптивной (или динамической) маршрутизации.

В первом случае все записи в таблице маршрутизации статические. Администратор сети сам решает, на какие маршрутизаторы надо передавать пакеты с теми или иными адресами, и заносит соответствующие записи в таблицу маршрутизации вручную (например, с помощью утилиты route ОС UNIX или Windows NT).

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

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

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

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

  • случайная маршрутизация, когда прибывший пакет посылается в первом попавшемся направлении, кроме исходного;
  • лавинная маршрутизация, когда пакет широковещательно посылается по всем возможным направлениям, кроме исходного (аналогично тому, как мосты обрабатывают кадры с неизвестным адресом);
  • маршрутизация с учетом накопленного опыта, когда выбор маршрута осуществляется по таблице, но таблица строится так же, как и в случае моста путем анализа адресных полей поступающих пакетов.
АДАПТИВНАЯ МАРШРУТИЗАЦИЯ

Наибольшее распространение получили алгоритмы адаптивной (или динамической) маршрутизации. Они обеспечивают автоматическое обновление таблиц маршрутизации после изменения конфигурации сети. Используя протоколы адаптивных алгоритмов, маршрутизаторы могут собирать информацию о топологии связей в сети и оперативно реагировать на все изменения конфигурации связей. В таблицы маршрутизации обычно заносится информация об интервале времени, в течение которого данный маршрут будет оставаться действительным. Это время называют временем жизни маршрута (Time To Live, TTL).

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

В последнее время наметилась тенденция использовать так называемые серверы маршрутов: они собирают маршрутную информацию, а затем по запросам раздают ее маршрутизаторам. В этом случае последние либо освобождаются от функции создания таблицы маршрутизации, либо создают только часть таблицы. Взаимодействие маршрутизаторов с серверами маршрутов осуществляется по специальным протоколам, например Next Hop Resolution Protocol (NHRP).

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

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

  • дистанционно-векторные алгоритмы (Distance Vector Algorithm, DVA);
  • алгоритмы состояния каналов (Link State Algorithm, LSA).

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

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

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

Алгоритмы состояния каналов позволяют каждому маршрутизатору получить достаточную информацию для построения точного графа связей сети. Все маршрутизаторы работают на основании одинаковых графов, в результате процесс маршрутизации оказывается более устойчивым к изменениям конфигурации. «Широковещательная» рассылка (т. е. передача пакета всем ближайшим соседям маршрутизатора) производится здесь только при изменениях состояния связей, что в надежных сетях происходит не так часто. Вершинами графа являются как маршрутизаторы, так и объединяемые ими сети. Распространяемая по сети информация состоит из описания связей различных типов: маршрутизатор-маршрутизатор, маршрутизатор-сеть.

Для того чтобы понять, в каком состоянии находятся линии связи, подключенные к его портам, маршрутизатор периодически обменивается короткими пакетами HELLO со своими ближайшими соседями. Этот служебный трафик также засоряет сеть, но не в такой степени, как, например, пакеты RIP, так как пакеты HELLO имеют намного меньший объем.

Примерами протоколов на базе алгоритма состояния связей могут служить IS-IS (Intermediate System to Intermediate System) стека OSI, OSPF (Open Shortest Path First) стека TCP/IP и протокол NLSP стека Novell.

СТРУКТУРА INTERNET

Большинство протоколов маршрутизации, применяемых в современных сетях с коммутацией пакетов, появилось благодаря Internet и его предшественницы - сети ARPANET. Для того чтобы понять их назначение и особенности, полезно познакомится со структурой сети Internet, которая наложила отпечаток на терминологию и типы протоколов.

Internet изначально строился как сеть, объединяющая большое количество независимых систем. С самого начала в его структуре выделяли магистральную сеть (core backbone network), а подключенные к магистрали сети рассматривались как автономные системы (autonomous system). Магистраль и каждая из автономных систем имели свои собственные административное управление и протоколы маршрутизации. Необходимо подчеркнуть, что деление на автономные системы не связано прямо с делением Internet на сети и домены имен. Автономная система объединяет сети, где маршрутизация осуществляется под общим административным руководством одной организации, а домен имен - единый для компьютеров (возможно, принадлежащих разным сетям), в которых назначение уникальных символьных имен происходит под таким же руководством. Естественно, область действия автономной системы и домена имен могут в частном случае совпадать, если одна организация выполняет обе указанные функции.

Маршрутизаторы, применяемые для формирования сетей и подсетей внутри автономной системы, называются внутренними шлюзами (interior gateway), а те, с помощью которых автономные системы подключаются к магистрали сети, - внешними шлюзами (exterior gateway). Магистраль сети также является автономной системой. Все автономные системы имеют уникальный 16-разрядный номер, который присваивается централизованно соответствующим административным органом Internet.

Используемые внутри автономных систем протоколы маршрутизации называются протоколами внутренних шлюзов (Interior Gateway Protocol, IGP), а протоколы обмена маршрутной информацией между внешними шлюзами и шлюзами магистральной сети - протоколами внешних шлюзов (Exterior Gateway Protocol, EGP). Внутри магистральной сети также может функционировать любой собственный внутренний протокол IGP.

Разделение всей сети Internet на автономные системы необходимо для многоуровневой модульной организации, без чего невозможно значительно расширить любую крупную систему. Изменение протоколов маршрутизации внутри какой-либо автономной системы не должно повлиять на работу остальных автономных систем. Кроме того, деление Internet на автономные системы способствует агрегированию информации на магистральных и внешних шлюзах. Внутренние шлюзы могут использовать для внутренней маршрутизации достаточно подробные графы взаимных связей, чтобы выбрать наиболее рациональный маршрут. Однако если информация такой степени детализации будет храниться во всех маршрутизаторах сети, то топологические базы данных настолько разрастутся, что потребуется память гигантских размеров, а время принятия решений о маршрутизации станет неприемлемо большим.

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

Техника бесклассовой маршрутизации CIDR может значительно сократить объемы маршрутной информации, передаваемой между автономными системами. Так, если все сети внутри некоторой автономной системы начинаются с общего префикса, скажем 194.27.0.0/16, то внешний шлюз автономной системы должен делать объявления только об этом адресе, не сообщая отдельно о существовании внутри данной автономной системы, например сети 194.27.32.0/19 или 194.27.40.0/21, так как эти адреса агрегируются в адресе 194.27.0.0/16.

Приведенная на Рисунке 1 структура Internet с единственной магистралью была таковой достаточно долго, поэтому специально для нее был разработан протокол обмена маршрутной информацией между AS, названный EGP. Однако по мере развития сетей провайдеров услуг структура Internet стала гораздо более сложной, с произвольным характером связей между автономными системами. Поэтому протокол EGP уступил место протоколу BGP, который позволяет распознать наличие петель между автономными системами и исключить их из межсистемных маршрутов. Протоколы EGP и BGP используются провайдерами услуг Internet только на внешних шлюзах автономных систем. На маршрутизаторах корпоративных сетей работают внутренние протоколы маршрутизации, такие, как RIP и OSPF.

RIP и OSPF

Протокол RIP (Routing Information Protocol) - внутренний протокол маршрутизации дистанционно-векторного типа. Это один из наиболее ранних протоколов обмена маршрутной информацией, до сих пор чрезвычайно распространенный ввиду простоты реализации. Кроме варианта RIP для сетей TCP/IP версия RIP имеется и для сетей IPX/SPX компании Novell. Протокол RIP для IP представлен двумя версиями: первой и второй. RIP v.1 не поддерживает маски, т. е. он распространяет между маршрутизаторами только информацию о номерах сетей и расстояниях до них, а информацию о масках этих сетей не рассылает, считая, что все адреса принадлежат к стандартным классам A, B или С. Протокол RIP v.2 передает информацию о масках сетей, поэтому он в большей степени соответствует требованиям сегодняшнего дня.

Протокол OSPF (Open Shortest Path First, открытый протокол «первоочередного выбора кратчайшего пути») принят в 1991 г. Будучи реализацией алгоритма состояния каналов, он разрабатывался в расчете на применение в крупных гетерогенных сетях. Вычислительная сложность протокола OSPF быстро растет с увеличением размерности сети, т. е. увеличением количества сетей, маршрутизаторов и связей между ними. Для решения этой проблемы в протоколе OSPF вводится понятие «область» сети (area) (не следует путать с автономной системой Internet). Маршрутизаторы, принадлежащие некоторой области, строят граф связей только для нее, что сокращает размерность сети. Между областями информация о связях не передается, а пограничные маршрутизаторы обмениваются определенной информацией об адресах сетей, находящихся в каждой из областей, и о расстоянии от пограничного маршрутизатора до каждой сети. При передаче пакетов между областями выбирается один из пограничных маршрутизаторов области, а именно тот, у которого расстояние до нужной сети меньше. При передаче адресов в другую область маршрутизаторы OSPF агрегируют несколько адресов общим префиксом в один.

Маршрутизаторы OSPF могут принимать адресную информацию от других протоколов маршрутизации, например от протокола RIP, что полезно для работы в гетерогенных сетях. Такая адресная информация обрабатывается так же, как и внешняя информация между разными областями.

Наталья Олифер - обозреватель LAN. С ней можно связаться по адресу:







2024 © gtavrl.ru.