Протокол ospf. Общее описание маршрутизаторов OSPF

OSPF (англ. Open Shortest Path First) — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути Алгоритм Дейкстры (Dijkstra’s algorithm).

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

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

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

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

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

Например, есть следующая структура:

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

В качестве промежуточных узлов используется 2 маршрутизатора, расположенных в разных локациях: высокопроизводительный и более дорогой Router5, c широким каналом интернет и более дешевый Router 6 использующий дешевый канал интернет. Соответственно по умолчанию связь между всеми тремя филиалами должна происходить через Router5, если этот роутер выходит из строя - весь трафик в кратчайшее время переключается на Router 6, в случаи если оба промежуточных роутера вышли из строя – связь между филиалами осуществляется на прямую, поскольку простой в работе для данной компании важнее безопасности. В качестве роутеров используются CISCO 881 k9.

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


Рисунок 1 - Схема работы с зашифрованной базой данных


Техническая реализация OSPF на CISCO Router выглядит следующим образом (предполагается что туннели уже построены):

Активация и настройка протокола выполняется в режиме глобального конфигурирования:

router ospf 1 (активация протокола и присвоение идентификатора)

router-id 192.168.1.254 (задание ID роутера, используется адрес его интерфейса)

area 1 authentication message-digest (настройка аутентификации type 2 для зоны 1, пароль задается на интерфейсах)

network 192.168.1.0 0.0.0.255 area 1 (задание сетей для анонсирования)

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

interface Tunnel0 (заходим на интерфейс)

ip ospf authentication message-digest (задаем аутентификацию)

ip ospf message-digest-key 1 md5 Fkjf8i39fdks84l9 (вводим ключ аутентификации для нашей зоны)

ip ospf cost 5 (указываем стоимость прохождения трафика через указанный интерфейс)

ip ospf hello-interval 1 (указываем минимальный интервал обмена Hello пакетами, это позволяет минимизировать время обнаружения роутера)

ip ospf dead-interval 5 (указываем время в течении которого маршрут будет считаться мертвый, если от него не получено ответа)

ip ospf mtu-ignore (отключаем проверку MTU)

Аналогичные действия выполним на других интерфейсах с указанием соответствующей стоимости (значение cost, как указано на схеме).

В результате получим систему, которая обменивается трафиком согласно условия задачи:

  • По умолчанию трафик между офисами пойдет по кратчайшему пути через Router5, стоимость маршрута будет 5+5=10
  • Если Router5 не доступен, трафик пойдет через Router6, цена маршрута будет 10+10=20
  • Если оба промежуточных узла выйдут из строя трафик пойдет прямо по туннелям между узлами, стоимость маршрута составит 25

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

OSPF (Open Shortest Path First) – протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути алгоритм Дейкстры.

Последняя версия протокола представлена в RFC 2328. OSPF представляет собой протокол внутреннего шлюза (Interior Gateway Protocol – IGP), распространяет информацию о доступных маршрутах между маршрутизирующими устройствами (маршрутизаторами) одной автономной системы.

OSPF предлагает решение следующих задач:

    увеличение скорости сходимости сети (т.е. одинаковое понимание текущей сетевой топологии всеми маршрутизаторами) по сравнению с протоколом RIP;

    поддержка сетевых масок переменной длины (VLSM, применяются в бессклассовой IP-адресации);

    достижимость сети;

    оптимальное использование пропускной способности сети;

    определение кратчайшего маршрута.

Терминология протокола OSPF

Объявление о состоянии канала (Link-State Advertisement, LSA) – объявление описывает все каналы маршрутизатора, все интерфейсы и состояние каналов.

Состояние канала (Link state) – состояние канала между двумя маршрутизаторами; обновления происходят при помощи пакетов LSA.

Метрика (metric) – условный показатель "стоимости" пересылки данных по каналу;

Автономная система (Autonomous System, AS) – группа устройств, обменивающаяся маршрутизирующей информацией в соответствии с единой политикой и протоколом маршрутизации.

Зона (area) – совокупность сетей и маршрутизаторов, имеющих один и тот же идентификатор зоны.

Соседи (neighbours) – два маршрутизатора, имеющие интерфейсы в общей сети.

Состояние соседства (adjacency) – взаимосвязь между определенными соседними маршрутизаторами, установленная с целью обмена информацией маршрутизации.

Hello-пакеты (Hello packets) – используются для обмена информации и поддержания соседских отношений.

База данных соседей (Neighbours database) – список всех соседей.

База данных состояния каналов (Link State Database, LSDB) – список всех записей о состоянии каналов. Встречается также термин топологическая база данных (topological database), употребляется как синоним базы данных состояния каналов.

Идентификатор маршрутизатора (Router ID, RID) – уникальное 32-битовое число, которое уникально идентифицирует маршрутизатор в пределах одной автономной системы.

Выделенный маршрутизатор (Designated Router, DR) – управляет процессом рассылки LSA в сети. Каждый маршрутизатор сети устанавливает отношения соседства с DR и отправляет ему информацию об изменениях в сети, а DR отвечает за то, чтобы данная информация была отправлена остальным маршрутизаторам сети. Недостатком в схеме работы с DR маршрутизатором является то, что при выходе его из строя должен быть выбран новый DR. Новые отношения соседства должны быть сформированы и, пока базы данных маршрутизаторов не синхронизируются с базой данных нового DR, сеть будет недоступна для пересылки пакетов. Для устранения этого недостатка выбирается BDR.

Резервный выделенный маршрутизатор (Backup Designated Router, BDR). Каждый маршрутизатор сети устанавливает отношения соседства не только с DR, но и BDR. DR и BDR также устанавливают отношения соседства между собой. При выходе из строя DR, BDR становится выделенным маршрутизатором и выполняет все его функции. Так как маршрутизаторы сети устанавливают отношения соседства с BDR, то время недоступности сети минимизируется.

Краткое описание работы протокола OSPF

Маршрутизаторы обмениваются hello-пакетами через все интерфейсы, на которых активирован OSPF. Устройства, разделяющие общий канал передачи данных, становятся соседями после согласования определенных параметров, указанных в hello-пакетах.

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

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

Рассылая объявления через зону, все маршрутизаторы строят идентичную базу данных состояния каналов маршрутизатора.

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

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

Учитывая, что в сетях с множественным доступом отношения соседства должны быть установлены между всеми маршрутизаторами, существует проблема рассылки огромного количества копий LSA. Для предотвращения этой проблемы в сетях выбираются выделенный (DR) и резервный выделенный (BDR) маршрутизаторы.

Типы зон

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

Разделение на зоны позволяет:

    снизить нагрузку на ЦПУ маршрутизаторов за счет уменьшения количества перерасчетов по алгоритму SPF;

    уменьшить размер таблиц маршрутизации;

    уменьшить количество пакетов обновлений состояния канала.

Каждой зоне присваивается идентификатор зоны (Area ID) и может быть указан в десятичном формате или в формате записи IP-адреса. Однако идентификаторы зон не являются IP-адресами и могут совпадать с любым назначенным IP-адресом.

В любых OSPF-сетях обязательно должна быть определена магистральная зона (Backbone area), известная также как нулевая зона (Area 0) или зона 0.0.0.0, которая формирует ядро сети OSPF. Все остальные зоны должны быть соединены с ней при помощи маршрутизатора, через который обеспечивается межзональная маршрутизация. Если область не связана физически с магистралью, то необходимо добавить виртуальное соединение.

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

Транзитная зона (Transit area) передает информацию из зон, не связанных непосредственно с магистральной зоной.

Типы маршрутизаторов

Все интерфейсы внутреннего маршрутизатора (Internal Router, IR) принадлежат одной зоне. У таких маршрутизаторов только одна база данных состояния каналов.

Граничный маршрутизатор (Area Border Router, ABR) соединяет одну или больше зон с магистральной зоной и выполняет функции шлюза для межзонального трафика. У граничного маршрутизатора всегда хотя бы один интерфейс принадлежит магистральной зоне. Для каждой присоединенной зоны маршрутизатор поддерживает отдельную базу данных состояния каналов.

Граничный маршрутизатор автономной системы (AS Boundary Router, ASBR) обменивается информацией с маршрутизаторами других автономных систем. ASBR может находиться в любом месте автономной системы и быть внутренним, граничным или магистральным маршрутизатором.

Магистральный маршрутизатор (Backbone Router, BR) используется в магистральной зоне.

Рис. 4.1. Сеть OSPF

OSPF поддерживает следующие методы аутентификации:

    0 (в межсетевых экранах NetDefend: No Authentification) – для обмена информацией не требуется аутентификация OSPF;

    1 (в межсетевых экранах NetDefend: Passphrase) – для аутентификации OSPF требуется простой пароль;

    2 (в межсетевых экранах NetDefend: MD5 Digest) – MD5-аутентификация содержит идентификатор ключа (key ID) и 128-битный ключ. Определенный ключ используется для создания 128-бит MD5-хэша. Но назначение аутентификации не означает, что OSPF-пакеты шифруются. В случае необходимости передачи шифрованного OSPF-трафика, его направляют через VPN-туннель (например, IPSec).

Введение.

Протокол OSPF (Open Shortest Path First), на русский можно перевести как
протокол кратчайшего пути (маршрута).

OSPF является промышленным протоколом, который описывается в соответсвующем RFC 2328

Протоколы маршрутизации делятся на три типа:

1. Дистанционно-векторные протоколы
2. Протоколы по состоянию каналов
3. Смешанные протоколы.

OSPF относится к протоколам по состоянию каналов.

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

OSPF — масштабируемый протокол маршрутизации, он может быть использован
как в отдельной единственной зоне в небольших сетях, так и в нескольких
занах большой сети. Можно сгруппировать некоторые маршрутизаторы в одну
Area, а другие в другую. Тем самым изменения маршрутной информации в
одной зоне, не повлияет на работоспособность другой. Для взаимодействия
нескольких зон используют Area0, т.е. это зона является магистралью
(backbone).

Состояния протокола OSPF.

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

Сущесвтует 5 состояний:

1. Состояние отключено (down state)
2. Cостояние инициализации (init state)
3. Двусторонее соединение (Two-way)
4. ExStart
5. Обмен (Exchange)
6. Загрузка (Loading)
7. Установка полной смежности (Full adjecency)

Для разбора всех этих состояний, нам требуется ещё знать, какие типы
пакетов используются в протоколе OSPF.

Типы пакетов в протоколе OSPF:
— Hello пакет — данный тип пакета предназначен для создания и поддержки таблицы соседних устройств.
— DBD пакет (Database Description packet), как видно из название это пакет описания содержимого базы данных

состояния каналов маршрутизатора.
— LSR (Link State Request) — запрос о состоянии каналов, предназначен для запроса
отдельного фрагмента базы данных

состояния каналов.
— LSU (Link state update) — обновление состояния каналов. Данный пакет передает
в себе обновление о состоянии

каналов.
— LSAck (Link state acknowledgment) — Подтверждение о получении от соседнего
устройства LSA (Link State Advertisement).

Теперь рассмотрим состояния и переходы между состояниями более подробно.

Самое простое состояние, и не требует детального описания. В двух
словах, это состояние, при котором не происходил обмен между соседними
маршрутизаторами, маршрутизатор ожидает перехода в следующее состояние —
Init State, состояние инициализации.

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

3. Состояние двусторонней связи (Two-way).

Каждый маршрутизатор OSPF пытается установить связь со всеми своими
соседями, это просиходит с помощью пакета Hello. В пакете Hello
передается список всех известных соседних маршрутизаторов. Если
маршрутизатор принимает пакет Hello и «видит» в этом пакете себя, то
считается что состояние двусторонней связи установлено.

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

4. Состояние ExStart.

Для установки состояние ExStart использутеся пакет DBD (описание базы
данных). Так же в этом состоянии «выясняется», какой из маршрутизаторов
является ведущим (master), а какой ведомый (slave). Выбор осуществляется
по ID маршрутизатора. Маршутизатор, у которого ID больше становится
master. После того, как определены роли маршрутизаторов, маршрутизаторы
переходят в следующее состояние — обмена.

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

В состоянии Exchange, маршрутизатор нашел информацию, которой нет в
собственной базе данных, для получения полной информации об этом канале
маршрутизатор посылает пакет-запрос LSR (Link State Request)
соответсвующему соседу. Сосед отвечает пакетом LSU (Link State Update),
в котором содержится полная информация о запрашиваемом канале. После
получения пакета LSU, маршрутизатор должен подтвердить это
соответсвующим пакетом (LSAck).

7. Full adjacency — Состояние полной смежности.

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

При прохождении всех этих состояний, в маршрутизаторе будет сформированы
три базы данных.

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

2. База данных о смежных устройствах. — Список всех устройств, с
которыми установлено двусторонние соединение.

3. Таблица маршрутизации. — Список маршрутов, который сформирован каждым
маршрутизатором с помощью алгоритма SPF.

Маршруты вычисляются из базы данных канального уровня. И вычисляются
каждым маршрутизатором самостоятельно!

Протокол OSPF поддерживает следующие типы сетей:

1. Широковещательные сети множественного доступа (broadcast multiaccess)
2. Нешироковещательные сети множественного доступа (nonbroadcast multiaccess — NBMA)
3. Point — to — Point. «Точка-точка».
4. Point — to — multipoint. «точка-многоточек»

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

Для уменьшения слежебного трафика используется выбор назначенного и
резервного маршрутизатора (DR — designated router и BDR — backup
designated router), которые и будут рассылать все необходимые маршруты
остальным маршрутизатором. Смысл этого в том, что все маршрутизаторы
устанавливают состояние полной смежности только с DR/BDR и только им
послылают информацию о состоянии своих каналов, тем самым происходит
уменьшение служебного трафика в сети.

«Общение» между маршрутизаторами и DR/BDR осщуествляется с помощью
мультикаста — 224.0.0.5. «Общение» между DR и BDR происходит по своему
мультикаст адресу — 224.0.0.6

В сетях point — to — point существует только два маршрутизатора,
соответсвенно не нужно выбирать ни DR ни BDR.

А сейчас вкратце пробежимся по теории.

OSPF (Open Shortest Path First ) - протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути Алгоритм Дейкстры (Dijkstra’s algorithm).

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

OSPF предлагает решение следующих задач:

  • Увеличение скорости сходимости;
  • Поддержка сетевых масок переменной длины (VLSM);
  • Достижимость сети;
  • Использование пропускной способности;
  • Метод выбора пути.

Теория

Терминология протокола OSPF

  • Объявление о состоянии канала (link-state advertisement, LSA) - объявление описывает все каналы маршрутизатора, все интерфейсы и состояние каналов.
  • Состояние канала (link state) - состояние канала между двумя маршрутизаторами; обновления происходят при помощи пакетов LSA.
  • Метрика (metric) - условный показатель «стоимости» пересылки данных по каналу;
  • Автономная система (autonomous system) - группа маршрутизаторов, обменивающаяся маршрутизирующей информацией с помощью одного протокола маршрутизации.
  • Зона (area) - совокупность сетей и маршрутизаторов, имеющих один и тот же идентификатор зоны.
  • Соседи (neighbours) - два маршрутизатора, имеющие интерфейсы в общей сети.
  • Состояние соседства (adjacency) - взаимосвязь между определенными соседними маршрутизаторами установленная с целью обмена информацией маршрутизации.
  • Hello-пакеты (hello packets) - используются для поддержания соседских отношений.
  • База данных соседей (neighbours database) - список всех соседей.
  • База данных состояния каналов (link state database, LSDB) - список всех записей о состоянии каналов. Встречается также термин топологическая база данных (topological database), употребляется как синоним базы данных состояния каналов.
  • Идентификатор маршрутизатора (router ID, RID) - уникальное 32-битовое число, которое уникально идентифицирует маршрутизатор в пределах одной автономной системы.
  • Выделенный маршрутизатор (designated router, DR) - управляет процессом рассылки LSA в сети. Каждый маршрутизатор сети устанавливает отношения соседства с DR. Информация об изменениях в сети отправляется DR, маршрутизатором обнаружившим это изменение, а DR отвечает за то, чтобы эта информация была отправлена остальным маршрутизаторам сети.Недостатком в схеме работы с DR маршрутизатором является то, что при выходе его из строя должен быть выбран новый DR. Новые отношения соседства должны быть сформированы и, пока базы данных маршрутизаторов не синхронизируются с базой данных нового DR, сеть будет недоступна для пересылки пакетов. Для устранения этого недостатка выбирается BDR.
  • Резервный выделенный маршрутизатор (backup designated router, BDR) . Каждый маршрутизатор сети устанавливает отношения соседства не только с DR, но и BDR. DR и BDR также устанавливают отношения соседства и между собой. При выходе из строя DR, BDR становится DR и выполняет все его функции. Так как маршрутизаторы сети установили отношения соседства с BDR, то время недоступности сети минимизируется.

Краткое описание работы протокола

  1. Маршрутизаторы обмениваются hello-пакетами через все интерфейсы на которых активирован OSPF . Маршрутизаторы разделяющие общий канал передачи данных становятся соседями, когда они приходят к договоренности об определенных параметрах указанных в их hello-пакетах.
  2. На следующем этапе работы протокола маршрутизаторы будут пытаться перейти в состояние соседства со своими соседями. Переход в состояние соседства определяется типом маршрутизаторов обменивающихся hello-пакетами и типом сети по которой передаются hello-пакеты. OSPF определяет несколько типов сетей и несколько типов маршрутизаторов. Пара маршрутизаторов, находящихся в состоянии соседства синхронизирует между собой базу данных состояния каналов.
  3. Каждый маршрутизатор посылает объявление о состоянии канала маршрутизаторам с которыми он находится в состоянии соседства.
  4. Каждый маршрутизатор получивший объявление от соседа записывает информацию передаваемую в нем в базу данных состояния каналов маршрутизатора и рассылает копию объявления всем другим своим соседям.
  5. Рассылая объявления через зону, все маршрутизаторы строят идентичную базу данных состояния каналов маршрутизатора.
  6. Когда база данных построена, каждый маршрутизатор использует алгоритм кратчайший путь первым для вычисления графа без петель, который будет описывать кратчайший путь к каждому известному пункту назначения с собой в качестве корня. Этот граф это дерево кратчайшего пути.
  7. Каждый маршрутизатор строит таблицу маршрутизации из своего дерева кратчайшего пути.

В сетях со множественным доступом отношения соседства должны быть установлены между всеми маршрутизаторами. Это приводит к тому, что рассылается большое количество копий LSA. Если, к примеру, количество маршрутизаторов в сети со множественным доступом равно n , то будет установлено n(n-1)/2 отношений соседства. Каждый маршрутизатор будет рассылать n-1 LSA своим соседям, плюс одно LSA для сети, в результате сеть сгенерирует n? LSA.

Маршрутизатор, выбранный DR или BDR в одной присоединенной к нему сети со множественным доступом, может не быть DR (BDR) в другой присоединенной сети. Роль DR (BDR) является свойством интерфейса, а не свойством всего маршрутизатора.

Таймеры протокола

  • HelloInterval - Интервал времени в секундах по истечению которого маршрутизатор отправляет следующий hello-пакет с интерфейса. Для широковещательных сетей и сетей точка-точка значение по умолчанию, как правило, 10 секунд. Для нешироковещательных сетей со множественным доступом значение по умолчанию 30 секунд.
  • RouterDeadInterval - Интервал времени в секундах по истечению которого сосед будет считаться «мертвым». Этот интервал должен быть кратным значению HelloInterval. Как правило, RouterDeadInterval равен 4 интервалам отправки hello-пакетов, то есть 40 секунд.
  • Wait Timer - Интервал времени в секундах по истечению которого маршрутизатор выберет DR в сети. Его значение равно значению интервала RouterDeadInterval.
  • RxmtInterval - Интервал времени в секундах по истечению которого маршрутизатор повторно отправит пакет на который не получил подтверждения о получении (например, Database Description пакет или Link State Request пакеты). Это интервал называется также Retransmit interval. Значение интервала 5 секунд.

Типы маршрутизаторов

Внутренний маршрутизатор (internal router) - маршрутизатор все интерфейсы которого принадлежат одной зоне. У таких маршрутизаторов только одна база данных состояния каналов.

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

Магистральный маршрутизатор (backbone router) - маршрутизатор у которого всегда хотя бы один интерфейс принадлежит магистральной зоне. Определение похоже на пограничный маршрутизатор, однако магистральный маршрутизатор не всегда является пограничным. Внутренний маршрутизатор интерфейсы которого принадлежат нулевой зоне, также является магистральным.

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

Типы объявлений о состоянии канала (LSA)

Type 1 LSA - Router LSA - объявление о состоянии каналов маршрутизатора. Эти LSA распространяются всеми маршрутизаторами. В LSA содержится описание всех каналов маршрутизатора и стоимость (cost) каждого канала. Распространяются только в пределах одной зоны.

Type 2 LSA - Network LSA - объявление о состоянии каналов сети. Распространяется DR в сетях со множественным доступом. В LSA содержится описание всех маршрутизаторов присоединенных к сети, включая DR. Распространяются только в пределах одной зоны.

Type 3 LSA - Network Summary LSA - суммарное объявление о состоянии каналов сети. Объявление распространяется пограничными маршрутизаторами. Объявление описывает только маршруты к сетям вне зоны и не описывает маршруты внутри автономной системы. Пограничный маршрутизатор отправляет отдельное объявление для каждой известной ему сети.

Когда маршрутизатор получает Network Summary LSA от пограничного маршрутизатора он не запускает алгоритм вычисления кратчайшего пути. Маршрутизатор просто добавляет к стоимости маршрута указанного в LSA стоимость маршрута к пограничному маршрутизатору. Затем маршрут к сети через пограничный маршрутизатор помещается в таблицу маршрутизации.

Type 4 LSA - ASBR Summary LSA - суммарное объявление о состоянии каналов пограничного маршрутизатора автономной системы. Объявление распространяется пограничными маршрутизаторами. ASBR Summary LSA отличается от Network Summary LSA тем, что распространяется информация не о сети, а о пограничном маршрутизаторе автономной системы.

Type 5 LSA - AS External LSA - объявления о состоянии внешних каналов автономной системы. Объявление распространяется пограничным маршрутизатором автономной системы в пределах всей автономной системы. Объявление описывает маршруты внешние для автономной системы OSPF или маршруты по умолчанию (default route) внешние для автономной системы OSPF.

Type 7 LSA - AS External LSA for NSSA - объявления о состоянии внешних каналов автономной системы в NSSA зоне. Это объявление может передаваться только в NSSA зоне. На границе зоны пограничный маршрутизатор преобразует type 7 LSA в type 5 LSA.

Типы зон

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

Разделение на зоны позволяет:

  • Снизить нагрузку на ЦПУ маршрутизаторов за счет уменьшения количества перерасчетов по алгоритму SPF
  • Уменьшить размер таблиц маршрутизации
  • Уменьшить количество пакетов обновлений состояния канала

Каждой зоне присваивается идентификатор зоны (area ID). Идентификатор может быть указан в десятичном формате или в формате записи IP-адреса. Однако идентификаторы зон не являются IP-адресами и могут совпадать с любым назначенным IP-адресом.

Магистральная зона (backbone area)

Магистральная зона (известная также как нулевая зона (Area 0) или зона 0.0.0.0) формирует ядро сети OSPF. Все остальные зоны ДОЛЖНЫ быть соединены с ней, и межзональная маршрутизация происходит через маршрутизатор соединенный с магистральной зоной. Магистральная зона ответственна за распространение маршрутизирующей информации между немагистральными зонами. Магистральная зона должна быть смежной с другими зонами, но она не обязательно должна быть физически смежной; соединение с магистральной зоной может быть установлено и с помощью виртуальных каналов (virtual links).

Состояния OSPF соседа

Во время формирования соседских отношений OSPF роутеры (маршрутизаторы) проходят следущие состояния: Down, Attempt, Init, 2-Way, Exstart, Exchange, Loading, и Full.

Down state

Первое состояние OSPF соседа. В данном состоянии обмена Hello пакетами еще не производилось или соседские отношения развалились (состояние Full), по причине истечения RouterDeadInterval . Hello-пакеты в данном состоянии принимаются.

Attempt state

Это состояние проходят вручную прописанные в конфигурацию роутера OSPF работающего в NBMA среде (Nonbroadcast Multiple Access Network (NBMA) – среда не поддерживающая распространение multicast и broadcast трафика). В этом состоянии роутер посылает юникаст (unicast) hello-пакеты со своего unicast адреса на unicast адрес соседа.

Init state

Состояние инициализации, когда роутер получил hello пакет от соседа на один из интерфейсов OSPF, но RID получателя ещё небыл включен (вписан) в hello-пакет. Роутер вставляет RID соседа, от которого был получен hello-пакет, в свой hello-пакет как подтверждение того, что он был получен.

2Way state

В данном состоянии между роутерами установлен двунаправленный обмен, т.к. при разборе пришедшего hello-пакета содержится RID этого роутера, т.е. оба роутера получили hello-пакеты друг от друга. Именно в конце установки этого состояния в broadcast среде проиходят выборы DR и BDR если они ещё отсутствуют в Area в которой находятся интерфейсы роутера на которые были получены hello-пакеты.

В NBMA среде выборов DR и BDR не производится.

Exstart state

После выборов DR и BDR, между роутерами и DR, BDR начинается процесс обмена пакетами DBD (Database Descriptor) c информацией о состоянии каналов. В этом состоянии, роутеры и их DR и BDR устанавливают отношения master-slave . Роутер с самым большим Router ID (RID) становиться master и начинает обмен.

Exchange state

В этом состояни, OSPF роутеры обмениваются пакетами дескрипторами базы данных (DBD). Дескрипторы базы данных содержат только заголовки LSA, которые описывают содержимое всей базы данных о состоянии каналов. Каждый DBD пакет имеет номер, который увеличивается только master роутером и обязатесльно подтверждается slave`вом. Роутеры посылают link-state request пакеты и link-state update пакеты, они содержат всю LSA. Содержимое полученного DPD сравнивается с информацией содержащейся в link-state database роутера, идет поиск, имеются ли новые сведения о состоянии каналов доступных соседу.

Происходит непосредственно обмен информацией о состоянии канала. Основываясь на информации полученной через DBD, роутеры посылают link-state request пакеты о состоянии канала. Затем сосед предоставляет запрошенную link-state информацию в link-state update пакетах. Во время adjacency, если роутер принял устаревшую или отсутствующую LSA, он запрашивает эту LSA, посылая link-state request пакет. Все link-state update пакеты нуждаются в обязательном подтвеждении (acknowledgment).

Full state

В этом состоянии соседские отношения полностью установлены. Роутеры обменялись LSA и база данных, на роутерах, полностью синхронизирована. Состояние Full является нормальным состоянием для OSPF роутера.

Роутер может «застрять» в каком-то из состояний, это указывает на проблему в формировании связности (adjacency). Исключением является состояние 2Way , которое является обычным для соседей в broadcast среде. Состояние Full устанавливается только с DR и BDR. С остальными соседями в этой среде будет установлено состояние 2WAY/DROTHER.

В broadcast среде, все OSPF роутеры общаются через multicast адрес 224.0.0.5, но DR и BDR, для общения между собой, используют multicast адрес 224.0.0.6. Благодаря тому, что в broadcast среде работает multicast, определение и нахождение OSPF соседей происходит автоматически.

OSPF (Open Shortest Path First) протокол динамической маршрутизации

Типы пакетов OSPF:

- Hello - Формирование и поддержание смежности между маршрутизаотрами
- DBD - Database Description, краткой содержание базы link-state, принимающий проверят свою базу
- LSR - Link-State Request, принимющий может запросить более подробную информацию
- LSU - ответ на LSR, анонсирование новой информации (LSU содержит 7 типов LSA), LSA (Link State Advertisement) - содержит информацию о соседях и стоимости пути до них
- LSAck - подтверждение приема LSU
Hello intervals :
Передаются каждые 10 сек в multiaccess и point-to-point сетях, 30 сек в NBMA.
Dead intervals :
По умолчанию 4 hello, multiaccess и point-to-point - 40 сек, 120 сек в NBMA.

Для построения SPF дерева используется алгоритм Дейкстры (Dijkstra), SPF дерево используется для заполнения таблицы маршрутиазции.

Адимнистративное растояние OSPF - 110
OSPF безклассовый протокол , маска подсети используется.

Включение OSPF на маршрутизаторе:

# R(config)# router ospf 10

# R(config-router)# network 10.10.10.0 0.0.0.255 area 0

0.0.0.255 - wildcard mask
area 0, к примеру все роутеры в одной area 0 (в этой области маршрутизаторы обладают общей link-state информацией).

В multi-access сетях маршрутизаторы выбирают DR (designated router - выделенный маршрутизатор) и BDR маршрутизаторы (резервные), смежность формируется с DR и BDR маршрутизатором, только DR отсылает информацию.

DR и BDR принимают и передают LSA, остальные маршрутизаторы становятся DROther.

DR пересылает LSA на multicast адрес 224.0.0.5
DROthers пересылают LSA на multicast адрес 224.0.0.6
Выборы DR и BDR не происходят в сетях point-to-point.
Маршрутизатор с самым старшим приоритетом становится DR (второй приоритет BDR), если приоритеты одинаковые, то по старшему Router id.

Router id выбирается:
1. Использовать ip при введение команды router-id
2. Если 1-е не используется, выбирается старщий ip на loopback интерфейса
3. Если не сконфигурирован loopback , используется старший на физическом интерфейсе
Интерфейс может не использовать в процессе OSPF

Регулировать приоритет можно командой: # ip ospf priority interface {0-255}
0 - маршрутизатор никогда не будет DR
1 - по умолчанию, выбирается по Router id

Для распространения маршрута по умолчанию используется команда:
# default-information originate

Для каналов более 100 mbit, можно задать пропускную способность:
# R(config-router)#auto-cost reference-bandwidth 10000

Модификация таймеров:

# R (confif-if)# ip ospf hello-interval seconds
# R (confif-if)# ip ospf dead-interval seconds

Интервалы должны совпадать у соседей!!!

OSPF использует cost как метрику для опредления лучших маршрутов, вычисляется:
cost = 10 ^ 8 / bandwidth

Изменить bandwidth можно командой:

# auto-cost reference-bandwidth

Узнать реальную полосу пропускания show interface
С обоих сторон необходимо конфигурировать одинаковую полосу пропускания, с помощью командны Bandwidth

# interface se0/0/0
# bandwidth 64

(cost = 10 ^ 8 / 64000 = 1562)

Или явно

# interface se0/0/0
# ip ospf cost 1562

Проверка OSPF:

# show ip protocols

Можно узнать
- ospf process id
- router id
- сети
- административное растояние

# show ip ospf

Можно узнать
- ospf process ID
- router ID
- OSPF area
- время последней работы SPF алгоритма
- SPF планировщик

Проверить Hello и Dead интервалы

# show ip ospf interface # show ip route

"O" в начале маршрута указывает на то, что используется OSPF

Посмотреть соседей.