Понимание терминологии и принципов работы протокола OSPF — различия между версиями
imported>Artem (→Терминология зон) |
imported>Artem |
||
| Строка 91: | Строка 91: | ||
LSDB синхронизируются между парой соседних маршрутизаторов. | LSDB синхронизируются между парой соседних маршрутизаторов. | ||
| + | |||
| + | ==Соседство в OSPF== | ||
Версия 11:28, 29 февраля 2012
Здесь описываются основные характеристики протокола маршрутизации OSPF, включая описание link-state протоколов маршрутизации, зонной структуры, соседства в link-state протоколах, вычисление метрики и структуры данных.
Содержание
Link-state протоколы маршрутизации
Необходимость преодолеть ограничения дистанционно-векторных протоколов привела к разработке протоколов маршрутизации link-state (состояния канала).
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 и ОЗУ.
Если зона становится слишком большой, то возникнут следующие проблемы:
- Частый запуск алгоритма перерасчёта 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 до очень больших размеров.
Как уже было сказано, OSPF требует иерархической структуры, т.е. требуя чтобы все зоны подключались напрямую к нулевой зоне. На рисунке справа показаны типы маршрутизаторов OSPF.
Рекомендации позволяющие не перегружать маршрутизаторы расчётами OSPF:
- Зона должна содержать не более 50 маршрутизаторов.
- Маршрутизатор должен быть не более чем в 3 зонах.
Конечно, не последюю роль играет стабильность каналов и дизайн сети.
Терминология зон
OSPF-маршрутизаторы классифицируются по функциям, которые они выполняют:
- Внутренние маршрутизаторы (internal routers). Маршрутизаторы, интерфейсы которых находятся в одной области, имеющие идентичные LSDB.
- Магистральные маршрутизаторы (backbone routers). Маршрутизаторы расположенные внутри периметра магистральной области, как минимум один интерфейс которых соединен с областью 0. Магистральные маршрутизаторы поддерживают информацию о маршутах, используя такие же процедуры как и внутренние маршрутизаторы.
- Пограничные маршрутизаторы области (area borders routers - ABR). Маршрутизаторы, интерфейсы которых подключены к нескольких областям. Ведут различные LSDB для каждой области, к которой они подключены, и маршрутизируют трафик из или в эти области. ABR - это точки выхода для области. Трафик, направленный в другую область, обязательно проходит через ABR. ABR могут (и только они) быть настроены на суммирование маршрутов своих областей. ABR передают информацию о маршрутах в магистральную область. Магистральные маршрутизаторы передают эту информацию другим ABR. ABR разделяют LSA flooding зоны и могут функционировать как источник default маршрутов. Зона может иметь один или несколько ABR.
- Пограничные маршрутизаторы автономной системы (autonomous system boundary routers - ASBR). Маршрутизаторы, как минимум один интерфейс которых подключен к внешней сети (другой автономной системе), например к неOSPF-сети. ASBR могут импортировать информацию о маршрутах из внешней сети в свою сеть, и наоборот. Этот процесс называется перерараспределением (redistribution).
Маршрутизатор может принадлежать к нескольким типам. Маршрутизатор для каждой зоны, к которой он подключён, имеет отдельную базу LSDB. Получается, что LSDB имеет одну базу для зоны 0 и ещё одну для другой зоны, в которую он включён.
LSDB синхронизируются между парой соседних маршрутизаторов.