Понимание терминологии и принципов работы протокола OSPF

Материал из Cisco CCNP
Версия от 10:11, 29 февраля 2012; imported>Artem (→‎Области OSPF)
Перейти к навигации Перейти к поиску

Здесь описываются основные характеристики протокола маршрутизации OSPF, включая описание link-state протоколов маршрутизации, зонной структуры, соседства в link-state протоколах, вычисление метрики и структуры данных.

Link-state протоколы маршрутизации

Необходимость преодолеть ограничения дистанционно-векторных протоколов привела к разработке протоколов маршрутизации link-state (состояния канала).

Link-state протоколы имеют следующие характеристики:

  • Быстрая реакция на изменения в сети.
  • Рассылка обновлений после изменения топологии.
Файл:Link state pr operation.png
Рис. 1. Работа link-state протокола.
  • Периодическая рассылка обновлений (link-state refresh) через длительный интервал времени (30 мин. по умолчанию).

Link-state протоколы генерируют обновления маршрутизации только после изменений в топологии сети. Когда канал меняет состояние, устройство, которое обнаружило измнение, создаёт LSA-анонс (link-state advertisement - объявление состояния канала), относящийся к этому каналу (рис. 1). Обмен LSA между соседними маршрутизаторами информирует их о состоянии маршрутизаторов и соединений в сети. Каждый маршрутизатор хранит LSA, пересылает его соседям (в пределах зоны) и обновляет свою таблицу состояний каналов (link-state database - LSDB). LSA передаются всем соседним маршрутизаторам используя multicast-адрес 224.0.0.5. Когда маршрутизатор принимает LSA, он обновляет LSDB. LSDB используется для расчета лучшего маршрута по алгоритму Dijkstra, также известного как SPF (Shortest Path First), формируя SPF-дерево. Лучший маршрут, выбранный из SPF-дерева помещается в таблицу маршрутизации.

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

OSPF и IS-IS относятся к link-state протоколам.

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

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

Каждый OSPF-маршрутизатор должен иметь следующую информацию для принятия решения по выбору маршрута:

  • Информация о соседних маршрутизаторах. Если маршрутизатор потеряет контакт с соседом, в течении нескольких секунд он сбросит все маршруты, проходящие через этого соседа и произведет их пересчет. Информация о соседях хранится в таблице соседей (neighbor table), также называемой базой данных смежности (adjacency database).
  • Информация о всех маршрутизаторах области. Маршрутизатор распознает другие маршрутизаторы в области через LSA, которые распространяются в сети. LSA сохраняются в таблице топологии (LSDB).
  • Информация о лучшем маршруте к сети назначения. Каждый маршрутизатор независимо рассчитывает лучший маршрут, используя алгоритм SPF. Все возможные маршруты хранятся в таблице LSDB. Лучший маршрут затем включается в таблицу маршрутизации, иногда называемую базой данных пересылки (forwarding database).
Внимание!
OSPF neighbor table = adjacency database
OSPF topology table = OSPF topology database = LSDB
Routing table = Forwarding database

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

OSPF Area Structure

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

Файл:LargeOSPF network.png
Структура большой OSPF сети

Если зона становится слишком большой, то возникнут следующие проблемы:

  • Частый запуск алгоритма перерасчёта SPF - в больших сетях изменения неизбежны, поэтому маршрутизаторы тратят множество своих ресурсов на перерасчёт и обновление таблиц маршрутизации.
  • Большие таблицы маршрутизации - по умолчанию OSPF не суммирует маршруты вручную. Поэтому таблицы маршрутизации могут стать очень большими.
  • Большие базы LSDB - так как LSDB содержит топологию всей сети, каждый маршрутизатор должен иметь запись для каждой сети в зоне (area), даже если не каждый маршрут будет представлен в таблице маршрутизации.

В целях уменьшения количества операций SPF протоколы link-state позволяют разбивать сеть на субдомены, называемые областями (area).

Область - это логическая совокупность OSPF-сетей, маршрутизаторов и соединений, которые имеют одинаковый идентификатор области. Маршрутизатор ведет базу данных топологии для своей области и не владеет детальной информацией о топологии вне области, что уменьшает размер LSDB. Число маршрутизаторов в области и число LSA небольшое, поэтому и сами базы LSDB имеют небольшой размер => вычисления по алгоритму Дейкстры занимают меньше времени и требуют меньше ресурсов.

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

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

  • Сокращается частота пересчёта по SPF - потому что детальная инфа о маршрутах существует только в пределах какой-либо зоны. Нет необходимости распространять все изменения во все другие зоны. Таким образом, только маршрутизаторы, на которые влияют изменения, должны запускать SPF. Влияние изменений ограничено в пределах зоны.
  • Небольшие таблицы маршрутизации - маршруты к специфическим сетям зоны остаются в зоне. Вместо их анонсирования за пределы зоны маршрутизаторы могут быть настроены для анонсирования суммированного маршрута, что сократит число LSA между зонами, а доступность сетей при этом не пострадает.
  • Сокращение накладных расходов на LSU - LSU содержат различные типы LSA, включая информацию о состоянии каналов и суммировании. Вместо того чтобы отправить LSU с информацией о каждой сети в зоне, маршрутизатор может анонсировать один суммированный маршрут или небольшое число маршрутов между зонами, тем самым сократив накладные расходы связанные с LSU, при их переходы между зонами.

Протоколы link-state используют двухуровневую иерархию областей:

  • Транзитная область (Backbone area). Промежуточный тип OSPF-области внутри одного домена, главной функцией которого является быстра и эффективная пересылка пакетов. В транзитной области нет конечных пользователей. Она связана с другими типами зон. Область 0 является транзитной областью или ядром.
  • Обычная область (Regular area). Соединяет пользователей и ресурсы. Обычные области, как правило, устанавливаются по функциональному или географическому принципу. По умолчанию, обычная область не передает трафик от одной области к другой. Такой трафик должен передаваться через транзитную область. Обычная (немагистральная) область имеет ряд разновидностей: standard area, stub-area, totally stubby area (или totally NSSA, или totally stub NSSA, not-so-stubby area (NSSA).
Внимание!
В некоторых доках Cisco вы можете встретить определение backbone как транзитной сети. Однако, в OSPF RFC транзитная зона
относится к виртуальным каналам.

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

Области OSPF

В link-state протоколах маршрутизации, все маршрутизаторы должны иметь копии LSDB. Чем больше маршрутизаторов (и больше каналов между ними), тем больше база LSDB. С одной стороны знание обо всех маршрутах можно отнести к преимуществу, но такой подход не применим к масштабированию в больших сетях. Подход с использованием зон - это компромис. Маршрутизаторы внутри зоны содержат детальную информацию обо всех каналах и маршрутизаторах этой зоны. OSPF можно настроить так, чтобы только общая или суммированная информация о маршрутизаторах и каналах других областей была в БД на маршрутизаторах этой области.

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

Файл:Typy of OSPF routers.png
Типы маршрутизаторов OSPF

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

Рекомендации позволяющие не перегружать маршрутизаторы расчётами OSPF:

  • Зона должна содержать не более 50 маршрутизаторов.
  • Маршрутизатор должен быть не более чем в 3 зонах.

Конечно, не последюю роль играет стабильность каналов и дизайн сети.

Терминология зон