Сетевые информационные технологии
29ec6025

OSPF


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

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

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

Качество сервиса (QoS) может характеризоваться следующими параметрами:

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



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

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

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



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

    Поле версия определяет версию протокола. Поле тип

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


    Все ospf-пакеты ассоциируются с той или иной областью. Большинство из них не преодолевает более одного шага. Пакеты, путешествующие по виртуальным каналам, помечаются идентификатором опорной области (backbone) 0.0.0.0. Поле контрольная сумма содержит контрольную сумму IP-пакета, включая поле типа идентификации. Контрольное суммирование производится по модулю 1. Поле тип идентификации может принимать значения 0 при отсутствии контроля доступа, и 1 при наличии контроля. Важную функцию в OSPF-сообщениях выполняет одно-октетное поле опции, оно присутствует в сообщениях типа Hello, объявление состояния канала и описание базы данных.

    Любое сообщение ospf начинается с 24-октетного заголовка:



    Рис. 64 Формат заголовка сообщений для протокола маршрутизации ospf

    Протокол ospf использует сообщение типа Hello для взаимообмена данными между соседними маршрутизаторами.

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

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

    1. Возраст маршрута достиг предельного значения (lsrefreshtime).

    2. Изменилось состояние интерфейса.

    3. Произошли изменения в маршрутизаторе сети.

    4. Произошло изменение состояния одного из соседних маршрутизаторов.

    5. Изменилось состояние одного из внутренних маршрутов (появление нового, исчезновение старого и т.д.)

    6. Изменение состояния межзонного маршрута.

    7. Появление нового маршрутизатора, подключенного к сети.

    8. Вариация виртуального маршрута одним из маршрутизаторов.

    9. Возникли изменения одного из внешних маршрутов.

    10. Маршрутизатор перестал быть пограничным для данной as (например, перезагрузился).

    Маршрутная таблица OSPF содержит в себе:

    • IP-адрес места назначения и маску;


    • тип места назначения (сеть, граничный маршрутизатор и т.д.);


    • тип функции (возможен набор маршрутизаторов для каждой из функций TOS (Type of service ));




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


    • тип пути (характеризует путь как внутренний, межобластной или внешний, ведущий к AS);


    • цена маршрута до цели;


    • очередной маршрутизатор, куда следует послать дейтограмму;


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


    • Последовательность описания метрик задается величиной кода TOS. Таблица кодов TOS, принятых в OSPF протоколе приведена ниже.

      OSPF-код

      TOS-коды

      TOS(RFC-1349)

      0

      0000

      Обычный сервис

      2

      0001

      Минимизация денежной стоимости

      4

      0010

      Максимальная надежность

      8

      0100

      Максимальная пропускная способность

      16

      1000

      Минимальная задержка

      Рис. 65 Коды типа сервиса (TOS)

       

      Преимущества OSPF:

      1.                Для каждого адреса может быть несколько маршрутных таблиц, по одной на каждый вид IP-операции (TOS).

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

      3.                При существовании эквивалентных маршрутов OSFP распределяет поток равномерно по этим маршрутам.

      4.                Поддерживается адресация субсетей (разные маски для разных маршрутов).

      5.                При связи точка-точка не требуется IP-адрес для каждого из концов. (Экономия адресов!)

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

      Недостатки:

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

      2.                OSPF является лишь внутренним протоколом.


      Содержание раздела