Опубликован: 28.09.2007 | Уровень: специалист | Доступ: платный
Лекция 8:

Маршрутные протоколы RIP, OSPF и BGP

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >

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

Протокол OSPF (Open Shortest Pass First, RFC-124548, RFC-15831584, 1793, 1850, 2154, 2328, 2370, 2676, 2740, 2844, 3101, 3623, -3630, -3883) является альтернативой RIP в качестве внутреннего протокола маршрутизации для больших сетей. OSPF представляет собой протокол состояния канала (в качестве метрики используется коэффициент качества обслуживания; протокол разработан в 1979 году, утвержден как стандарт в 1990). Обычно значения метрики присваиваются сегментам пути сетевым администратором на основании измерений, но это не исключает в перспективе автоматизацию определения их значений, тем более что администратор не может оперативно отслеживать изменение состояния каналов. Каждый маршрутизатор обладает полной информацией о состоянии всех интерфейсов всех маршрутизаторов (переключателей) автономной системы. Протокол OSPF реализован в демоне маршрутизации gated, который поддерживает также RIP и внешний протокол маршрутизации BGP.

Если субсеть содержит N маршрутизаторов, каждый из которых имеет M соседей, то требуемая емкость памяти будет пропорциональна N*M. Для больших субсетей это может оказаться проблемой, да и скорость расчетов при этом окажется невысока. Несмотря на это, в большинстве случаев протокол работает вполне удовлетворительно. Но при тысячах и тем более десятках тысяч узлов этими проблемами нельзя пренебречь. В таких случаях следует подумать о разбивке сети на зоны и построении иерархической схемы маршрутизации. Причем чем больше сеть, тем больше уровней иерархии следует предусмотреть. Протокол OSPF может использоваться в корпоративных сетях, где сетевые объекты разбросаны на большой площади. Например, OSPF был реализован в региональной сети Центробанка РФ Вологодской области.

Автономная система может быть поделена на несколько областей, куда могут входить как отдельные ЭВМ, так и целые сети. В этом случае внутренние маршрутизаторы области могут и не иметь информации о топологии остальной части AS. Сеть обычно имеет выделенный маршрутизатор, который является источником маршрутной информации для остальных маршрутизаторов AS. Каждый маршрутизатор самостоятельно решает задачу оптимизации маршрутов. Если к месту назначения ведут два или более эквивалентных маршрута, информационный поток будет поделен между ними поровну. Можно подумать, что совпадение метрик для каналов возможно лишь случайно. Так бы и было, если бы метрики вычислялись автоматически на основе измерения состояния каналов, но на практике это делает администратор сети. Переходные процессы в OSPF завершаются быстрее, чем в RIP. В процессе выбора оптимального маршрута анализируется ориентированный граф сети. Понятно, что для решения этой задачи нужно иметь всю необходимую информацию обо всех узлах и каналах данной области сети. Ниже описан алгоритм Дикстры по выбору оптимального пути. Целью алгоритма является преобразование многосвязного графа в дерево с оптимальной топологией. На иллюстративном рис. 8.12 приведена схема узлов (A-J) со значениями метрики для каждого из отрезков пути. Анализ графа начинается с узла A (Старт). Пути с наименьшим суммарным значением метрики считаются наилучшими. Именно они становятся выбранными в результате рассмотрения графа ("кратчайшие пути").

Иллюстрация работы алгоритма Дикстры

Рис. 8.12. Иллюстрация работы алгоритма Дикстры

Ниже дается формальное описание алгоритма. Сначала вводим некоторые определения.

Пусть D(v) равно сумме весов связей для данного пути.

Пусть C(i,j) равно весу связи между узлами с номерами i и j.

Далее следует последовательность шагов, реализующих алгоритм.

  1. Устанавливаем множество узлов N = {1}.
  2. Для каждого узла v не из множества N устанавливаем D(v)= c(1,v).
  3. Для каждого шага находим узел w не из множества N, для которого D(w) минимально, и добавляем узел w в множество N.
  4. Актуализируем D(v) для всех узлов не из множества N

    D(v)=min{D(v), D(v)+c(w,v)}.

  5. Повторяем шаги 2-4, пока все узлы не окажутся в множестве N.

Топология маршрутов для узла A приведена на нижней части рис. 8.12. В скобках записаны числа, характеризующие метрику отобранного маршрута согласно критерию пункта 3.

Таблица 8.1. Реализация алгоритма
Шаг Множество Метрика связи узла A с узлами
N B C D E F G H I J
0 {A} 3 - 9 - - - - - -
1 {A,B} (3) 4 9 7 - 10 - - -
2 {A,B,C} 3 (4) 6 6 10 10 8 - 14
3 {A,BC,D} 3 4 (6) 6 10 10 8 9 14
4 {A,B,C,D,E} 3 4 6 (6) 10 10 8 9 14
5 {A,B,C,D,E,H} 3 4 6 6 10 10 (8) 9 14
6 {A,B,C,D,E,H,I} 3 4 6 6 10 10 8 (9) 14
7 {A,B,C,D,E,H,I,F} 3 4 6 6 (10) 10 8 9 14
8 {A,B,C,D,E,H,I,F,G} 3 4 6 6 10 (10) 8 9 14
9 {A,B,C,D,E,H,I,F,G,J} 3 4 6 6 10 10 8 9 (14)

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

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

Определяющими являются три характеристики: задержка, пропускная способность и надежность. Для транспортных целей OSPF использует IP непосредственно, т.е. не привлекает протоколы UDP или TCP. OSPF имеет свой код (89) в протокольном поле IP-заголовка. Код TOS (Type Of Service) в IP-пакетах, содержащих OSPF-сообщения, равен нулю, значение TOS здесь задается в самих пакетах OSPF. Маршрутизация в этом протоколе определяется IP-адресом и типом сервиса. Так как протокол не требует инкапсуляции пакетов, сильно облегчается управление сетями с большим количеством бриджей и сложной топологией (исключается циркуляция пакетов, сокращается транзитный трафик). Автономная система может быть поделена на отдельные области, каждая из которых становится объектом маршрутизации, а внутренняя структура снаружи не видна (узлы на рис. 8.12 могут представлять собой как отдельные ЭВМ или маршрутизаторы, так и целые сети). Этот прием позволяет значительно сократить необходимый объем маршрутной базы данных. В OSPF используется термин опорной сети (backbone) для коммуникаций между выделенными областями. Протокол работает лишь в пределах автономной системы. В каждой выделенной области может работать свой протокол маршрутизации.

Пример выделения областей при OSPF маршрутизации в автономной системе (М – маршрутизаторы; C – сети)

Рис. 8.13. Пример выделения областей при OSPF маршрутизации в автономной системе (М – маршрутизаторы; C – сети)

На рис 8.13 (см. также рис 8.12) приведен пример выделения областей маршрутизации при OSPF-маршрутизации в пределах автономной системы. На рис 8.13 маршрутизаторы М4 и М2 выполняют функцию опорной сети для других областей. В выделенных областях может быть любое число маршрутизаторов. Утолщенными линиями выделены связи с другими автономными системами.

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

224.0.0.5 предназначен для обращения ко всем маршрутизаторам, поддерживающим этот протокол

224.0.0.6 служит для обращения к специально выделенному маршрутизатору

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

Если адрес пересылки равен 0.0.0.0, данные посылаются пограничному маршрутизатору автономной системы — источнику данного сообщения. Метка внешнего маршрута — 32-битовое число, присваиваемое каждому внешнему маршруту. Эта метка самим протоколом OSPF не используется и предназначена для информирования других автономных систем при работе внешних протоколов маршрутизации. Маршрутная таблица OSPF содержит в себе:

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

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

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Мария Архипова
Мария Архипова
виктор виноградов
виктор виноградов
Россия, Курская область
Евгений Миловзоров
Евгений Миловзоров
Россия, Пенза, ПГУ, 2004