Введение

Протокол маршрутизации для IP-сетей Open Shortest Path First (OSPF) — это протокол маршрутизации для сетей Internet Protocol (IP). Он использует алгоритм маршрутизации на основе состояния каналов (LSR) и относится к группе протоколов внутренней маршрутизации (IGP), работающих в пределах одной автономной системы (AS). OSPF собирает информацию о состоянии каналов с доступных маршрутизаторов и строит топологическую карту сети. Эта топология представляется в виде таблицы маршрутизации сетевому уровню для маршрутизации пакетов по IP-адресу назначения. OSPF поддерживает сети Internet Protocol версии 4 (IPv4) и Internet Protocol версии 6 (IPv6) и широко используется в крупных корпоративных сетях. IS-IS, другой протокол, основанный на LSR, более распространен в крупных сетях поставщиков услуг. Изначально разработанный в 1980-х годах, OSPF версии 2 определен в RFC 2328 (1998). Обновления для IPv6 специфицированы как OSPF версии 3 в RFC 5340 (2008). OSPF поддерживает модель адресации CIDR (Classless Inter-Domain Routing).

Отношения между маршрутизаторами

+ Типы сетей (OSPFv2) Тип сети Точка-точка (P2P) Вещание (по умолчанию) Невещательный многодоступ (NBMA) Точка-многоточка Точка-многоточка невещательный (P2MP NB) Пассивный Макс. маршрутизаторов в сети 2 Неограничено Неограничено Неограничено Неограничено Полная сетка предполагается style="text align:center;vertical align:bottom;border right: solid 2px " ✔ ✔ ✔ ✔ style="text align:center;vertical align:bottom;border right: solid 2px " ✔ style="text align:center;vertical align:bottom;border right: solid 2px " ✔ style="text align:center;vertical align:bottom;border right: solid 2px " Hello (по умолчанию Cisco) 10 10 30 30 Мертвые таймеры (по умолчанию Cisco) 40 40 120 120 Таймер ожидания: 0 равен мертвому таймеру равен мертвому таймеру 0 0 Автоматическое обнаружение соседей style="text align:center;vertical align:bottom;border right: solid 2px " style="text align:center;vertical align:bottom;border right: solid 2px " style="text align:center;vertical align:bottom;border right: solid 2px " Обнаружение и hello отправляются на 224.0.0.5 224.0.0.5 IP-адрес соседа 224.0.0.5 IP-адрес соседа Коммуникация с соседом отправляется на 224.0.0.5 Одноадресная рассылка Одноадресная рассылка Одноадресная рассылка Одноадресная рассылка LSA отправляются на: 224.0.0.5 DR/BDR: 224.0.0.6 Все: 224.0.0.5 DR/BDR: 224.0.0.6 Все: 224.0.0.5 Одноадресная рассылка Одноадресная рассылка IP-адрес следующего хопа: Пир Исходный маршрутизатор Исходный маршрутизатор Концентратор Концентратор Импортируется в OSPF как: Stub и P2P Транзит Транзит Stub и P2P Stub и P2P Stub

OSPF поддерживает сложные сети с несколькими маршрутизаторами, включая резервные маршрутизаторы, для балансировки нагрузки трафика на несколько каналов связи с другими подсетями. Соседние маршрутизаторы в одном домене вещания или на каждом конце канала точка-точка взаимодействуют друг с другом посредством протокола OSPF. Маршрутизаторы формируют соседства, когда они обнаруживают друг друга. Это обнаружение инициируется, когда маршрутизатор идентифицирует себя в пакете протокола hello. После подтверждения устанавливается двустороннее состояние и наиболее базовые отношения. Маршрутизаторы в сети Ethernet или Frame Relay выбирают назначенный маршрутизатор (DR) и резервный назначенный маршрутизатор (BDR), которые действуют как концентратор для уменьшения трафика между маршрутизаторами. OSPF использует как одноадресные, так и многоадресные режимы передачи для отправки пакетов "hello" и обновлений состояния связей. Как протокол маршрутизации на основе состояния связей, OSPF устанавливает и поддерживает отношения соседства для обмена обновлениями маршрутизации с другими маршрутизаторами. Таблица отношений соседства называется базой данных смежности. Два маршрутизатора OSPF являются соседями, если они являются членами одной и той же подсети и имеют одинаковый идентификатор области, маску подсети, таймеры и аутентификацию. По сути, соседство OSPF — это отношения между двумя маршрутизаторами, которые позволяют им видеть и понимать друг друга, но не более того. Соседи OSPF не обмениваются информацией о маршрутизации, единственные пакеты, которые они обменивают, — это пакеты hello. Смежности OSPF формируются между выбранными соседями и позволяют им обмениваться информацией о маршрутизации. Два маршрутизатора должны сначала быть соседями, и только тогда они могут стать смежными. Два маршрутизатора становятся смежными, если по крайней мере один из них является назначенным маршрутизатором или резервным назначенным маршрутизатором (в сетях многодоступного типа) или они соединены между собой посредством сети типа точка-точка или точка-многоточка. Для формирования отношений соседства интерфейсы, используемые для формирования этих отношений, должны находиться в одной и той же области OSPF. Хотя интерфейс может быть настроен для принадлежности к нескольким областям, это обычно не практикуется. При настройке во второй области интерфейс должен быть настроен как вторичный интерфейс.

Косвенные соединения

Виртуальная связь поверх виртуальных связей, туннелирование и фиктивные связи – это форма соединений, проходящая через маршрутизирующий движок и не являющаяся прямым соединением с удаленным хостом. Виртуальные связи: пакеты передаются как одноадресные. Могут быть настроены только в не-базовой области (но не в области-пеньке). Конечные точки должны быть ABR, при этом виртуальные связи функционируют как ненумерованные соединения типа «точка-точка». К стоимости связи добавляется стоимость внутриобластного пути между двумя маршрутизаторами. Виртуальная связь через туннелирование (например, GRE и WireGuard): поскольку OSPF не поддерживает виртуальные связи для областей, отличных от базовой, обходным решением является использование туннелирования. Если используется один и тот же IP-адрес или ID маршрутизатора, связь создает два маршрута равной стоимости к месту назначения. Фиктивная связь: внутриобластная связь, соединяющая два узла через магистраль MPLS VPN, которая предпочтительнее внутренней внутриобластной "OSPF-связи задней двери" между теми же двумя узлами. Фиктивная связь необходима только в том случае, если магистраль MPLS VPN предпочтительнее связи OSPF задней двери.

Машина соседних состояний

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

Изменения в соседних государствах

Вниз: Состояние "Вниз" представляет собой начальное состояние соединения, когда между маршрутизаторами, использующими протокол Hello, не было обменено и сохранено никакой информации. Попытка: Состояние "Попытка" аналогично состоянию "Вниз", за исключением того, что маршрутизатор пытается установить соединение с другим маршрутизатором, но используется только в сетях не широковещательного множественного доступа (NBMA). Init: Состояние "Init" указывает на то, что от соседа был получен Hello-пакет, но двустороннее соединение еще не установлено. Двустороннее: Состояние "Двустороннее" указывает на установление двунаправленного соединения между двумя маршрутизаторами. Это состояние непосредственно предшествует установлению соседства. Это минимальное состояние маршрутизатора, который может рассматриваться в качестве DR.

Обмен базами данных

Начало обмена (exstart): состояние exstart – это первый этап установления соседства между двумя маршрутизаторами. Обмен: в состоянии обмена маршрутизатор отправляет информацию о своей базе данных состояний связей соседнему маршрутизатору. В этом состоянии маршрутизатор может обмениваться всеми пакетами протокола маршрутизации OSPF. Загрузка: в состоянии загрузки маршрутизатор запрашивает у соседа, обнаруженного на предыдущем этапе, наиболее актуальные объявления о состоянии связей (LSA). Полное: состояние полного соседства означает завершение процесса установления соседства, когда маршрутизаторы полностью синхронизированы, и это состояние отражается во всех маршрутизаторах и сетевых LSA. Базы данных состояний связей соседних маршрутизаторов полностью синхронизированы.

Сети вещания

В сетях множественного доступа с широковещанием соседство формируется динамически с использованием многоадресных пакетов приветствия для:
IP 192.0.2.1 > 224.0.0.5: OSPFv2, привет
IP 192.0.2.2 > 224.0.0.5: OSPFv2, привет
IP 192.0.2.1 > 192.0.2.2: OSPFv2, описание базы данных
IP 192.0.2.2 > 192.0.2.1: OSPFv2, описание базы данных

Пассивная сеть

Сеть, в которой OSPF объявляет о сети, но не устанавливает соседство с другими маршрутизаторами.

Область позвоночника

Область основы (также известная как зона 0 или зона 0.0.0.0) образует ядро сети OSPF. Все остальные области подключаются к ней либо напрямую, либо через другие маршрутизаторы. OSPF требует этого для предотвращения петель маршрутизации. Междоменная маршрутизация осуществляется через маршрутизаторы, подключенные к области основы и к их собственным областям. Это логическая и физическая структура для "домена OSPF" и связана со всеми ненулевыми областями в домене OSPF. В OSPF термин "автономный системный граничный маршрутизатор" (ASBR) является историческим, поскольку многие домены OSPF могут сосуществовать в одной и той же автономной системе, видимой в Интернете, согласно RFC 1996. Все области OSPF должны быть подключены к области основы. Однако это подключение может осуществляться через виртуальную связь. Например, предположим, что область 0.0.0.1 имеет физическое подключение к области 0.0.0.0. Предположим также, что область 0.0.0.2 не имеет прямого подключения к области основы, но имеет подключение к области 0.0.0.1. Область 0.0.0.2 может использовать виртуальную связь через транзитную область 0.0.0.1 для достижения области основы. Чтобы быть транзитной областью, область должна иметь атрибут транзита и не может быть ни в коем случае усеченной.

Регулярная площадь

Регулярная область — это просто не магистральная (ненулевая) область без каких-либо специфических признаков, генерирующая и принимающая суммарные и внешние LSA. Магистральная область — это особый тип такой области.

Полностью обнаженная зона

Полностью заблокированная область аналогична области-пню. Однако, в отличие от области-пня, в этой области не разрешается распространение суммарных маршрутов, а также внешних маршрутов, то есть межобластные (IA) маршруты не суммируются для полностью заблокированных областей. Единственный способ маршрутизации трафика за пределы области – это маршрут по умолчанию, который является единственным LSA типа 3, рекламируемым в этой области. Когда из области есть только один выходной маршрут, маршрутизатору требуется принимать меньше решений о маршрутизации, что снижает использование системных ресурсов. Иногда говорят, что в полностью заблокированной области может быть только один ABR.

Совершенно не такая упрямая область

В дополнение к стандартной функциональности NSSA, полностью заблокированный NSSA является NSSA, который приобретает атрибуты TSA, что означает, что маршруты типа 3 и 4 не распространяются в этот тип области. Также возможно объявить область одновременно полностью заблокированной и не заблокированной, что означает, что область будет получать только маршрут по умолчанию из области 0.0.0.0, но также может содержать автономный граничный маршрутизатор (ASBR), который принимает внешнюю информацию о маршрутизации и внедряет её в локальную область, а из локальной области – в область 0.0.0.0. Перераспределение в область NSSA создает специальный тип LSA, известный как тип 7, который может существовать только в области NSSA. ASBR NSSA генерирует этот LSA, а ABR-маршрутизатор NSSA преобразует его в LSA типа 5, который распространяется по домену OSPF. Недавно приобретенная дочерняя компания – один из примеров, когда может быть целесообразно, чтобы область была одновременно не заблокированной и полностью заблокированной, если практичное место для размещения ASBR находится на границе полностью заблокированной области. В таком случае ASBR отправляет внешние маршруты в полностью заблокированную область, и они становятся доступными для маршрутизаторов OSPF в этой области. В реализации Cisco внешние маршруты могут быть суммированы перед внедрением в полностью заблокированную область. В общем случае ASBR не должен рекламировать маршрут по умолчанию в TSA NSSA, хотя это может работать при чрезвычайно тщательном проектировании и эксплуатации, для ограниченного числа особых случаев, когда такая реклама имеет смысл. Объявление полностью заблокированной области как NSSA предотвращает попадание в данную область каких-либо внешних маршрутов из магистрали, за исключением маршрута по умолчанию. Внешние маршруты достигают области 0.0.0.0 через TSA NSSA, но в TSA NSSA не попадают никакие другие маршруты, кроме маршрута по умолчанию. Маршрутизаторы в TSA NSSA отправляют весь трафик в ABR, за исключением маршрутов, рекламируемых ASBR.

Определенный маршрутизатор

Определенный маршрутизатор (DR) — это интерфейс маршрутизатора, избираемый из всех маршрутизаторов в конкретном сегменте сети с многоточечным доступом, который обычно считается широковещательным. Для поддержки функции DR на средах с нешироковещательным многоточечным доступом (NBMA) могут потребоваться специальные методы, часто зависящие от производителя. Как правило, рекомендуется настраивать отдельные виртуальные каналы подсети NBMA как отдельные линии «точка-точка»; используемые методы зависят от реализации.

Защита назначенного маршрутизатора

Резервный назначенный маршрутизатор (BDR) – это маршрутизатор, который становится назначенным маршрутизатором, если текущий назначенный маршрутизатор выходит из строя или имеет проблемы. BDR – это маршрутизатор OSPF со вторым по величине приоритетом на момент последних выборов. У одного маршрутизатора некоторые интерфейсы могут быть назначены (DR), другие – резервно назначены (BDR), а остальные – не назначены. Если в данной подсети нет ни одного маршрутизатора, являющегося DR или BDR, сначала выбирается BDR, а затем проводится второй тур выборов для DR. Более высокое значение приоритета увеличивает шансы стать DR или BDR. Если маршрутизатор OSPF с более высоким приоритетом включается после завершения выборов, он не станет DR или BDR, пока (как минимум) текущие DR и BDR не выйдут из строя. Если текущий DR выходит из строя, текущий BDR становится новым DR, и проводятся новые выборы для выбора нового BDR. Если новый DR затем выходит из строя, а исходный DR снова становится доступным, ранее выбранный BDR станет DR.

OSPF в3

Версия 3 OSPF вносит изменения в реализацию протокола IPv4.

Инженеры дорожного движения

OSPF TE – это расширение протокола OSPF, которое расширяет его возможности для обеспечения управления трафиком и использования в сетях, отличных от IP. С помощью OSPF TE можно обмениваться более подробной информацией о топологии, используя непрозрачные LSA, содержащие элементы типа – длина – значение. Эти расширения позволяют OSPF TE функционировать независимо от сети передачи данных. Это означает, что его можно использовать и в сетях, не использующих IP, например, в оптических сетях. OSPF TE применяется в сетях GMPLS для описания топологии, по которой могут быть установлены пути GMPLS. GMPLS использует собственные протоколы установки путей и пересылки данных после получения полной карты сети. В протоколе резервирования ресурсов (RSVP) OSPF TE используется для регистрации и распространения информации о зарезервированной пропускной способности RSVP для путей с коммутацией меток в базе данных состояний сети.

Оптическое маршрутизатор

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

Multicast Открыть кратчайший путь

Протокол Multicast Open Shortest Path First (MOSPF) является расширением протокола OSPF для поддержки многоадресной маршрутизации. MOSPF позволяет маршрутизаторам обмениваться информацией о принадлежности к группам.

Приложения

OSPF – это широко используемый протокол маршрутизации, способный обеспечить сходимость сети за несколько секунд и гарантировать отсутствие петель маршрутизации. Он обладает множеством функций, позволяющих задавать политики распространения маршрутов, которые целесообразно оставить локальными, для балансировки нагрузки и выборочного импорта маршрутов. В отличие от него, IS-IS можно настроить для снижения нагрузки в стабильной сети, что более характерно для сетей провайдеров, чем для корпоративных. Исторически сложились обстоятельства, которые сделали IS-IS предпочтительным IGP для провайдеров, однако сегодня провайдеры могут выбрать использование возможностей современных эффективных реализаций OSPF, предварительно оценив преимущества и недостатки IS-IS в средах поставщиков услуг. Если маршрут по умолчанию к провайдеру вводится в OSPF из нескольких ASBR в виде внешнего маршрута типа I с одинаковой внешней стоимостью, другие маршрутизаторы будут выбирать ASBR с наименьшей стоимостью пути до него. Это можно настроить, изменяя внешнюю стоимость. Если маршруты по умолчанию от разных провайдеров вводятся с разной внешней стоимостью как внешние маршруты типа II, маршрут с наименьшей стоимостью становится основным, а маршрут с большей стоимостью – резервным.