Для чего нужен протокол ospf

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

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

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

Разберем, что такое сетевой протокол OSPF для чайников.

Принцип работы OSPF

Работа протокола OSPF строится по следующему алгоритму:

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

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

Пакет OSPF помещается в пакет IP с мультикастовым адресом получателя. Отправителю же в нем соответствует адрес маршрутизатора. Пакет помещается в мультикастовый фрейм, например, в Ethernet. При формировании списков контроля доступа нужно учитывать, что OSPF инкапсулируется непосредственно в IP, а не в UDP или TCP.

Виды OSPF сообщений

Протокол маршрутизации OSPF поддерживает 5 типов сообщений:

Hello пакеты отправляются с установленной периодичностью. По умолчанию она составляет 1 раз в 10 секунд для сетей BMA и point-to-point и 1 раз в 40 секунд для сетей NBMA. Также существует понятие Dead-интервала, который по умолчанию равняется 4 Hello-интервалам. Если в течение этого периода маршрутизатор не получает ни одного пакета, то он считает, что сосед отключился. За этим следует пересчет и обновление таблицы маршрутизаторы.

ID маршрутизатора в OSPF

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

Идентификатор записывается в виде IP-адреса IPv4. Неважно, какое он примет значение, главное, чтобы он был уникальным в пределах этой сети. ID маршрутизатора в OSPF можно задать вручную. Если он не задан, то будет присвоен автоматически.

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

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

Работа OSPF в сетях с множественным доступом

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

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

Метрика в OSPF

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

Например, Cisco применяет два варианта расчета стоимости.

В первом случае стоимость линка рассчитывается как обратная величина от его скорости (1000 — для 1 Мбит, 100 — для 10 Мбит, 10 — для 100 Мбит, 1 — для 1 Гбита и т. д.). Этот вариант подойдет при условии, что все маршрутизаторы будут считать стоимость по данному алгоритму, аэто требует использование только устройств Cisco.

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

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

Принцип действия протокола OSPF предусматривает использование следующих типов маршрутизаторов:

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

Источник

Урок 30. Принцип работы протокола OSPF

Принцип работы протокола. Общая информация

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

Принцип работы заключается в следующем:

SPF протоколы не рассылают периодические обновления, как это делают векторные алгоритмы. Вместо этого они рассылают обновления каждые 30 минут, причем не всю базу данных, а только определенную часть, не загружая при этом сеть.

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

Для сравнения возьмем сеть и посмотрим как протоколы RIP и SPF построят маршрут от узла А до сети Е.

RIP построит следующий маршрут, учитывая наименьшее расстояния до цели:

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

SPF протоколы построят иной маршрут, но с учетом скорости и надежности канала:

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

У SPF протоколов маршрут получился гораздо длиннее, однако пропускная способность канала гораздо выше, чем у RIP.

К SPF протоколам относят OSPF и IS-IS. Это 2 похожих протокола, которые были разработаны разными организациями. Мы будем рассматривать только протокол OSPF.

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

Иерархия и структура сети

OSPF прекрасно работает в любой сети, однако, если сеть большая, то необходимо разделить ее на зоны.

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

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

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

В OSPF зона 0 (Area 0) всегда является магистральной (backbone), к которой подключаются остальные зоны. Связь между зонами всегда осуществляется только через магистральную зону.

Всего существует 6 зон:

Отвечает за межзональную маршрутизацию. Всегда присутствует в топологии сети

Обычная зона. Может содержать пограничные маршрутизаторы зоны ABR и пограничные маршрутизаторы автономной системы ASBR, то есть может подключаться к другим автономным системам.

Не принимает анонсы о внешних сетях всей автономной зоны, однако принимает анонсы о других зонах. Маршрут к внешним сетям заменен на маршрут по умолчанию. Не может иметь ASBR маршрутизатор, то есть не подключается к другим автономным сетям.

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

Такая же сеть, как и Stub, однако может иметь ASBR маршрутизатор.

“Усиление” NSSA, кроме того маршруты к другим зонам заменены на маршрут по умолчанию.

Мы же рассмотрим только магистральные и стандартные зоны.

Следует выделить специальные маршрутизаторы, играющие определенную роль при разделении на зоны:

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

К маршрутизаторам BR, ABR, ASBR предъявляются большие требования по мощности и пропускной способности, так как они оперируют с большими потоками данных.

Составление таблиц протокола

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

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Чтобы понять назначение всех этих таблиц сравним работу протокола с работой обычного навигатора, установленного в машине. Водителю необходимо доехать из пункта А в пункт В. Для этого в навигатор загружают карту, чтобы он смог найти дорогу. Эта карта и является аналогом Топологической таблицы LSDB. Затем навигатор вычисляет оптимальный маршрут, учитывая при этом множества параметров:

Подобные параметры также учитываются протоколами SPF.

В результате на экране навигатора отображаются один или несколько маршрутов. Эти маршруты являются аналогом таблицы маршрутизации протокола OSPF.

Как же строятся таблицы смежности и топологии?

Для этого маршрутизаторы рассылают друг другу специальные обновления, называемые анонсами LSA (Link State Advertisements). Анонсы рассылаются по адресам 224.0.0.5 и 225.0.0.6. Существуют несколько типов анонсов. Мы их рассмотрим ниже в этом уроке.

Маршрутизация работает на уровне L3, однако для того, чтобы связать маршрутизаторы другом с другом, используются различные технологии, работающие на уровнях L1 и L2. Одна из таких технологий Ethernet. Существуют и другие технологии такие, как Frame Relay, ATM, ISDN и так далее. Мы подробно их изучим в одной из следующих глав. Сейчас вкратце остановимся на том, каковы особенности работы протокола OSPF в сетях, где используются перечисленные технологии.

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

Выделяют следующие типы OSPF сетей:

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

В данном курсе рассматривать сети NBMA мы не будем, однако для общей информации приведу таблицу режимов работы сетей NBMA

Похож на режим Broadcast в Ethernet, однако необходимо вручную указать всех соседей. Все маршрутизаторы должны находиться в одной подсети. Выбираются DR и BDR, работает в полносвязной топологии.

Сеть воспринимается как набор нескольких соединений point-to-point. Соседи обнаруживаются автоматически за счет многоадресной (multicast) рассылки пакетов Hello. Все маршрутизаторы должны находиться в одной подсети. DR и BDR не выбираются, все соседи обнаруживаются автоматически.

Похож на режим point-to-point, то есть устанавливается только парное соединение. DR и BDR не выбираются.

Похож на режим Broadcast в Ethernet.Соседи обнаруживаются автоматически за счет многоадресной (multicast) рассылки пакетов Hello. Все маршрутизаторы должны находиться в одной подсети. Выбираются DR и BDR, работает в полносвязной топологии.

Похож на режим Point-to-multipoint, однако необходимо вручную указывать всех соседей. Multicast и Broadcast рассылка пакетов Hello не поддерживается. DR и BDR не выбираются.

Итак, для чего же нужны DR и BDR?

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

Если взглянуть на сеть Ethernet, то отношения смежности установятся каждый с каждым. Это приведет к резкому увеличению служебного трафика. Чтобы снизить трафик была выбрана концепция с применением DR и BDR.

Данный принцип основан на следующих правилах:

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

А как выбираются DR и BDR?

В OSPF каждый маршрутизатор обязан иметь свой ID. ID представляет собой 32-х битный десятичный номер, который выглядит как IP адрес. Поэтому в качестве ID выбирается IP адрес работающего порта. Затем все маршрутизаторы сравнивают свои ID. Побеждает тот у кого ID имеет большее значение. Весь процесс выбора DR автоматический, однако на его результаты можно повлиять.

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

Если приоритет установлен на 0, то маршрутизатор никогда не будет выбран в качестве DR/BDR. На блок-схеме внизу указан процесс выбора ID OSPF маршрутизатора:

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Сам процесс выбора DR и BDR рассмотрен подробнее в конце данного урока.

Принцип работы протокола. Типы пакетов, состояния связей

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

Рассмотрим весь процесс по порядку на примере сети

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

1. Чтобы обнаружить соседей каждые 10 с каждый маршрутизатор отправляет пакет Hello по адресу 224.0.0.5, а также сам принимает такой же пакет от соседей.

3. Первый пакет Hello не содержит ID соседа. Пакет посылается по групповому адресу 224.0.0.5:

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Как только R2 получит пакет от R1, то R2 в начале сравнит все параметры. если они совпадают, то адрес R1 вносится в таблицу соседей. После этого R2 вложит ID R1 в следующий пакет. Hello, который отправляется по адресу маршрутизатора R1, то есть ответный пакет Hello не использует групповой адрес:

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

После того, как определены все соседи, маршрутизатор с более высоким ID указывает себя в качестве DR во пакетах Hello. Остальные маршрутизаторы, приняв такой пакет, сравнивают свои ID c ID “самопровозглашенного” DR. Если их ID меньше, то они с этим соглашаются и также передают его ID в своих пакетах Hello.

Аналогичным способом выбирается и BDR.

Для чего нужен протокол ospf. Смотреть фото Для чего нужен протокол ospf. Смотреть картинку Для чего нужен протокол ospf. Картинка про Для чего нужен протокол ospf. Фото Для чего нужен протокол ospf

Что будет, если после выбора DR/BDR в сети появится маршрутизатор с большим ID?

Ничего. Процесс выбора DR/BDR запускается лишь раз. Если DR отключится, то его место займет BDR, а вместо BDR может стать новый маршрутизатор с более высоким ID.

Если тип сети Point-to-Point, то данный процесс пропускается.

5. Затем начинается процесс обмена топологическими данными. Для этого маршрутизаторы рассылают друг другу пакеты DBD ( Database Description ). Маршрутизаторы переходят в состоянии Exchange. На основе данных, полученных от DBD строится топологическая таблица. Для подтверждения приема пакета DBD маршрутизатор отправляет пакет LSAck ( Link State Acknowledgment ), в котором говорится: “Я все принял.” На данной стадии маршрутизаторы используют одноадресатные пакеты (unicast), то есть не используют групповой адрес 224.0.0.5.

Итак, подведем итоги.

Для своей работы OSPF использует следующие типы пакетов:

В процессе работы протокола маршрутизатор проходит через следующие состояния:

Источник

Для чего нужен протокол ospf

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

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

На этой странице описаны общие принципы работы протокола, без привязки к конкретной реализации.

Содержание

[править] Основы протокола

(продублировано в Википедии: [1])

OSPF инкапсулируется в IP. Номер протокола 89.

Для передачи пакетов использует мультикаст адреса:

OSPF представитель семейства Link-State протоколов.

[править] Терминология протокола OSPF

Базовые термины OSPF:

[править] Описание работы протокола

Тут приведено краткое описание работы протокола, которое подробнее описано ниже, в соответствующих разделах. Часть из этих этапов, специфичны для конкретной реализации, и указаны на соответствующих страницах настройки OSPF.

Задача этого раздела дать общее понимание того, как работает протокол. Не все пункты могут быть до конца понятны, но общее представление, скорее всего, появится.

[править] Выбор Router ID

При запуске процесса OSPF на любом маршрутизаторе, обязательно должен быть выбран Router ID.

Router ID — это уникальное имя маршрутизатора, по которому он известен в AS.

В зависимости от реализации, Router ID может выбираться по-разному:

После изменения Router ID, процесс OSPF должен быть перезагружен, а все LSA, которые сгенерировал этот маршрутизатор, должны быть удалены из AS, до перезагрузки.

[править] Соседи. Установка отношений соседства

Обнаружение соседей начинается после того как:

Для обнаружения и мониторинга соседей используются сообщения Hello.

Процедура установки отношений соседства зависит от типа сети, в которой работает OSPF.

[править] Типы сетей, поддерживаемые протоколом OSPF

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

В реальной жизни, чаще всего используются два типа сетей:

Для broadcast и nonbroadcast сетей (то есть, для сетей с множественным доступом), выбираются DR и BDR.

Как правило, тип сети определяется автоматически, по типу интерфейса. Но может быть задан и вручную.

[править] Отношения соседства (adjacency)

Различают понятия сосед и отношения соседства:

Для того чтобы маршрутизаторы стали соседями:

OSPF не проверяет сеть и маску сети при установке отношений соседства в point-to-point сетях. Поэтому можно использовать IP unnumbered интерфейсы.

Для того чтобы маршрутизаторы установили отношения соседства у них, кроме уже перечисленных критериев, должны совпадать значения IP MTU на интерфейсах. Информация о значении IP MTU передается в DD-пакетах и сравнивается в начале обмена DD-пакетами.

Отношения соседства устанавливаются только на primary адресах.

На интерфейсе может быть настроен secondary адрес. Маршрутизаторы не отправляют hello-пакеты с secondary адреса, не устанавливают отношения соседства на secondary адресах, но сеть secondary адреса может анонсироваться.

[править] Возможные состояния

[править] Выделенный маршрутизатор (DR) и резервный выделенный маршрутизатор (BDR)

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

Для предотвращения проблемы рассылки копий LSA в сетях со множественным доступом выбираются DR и BDR.

Выделенный маршрутизатор (designated router, DR) — управляет процессом рассылки LSA в сети. Каждый маршрутизатор сети устанавливает отношения соседства с DR. Информация об изменениях в сети отправляется DR, маршрутизатором обнаружившим это изменение, а DR отвечает за то, чтобы эта информация была отправлена остальным маршрутизаторам сети.

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

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

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

[править] Таймеры протокола

[править] Константы протокола

Некоторым параметрам OSPF присвоены фиксированные значения. Ниже описаны эти параметры, их названия и соответствующие им значения:

Каждые 5 минут (CheckAge) выполняется проверка контрольной суммы всех LSA (в Cisco каждые 10 минут).

[править] Зоны OSPF

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

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

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

В OSPF взаимодействия между зонами возможно только через зону 0:

Название зоныЗамена маршрутовТипы LSAОписание
Backbone (area 0)Все LSA разрешеныРазрешены все типы маршрутов
NormalВсе LSA разрешеныРазрешены все типы маршрутов
StubEX => IA 0.0.0.0/0

LSA 5 запрещеныВсе внешние маршруты заменены на межзональный маршрут по умолчанию.

ASBR не может находиться в зоне

Totally StubEX и IA => IA 0.0.0.0/0

Все LSA 3 заменены на LSA 3 0.0.0.0/0

Все внешние и межзональные маршруты заменены на межзональный маршрут по умолчанию.

ASBR не может находиться в зоне

LSA 7 передает внешние маршруты только в NSSA

Все внешние маршруты должны быть заменены на межзональный маршрут по умолчанию.

В зоне может быть ASBR

Totally NSSAEX и IA => 0.0.0.0

Все LSA 3 заменены на LSA 3 0.0.0.0/0

LSA 7 передает внешние маршруты только в NSSA

Все внешние и межзональные маршруты должны быть заменены на межзональный маршрут по умолчанию.

В зоне может быть ASBR

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

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

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

[править] Стандартная зона (standard area)

Обычная зона, которая создается по умолчанию. Эта зона принимает обновления каналов, суммарные маршруты и внешние маршруты.

[править] Тупиковая зона (stub area)

[править] Totally stubby area

Totally stubby area:

То есть, фактически totally stub зона это «усиление» тупиковой: в ней не только внешние маршруты, но и межзональные заменены на маршрут по умолчанию.

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

В RFC такой термин явно не определен, но ABR могут регулировать отправку суммарных маршрутов в тупиковую зону любым образом, вплоть до отправки в зону только маршрута по умолчанию (totally stubby).

[править] Not-so-stubby area (NSSA)

[править] Totally NSSA

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

[править] Объявления о состоянии канала (LSA)

Объявление о состоянии канала (Link State Advertisement, LSA) — единица данных, которая описывает локальное состояние маршрутизатора или сети.

Множество всех LSA, описывающих маршрутизаторы и сети, образуют базу данных состояния каналов (LSDB).

У каждого типа LSA своя функция:

Фактически, сами по себе LSA маршрутизаторы не передают. Они передают LSA внутри других пакетов:

[править] Суммарная информация о LSA

Номер LSAНазвание LSALink-State IDКто отправляетОбласть распространения
LSA 1Router LSARouter ID отправителяВсе маршрутизаторыВнутри зоны (IntraArea)
LSA 2Network LSAIP-адрес интерфейса DRDR (в сетях со множественным доступом)Внутри зоны (IntraArea)
LSA 3Network Summary LSAСети назначения и маска сетиABRAS (InterArea)
LSA 4ASBR Summary LSARouter ID ASBRABRAS (InterArea)
LSA 5AS External LSAВнешняя сеть и маскаASBRAS (InterArea)
LSA 7AS External LSA for NSSAВнешняя сеть и маскаASBR в NSSANSSA

[править] Заголовок LSA

Все LSA начинаются с одинакового заголовка размером 20 байт.

Любое LSA уникально идентифицируют 3 поля заголовка:

Так как может существовать несколько копий одного и того же LSA, необходимо определять какая из копий актуальна. Это осуществляется с помощью анализа полей:

Описание полей заголовка LSA:

[править] Type 1 LSA

Type 1 LSA — Router LSA — объявление о состоянии каналов маршрутизатора:

В Router LSA содержится:

LSA Type 1 link types и соответствующие link ID:

[править] Type 2 LSA

Type 2 LSA — Network LSA — объявление о состоянии каналов сети:

В LSA содержится описание всех маршрутизаторов присоединенных к сети, включая DR и маска сети, за которую отвечает DR.

Зачастую возникает вопрос: «Зачем нужен LSA 2? Ведь в LSA 1 можно было бы тоже указать соседей и для сетей с множественным доступом, и, уж тем более, маску сети.»

Необходимость и преимущества LSA 2 понятны, если рассмотреть сеть, в которой в одном широковещательном сегменте будет много маршрутизаторов. Например, в одном широковещательном сегменте, 5 маршрутизаторов.

LSA 2 позволяет существенно сократить количество каналов в LSDB.

В ситуации, когда сама сеть с множественным доступом, но в широковещательном сегменте всего два соседа OSPF (как правило, такое бывает для транзитных линков между сетевыми устройствами), LSA 2 и выбор DR не нужны, и можно перевести интерфейсы в режим point-to point.

[править] Type 3 LSA

Type 3 LSA — Network Summary LSA — суммарное объявление о состоянии каналов сети:

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

[править] Type 4 LSA

Type 4 LSA — ASBR Summary LSA — суммарное объявление о состоянии каналов пограничного маршрутизатора автономной системы:

Когда в домен OSPF помещаются сторонние маршруты, информация о них отправляется с помощью LSA 5. Но внутри этих LSA, указывается, что маршрут известен через ASBR. А путь к ASBR известен только тем маршрутизаторам, которые с ним в одной зоне.

Всем маршрутизаторам, которые находятся в другой зоне, необходимо сообщить о том, где находится ASBR. Это делает ABR, который находится в той же зоне, что и ASBR. Он сообщает о местоположении ASBR помощью LSA 4.

[править] Type 5 LSA

Type 5 LSA — AS External LSA — объявления о состоянии внешних каналов автономной системы:

[править] Type 7 LSA

Type 7 LSA — AS External LSA for NSSA — объявления о состоянии внешних каналов автономной системы в NSSA зоне:

[править] Типы пакетов OSPF

OSPF использует 5 типов пакетов:

[править] Формат заголовка пакета OSPF

Все пять типов пакетов OSPF инкапсулируются непосредственно в IP-пакет. Номер протокола OSPF в IP-заголовке — 89.

У всех пакетов OSPF одинаковый заголовок.

Поля заголовка пакета OSPF:

Поле Данные отличается для различных типов пакетов OSPF:

[править] Hello

Hello-пакет используется для таких целей:

Кроме стандартного заголовка пакета OSPF, в hello-пакете содержится такая информация:

[править] Database Description

Кроме стандартного заголовка пакета OSPF, в DBD-пакете содержится такая информация:

[править] Link State Request

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

[править] Link State Update

[править] Link State Acknowledgment

[править] LSDB

[править] Синхронизация LSDB

[править] SPF

[править] Incremental SPF

[править] Partial SPF calculation

При получении Network Summary LSA маршрутизатор добавляет в таблицу маршрутизации информацию о сетях, которые анонсируются этим LSA, но не запускает алгоритм SPF для этих сетей.

Метрика для этих сетей высчитывается на основании стоимости, которая анонсируется в Network Summary LSA плюс стоимость пути до ABR, который отправил LSA.

Если в зоне произошли изменения, то маршрутизаторы в других зонах не запускают SPF, а используют новую метрику, которая приходит в Network Summary LSA, добавляют к ней стоимость пути к ABR и помещают маршрут в таблицу маршрутизации — это и называется Partial SPF calculation.

Partial SPF calculation выполняется независимо от того настроено суммирование маршрутов на границе зоны или нет.

[править] Выбор лучшего маршрута

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

[править] Выбор лучшего типа маршрута

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

Различные типы маршрутов, в порядке убывания приоритета:

Хотя стоимость маршрута E2 не меняется при передаче его по зонам (не добавляется стоимость пути к ASBR), при совпадении стоимости маршрутов E2, сравнивается стоимость пути к ASBR, который анонсирует маршрут.

Подробное описание выбора лучшего маршрута с учетом специфики Cisco OSPF route selection rules

[править] Метрика OSPF

OSPF использует метрику, которая называется стоимость (cost). Стоимость сравнивается у маршрутов одного типа.

Интересно то, что в RFC 2328 не описывается как именно дожна рассчитываться стоимость (cost) интерфейса. Определен только диапазон значений: 1-65535.

Поэтому, в мультивендорной среде, стоит обратить на это внимание.

Например, в Cisco стоимость интерфейса считается по формуле:

Reference bandwidth это пропускная способность, относительно которой высчитывается, по умолчанию стоимость интерфейса. Она равна 100Mb, но может быть изменена.

Суммарная стоимость маршрута считается суммированием стоимости исходящих интерфейсов по пути передачи LSA.

Для того чтобы обозначить недоступную сеть, OSPF использует метрику равную 16777215 (2 24 —1), которая считается недостижимой метрикой для OSPF.

[править] ABR Loop Prevention

Внутри зон OSPF использует логику link-state протокола, но между зонами он, в некотором смысле, работает как дистанционно-векторный протокол.

Например, при анонсировании в зону type 3 LSA, передается информация о сети назначения, стоимости пути и ABR, через которого эта сеть достижима — параметры аналогичны информации, которую передают дистанционно-векторные протоколы.

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

[править] Внешние маршруты

OSPF использует два типа маршрутов для описания сетей вне автономной системы маршрутизатора:

Type 1 external routes — к метрике внешнего маршрута добавляется стоимость пути к ASBR, который анонсирует этот маршрут. Используется когда несколько маршрутизаторов анонсируют внешнюю сеть. Когда ABR передает type 5 LSA в другую зону, он создает type 4 LSA, которое указывает стоимость пути от этого ABR до ASBR, который создал type 5 LSA.

Маршрутизатор (не ABR), который находится в разных зонах с ASBR, будет высчитывать метрику внешнего маршрута E1 сложив следующие значения метрик:

Type 2 external routes (используется по умолчанию для внешних маршрутов) — используется стоимость внешнего маршрута и при передаче по сети стоимость не увеличивается. Другие маршрутизаторы, при получении type 5 LSA, просто добавляют в свою таблицу маршрутизации маршрут во внешнюю сеть со стоимостью, которая указана в type 5 LSA.

Хотя стоимость маршрута E2 не меняется при передаче его по зонам (не добавляется стоимость пути к ASBR), при совпадении стоимости маршрутов E2, сравнивается стоимость пути к ASBR, который анонсирует маршрут.

[править] Forwarding address в Type 5 LSA

В RFC 2328, в разделе 16.4 (Calculating AS external routes), указано:

If the forwarding address is non-zero, look up the forwarding address in the routing table. The matching routing table entry must specify an intra-area or inter-area path; if no such path exists, do nothing with the LSA and consider the next in the list.

Если forwarding address не равен 0.0.0.0, то для него выполняется проверка в таблице маршрутизации. Маршрут к этому адресу должен быть внутризональным или межзональным (не может быть внешним). Иначе изначальный внешний маршрут не учитывается.

Другими словами: нельзя использовать внешний маршрут для того чтобы дойти до другого внешнего маршрута. Это может привести к петлям, поэтому это запрещено

[править] Вычисление таблицы маршрутизации

В этом разделе описывается каким образом OSPF заполняет таблицу маршрутизации. Используя базы данных состояния каналов для зон к которым он подключен, маршрутизатор выполняет описанную последовательность действий, строя таблицу маршрутизации шаг за шагом. На каждом этапе маршрутизатор обращается к определенным участкам LSDB. Если в LSDB есть LSA у которых LS age равно MaxAge, то они не учитываются при вычислении таблицы маршрутизации.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *