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

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

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

Существует и прямо противоположный, многошаговый подход - маршрутизация от источника (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. С ней можно связаться по адресу:

Я много писал о протоколе TCP/IP. Все из этих протоколов являются маршрутизируемыми, но как все это понимать. Прочитайте эту статью и все будет немного понятней.

Маршрутизируемый против маршрутизирующего

Меня всегда очень сильно привлекали сетевые протоколы (networking protocol). Я не знаю, почему они всегда меня так очаровывали, но они очень сильно интересовали меня. Большое количество моего времени было потрачено на изучение и работу с протоколами, которые входят в состав протокола TCP/IP. Общим во всех этих протоколах является то, что все они являются маршрутизируемыми протоколами. В результате этого возникает вопрос, а что маршрутизирует их? В самом деле очень хороший вопрос, и об этом было написано немало книг.

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

Преимущества и недостатки

Мы уже знаем, что пакеты, которые формируются на наших компьютерах, являются частью маршрутных протоколов. В свою очередь, чтобы пакеты дошли до своих получателей, эти протоколы должны быть маршрутизированы. Как пакет придет к получателю? Это достаточно сложно, т.к. он маршрутизируется несколькими маршрутизаторами, а это в свою очередь в основном происходит благодаря IP адресу, который находится в IP заголовке. Благодаря такому упрощенному объяснению мы попробуем рассмотреть две категории маршрутизирующих протоколов.

Сами по себе маршрутизирующие протоколы разбиваются на две категории. Это Interior Gateway Protocols (внутренние протоколы шлюза IGP) и Exterior Gateway Protocols (внешние протоколы шлюза EGP). Как можно догадаться из названия, первая группа используется внутри, а вторая снаружи. Например, серия IGP маршрутизирующих протоколов используется во внутренних сетях (internal networks), а серия EGP марштизирующих протоколов используется в самом интернет. Что же это в действительности означает? Это означает, что когда вы выполняете начальную конфигурацию всеми вами любимого маршрутизатора Cisco router, то вы должны выбрать какой тип маршрутизирующего протокола вы будете устанавливать и настраивать.

Теперь пришло время привести список различных типов маршрутизирующих протоколов для каждой группы. Interior Gateway Protocols (внутренние протоколы шлюза) подразделяются на:

  • IGRP: Interior Gateway Routing Protocol (внутренний маршрутизирующий протокол шлюза)
  • EIGRP: Enhanced Interior Gateway Routing Protocol (улучшенный IGRP)
  • OSPF: Open Shortest Path First (сначала открывать самый короткий путь)
  • RIP: Routing Information Protocol (протокол для маршрутизирующей информации)
  • IS-IS: Intermediate System – Intermediate System

Внешние протоколы шлюза (Exterior Gateway Protocol) подразделяются:

  • EGP: Exterior Gateway Protocol (внешний протокол шлюза)
  • BGP: Border Gateway Protocol (пограничный протокол шлюза)

Внутренние протоколы шлюза

Из приведенных выше примеров протоколов IGP (Interior Gateway Protocols) мы можем заключить, что существует несколько из них. Все ли из них используются в современных внутренних сетях? Я предполагаю, что они должны бы использоваться, но наиболее часто на сегодняшний день встречаются OSPF и RIP. Помня это, давайте рассмотрим RIP. RIP называют динамическим маршрутизирующим протоколом (dynamic routing protocol). Это значит, что он автоматически определяет маршрутные таблицы на свое усмотрение. Другими словами системному администратору не нужно вручную вводить все возможные маршруты. А это достаточно большая работа!

Итак, RIP автоматически вычисляет маршруты, а также вторичные маршруты, которые будут использоваться в случае аварии на основных. Если вы думаете, что это похоже на балансирования нагрузки “load balancing”, то вы в принципе будете правы. Еще одна вещь, которую нужно знать и помнить о RIP, что это протокол удаленного вектора “distance vector”. Т.к. эта статья является лишь обзором протоколов, то я лишь скажу удаленный вектор (distance vector) включает в себя метод определения маршрутов. Чтобы получить более подробную информацию по этой очень важной теме, пожалуйста, нажмите здесь. Также о протоколе RIP необходимо помнить, что он использует порт 520 и протокол UDP в качестве транспортного протокола (transport protocol).

OSPF – это другой часто используемый протокол IGP. Основное различие между RIP и OSPF заключается в том, что OSPF – это протокол состояния канала (link state protocol). Это просто означает, что он использует другой способ для построения маршрутных таблиц (routing tables). Маршрутизаторы OSPF сообщают величины, которые содержат информацию о том, какой маршрутизатор OSPF будет использоваться для построения маршрутных таблиц. Это одновременно и просто и сложно Основные вещи, которые необходимо помнить про OSPF – это то, что он поддерживает многоканальную передачу (multicasting) и подсети (subnets). И наконец, OSPF использует IP, а не TCP или UDP.

Внешние протоколы шлюза

Итак, мы поверхностно обсудили два основных протокола IGP, а как насчет протоколов EGP(Exterior Gateway Protocols)? Действительно, давайте взглянем на них тоже. Прокол BGP или Border Gateway Protocol – это маршрутный протокол, который используется на сегодняшний день маршрутизаторами, формирующими интернет. Под этим я понимаю маршрутизаторы, которые, например, используются вашим ISP. Также как и протокол RIP, BGP использует протокол или алгоритм удаленного вектора (distance vector). Один примечательный факт, касающийся BGP, заключается в том, что он использует TCP в качестве транспортного протокола и общается по порту 179. Другими словами, маршрутные таблицы передаются по протоколу TCP и по порту 179. Мы немного поговорили о BGP, а что можно сказать о EGP? В действительности о нем можно сказать немного, т.к. реально он нигде не используется. Он был заменен BGP.

Резюме

Итак, как вы могли увидеть, я не шутил, когда сказал, что лишь приведу обзор маршрутных протоколов. Только по одному протоколу BGP было написано несколько толстых книг. Поэтом было бы невозможно рассказать обо всех этих протоколах подробно в одной статье. Целью этой статьи было показать разнообразие маршрутных протоколов и различие между ними и маршрутизируемыми протоколами. Что вы должны сделать, чтобы больше узнать об этих маршрутных протоколах? Я всегда очень много надежд возлагал на практику. По моему мнению, это лишь единственный способ для закрепления полученных знаний.

С этой точки зрения, если у вас есть финансовые возможности, попытайтесь использовать несколько сетевых устройств Cisco. Они не очень дорого стоят, и вполне окупятся для вас полученными знаниями о трафике, который они маршрутизируют. После покупки нескольких сетевых устройств я бы посоветовал воспользоваться вам программой под названием Nemesis, которая позволит вам выделить RIP, OSPF и IGMP среди других. Способность выделения пакетов некоторых маршрутных протоколов позволит вам также увидеть, как они реагируют на определенные ситуации. Работа с пакетами позволяет гораздо лучше разобраться с протоколом. Благодаря этому вы сможете больше узнать о самом протоколе и о принципах его работы. И последнее, как было упомянуто выше, работа с сетевыми устройствами является ключевой, т.к. настройка протокола должна быть произведена с помощью этого аппаратного обеспечения. Но если вы ограничены бюджетом, то вы можете купить один из симуляторов, которых сейчас полно на рынке.

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

Иcточник: netdocs.ru

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

Протоколы маршрутизации (например, 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 получать информацию о маршрутизации от соседних операторов на основе контрактов или других нетехнических критериев. Алгоритмы, используемые для политики маршрутизации, опираются на алгоритмы длины вектора, но информация о метрике и пути базируется на списке операторов магистрали.

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

Для того чтобы автоматически построить требуемые таблицы, маршрутизаторы меняются друг с другом определенной информацией с помощью специально предназначенных служебных протоколов, они и имеют название «протоколы маршрутизации». К ним относятся протоколы NLSP, RIP, OSPF, которые нужно отличать от сетевых, например, таких, как IP.

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

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

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

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

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

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

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

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

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

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

В протоколах типа «вектор-расстояние» каждый маршрутизатор рассылает список адресов доступных ему сетей («векторов»), с каждым из которых связано параметр «расстояния» (например, количество маршрутизаторов до этой сети, значение, основанное на производительности канала и т.п.). Основным представителем протоколов данной группы является протокол 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.