К внутренним протоколам маршрутизации относятся. Маршрут по умолчанию

25.04.2019 Программы и сервисы

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

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

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

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

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

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

Крупные объединенные компьютерные сети состоят из множества физических сетей, которые связываются между собой с помощью маршрутизаторов. Автономной системой AS (Autonomous Systems) называют группу сетей и маршрутизаторов R, объединенных общей политикой маршрутизации.

Рисунок 4.8

Если AS может передавать транзитный трафик других сетей, она называется транзитной.

Для определения маршрута внутри AS применяют внутренние протоколы маршрутизации IGP (Interior GatewayProtocols). Наиболее распространенными протоколами внутренней маршрутизации являются протоколы RIP (Routing Information Protocol), OSPF (Open Shortest Path First), IGRP (Interior Gateway Routing Protocol), разработанный компанией CISCO, как альтернативный RIP, а затем и его улучшенный вариант EIGRP (Enhanced Interior Gateway Routing Protocol).

Автономные системы объединяются между собой при помощи внешних или пограничных (Border) маршрутизаторов, используя протоколы внешней маршрутизации BGP (Border Gateway Protocol). Два соседних маршрутизатора, которые обмениваются информацией внутри AS, называются внутренним и внешним, если они обмениваются информацией, принадлежащей разным системам (рис. 4.8). Связь между разными автономными системами осуществляется с помощью высокоскоростной магистральной или опорной сети (Backbone).

В соответствии с терминологией международного института стандартов ISO используется понятие конечных ES и промежуточных систем IS. Промежуточная система IS (Intermedia Systems) – передающий узел между 2 подсетями. Устройство сети, которые не обладают способностью пересылать пакеты, называется оконечным. В это же время сетевое устройство, обладающее такой возможностью – промежуточной системой IS. Промежуточные системы, которые могут сообщаться внутри домена маршрутизации (эквивалент AS), называются внутридоменные AS и системы, которые общаются с другими доменами, называются междоменными.

Процесс взаимодействия и уровни взаимодействий в соответствии с OSI показан на рис. 4.9.

Рисунок 4.9

Протокол внутренней маршрутизации RIP (Routing Information Protocol) предназначался для небольших сетей. Для нахождения оптимального пути используется алгоритм вектора расстояния DVA (Distance Vector Algorithm) – алгоритм Беллмана-Форда. Маршрут в данном алгоритме характеризуется вектором расстояния до пункта назначения (пункт назначения – направление вектора, метрика – модуль вектора). Маршрутизаторы, которые используют протокол RIP в режиме широковещания, передают список сетей, с которыми они могут связаться, и метрику, содержащую информацию о том, за сколько пересылок, шагов (hops) каждая из этих сетей может быть достигнута.

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

Таблица маршрутизации содержит по одной записи на каждый маршрут.

Такая запись имеет следующие поля: поле IP адреса пункта назначения, IP-адрес ближайшего (соседнего) маршрутизатора, метрику маршрута – до 15 шагов, таймеры (счетчики времени). Каждый маршрутизатор передает такую широковещательную информацию каждые 30 сек, генерируя достаточно большой трафик. RIP работает на сетевом уровне стека TCP/IP, используя протокол UDP (порт 520).

Каждый маршрут содержит счетчики тайм-аута и «сборщики» маршрутов. Счетчик тайм-аута сбрасывается в нуль при коррекции или инициализации маршрута. Если к моменту последней коррекции прошло 3 мин, маршрут закрывается, однако запись о нем в таблице сохраняется до наступления времени «сборка маршрута».

Формат сообщения протокола RIP имеет вид (рис. 4.10). Поле «Команда» определяет вид сообщения:

Код 1 – запрос на получение информации, код 2 – отклик, содержащий информацию о расстояниях из маршрутной таблицы отправителя, код 3 - включение режима трассировки, код 4 – выключение режима трассировки. Поле «Версия» для протокола RIP-1 равно 1. Номер протоколов, которые используются в соответствующей сети (для Интернет поле имеет значение, равное 2). Поле стоимость – число шагов. В одном сообщении может иметься информация до 25 маршрутов.

Рисунок 4.10

1. Таймер обновления – 70 сек (посылается всем соседям);

2. Таймер устаревшего маршрута – 90 сек;

3. Таймер удаления маршрута - 240 сек.

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

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

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

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

1. Расстояние – число в диапазоне от 1 до 255.

2. Задержка. Измеряется кратно 10 мс. Для сетей E задается показателем 100.

3. Полоса от 1200 бит/с до 10 Гбит/с.

4. Надежность. Оптимальное значение составляет 255.

5. Загруженность канала в долях числа 255.

Для регулирования производительности применяются следующие таймеры:

1. Таймер обновления (по умолчанию 90с) – задает период передачи сообщения.

2. Таймер устаревшего маршрута. Столько времени ожидает маршрутизатор обновления, прежде чем объявить маршрут устаревшим (задается три периода обновления).

3. Таймер блокировки (по умолчанию 10 с).



4. Таймер удаления маршрута (семь периодов обновления).

Протокол предусматривает три типа маршрутов:

системные – ведущие в сети в рамках AS,

внешние – маршруты в сети вне AS.

Внешние, связанные с наличием граничного пути

Структура таблицы маршрутизации имеет вид, показанный на рис. 4.11

Рисунок 4.11

Первое поле в заголовке таблицы маршрутизации – номер версии,

затем следует поле операционного кода (OP Code). Это поле обозначает вид пакета. Код, равный 1, определяет пакет корректировки, код 2 – пакет запроса. Пакеты запроса использует маршрутизатор для получения информации о маршрутных таблицах других маршрутизаторов. Эти пакеты состоят только из заголовка, операционного кода и номера AS. Пакеты корректировки содержат заголовок, за которым следует записи данных маршрутных таблиц. Этот пакет не должен превышать 1500 байт. Далее следует поле редактирование, которое содержит последовательный номер, указывающий, когда маршрутная таблица изменялась. Далее следует номер автономной системы AS. Следующие поля определяют номер внешних сетей, главных сетей и подсетей. Последнее поле в заголовке – поле контрольной суммы. Сообщения о корректировке содержит семь полей данных для каждой записи данных маршрутной таблицы. Первое поле – 3 байта адреса IP, следующее – задержка, выраженная в десятках микросекунд, далее – поле ширины полосы в единицах 1 Кбит/с, затем идет поле размера блока данных MTU, поле надежности в процентах. Следующим является поле – загрузка, указывающее в процентах занятость канала. Последнее поле – число пересылок (счетчик шагов).

Протокол внешнего шлюза EGP (Exterion Gateway Protocol) – используется алгоритм вектора расстояния DVA для соединения AS через центральную сеть (ядро). Маршрутизатор выполняет следующие функции: выделяет соседей, с которыми обменивается информацией о достижении тех или иных сетей, посылает сообщения о их работоспособности, передает сообщения об обновлении, указывает информацию о доступности сетей для данной AS.

Типы сообщений:

1. Проверочные, если нужно установить работают ли соседние маршрутизаторы.

2. Сообщения о достижимости соседа (не выключен ли соседний маршрутизатор).

3. Сообщения о неисправности.

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

Открытый протокол с алгоритмом поиска кратчайшего пути OSPF {Open Shortest Path First) – это протокол внутренних маршрутизаторов. Он гораздо сложнее RIP-протокола, однако OSPF может функционировать в сетях любой сложности и не имеет ограничений, характерных для RIP. Время, используемое на по­строение таблиц маршрутизации и загрузки сети служебной информацией, в среднем меньше по сравнению с тем, что потребовал бы протокол RIP для такой же системы. Кроме этого, переходные процессы в OSPF завершаются быстрее, чем в RIP. OSPF представляет собой протокол учета состояния канала LSA (Link State Algorithm), в котором маршрутизация выполняется по алгоритму Дийкстры. В качестве метрики используется коэффициент качества обслуживания QoS (Quality of Service). Каждый маршрутизатор обладает полной информацией о состоянии всех ин­терфейсов всех маршрутизаторов (узлов коммутации) автономной системы. Протокол OSPF реализован программным модулем - демоном маршрути­зации gated, который поддерживает также RIP и внешний протокол маршрутизации BGP. Качество обслуживания (QoS) характеризуется следующими параметрами: пропускной способностью канала, задержкой (временем распространения пакета), загрузкой канала, требованиями безопасности, типом трафика, числом шагов до места назначения, надежностью передачи пакетов.

Доминирующими являются три характеристики: задержка, пропуск­ная способность и надежность. На практике чаще всего метрика связи в OSPF определяется как количество секунд, требуемых для передачи 100 Мбит по каналу, через который проложен маршрут. Например, метрика сети на основе 10BASE-T Ethernet равна 10, метрика канала модемной связи со скоростью 56 кбит/с составляет 1785, а канала со скоростью 100 Мбит и вы­ше равна 1.

Для транспортных целей OSPF применяет протокол IP непосредст­венно, т.е. не привлекая протоколы UDP или TCP. OSPF имеет свой код в протокольном поле IP-заголовка. Код типа обслуживания ToS {type of service) в IP-пакетах, содержащих OSPF-сообщения, равен нулю, значение типа обслуживания ToS здесь задается в самих пакетах OSPF.

Маршрутизация в протоколе OSPF определяется IP-адресом и типом сервиса. В связи с тем, что протокол не требует инкапсуляции пакетов, су­щественно облегчается управление сетями с большим количеством мостов и сложной топологией (исключается циркуляция пакетов, сокращается тран­зитный трафик). Автономная система может быть разделена на отдельные области, каждая из которых становится объектом маршрутизации, а внут­ренняя структура снаружи не видна. Этот прием позволяет значительно со­кратить необходимый объем маршрутной базы данных. В OSPF использует­ся термин магистральная сеть {backbone), обозначающий среду для коммуникаций между выделенными областями. Протокол OSPF работает лишь в пределах автономной системы.

В стеке протоколов TCP/IP протокол OSPF находится непосредственно над протоколом IP, его код равен 89. Поэтому если значение поля "Прото­кол" IP-дейтаграммы равно 89, то данные дейтаграммы являются сообщени­ем OSPF и передаются OSPF-модулю для обработки. Соответственно размер OSPF сообщения ограничен максимальным размером дейтаграммы.

При передаче OSPF-пакетов фрагментация не желательна, но не за­прещается. Для передачи статусной информации OSPF использует широко­вещательные сообщения Hello. Повышение безопасности обеспечивается ав­торизацией процедур. Протокол OSPF требует резервирования двух группо­вых адресов: адрес 224.0.0.5 - предназначен для обращения ко всем маршрутиза­торам, поддерживающим этот протокол; адрес 224.0.0.6 - служит для обращения к специально выделенному маршрутизатору. Любое сообщение OSPF начина­ется с 24-октетного заголовка (рисунок 4.12).

Рисунок 4.12

Поле "Версия" определяет версию протокола. Поле "Тип" иден­тифицирует функцию сообщения, в частности: код 1- Hello (используется для проверки доступности маршрутизатора); код 2 - Описание базы данных (тополо­гия); код 3 - Запрос состояния канала; код 4 - Изменение состояния канала; код 5- Под­тверждение получения сообщения о статусе канала.

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

Поле "Контрольная сумма" содержит проверочную сумму IP-пакета, включая поле типа идентификации. Поле "Тип идентификации" может принимать значения 0 при отсутствии контроля доступа, и 1 при его нали­чии. В дальнейшем функции поля предполагается расширить.

Для взаимообмена данными между соседними маршрутизаторами протокол OSPF использует сообщения типа Hello. Важную функцию в этих сообщениях выполняет однобайтное поле "Опции", служащее для объявле­ния состояния канала и описания базы данных.

Структура пакетов этого типа показана на рисунке 4.13.

Рисунок 4.13

Особую роль в поле "Опции" играют младшие биты Е и Т: Бит Е ха­рактеризует возможность внешней маршрутизации и имеет значение только в сообщениях типа Hello, в остальных сообщениях этот бит должен быть об­нулен. Если Е=0, то данный маршрутизатор не будет посылать или прини­мать маршрутную информацию от внешних автономных систем. Бит Т оп­ределяет сервисные возможности маршрутизатора. Если Т=0, это означает, что маршрутизатор поддерживает только один вид услуг (тип сервиса ToS=0) и он не пригоден для маршрутизации с учетом вида услуг. Такие маршрутизаторы, как правило, не используются для транзитного трафика.

Поле "Сетевая маска" сообщения Hello соответствует маске подсети данного интерфейса. Поле "Время между Hello" содержит значение времени в секундах, между сообщениями Hello. Поле "Опции" характеризует возможности, ко­торые предоставляет данный маршрутизатор. Поле "Приоритет" задает уро­вень приоритета маршрутизатора, используемый при выборе резервного {backup) маршрутизатора. Если приоритет равен нулю, данный маршрутиза­тор никогда не будет реализован в качестве резервного. Поле "Время от­ключения маршрутизатора" определяет временной интервал в секундах, по истечении которого "молчащий" маршрутизатор считается вышедшим из строя. IP-адреса маршрутизаторов, записанные в последующих полях, ука­зывают место, куда следует послать данное сообщение, Поля "IP-адрес со­седа к" образуют список адресов соседних маршрутизаторов, откуда за по­следнее время были получены сообщения Hello.

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

Рисунок 4.14

Если размер базы данных велик, ее содержимое может пересылаться по частям. Для реализации этого используются биты I и М. Бит I устанавлива­ется в 1 в стартовом сообщении, а бит М принимает единичное состояние для сообщений, которые являются продолжением. Бит S определяет, кем по­слано сообщение (S=l для сервера, S=0 для клиента, этот бит иногда имеет имя MS).

Поле "Порядковый номер сообщения" служит для контроля пропу­щенных в процессе обмена информацией блоков. Первое сообщение содер­жит в этом поле случайное целое число М, последующие: М+1, M+2,...M+L. Поле "Тип канала" содержит коды, определяющие состояние каналов, а именно, его интерфейсов, описание внешних связей автономных систем.

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

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

Маршрутизатор, получивший OSPF-пакет, посылает подтверждение его приема. Возможно подтверждение одним пакетом получения нескольких объявлений о состоянии линий. Адресом места назначения этого пакета мо­жет быть индивидуальный маршрутизатор, их группа или все маршрутиза­торы автономной системы.

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

Маршрутная таблица OSPF включает следующие поля:

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

К преимуществам протокола маршрутизации OSPF следует отнести:

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

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

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

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

Эти протоколы делятся на следующие группы:

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

2. С маршрутизацией от источника (Sonra Routing). Это многошаговый подход. Узел-источник задает в отправляемом пакете полный маршрут, через все промежуточные узлы. При таком подходе не нужны таблицы маршрутизации для промежуточных узлов, их работа ускоряется, но возрастает нагрузка на конечные узлы. Этот способ трудно применять в больших сетях.

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

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

2. Алгоритмы простой маршрутизации.

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

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

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

1. Случайная маршрутизация , когда прибывший пакет посылается в первом попавшемся случайном направлении, кроме исходного направления (аналогично обработке кадров с неизвестным адресом);

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

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

Все описанные алгоритмы не подходят для больших сетей.

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


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

Адаптивные протоколы в свою очередь делятся на:

1. Дистанционно-векторные алгоритмы (Distance Vector Algorithms – DVA)

2. Алгоритмы состояния связей (Link State Algorithms – LSA)

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

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

Наиболее распространенный протокол описанного типа – RIP, существующий в версиях для протоколов IP и IPX.

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

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

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

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

Виды маршрутизации. Группы протоколов.

Реализуется на сетевом уровне сети. За нее отвечает протокол маршрутизации. При выборе стратегии маршрутизации могут быть поставлены разные цели, например:

Минимизация времени доставки пакетов;

Минимизации стоимости доставки пакетов;

Обеспечение максимальной пропускной способности сети и т.д.

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

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

Статическими или динамическими;

Одномаршрутными или многомаршрутными;

Одноуровневыми или иерархическими;

Внутридоменными или междоменными;

Одноадресными или групповыми.

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

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

Одномаршрутные протоколы предлагают только один маршрут для передачи пакета (который не всегда является оптимальным).

Многомаршрутные алгоритмы предлагают несколько маршрутов. Это позволяет передавать информацию получателю по нескольким маршрутам одновременно.

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

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

Одноадресные протоколы предназначены для передачи информации (по одному или нескольким маршрутам) только одному получателю. Многоадресные способны передавать данные сразу многим абонентам.

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

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

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

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

Протоколывектора расстояния – самые простые и распространенные. Это, например, RIP, RTMP, IGRP.

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

Протоколысостояния канала были впервые предложены в 1970 году Эдсгером Дейкстрой. Здесь вместо рассылки содержимого таблиц маршрутизации, каждый маршрутизатор производит широковещательную рассылку списка маршрутизаторов, с которыми он имеет непосредственную связь, и списка напрямую подключенных к нему локальных сетей. Такая рассылка может производиться либо при изменении состояния каналов, либо периодически. Примеры протоколов: OSPF, IS-IS, Novell NLSP.

Протоколыполитики (правил)маршрутизации наиболее часто используются в сети Интернет. Они опираются на алгоритмы вектора расстояния. Информация о маршрутизации получается от соседних операторов на основании специальных критериев. На основе такого обмена вырабатывается список разрешенных маршрутов. Примеры: протоколы BGP и EGP.