OSPF (Open Shortest Path First)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 23:03, 1 февраля 2015.
Версия от 23:03, 1 февраля 2015; egor zorin (обсуждение | вклад) (Новая страница: «В этом материале рассматриваются способы маршрутизации с помощью открытого протокола SP…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

В этом материале рассматриваются способы маршрутизации с помощью открытого протокола SPF (Open SPF — OSPF) версии 2. OSPF — это протокол маршрутизации с учетом состояния каналов, который имеет открытую спецификацию и был первоначально определен в документе RFC 1131, В дальнейшем спецификация этого протокола неоднократно дополнялась и а настоящее время определена в документе RFC 2328. Следует отметить, что ОSPF — очень надежный и развитый масштабируемый протокол маршрутизации; в связи с этим он является чрезвычайно сложным.

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

Содержание

Краткий обзор OSPF

Краткий обзор функционирования OSPF

Функционирование OSPF, которое рассматривается в общих чертах, выглядит не таким уж сложным. По сути, OSPF позволяет составить полную схему объединенной сети, а затем выбрать на основе этой схемы маршрут с наименьшей стоимостью. В соответствии со спецификацией OSPF, каждый маршрутизатор должен иметь полную схему всей сети (за несколькими исключениями, которые рассматриваются в разделе "Принципы работы OSPF" ниже в этом разделе). При отказе одного из каналов, OSPF позволяет быстро найти и применить альтернативный маршрут к получателю на основе такой схемы; при этом вероятность формирования маршрутных циклов исключена. Поскольку маршрутизаторы OSPF имеют информацию обо всех маршрутах в сети, они способны легко определить, может ли тот или иной маршрут вызвать цикл. OSPF — это протокол, в котором учитывается состояние каналов. Его функционирование основано на получении данных о состоянии сетевых соединений, или каналов.

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

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

  • Уменьшенные издержки. Как и EIGRP, протокол OSPF позволяет уменьшить сетевые издержки, необходимые для передачи обновлений маршрутов, за счет использования многоадресатной рассылки обновлений маршрутов, передачи обновлений маршрутов только при обнаружении какого-либо изменения (вместо периодической отправки всей таблицы маршрутизации) и передачи изменений в таблице маршрутизации (а не всей таблицы), только если обновление становится необходимым.
  • Поддержка VLSM и CIDR. Как и EIGRP, протокол OSPF предусматривает включение маски подсети в обновления маршрутов.
  • Поддержка несвязных сетей.
  • Поддержка суммирования маршрутов вручную.
  • Краткая продолжительность перехода в установившееся состояние. В хорошо спроектированной сети OSPF переход в установившееся состояние после отказа любого канала происходит очень быстро, поскольку протокол OSPF обеспечивает сопровождение полной топологической базы данных с информацией обо всех маршрутах в рассматриваемой области OSPF.
  • Формирование топологии без циклов.
  • Отсутствие иных ограничении на количество транзитных переходов к сети, кроме возможностей самих маршрутизаторов и длины поля TTL в пакете IP.

Кроме того, поскольку спецификации OSPF является полностью открытой, она позволяет обеспечить функциональную совместимость между маршрутизаторами, которые выпускаются разными изготовителями (этим преимуществом не обладают ни протокол EIGRP, ни протокол IGRP). В связи с перечисленными выше особенностями группа IETF рекомендует OSPF для повсеместного использования в качестве протокола внутреннего шлюза (IGР)[1].

Несмотря на все эти преимущества, протокол OSPF имеет несколько явных недостатков, описанных ниже, в разделе Принципы работы OSPF, где проводится сравнение OSPF с протоколами RIP, IGRP и EIGRP.

Термины и основные понятия OSPF

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

Фундаментальные термины

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

  • Канал. Прямое соединение с сетью (интерфейс маршрутизатора, ведущий к конкретной сети).
  • Состояние канала. Сведения о том, в каком состоянии находится канал (работоспособен, остановлен, закрыт и т.д.).
  • Стоимость. Метрика, связанная с каналом. В спецификации OSPF основным компонентом стоимости является пропускная способность канала (по умолчанию она составляет /пропускная способность).
  • Область. Часть сети, которой ограничивается формирование базы данных о состоянии каналов. Маршрутизаторы, находящиеся в одной и той же области, имеют одну и ту же базу данных о топологии сети. Для определения областей применяются идентификаторы областей. Области следует отличать от автономных систем. Любая область является частью некоторой автономной системы OSPF. Каждый канал может быть назначен в ту или иную область. Если к маршрутизатору подключен канал, полностью принадлежащий к некоторой области, то этот маршрутизатор считается внутренним (Internal Router — IR) по отношению к данной области, А если маршрутизатор имеет каналы к нескольким областям, находящимся в одной и той же автономной системе, он рассматривается как граничный маршрутизатор области (Area Border Router —- ABR). Если же маршрутизатор имеет каналы к разным автономным системам, он называется граничный маршрутизатором автономной системы (Autonomous System Border Router — ASBR).
  • Приветственный пакет. Пакет, применяемый для установления отношений соседства с непосредственно подключенными маршрутизаторами. Приветственные пакеты передаются через периодические интервалы, называемые тайм-аутами передачи приветственных сообщений, и служат для поддержки отношений соседства. Приветственные сообщения используются также для проверки двухсторонней связи, анонсирования требований по установлению отношению соседства и выбора назначенных маршрутизаторов (Designated Router — DR) и резервных назначенных маршрутизаторов (Backup Designated Router — BDR).
  • Тайм-аут регистрации отказа (называемый также тайм-аутом простоя). Интервал времени, применяемый для определения того, должно ли то или иное соседнее устройство рассматриваться как вышедшее из строя (аналогичный тайм-ауту удержания в протоколе EIGRP).
  • Отношения смежности.Виртуальное соединение с соседним устройством, через которое могут передаваться анонсы состояния каналов (Link Stale Advenisenient — LSA). Соседние устройства становятся смежными, по отношению к маршрутизаторам BDK и DR в сетях, основанных на широковещательной рассылке, и по отношению к удаленным маршрутизаторам в двухточечных сетях NBMA.
  • Соседнее устройство. Непосредственно подключенный маршрутизатор, с которым согласованы параметры передачи приветственных сообщений и может быть установлена двухсторонняя связь. Два маршрутизатора могут стать соседними устройствами только при следующих условиях: они должны иметь одинаковые тайм-ауты передачи приветственных сообщении и регистрации отказа, идентификаторы области, пароли, маски сети для канала, по которому поступают приветственные сообщения, и флажки тупиковой области. В отношения смежности могут вступить не все устройства, находящиеся в отношениях соседства.
  • Анонс состояния каналов (LSA). Анонс с информацией о состоянии одного иди нескольких каналов в топологии. Анонсы LSA входят в состав пакетов с обновлениями состояния каналов (пакетов типа 4), а частичные анонсы LSA включаются в состав пакетов с описанием базы данных (пакетов типа 2), пакетов с запросами состояния каналов (пакетов типа 3) и пакетов подтверждения состояния каналов (пакетов типа 5).
  • Список запросов состояния каналов. Список, применяемый для отслеживания анонсов LSA, которые должны быть затребованы. Если маршрутизатор обнаруживает, что он не имеет наиболее актуальную версию разосланного анонса LSA (или вообще не имеет этого анонса LSA) в пакете с описанием базы данных (пакете тип) или в пакете с запросами состояния каналов (пакете типа 3), он добавляет анонс LSA к данному списку.
  • Список повторной передачи информация о состояния каналов. Этот список содержит анонсы LSA, которые не были подтверждены. После передачи одного или нескольких анонсов LSA соседнему устройству в пакете с обновлениями состояния каналов (пакете типа 4) маршрутизатор ожидает подтверждения этого пакета. Не получив подтверждения до истечения тайм-аут повторной передачи, маршрутизатор передаст анонс LSA повторно. А после получения явного или неявного подтверждения маршрутизатор удаляет рассматриваемый анонс LSA из списка.
  • Неявное подтверждение. Подтверждение, которое происходит при обнаружением маршрутизатором пакета с обновлениями состояния каналов (пакета типа 4) от смежного соседнего устройства,который включает анонс перечисленный в списке повторной передачи информации о состоянии каналов для рассматриваемого смежного соседнею устройства.
  • Явное подтверждение. Подтверждение, которое происходит при получении маршрутизатором пакета с подтверждением состояния каналов (пакета типа S) от смежного соседнего устройства, который включает один или несколько анонсов LSA. перечисленных в списке повторном передачи информации о состоянии каналов для рассматриваемого смежного соседнего устройства.
  • Лавинная рассылка. Процесс перенаправления анонсов LSA через все применимые интерфейсы. (Определение применимого интерфейса зависит от типа LSA.)
  • Идентификатор маршрутизатора. Информация, идентифицирующая маршрутизатор Она может представлять собой (по умолчанию) IP-адрес интерфейса или статически определенное число. Каждый маршрутизатор в автономной системе должен иметь уникальный идентификатор.
  • Порядковый номер LSA. Номер, который присваивается каждому анонсу LSA для обозначения его версии. Как правило, порядковые номера увеличиваются на 1 после внесения каждого изменения в анонс LSA. Поэтому (обычно) старшими номерами обозначены последние по времени анонсы LSA.
  • Приоритет. Способность маршрутизатора стать назначенным или резервным назначенным маршрутизатором в результате выборов (описание процедуры выбора приведено ниже). Как правило, в любом сетевом сегменте назначенным становится маршрутизатор с наивысшим приоритетом. Приоритет определяется диапазоном от 0 до 255, а по умолчанию маршрутизаторам Cisco присвоено значение приоритета 1. Маршрутизаторы с приоритетом 0 не могут стать назначенными или резервными назначенными маршрутизаторами.

Типы пакетов

  • Заголовки пакетов OSPF (которые включены в пакеты всех типов). Содержат основную информацию, относящуюся к маршрутизатору, такую как версия OSPF, тип пакета, идентификатор маршрутизатора и идентификатор области.
  • Пакеты типа 1 (приветственные сообщения). Применяются для установления и поддержания отношений смежности. Приветственные пакеты содержат всю информацию, необходимую для установления отношений соседства, включая тайм-ауты передачи приветственных сообщений и регистрации отказа, пароли, маски сети для канала, по которому передаются приветственные сообщения, флажки тупиковой области, данные обо всех выбранных маршрутизаторах DR или ВDR,а также о любых известных соседних устройствах.
  • Пакеты типа 2 (пакеты с описанием базы данных). Применяются для формирования в маршрутизаторе базы данных с информацией о состоянии каналов при инициализации отношений смежности. Пакеты с описанием базы данных включают заголовки анонсов LSA (а не полные анонсы LSA), которые позволяют маршрутизатору-получателю проверить наличие в своей базе данных всех необходимых анонсов LSA.
  • Пакеты типа 3 (пакеты с запросами состояния каналов). Применяются для передачи соседним устройством запросов на получение конкретных анонсов LSA Пакеты с запросами состояния каналов передаются на основе записей в списке запросов состояния каналов.
  • Пакеты типа 4 (пикеты с обновлениями состояния каналов). Позволяют передавать анонсы LSA удаленным маршрутизаторам. Маршрутизатор выполняет лавинную рассылку этих пакетов при изменении одного из анонсов LSA или при получении запроса состояния каналов. Пакеты типа 4 должны подтверждаться.
  • Пакеты типа 5 (пакеты с подтверждениями состояния каналов). Передаются для явного подтверждения одного или нескольких анонсов LSA.

Типы анонсов LSA[2]

В данном разделе рассматриваются наиболее широко применяемые типы LSA.Существуют и другие типы, но они, как правило, не используются.

  • LSA типа 1 (запись с данными о каналах маршрутизатора). Вырабатываются каждым маршрутизатором для каждой области, к которой относится данный маршрутизатор. Эти анонсы LSA содержат информацию о состоянии всех каналов маршрутизатора к данной области и рассылаются лавинообразно во все каналы в пределах одной и той же области.
  • LSA типа 2 (запись с данными о сети). Вырабатывается назначенными маршрутизаторами для каждой сети, отличной от двухточечной (для сети с множественным доступом).Анонсы LSA типа 2 включают данные обо всех маршрутизаторах, подключенных к сети, в которой рассматриваемый маршрутизатор является назначенным.
  • LSA типа 3 (запись с итоговыми данными с состоянии каналов сети). Вырабатываются маршрутизаторами ABR и служат для передачи анонсов с информацией о внутренних сетях из некоторой конкретной области другим маршрутизаторам ABR. Затем другие маршрутизаторы ABR могут выбрать наилучший маршрут к сети (сетям) на основании всех полученных анонсов LSA типа 3 и лавинообразно разослать информацию о наилучшем маршруте по областям, отличным от опорных с помошью анонсов LSA типа 3. Следует отметить, что анонсы LSA типа 3 могут представлять или не представлять собой запись с суммарными данными о сети. Для включения в анонсы LSA типа 3 суммарных данных о сетях необходимо выполнить настройку конфигурации маршрутизаторов ABR таким образом, чтобы они суммировали записи. Анонсы LSA типа 3 не распространяются в полностью тупиковых областях (за исключением единственного анонса типа 3 с данными о стандартном маршруте).
  • LSA типа 4 (запись с суммарными данными о состоянии каналов ASBR). Применяются маршрутизаторами ABR для передачи анонсов с информацией о наилучших маршрутах к маршрутизаторам ASBR. Анонсы LSA типа 4 не рассылаются лавинообразно по тупиковым, полностью тупиковым и не полностью тупиковым областям (Not-So-Stubby Area — NSSA).
  • LSA типа 5 (запись с внешними данными об автономной системе, называемая так-же внешней записью). Передаются маршрутизаторами ASBR и содержат анонсы с информацией о получателях, внешних по отношению к данной автономной системе (сведения о получателях, распространяемые из другой автономной системы OSPF или из среды другого маршрутизирующего протокола). Лавинообразная рассылка записей типа 5 осуществляется по всей автономной системе, за исключением тупиковых, полностью тупиковых и не полностью тупиковых областей. Записи типа 5 подразделяются на два отдельных подтипа, в зависимости от применяемого способа вычисления метрики, которые представлены ниже:
  • Внешние записи типа 1 (External Туре 1 — E1). В записях E1 метрика вычисляется как сумма стоимости перераспределенного маршрута и стоимости каналов к маршрутизатору-отправителю. Записи El обычно используются, если какой-то внешний получатель анонсируется больше чем одним маршрутизатором ASBR.
  • Внешние записи типа 2 (External Туре 2 — Е2). Метрика в записях E2 вычисляется просто как стоимость перераспределенного маршрута. (Стоимость внутренних каналов к анонсирующему маршрутизатору ASBR в расчет не принимается.) В связи с этим записи Е2 имеют меньшую стоимость по сравнению с El и маршрутизаторы обычно предпочитают их записям E1.
  • LSA типа 7 (запись с данными о внешнем канале NSSA). Вырабатываются только маршрутизаторами ASBR в не полностью тупиковых областях. Лавинообразная рассылка анонсов LSA типа 7 осуществляется только в пределах данной области NSSA. Маршрутизаторы ABR преобразуют анонсы LSA типа 7 в анонсы LSA типа 5 для распределения по остальной части автономной системы. Анонсы LSA типа 7 также имеют два подтипа, описанных ниже:
  • Внешняя запись NSSA типа 1 (NSSA External Туре 1 — N1). В записях N1 метрика вычисляется как сумма стоимости перераспределенного маршрута и стоимости каналов к маршрутизатору-отправителю. Записи N1 обычно используются, если какой-то внешний получатель анонсируется больше чем одним маршрутизатором ASBR
  • Внешняя запись NSSA типа 2 (NSSA External Туре 2 — N2). Метрика в записях К2 вычисляется просто как стоимость перераспределенного маршрута (Стоимость внутренних каналов к анонсирующему маршрутизатору ASBR в расчет не принимается.) В связи с этим записи N2 имеют меньшую стоимость по сравнению с N1 и маршрутизаторы обычно предпочитают их записям N1.

Типы сетей

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

  • Широковещательная сеть (сеть с множественным доступом). Сеть, которая соответствует основным требованиям спецификации Ethernet, согласно которой любой хост, входящий в состав одной и той же логической сети, может обмениваться данными с любым другим хостом той же сети. В этой конфигурации осуществляются выборы назначенных и резервных назначений маршрутизаторов,а отношения соседства и смежности устанавливаются автоматически. По умолчанию тайм-аут передачи приветственных сообщений в такой сети составляет 10 секунд, а тайм-аут регистрации отказа — 40 секунд.
  • Двухточечная сеть. Это сеть, в которой один канал распределенной сети (обычно постоянный виртуальный канал Frame Relay) соединяет два маршрутизатора. В сети такого типа могут находиться несколько маршрутизаторов, соединенных многочисленными каналами. Каждый канал должен иметь свой собственный логический сетевой адрес. В такой среде выборы назначенных и резервных назначенных маршрутизаторов не осуществляются (или не требуются), а настройка конфигурации отношений смежности между соседними устройствами выполняется автоматически. По умолчанию тайм-аут передачи приветственных сообщений в такой сети составляет 10 секунд, а тайм-аут регистрации отказа — 40 секунд.
  • Многоточечная сеть (полносвязная сеть NBMA с эмуляцией широковещательной рассылки). Сеть, в которой каждый маршрутизатор имеет многоточечное соединение с каждым другим маршрутизатором. Следует отметить, что это не единственное многоточечное соединение между центральным маршрута затором и всеми остальными маршрутизаторами (поскольку имела бы место звездообразная топология), а именно многоточечное соединение (в результате чего топология становится полноосвязной). В подобной среде можно настроить все маршрутизаторы на использование одной и той же логической сети для эмуляции полносвязной сети и разрешить перенаправление широковещательных сообщений через многоточечные соединения. Кроме того, в этой среде осуществляются выборы назначенных и резервных назначенных маршрутизаторов, а настройка конфигурации отношений смежности между соседними устройствами выполняется автоматически. По умолчанию тайм-аут передачи приветственных сообщений в такой сети составляет 10 секунд, а тайм-аут регистрации отказа — 40 секунд.
  • Многоточечная сеть (полносвязная сеть NBMA). В сети такого типа каждый маршрутизатор имеет многоточечное соединение с каждым другим маршрутизатором. Следует отметить,, что это не единственное многоточечное соединение шеищу центральным маршрутизатором и всеми остальными маршрутизаторами (поскольку имела бы место звездообразная топология), а скорее многоточечное соединение (в результате чего топология становится полносвязной).Все маршрутизаторы используют один и тот же логический сетевой адрес, но эмуляция широковещательной рассылки запрещена. В этой среде осуществляются выборы назначенных и резервных назначенных маршрутизаторов, а настройка конфигурации отношений смежности между соседними устройствами должна быть выполнена вручную. По умолчанию тайм-аут передачи приветственных сообщений в такой сети составляет 30 секунд, а тайм-аут регистрации отказа — 120 секунд.
  • Многоточечная сеть (звездообразная или частично связная сеть NBMA).Разновидность сети,в которой один или несколько маршрутизаторов формируют частично связную или звездообразную топологию с помощью многоточечных каналов. В сетях с подобной технологией все маршрутизаторы используют один и тот же логический сетевой адрес.В такой среде выборы назначенных и резервных назначенных маршрутизаторов не осуществляются (или не требуются), а настройка конфигурации отношении смежности между соседними устройствами должна быть выполнена вручную, По умолчанию тайм-аут передачи приветственных сообщений в такой сети составляет 30 секунд, а тайм-аут регистрации отказа — 120 секунд.
  • Транзитная сеть (все возможные типы топологий). Разновидность сети с подключенными маршрутизаторами OSPF. В спецификации OSPF предусмотрена возможность применять транзитные сети для перенаправления пакетов к другим маршрутизаторам OSPF. Иными словами, транзитная сеть может получать пакета данных, предназначенные для других сетей, и просто пропускать их через себя.
  • Тупиковая сеть. Сеть,к которой подключен только один маршрутизатор OSPF. Тупиковые сети получают пакеты данных, предназначенные только для этой тупиковой сети[3].
  • Виртуальный канал. Канал, применяемый для соединения удаленной области с опорной областью через другую автономную систему. Виртуальные каналы не имеют IP-адреса и аналогичны туннелям через область, отличную от опорной, предназначенным для перенаправления пакетов в опорную область.В хорошо спроектированной сети OSPF постоянные виртуальные каналы не должны существовать.

Базы данных и таблицы

  • База данных об отношениях соседства (таблица соседних устройств). Содержит список всех маршрутизаторов, с которыми установлены двухсторонние отношения соседства. В этой базе данных для каждого соседнего устройства указан идентификатор маршрутизатора, приоритет, состояние отношений соседства, обозначение маршрутизатора, оставшаяся продолжительность тайм-аута регистрации отказа и IP-адрес интерфейса. Если некоторый маршрутизатор непосредственно связан с другим маршрутизатором через несколько логических сетей,он должен иметь с ним несколько установленных отношений соседства.
  • База данных о состоянии каналов {База данных о топологии). Содержит все записи LSA для данной области и используется для формирования таблицы маршрутизации.В этой базе данных для каждого маршрутизатора в рассматриваемой области должны быть перечислены все каналы, принадлежащие ко всей области (а также внешние маршруты). Следовательно, каждый маршрутизатор в некоторой конкретной области должен иметь идентичную копию базы данных о состоянии каналов для этой области.
  • Таблица маршрутизации (база данных о перенаправлении). Содержит сведения о наилучших действительных маршрутах ко всем известным получателям.(Таблица маршрутизации в OSPF является такой же, как и в любом другом маршрутизируемом протоколе.) Она формируется путем применения алгоритма SPF к базе данных о состоянии каналов.

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

  • Назначенный маршрутизатор (DR). Маршрутизатор, определенный в процессе проведения выборов в качестве основного "анонсирующего маршрутизатора" для данной отдельной рассматриваемой логической сети и для всех маршрутизаторов,подключенных к этой сети. Назначенным обычно становится маршрутизатор с наивысшим приоритетом. Назначенные маршрутизаторы существуют только в сетях с множественным доступом, в которых имеется несколько маршрутизаторов,работающих по протоколу OSPF. Назначенный маршрут и затор устанавливает отношения смежности со всеми остальными маршрутизаторами в сети.
  • Резервный назначенный маршрутизатор (BDR).Маршрутизатор, выбранный в качестве второго по значению анонсирующего маршрутизатора для данной отдельной рассматриваемой логической сети и для всех маршрутизаторов,подключенных к этой сети. Резервным назначенным обычно становится маршрутизатор со вторым по величине приоритетом. Резервные назначенные маршрутизаторы существуют только в сетях с множественным доступом, в которых имеется несколько маршрутизаторов, работающих по протоколу OSPF. Резервный назначенный маршрутизатор также устанавливает отношения смежности со всеми остальными маршрутизаторами в сети.
  • Маршрутизатор, отличный от назначенного (DROther). Маршрутизатор OSPF, который не выполняет функций назначенного или резервного назначенного маршрутизатора в сети со множественным доступом, имеющей несколько маршрутизаторов OSPF. Маршрутизаторы типа DROther устанавливают отношения смежности в данной логической сети только с маршрутизаторами DR и BDR.
  • Внутренннй маршрутизатор.Любой маршрутизатор, все интерфейсы которою относятся к одной и той же области. Все внутренние маршрутизаторы данной области имеют одну и ту же, идентичную базу данных о топологии.
  • Опорный маршрутизатор. Любой маршрутизатор, который имеет хотя бы один интерфейс в области 0 (в опорной области).
  • Граничный маршрутизатор области (ABR). Любой маршрутизатор, который имеет один или несколько интерфейсов в различных областях. Маршрутизаторы ABR используется для суммирования маршрутов и перенаправления пакетов по маршрутам между разными областями.
  • Граничный маршрутизатор автономной системы (ASBR). Любой маршрутизатор, который перераспределяет информацию о маршрутах из среды другого маршрутизирующего протокола или из другой автономной системы OSPF в указанную автономную систему OSPF.

Состояния отношений соседства

  • Состояние останова. Первоначальное состояние соседнего устройства. Информация о соседних устройствах, находящихся в состоянии останова, отсутствует в таблице соседних устройств.
  • Состояние осуществления попыток. В сетях, отличных от NBMA, это — состояние, в котором маршрутизатором предпринимаются попытки установить отношения соседства. А в сетях NBMA информация о соседних устройствах должна быть введена в конфигурацию вручную.В таких сетях при осуществлении попыток установите отношения соседства приветственные сообщения передаются всем соседним устройствам, заданным в конфигурации, в форме одноадресатной рассылки.
  • Состояние инициализации. Это состояние, которое показывает, что маршрутизатор недавно получил приветственное сообщение от своего соседнего устройства (т.е. не истек тайм-аут регистрации отказа со времени получения последнего приветственного сообщения), но все еще не обнаружил свой собственный идентификатор маршрутизатора, который был бы приведен в приветственном пакете соседнего устройства (а это означает, что соседним устройством еще не получено приветственное сообщение с данного маршрутизатора).Как только маршрутизатор достигает этого состояния отношений с соседним устройством, он начинает включать идентификатор соседнего устройства в свои приветственные пакеты.
  • Состояние двухсторонней связи. Это состояние, в котором находится маршрутизатор, обнаруживший свой собственный идентификатор маршрутизатора в приветственном пакете соседнего устройства. Это означает, что соседним устройством было получено его приветственное сообщение и установлена двухсторонняя связь.
  • Послестартовое состояние. Это состояние, В котором находятся соседние устройства, уже выбранные для формирования отношений смежности и находящиеся в процессе определения того, как передавать друг другу пакеты с описанием базы данных (пакеты OSPF типа 2).
  • Состояние обмена. Состояние, в котором маршрутизаторы обмениваются пакетами с описанием базы данных (пакетами ОSРF типа 2).
  • Состояние загрузки. Состояние, в котором маршрутизаторы передают пакеты запросов состояния каналов (пакеты OSPF типа 3), касающиеся всех анонсов LSA, перечисленных в списке запросов состояния каналов, и получают в ответ gакеты с обновлениями состояния каналов (пакеты OSPF типа 4).
  • Состояние полной смежности. Это состояние,в котором соседние устройства полностью перешли в состояние смежности и должны иметь идентичные копии базы данных о состояний каналов для рассматриваемой области.

Типы областей

  • Стандартная область. Область наиболее распространенного типа. Стандартной является любая область, которая не относится к типу опорной области и не представляет собой ту или иную форму тупиковой области. Стандартные области поддерживают анонсы LSA типов 1—5.
  • Опорная область (область 0). Это центр автономной системы OSPF. Опорная область отвечает за перенаправление трафика между областями. В среде OSPF, состоящей из многочисленных областей, все области должны иметь соединение c опорной областью.
  • Транзитная область. Область, по которой может проходить трафик из других областей на пути к конечному получателю. Опорная область рассматривается как транзитная область.
  • Тупиковая область. Область, для которой существует только один способ достичь внешних получателей (находящихся в других автономных системах). По этой причине для тупиковой области анонсы LSA типа 4 или типа 5 не требуются. Вместо этого в тупиковую область передается единственный анонс LSA типа 3 для создания стандартного маршрута, чтобы в ней существовал маршрут к внешним получателям. Для тупиковых областей требуется меньше сетевых ресурсов, процессорных ресурсов и ресурсов оперативной памяти, поскольку в них не нужно хранить в таблицах топологии внешние анонсы LSA. В тупиковых областях допускается применение только анонсов LSA типов 1-3.
  • Полностью тупиковая область. Область, для которой существует только один способ достичь внешних получателей (находящиеся в других автономных системах) и получателей, которые находятся в других областях. Иными словами, в полностью тупиковой области предусмотрен только один способ достижения получателей, внешних по отношению к данной области. Поэтому для полностью тупиковой области не требуются анонсы LSA типов 3, 4 или 5. В тупиковую область передается информация о единственном стандартном маршруте для создания маршрута ко всем получателям, и с относящимся к рассматриваемой полностью тупиковой области. Поэтому для полностью тупиковых областей требуется еще меньше ресурсов, чем для тупиковых областей. И полностью тупиковых областях допускается передача только анонсов LSA типов 1 и 2 {если не считать единственного анонса LSA типа 3 с информацией о стандартном маршруте). Полностью тупиковые области представляют собой дополнение к спецификации OSPF, которое не определено в документе RFC (оно определено только в документации Cisco).
  • Не полностью тупиковая область (NSSA). Область, для которой требуется передача внешних анонсов LSA от одного из маршрутизаторов ASBR в пределах данной области, но имеется лишь единственный маршрут к маршрутизаторам ASBR, находящимся в других областях.Поскольку область NSSA имеет только один маршрут к внешним получателям, достигаемым с помощью маршрутизаторов ASBR в других областях, область NSSA обычно способна стать тупиковой областью. Но поскольку тупиковые области не допускают использование анонсов LSA типа 5), а область NSSA включает один из маршрутизаторов ASBR (который вырабатывает анонсы LSA типа 5). область NSSA должна представать собой стандартную транзитную область (что влечет за собой увеличение объема ресурсов, требуемых для поддержки такой области).В этом случае конфигурация области может быть настроена на использование в качестве NSSA. Маршрутизаторы ASBR в области NSSA вырабатывают анонсы LSA типа 7 {вместо анонсов LSA типа 5) для анонсирования сведений о внешних получателях, а маршрутизатор ABR для данной области NSSA преобразует анонсы LSA типа 7 в анонсы LSA типа 5, передаваемые в остальную часть автономной системы. Области NSSA все еще не допускают использования анонсов LSA типа 4 или 5 и в них применяется единственный стандартный маршрут для достижения внешних получателей, анонсированных маршрутизаторами ASBR, находящимися в других областях. Области NSSA определены в RFC (они описаны в документе RFC 1578).

Типы получателей

  • Сеть. Типичная запись в таблице маршрутизации. Она определяет сети, в которое могут перенаправляться пакеты (как и обычные записи таблицы маршрутизации).
  • Маршрутизатор. Данные о маршрутах к маршрутизаторам ASBR и ABR. Поскольку маршрут и затор OSPF должен иметь информацию о том, где находятся маршрутизаторы ABR, чтобы правильно перенаправлять пакеты, передаваемые из одной области в другую, в его внутренней таблице маршрутизации должно находиться по одной записи для каждого маршрутизатора ABR. Аналогичным образом, во внутренней таблице маршрутизации должно находиться по одной записи для каждого маршрутизатора ASBR.

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

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

  • Внутренний маршрут области. Записи таблицы маршрутизации, относящиеся к той области, в состав которой входит рассматриваемый маршрутизатор.Если маршрутизатор является внутренним, он имеет информацию только о внутренних маршрутах области, относящуюся к единственной области, А если маршрутизатор принадлежит к типу ABR, он имеет информацию о внутренних маршрутах области для всех подключенных в нему областей. Внутренние маршрута области формируются с помощью анонсов LSA типов 1 и 2
  • Маршруты между областями. Маршруты к получателям, находящимся в другой области той же автономной системы OSPF. Маршруты между областями формируются с помощью анонсов LSA типа 3.
  • Внешний маршрут типа E1. Записи, которые формируются с помощью анонсов LSA Е1 типа 5. распространяемых маршрутизаторами ASBR.
  • Внешний маршрут типа Е2. Записи, которые формируются с помощью анонсов LSA Е2 типа 5, распространяемых маршрутизаторами ASBR.

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

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

В OSPF автономная система представляет собой домен процесса. Для направления пакетов между доменами процессов маршрутизатор ASBR OSPF должен обеспечивать три распределения маршрутов. В маршрутизаторах Cisco домены процессов определяются с помощью идеитификатора процесса — произвольного числа, определяющего данную автономную систему в каждом отдельном маршрутизаторе. Следует отметить, что в OSPF идентификатор процесса имеет смысл только для маршрута и затора, в конфигурацию которого включено это число. Иными словами, идентификаторы процессов в двух маршрутизаторах не обязательно должны совпадать для того, чтобы эти маршрутизаторы могли установить отношения смежности. Действительное назначение идентификатора процесса состоит в том, чтобы дать возможность эксплуатировать несколько процессов OSPF в одном маршрутизаторе (с использованием средств перенаправления для передачи информации о маршрутах от одного процесса к другому)[4].

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

Рис.1.Различия между автономными системами,состоящими из одной и нескольких областей

В этом примере показаны две отдельные автономные системы; причем в автономной системе OSPF имеются три области. Информация о маршрутах перераспределяется между автономными системами с помощью маршрутизатора ASBR, который входит в состав обеих автономных систем и в котором эксплуатируются протоколы OSPF н EIGRP. Маршруты между областями OSPF суммируются маршрутизаторами ABR и передаются в опорную область (область 0), где находится еще один маршрутизатор ABR, передающий информацию о наилучшем маршруте, соответственно, в каждую область.

Применение OSPF в автономной системе с одной областью

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

  • установление отношений соседства;
  • установление отношений смежности;
  • формирование базы данных о состоянии каналов;
  • выполнение алгоритма SPF;
  • сокрашенные блок-схемы функционирования OSPF;
  • процедура внесения изменений;
  • типы сетей OSPF.

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

  • Резервный назначенный маршрутизатор (BDR).Маршрутизатор, выбранный в качестве второго по значению анонсирующего маршрутизатора для данной отдельной рассматриваемой логической сети и для всех маршрутизаторов,подключенных к этой сети. Резервным назначенным обычно становится маршрутизатор со вторым по величине приоритетом. Резервные назначенные маршрутизаторы существуют только в сетях с множественным доступом, в которых имеется несколько маршрутизаторов, работающих по протоколу OSPF. Резервный назначенный маршрутизатор также устанавливает отношения смежности со всеми остальными маршрутизаторами в сети.
  • Маршрутизатор, отличный от назначенного (DROther). Маршрутизатор OSPF, который не выполняет функций назначенного или резервного назначенного маршрутизатора в сети со множественным доступом, имеющей несколько маршрутизаторов OSPF. Маршрутизаторы типа DROther устанавливают отношения смежности в данной логической сети только с маршрутизаторами DR и BDR.
  • Внутренннй маршрутизатор.Любой маршрутизатор, все интерфейсы которою относятся к одной и той же области. Все внутренние маршрутизаторы данной области имеют одну и ту же, идентичную базу данных о топологии.
  • Опорный маршрутизатор. Любой маршрутизатор, который имеет хотя бы один интерфейс в области 0 (в опорной области).
  • Граничный маршрутизатор области (ABR). Любой маршрутизатор, который имеет один или несколько интерфейсов в различных областях. Маршрутизаторы ABR используется для суммирования маршрутов и перенаправления пакетов по маршрутам между разными областями.
  • Граничный маршрутизатор автономной системы (ASBR). Любой маршрутизатор, который перераспределяет информацию о маршрутах из среды другого маршрутизирующего протокола или из другой автономной системы OSPF в указанную автономную систему OSPF.

В следующем разделе описаны первые четыре этапа установления отношений соседства.

Установление отношений соседства

Прежде чем переходить к изучению процесса установления отношений соседства, необходимо отметить, что протокол OSPF не сосредотачивается на таком объекте, как маршрутизатор.В большей степени OSPF можно считать протоколом, который в основном сконцентрирован на понятии соединения. Иными слонами, OSPF возлагает на маршрутизатор различные обязанности с учетом особенностей каждого соединения с данным маршрутизатором. Читатель должен постоянно помнить Об этом, изучая приведенное ниже описание. Прежде всего, как описано в начале этой главы, соседним устройствам называется непосредственно подключенный маршрутизатор, с которым согласованы параметры обмена приветственными сообщениями и может быть установлена двухсторонняя связь. В протоколе OSPF, как и в EIGRP, два маршрутизатора могут получить какую-либо возможность обмениваться информацией о маршрутах только после того, как станут друг для друга соседними устройствами. Но в отличие от EIGRP, в OSPF соседние устройства для того, чтобы обмениваться информацией о маршрутах, должны стать смежными, но не все соседние устройства становятся смежными. На данный момент достаточно знать, что основной причиной, по которой маршрутизатор формирует отношения соседства является необходимость определить, с какими устройствами он может установить, двухстороннюю связь, а с какими сформировать отношения смежности. Процесс установления отношений соседства в скрепленной степени зависит от типа канала. Еще раз напомним, что в основе функционирование OSPF лежит соединение, поэтому процесс установления отношении соседства в одном и том же маршрутизаторе может изменяться в зависимости от типа интерфейса. В каналах к сетям с множественним доступом (таким как Ethernet) маршрутизатор OSPF начинает процесс установления отношении соседства с многоадресатной рассылки приветственного пакета по зарезервированному для всех маршрутизаторов OSPF многоадресатному адресу, 224.0.0.5. Bсе маршрутизаторы OSPF принимают и обрабатывают пакеты, передаваемые по этому адресу, а маршрутизаторы, отличные от OSPF, и пользовательские устройства просто игнорируют эти пакеты. Приветственный пакет содержит информацию, описанную ниже:

  • идентификатор маршрутизатора-отправителя;
  • идентификагор области для интерфейса, через который был передан данный приветственный пакет;
  • маска подсети для интерфейса, через который был передан данный приветственный пакет;
  • тип аутентификации (без аутентификации, с применением открытого текста или шифрования МD5) и соответствующий пароль/ключ для данной области;
  • тайм-аут передачи приветственных сообщений для интерфейса, через который был передан данный приветственный пакет,
  • тайм-аут регистрации отказа для интерфейса, через который был передан данный приветственный пакет;
  • приоритет маршрутизатора;
  • применяемые в настоящее время маршрутизаторы DR и BDR для сети, по которой был передан данный приветственный пакет;
  • биты опций (применяются для обозначения статуса тупиковой области или области NSSA);
  • идентификаторы маршрутизаторов, которые обозначают известные соседние устройства.

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

  1. если идентификатор маршрутизатора введен в конфигурацию статически(в маршрутизаторах Cisco - с помощью команды router-id), используется именно этот адрес.
  2. если определен любой из программных интерфейсов петли обратной связи (фиктивных интерфейсов), используется самый старший IP-адрес, назначенный любому из интерфейсов петли обратной связи.
  3. если ни одно из приведенных выше утверждений не является истинным, маршрутизатор использует самый старший IP-адрес, назначенный любому из прочих интерфейсов

[5].

Остальные поля либо не требуют подробного пояснения, либо уже были описаны в разделе Термины и основные понятия OSPF этого раздела, за исключением битов опций и идентификаторов известных соседних маршрутизаторов биты опций в приветственном сообщении используются только для указания на то, относится ли данный маршрутизатор к тупиковой области или к области NSSA. Идентификаторы маршрутизаторов, которые относятся к соседним устройствам, известным данному маршрутизатору,используются для определения того, возможна ля двухсторонняя связь с тем или иным соседним устройством. В сетях со множественным доступом маршрутизатор OSPF передает приветственные сообщении повторно через каждые десять секунд (этот интервал может быть изменен в конфигурации путем корректировки тайм-аутов передачи приветственных сообщений в маршрутизаторах Cisco). Если другой маршрутизатор OSPF принимает это приветственное сообщение, он проверяет его для определения того, совладают ли обязательные значения в данном приветственном сообщении (тайм-аут передачи приветственных сообщений, тайм-аут регистрации отказа, маска подсети, идентификатор области, параметры аутентификации и опции) со значениями, введенными в его конфигурацию. Если эти значения в двух маршрутизаторах не совпадают, отношения соседства не устанавливаются.Приветственные сообщения маршрутизатора-отправителя просто игнорируются.) Если же эти значения совпадают, маршрутизатор-получатель включает значение идентификатора соседнего маршрутизатора, передавшего приветственное сообщение, в следующий приветственный пакет, в раздел пакета "Идентификаторы известных соседних маршрутизаторов". После обнаружения своего собственного идентификатора в приветственном сообщении соседнего устройства маршрутизатор, первоначально отправивший приветственное сообщение, приходит к заключению, что соседним устройством получено его приветственное сообщение и что проверка двухсторонней связи выполнена успешно. К этому моменту в таблицах соседних устройств двух маршрутизаторов имеется обоюдно противоположная информация о маршрутизаторе, находящемся на другом конце соединения. И они ожидают получения пакета от соседнего устройства до истечения каждого тайм-аута передачи приветственных сообщений. Если приветственное сообщение не поступает до истечения тайм-аута регистрации отказа (который по умолчанию для интерфейсов локальной сети равен 40 секундам или четырехкратному значению тайм-аута передачи приветственных сообщений), маршрутизатор принимает предположение, что соседнее устройство прекратило работу и удаляет сведения об этом соседнем устройстве из своих приветственных пакетов и из таблицы соседних устройств. Удаление сведений о соседнем устройстве может привести к отрицатель- ным последствиям, поскольку удаление соседнего устройства из таблицы соседних устройств влечет за собой удаление из таблицы топологии всех маршрутов через это соседнее устройство, а это вызывает повторное вычисление по алгоритму SPF. Этот процесс в основном не зависит от типа сети, но некоторые его конкретные этапы,в различных сетях немного отличаются. Например, в сети NBMA с отмененной эмуляцией широковещательной рассылки вместо применения для поиска соседних устройств мнотоадресатной рассылки в конфигурацию маршрутизатора необходимо статически ввести адреса соседних устройств, после чего он должен непосредственно передавать этим соседним устройствам приветственные сообщения по методу одноадресатной рассылки. Основные правила установления отношений соседства приведены ниже.

  • Сеть со множественным доступом, двухточечная сеть или многоточечная сеть NBMA (полносвязная сеть) с разрешенной эмуляцией широковещательной рассылки.
  • Передавать приветственное сообщение по истечении каждого тайм-аута передачи приветственных сообщений (который по умолчанию составляет 10 секунд) по многоадресатному адресу AHSPFRouters.
Состояние: остановка — инициализация.
  • Если получено приметанное сообщение от устройства, являющегося кандидатом на включение в таблицу соседних усгройств, проверить совпадение обязательных параметров.
Состояние: инициализация.
  • Если обнаружено совладение, включать идентификатор соседнего маршрутизатора в раздел не ходящих приветственных пакетов с информацией о соседних устройствах.
Состояние: инициализация.
  • Если от соседнего устройства получено приветственное сообщение, которое содержит собственный идентификатор маршрутизатора в разделе с информацией об известных соседних устройствах, ввести это соседнее устройство в таблицу соседних устройств.
Состояние: двухсторонней связи.
  • Если от соседнего устройства не будет получено приветственное сообщение до истечения тайм-аута регистрации отказа (который по умолчанию составляет 40 секунд), удалять это соседнее устройство из таблицы соседних устройств.
Состояние: инициализация.
  • Если получено приветственное сообщение от соседнего устройства и обязательные параметры не согласуются, то приметняются следующие правила:
а) если это соседнее устройство не указано в таблице соседних устройств,не вводить информацию о нем в таблицу соседних устройств;
б) если это соседнее устройство указано в таблице соседних устройств, удалить информацию о нем из таблицы соседних устройств и не включать это соседнее устройство в список известных соседних устройств в исходящих приветственных сообщениях.
Состояние: инициализации.
  • Многоточечная сеть NBMA (любая топология), эмуляция широковещательной рассылки запрещена.
  • Передавать с исткхяьзованием олноадресат ной рассылки приветственные сообщения по истечении каждого тайм-аута опроса (по умолчанию через каждые 60 секунд) непосредственно соседнему устройству, информация о котором введена в конфигурацию.
Состояние: осуществления попытки.
  • Если получено приветственное сообщение от устройства, являющегося кандидатом на включение в таблицу соседних устройств, проверить согласование обязательных параметров.
Состояние: инициализации.
  • Если обнаружено согласование, включать идентификатор соседнего маршрутизатора в раздел с информацией о соседних устройствах исходящих приветственных пакетов.
Состояние: инициализации.
  • Если от соседнего устройства получено приветственное сообщение, которое содержит собственный идентификатор маршрутизатора в разделе с информацией об известных соседних устройствах, ввести это соседнее устройство в таблицу соседних устройств.
Состояние: двухсторонней связи
  • Продолжать передавать приветственные сообщения по истечении каждого тайм-аута передачи приветственных сообщений (который по умолчанию составляет 30 секунд).
Состояние: двухсторонней связи.
  • Если от соседнего устройства не будет получено приветственное сообщение до истечения тайм-аута регистрации отказа (который по умолчанию составляет 120 секунд), удалить это соседнее устройство из таблицы соседних устройств и перезапустить процесс установления отношений соседства.
Состояние: инициализации.
  • Если получено приветственное сообщение от соседнего устройства и обязательные параметры не согласуются, то применяются следующие правила.
а) Если это соседнее устройство не указано в таблице соседних устройств, не вводить информацию о нем в таблицу соседних устройств.
б) Если это соседнее устройство указано в таблице соседних устройств, удалить информацию о нем из таблицы соседних устройств, не включать это соседнее устройство в список известных соседних устройств в исходящий приветственных сообщениях и перезапустить процесс установления отношений соседства.
Состояние: инициализации.
Рис.2.Процесс установления отношений соседства для сетей со множественным доступом,двухточечных или многоточечных сетей NBMA (полносвязных с разрешенной эмуляцией широковещательной рассылки)

Единственным новым термином в этих правилах является тайм-аут опроса для сетей NBMA без эмуляции широковещательной рассылки.Тайм-аут опроса определяет,в течение какого времени маршрутизатор должен ожидать до передачи приветственных сообщений соседним устройствам, от которых еще не получены приветственные сообщения. По умолчанию этот тайм-аут установлен равным 60 секундам. Поскольку графические иллюстрации иногда являются более наглядными, чем словесные описания,на рис.2 и 3 приведены блок-схемы с описанием этого процесса.

Рис.3.Процесс установления отношений соседства для сетей всех прочих типов

Установление отношений смежности

После того как ряд соседних устройств перешел в состояние двухсторонней связи, эти соседние устройства должны определить, следует ли им устанавливать друг с другом отношения смежности. Процесс принятия такого решения является довольно простым, если тип сети не требует применения маршрутизаторов DR или BDR (двухточечная сеть или многоточечная сеть со звездообразной или неполносвязной топопогией).В двухточечной сети или многоточечной сети со звездообразной или неполносвязнои топологией смежными становятся все маршрутизаторы логической сети.Но если в сети должны быть выбраны маршрутизаторы DR и BDR, то все маршрутизаторы в сети устанавливают отношения смежности только с маршрутизаторами DR и BDR и процесс принятия ращения становится немного сложнее. Прежде чем приступать к изучению процесса выбора маршрутизатора DR/BDR, необходимо понять, для чего вообще требуются маршрутизаторы DR и BDR. В сети со множественным доступом, имеющей несколько маршрутизаторов, установление отношений смежности между всеми маршрутизаторами может потребовать чрезвычайно большого объема ресурсов, поскольку без использования маршрутизаторов DR после обнаружения любого изменения в состоянии канала маршрутизатор OSPF передает анонсы с информацией о новом состоянии канала всем маршрутизатором, с которыми он установил отношения смежности. Эти маршрутизаторы в свою очередь передают анонсы об изменении состояния канала в маршрутизаторе, первоначально передавшего анонс, всем другим маршрутизаторам,с которыми у них установлены отношения смежности (включая все маршрутизаторы, которые уже получили обновление от маршрутизатора, первоначально передавшего анонс). Но при использование маршрутизаторов DR все маршрутизаторы в сети устанавливают отношения смежности, касающиеся этой сети, только с маршрутизаторами DR и BDR для данной сетb (которые, в свою очередь, имеют отношения смежности, установленные со всеми прочими маршрутизаторами в сети). Затем маршрутизатор DR передаст анонсы с информацией об изменении всем другим маршрутизаторам в сети. Например, в сети,показанной на рис.4, маршрутизаторы DR не используются.

Рис.4 Сеть,в которой не используются маршрутизаторы DR

В данном примере все маршрутизаторы вынуждены, устанавливать отношения смежности со всеми прочими маршрутизаторами. При возникновении изменений в маршрутизаторе 2 он передает обновления по методу многоадресатной рассылки всем маршрутизаторам OSPF, а они в свою очередь приблизительно в одно и то же время повторно передают по методу многоадресатной рассылки это обновление всем маршрутизаторам OSFP. В этом примере для передачи одного изменения применяется, шесть пакетов, как показано на рис.5. Но после настройки конфигурации маршрутизатора 4 на использование в качестве маршрутизатора DR будут получены результаты, приведенные на рис.6. В данном случае маршрутизатор 2 устанавливает отношения смежности только с маршрутизаторами DR и BDR. После возникновении изменения маршрутизатор 2 выполняет многоадресатную рассылку обновления по адресу AllDRouters (224.0.0.6.), по которому ведут прием только маршрутизатора DR и BDR. Затем маршрутизатор DR выполняет многоадресатную рассылку обновления по обеим подключенным к нему сетям с использованием адреса AllSPFRouters. Применение маршрутизатора DR позволяет уменьшить объем передаваемых данных до трек пакетов обновления, что влечет за собой сокращение объема траффика на 50%. А если количество маршрутизаторов в сети в несколько раз больше, чем в данном примере, сокращение сетевого трафика с помощью маршрутизатора DR становится еше более впечатляющим. Хотя DR является основным маршрутизатором, передающим анонсы для некоторой сети, должен быть также предусмотрен резервный маршрутизатор (BDR) на случай отказа маршрутизатора DR. Если в каждой сети отсутствует маршрутизатор и не установлены отношения смежности и с BDR, и с DR, то при отказе маршрутизатора DR приходится повторять весь процесс выборов, формирования отношений смежности и синхронизации базы данных о состоянии каналов. А если маршрутизатор BDR в сети имеется, то он обладает той же информацией, что и маршрутизатор DR, а также уже имеет отношения смежности со всеми другими маршрутизаторами (которые принято называть отличными от DR, или DROther, поскольку они не являются маршрутизаторами DR или BDR),а поэтому может сразу же взять на себя функции DR при выходе последнего из строя[6].

Рис.5. Конечные этапы передачи обновление в сети без маршрутизаторов DR


Каким же образом в среде OSPF происходит определен не того, какие маршрутизаторы должны выполнять функции DR и BDR? На это можно ответить кратко — в ней проводятся выборы. Процесс выборов проходит, как описано ниже.

Рис.6.Трафик обновлений в сети со множественным доступом
  1. После первоначальной активизации интерфейса все приветственные сообщения передаются из него в сеть с полями DR и BDR, содержащими значения 0.0.0.0.
  2. После достижения состояния двухсторонней связи с соседними устройства в конкретной сети каждый маршрутизатор проверяет поля приоритета, DR и BDR в полученных в приветственных сообщениях, относящихся к данной сети.
  3. Затем каждый маршрутизатор формирует список из всех маршрутизаторов, претендующих на роль DR и BDR.
  4. Если на роль BDR претендует только один маршрутизатор, все прочие маршрутизаторы выбирают его в качестве в DR. А если на роль BDR претендует несколько маршрутизаторов, в качестве BDR выбирается маршрутизатор с наивысшим приоритетом. Если же значения приоритетов совпадают, то в качестве BDR выбирается маршрутизатор с наибольшим идентификатором маршрутизатора.
  5. Если ни один из маршрутизаторов не претендует на роль BDR, в качестве BDR выбирается маршрутизатор с наибольшим приоритетом. Если же значения приоритетов совпадают, в качестве BDR выбирается маршрутизатор с наивысшим идентификатором.
  6. Если на роль DR претендует только один маршрутизатор, все прочие маршрутизаторы выбирают его в качестве DR. А если на роль DR претендует несколько маршрутизаторов, в качестве DR выбирается маршрутизатор с наибольшим приоритетом. Если же значения приоритетов совпадают, то в качестве DR выбирается маршрутизатор с наибольшим идентификатором маршрутизатора.
  7. Если ни один из маршрутизаторов не претендует на роль DR, в качестве DR назначается вновь избранный маршрутизатор BDR. В этом случае процесс выборов повторяется для определения нового маршрутизатора ВDR.

Итак,в процессе выборов вначале фактически происходит определение маршрутизатора BDR. А если после проведения выборов BDR оказывается, что в сети не выбран маршрутизатор DR, то вновь выбранный маршрутизатор BDR становится маршрутизатором DR и проводятся выборы маршрутизатора BDR. В отношении этого процесса выборов необходимо сделать одно замечание: если какой-то маршрутизатор переходит в оперативный режим и обнаруживает, что в сети уже имеется маршрутизатор DR иди BDR, то не проводит выборы, даже если имеет более высокий приоритет по сравнению с выбранными в настоящее время маршрутизаторами DR и BDR. В спецификации OSPF rnxдосмотрено, что в качестве DR выбирается маршрутизатор с самым высоким приоритетом, который первым переходит в оперативный режим, а маршрутизатор со вторым по величине приоритетом, который первым переходит в оперативный режим, становится маршрутизатором ВDR. После проведения выбора маршрутизаторов DR и BDR все маршрутизаторы DROther в сети со множественным доступом формируют отношения смежности только с маршрутизаторами DR и BDR. Хотя такая организиция работы позволяет экономить ресурсы маршрутизаторов DROther, она также требует, чтобы маршрута таторы DR и BDR были способны выполнять дополнительные функции, связанные с осуществлением назначенных им ролей (затрачивая при этим больше ресурсов процессора и оперативной памяти). Наконец, следует отметить, что сам способ организации процесса выборов допускает возможность того, что определение маршрутизаторов, которые намечены для выполнения ролей DR и BDR, фактически не будет осуществлено, особенно если в этих маршрутизаторах в тот или иной момент времени произойдет отказ. Например, рассмотрим сеть, приведенную на рис.7.

Рис.7.Сеть,в которой в качестве DR и BDR должны быть назначены маршрутизаторы 4 и 5

Предположим, что в этой сетевой конфигурации маршрутизатор 4 должен быть выбран в качестве DR, а маршрутизатор 5 — в качестве BDR (как для сети 1, так и для сети 2). Но что произойдет, если начальная загрузка маршрутизаторов 4 и 5 будет выполнена на несколько секунд позже по сравнению со всеми другими маршрутизаторами? К этому времени выборы будут уже закончены, а поскольку все прочие маршрутизаторы имеют одинаковый приоритет, то в качестве DR для соответствующих сетей будут выбраны маршрутизаторы с наибольшими, идентификаторами маршрутизаторов. При условии, что в данном случае идентификаторы маршрутизаторов совпадают с показанными на этом рисунке номерами маршрутизаторов, то маршрутизатор 9 (с идентификатором маршрутизатора 9) будет выбран в качестве DR для сети 2, а маршрутизатор 6 (с идентификатором маршрутизатора 6) — в качестве DR для сети 1. Поскольку процесс выборов организован именно таким образом для маршрутизаторов 4 и 5 не останется другого выхода, кроме как принять результаты определения применяемых в настоящее время маршрутизаторов DR. Допустим, что для решения этой проблемы сетевой администратор перезапускает все маршрутизаторы и обеспечивает в первую очередь начальную загрузку маршрутизаторов 4 и 5. После этого функции DR и BDR переходят к тем маршрутизаторам, которые были для этого предназначены, но что произойдет при отказе одного из них? В случае отказа маршрутизатора 4 маршрутизатор 5 станет вновь назначенным маршрутизатором DR, маршрутизатор 6 возьмет на себя функции нового маршрутизатора BDR для сети I, а маршрутизатор 9 — нового маршрутизатора BDR для сети 2. Если после этого маршрутизатор 4 снова подключится к сети, то просто будет выполнять функции маршрутизатора DROrher. А после отказа маршрутизатора 5 функции DR в каждой сети возьмут на себя маршрутизаторы BDR; при этом маршрутизатор б станет выполнять роль DR для сети I , а маршрутизатор 9 — роль DR для сети 2. Произойдут выборы BDR, и эту роль для обеих сетей возьмет на себя маршрутизатор 4. Если в дальнейшем маршрутизатор 5 будет снова подключен к сети, то станет выполнять функции DROther. Наконец, если после подключения маршрутизатора 5 к сети произойдет отказ маршрутизаторов 9 и 6, то маршрутизатор 4 будет выбран в качестве DR, а маршрутизатор 5 — в качестве нового BDR для обеих сетей. Как показывает приведенный выше пример, такая организация процесса выборов может привести к тому, что в сети будет происходить своего рода циклическая смена маршрутизаторов DR, при которой для выполнения этой роли каждый раз будут назначаться неподходящие маршрутизаторы. Для решения згой проблемы можно применить несколько вариантов, описанных ниже.

  • Предусмотреть перезагрузку маршрутизаторов или переустановку опций OSPF после каждого выбора в качестве DR неподходящего маршрутизатора. Этот подход является крайне неэффективным, поскольку постоянно требует вмешательства сетевого администратора, не говоря уже о том, что процессы повторного установления отношений смежности и синхронизации баз данных вызывают значительное увеличение объема графика в большой сети.
  • Ввести в сеть еще два маршрутизатора и объединить маршрутизаторы 4 и 5 в кластер с этими новыми маршрутизаторами с помощью протокола HSRP. Этот подход вполне осуществим, но представляет собой весьма сложный и дорогостоящий способ решения рассматриваемой простой проблемы. С другой стороны, протокол HSRP позволяет добиться гораздо более высокой степени готовности маршрутизаторов, что может оказаться полезным, если требуется чрезвычайно высокая надежность. К сожалению, настройка конфигурации HSRP выходит за рамки настоящей книги, поэтому такое решение здесь подробно не рассматривается.
  • Увеличить значение приоритета маршрутизаторов 3 и 6 меньше чем до 8(попустим до 2) и уменьшить до 0 приоритеты маршрутизаторов 1, 2, 7, 8 и 9. Такое решение гарантирует, что сели маршрутизаторы 4 н 5 во время выборов будут не доступны, то произойдет выбор кандидатов, находящихся за ними на втором месте, — маршрутизаторов 3 и 6. Поскольку приоритет всех других маршрутизаторов установлен равным 0, они при этом рассматриваются как неподходящие для выполнения функций DR или BDR, поэтому не придется беспокоиться о том, что эти маршрутизаторы возьмут на себя неподобающую им роль. Недостатком такого подхода является то, что при отсутствии какого-либо из маршрутизаторов с ненулевым приоритетом (маршрутизаторов 3-6) не будет выбран ни DR, ни ВDR и отношения смежности в сетях I или 2 не будут устанавливаться до тех пор, пока не станет доступным хотя бы один на этих маршрутизаторов.

После определения маршрутизаторами того, с какими прочими маршрутизаторамн они должны устанавливать отношения смежности в каждой сети, маршрутизатору применительно к каждому отношению смежности переходят в послестартовое состояние, которое рассматривается в следующем разделе[7]


Формирование базы данных о состоянии каналов

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

Находясь в послестартовом состоянии,маршрутизаторы для согласования порядковых номеров DD (Database Description — описание базы данных) обмениваются друг с другом информацией, с использованием пакетов DD (пакетов OSPF типа 2). Порядковые номера DD применяются для обеспечения возможности получения пакетов DD в правильном порядке.Поскольку вполне вероятно, что оба маршрутизатора, участвующие в этом обмене информацией, будут иметь разные значения своих порядковых номеров, послестартовое состояние предназначено для синхронизации порядковые номеров DD, используемых для обмена данными между этими двумя маршрутизаторами. Для выполнения такого согласования маршрутизаторы выбирают, кто должен стать ведущим и ведомым применительно к передаче пакетов DD. Смысл отношений ведущий/ведомый состоит лишь в том, что ведущий маршрутизатор выбирает начальный порядковый номер, а ведомый маршрутизатор просто переопределяет свой порядковый номер, чтобы он был равен любому порядковому номеру, введенному в конфигурацию ведущего маршрутизатора[8].

После формирования между маршрутизаторами отношений ведуший/ведомый они переходят в послестартовое состояние. В этом состоянии для формировании базы данных о состоянии каналов передается следующее: пакеты DD, запросы состояния каналов (Link-State Request — LSR) (пакеты OSPF типа 3) и обновления состояния каналов (Link-State Update — LSU) (пакеты OSPF типа 4). Вначале от одного маршрутизатора к другому передаются пакеты DD, которые вкючают перечисленные ниже поля.

  • Идентификатор маршрутизатора-отправителя.
  • Идентификатор области для исходящего интерфейса маршрутизатора отправителя.
  • Параметры аутентификации.
  • Биты опций (применяемые для обозначения состояния тупиковой области или области NSSA).
  • Бит I (сокращение от Initial), применяемый для обозначения начального пакета DD. Значение 1 указывает, что это — первый пакет DD в последовательности пакетов.
  • Бит М (сокращение от Моrе), применяемый для обозначения последнего пакета DD Значение 0 указывает, что это — последний пакет в последовательности пакетов.
  • Бит MS (Master/Slave). Значение I указывает, что маршрутиэатср-отпрaвитель является ведущим, а 0 — ведомым.
  • Порядковый номер DD.
  • Один или несколько заголовков анонса состояния каналов (LSA). Каждый из этих заголовков содержит указанную ниже информацию:
  • Возраст. Продолжительность времени (в секундах), истекшего с того момента, как анонс LSA был создан во впервые сформировавшем его маршрутизаторе (таковым является маршрутизатор, непосредственно подключенный к той сети, информация о которой содержится в этом анонсе LSA, и первым распространивший данный анонс LSA).
  • Биты опций. Биты, применяемые для обозначения состояния тупиковой области или области NSSA для той области, информация о которой содержится в рассматриваемом анонсе LSA.
  • Тип. Код типа для анонса LSA.
  • Идентификатор состояния каналов. Назначение этого поля зависит от типа LSA
  • Анонсирующий маршрутизатор. Идентификатор маршрутизатора, впервые сформировавшего рассматриваемый анонс LSA.
  • Порядковый номер. Порядковый номер для данного конкретного анонса LSA. Он отличается от порядкового номера DD и используется для определения "версии" анонса LSA.

Наиболее важными компонентами пакетов DD являются заголовки LSA. Эти заголовки LSA не содержат весь анонс LSA, а включают лишь часть LSA, достаточно большую для того, чтобы маршрутизатор-получатель мог проверить свою базу данных о состоянии каналов и определить, имеется лив ней рассматриваемый анонс LSA. По сути, маршрутизатор-получатель использует поля с данными об анонсирующем маршрутизаторе,идентификаторе состояния каналов и типе для определения того, имеется ли уже в его базе данных соответствующий анонс LSA. Если маршрутизатор-получатель обнаруживает, что это — новый анонс LSA, он помешает анонс LSA в список запросов состояния каналов. А если маршрутизатор-получатель имеет этот анонс LSA, но порядковый номер, приведенный в анонсе LSA маршрутизатором-отправителем, указывает на то, что этот анонс является более новым (обычно об этом свидетельствует более высокий порядковый номер анонса LSA), маршрутизатор-получатель также помещает этот LSA в свой список запросов состояния каналов. В ответ на каждый пакет DD, переданный ведущим маршрутизатором, маршрутизатор-получатель передает пакет DD с тем жe порядковым номером DD для подтверждения полученного пакета DD. Если ведущий маршрутизатор не получает от ведомого в качестве подтверждения пакет DD, он снова передает пакет DD с тем же порядковым номером. После передачи всех пакетов DD происходит переход в состояние загрузки и оба маршрутизатора передают друг другу пакеты LSR, которые включают сведения о типе LSA,анонсирующем маршрутизаторе и порядковых номерах для каждого из анонсов LSA. перечисленных в списке запросов состояния каналов. После получения таких пакетов LSR каждый маршрутизатор формирует один или несколько пакетов LSU, содержащих весь анонс LSA, относящейся к затребованным записям. По мере получения анонсов LSA, содержащихся в этих пакетах LSU, они должны подтверждаться либо неявно, либо явно.

Явным называется подтверждение, при котором маршрутизатор передает в ответ другому маршрутизатору подтверждение состояния каналов (Link Suite Acknowledgement — LSAck) (пакет OSPF типа 5) для подтверждения факта получения одного или нескольких,анонсов LSA. Но иногда вместо этого маршрутизатор может передавать в ответ пакеты LSU, чтобы сообщить о наличии этих новых анонсов LSA другим соседним устройствам. В этом случае говорят, что подтверждение анонсов LSA осуществляется неявно. После обоюдной передачи всех пакетов LSU, маршрутизаторы переходят в состояние полной смежности. Если в базе данных о состоянии каналов произошли изменения, маршрутизаторы приступают к вычислению своих таблиц маршрутизации с применением алгоритма SPF. Но прежде чем перейти к изучению алгоритма SPF, рассмотрим дополнительные сведения, относящиеся к двум основным типам LSA,которые описаны в этом разделе. К числу анонсов LSA наиболее широко применяемого типа относятся LSA типа I — анонсы LSA с записью о маршрутизаторе (или просто анонсы LSA маршрутизатора). Такие анонсы LSA маршрутизатор описывают все каналы маршрутизатора к данной области, наряду с указанием типов сетей и метрик. Они также информируют своего получателя о статусе впервые сформировавшего их маршрутизатора — выполняет ли он функции ABR или ASBR. Анонс LSA маршрутизатора, распространяемый по всей области, содержит информацию, описанную ниже.

  • Заголовок LSA (представленный ранее в этом разделе в описании формата пакета DD). Поле идентификатора канала в заголовке LSA содержит IP-адрес впервые сформировавшего анонс маршрутизатора.
  • Бит V (сокращение от Virtual link). Это поле сообщает маршрутизатору-получателю о том, что данный маршрутизатор имеет один или несколько виртуальных каналов к опорной сети. Виртуальные каналы рассматриваются более подробно в разделе "Применение OSPF в автономной системе с несколькими областями" ниже в этой главе.
  • Бит Е (сокращение от External). Этот бит сообщает маршрутизатору-получателю о том, что данный маршрутизатор выполняет функции ASBR. Маршрутизаторы ASBR рассматриваются более подробно в разделе "Применение OSPF в автономной системе с несколькими областями" ниже в этой главе.
  • Бит В (сокращение от Border). Этот бит сообщает маршрутизатору - получателю о том, что данный маршрутизатор выполняет функции ABR. Маршрутизаторы ABR рассматриваются более подробно в разделе "Применение OSPF в автономной системе с несколькими областями" ниже в этой главе.
  • Общее количество каналов. R этом поле указано общее количество каналов,описание которых содержится в данном анонсе LSA.
  • Информация о каждом канале. Это поле включает сведения, перечисленные ниже:
  • Тип канала (двухточечный, транзитный, тупиковый или виртуальный).
  • Идентификатор канала (значение зависит от типа канала; см. табл.1).
  • Данные канала (значение зависит от типа канала; см. табл.1).
  • Метрика для канала (в маршрутизаторах Cisco вычисление значений метрики OSPF выполняется с учетом пропускной способности)
  • Поля TOS, которые в маршрутизаторах Cisco не используются[9].
Таблица.1. Зависимость между типом канала и информацией о канале,передаваемой в анонсе LSA
Тип канала Идентификатор канала Данные канала
Двухточечный Идентификатор соседнего маршрутизатора IP-адрес маршрутизатора,впервые сформировавшего анонс
Транзитный IP-адрес канала маршрутизатора  DR к сети IP-адрес маршрутизатора,впервые сформировавшего анонс
Тупиковый Адрес сети Маска подсети для данной сети
Виртуальный Идентификатор соседнего маршрутизатора Значение индекса интерфейса MIB-II

Каждый маршрутизатор вырабатывает один из анонсов LSA такого типа дня каждой области, к которой он относится. Хотя в этих анонсах LSA поля с информацией о канале (тип канала, идентификатор канала, данные канала н метрика) содержат различные данные, в зависимости от типа канала, по сути основная информация является в них одинаковой. Поля с информацией о каналах описывают соединение со степенью детализации, достаточной для того, чтобы алгоритм SPF позволил определить и вычислить Кратчайший путь к каждому из каналов, подключенных к удаленному маршрутизатору. Метрика, вычисляемая для каждого из этих каналов, формируется с учетом пропускной способности каналов. По умолчанию метрика вычисляется как 1000000000 / пропускная спосооиость в Битах в секунду (а результат округляется в меньшую сторону до ближайшего целого числа). Например, канал T1 (1,544 Мбит/с) должен иметь метрику 64, а канал Fast Ethernet — метрику 1. Напомним, что анонс LSA маршрутизатора описывает только каналы, непосредственно подключенные к маршрутизатору, поэтому такая метрика всегда является локальной метрикой Впервые сформировавшего анонс маршрутизатору независимо от того, от кого был получен анонс LSA[10].

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

  • Заголовок LSA (представленный ранее в этом разделе в описании формата пакета DD). Поле идентификатора канала в заголовке LSA содержит IP-адрес впервые сформировавшего анонс маршрутизатора {маршрутизатора DR).
  • Маска сети. Это маска подсети, применяемая в анонсируемой сети.
  • Список со всеми маршрутизаторами, с которыми данный маршрутилатор DR установил отношения смежности. В этот список должны входить все активные маршрутизаторы сети.

Выполнение алгоритма SPF

Теперь для ознакомления с принципами работы алгоритма SPF рассмотрим простую сеть с одной областью, показанную на рис.8

Рис.8.Простая сеть с одной областью,с множественным доступом и двухточечными каналами

Вначале нсобкодимо изучить, как происходит распространение по сети анонсов LSA различных типов. Чтобы понять особенности распространения LSA, необходимо определить, какие маршрутизаторы устанавливают друг с другом отношения смежности. Например, в сети 4 маршрутизаторы Williams и Shaw устанавливают отношения смежности только с маршрутизаторами Реаrt и Lombairia, а не друг с другом. (Как и в сети с множественным доступом, маршрутизаторы DROther устанавливают отношения смежности только с маршрутизаторами DR и ВDR.) Информация об отношениях смежности приведена в табл.2.

Таблица 2.Отношения смежности в сети,показанной на рис.8.

Portnoy
Ulrich
Shaw
Peart Williams Lombardo Paul Sandoval Faick Beauford Hern
Portnoy
Сеть 1

Сеть 3







Ulrich Сеть 1
Сеть 2








Shaw
Сеть 2

Сеть 4

Сеть 4





Peart Сеть 3

Сеть 4

Сеть 4
Сеть 4

Сеть 5



Williams


Сеть 4







Lombardo

Сеть 4
Сеть 4
Сеть 4

Сеть 6





Paul




Сеть 6


Сеть 7
Сеть 7


Sandoval




Сеть 7

Сеть 7
Сеть 8

Faick





Сеть 7
Сеть 7


Сеть 10
Beauford






Сеть 8


Сеть 9
Hem







Сеть 10
Сеть 9

В этой сети анонсы LSA типа 1 с описанием локальных каналов должна передаваться от всех маршрутизаторов ко всем смежным устройствам. Например, после начальной загрузки маршрутизатор Shaw (типа DROther) должен сформировать и отправить маршрутизаторам Ulrich, Peart и Lombardo анонсы LSA типа 1 с описанием каналов Shaw к сетям 2 и 4. В сетях со множественным доступом от всех маршрутизаторов DR всем смежным соседним устройствам должны передаваться анонсы LSA типа 2 с описанием имеющихся в сети маршрутизаторов. Например, маршрутизатор Peart должен сформировать и отправить маршрутизаторам Shaw, Williams, Lombardo и Sandoval анонс LSA типа 2, относящийся к сети 4. Для ознакомления с тем, как анонсы LSA распространяются по сети (чтобы каждый маршрутизатор смог по ним сформировать таблиц топологии), рассмотрим путъ прохождения анонсов LSA типа 1 от маршрутизатора Hern до маршрутизатора Portnoy. Маршрутизатор Hern после начальной загрузки передает через каждые десять секунд приветственные сообщения маршрутизаторам Falck и Beauford. Маршрутизаторы Falck и Beauford проверяют приветственное сообщение маршрутизатора Hern,вводят маршрутизатор Нern в свою таблицу соседних устройств и помещают его в список известных соседних устройств своих приветственных пакетов, а затем отправляют маршрутизатору Hern в ответ свои приветственные сообщения. Hern получает от маршрутизаторов Falck и Beauford приветственные сообщения, вводит информацию о них в свою таблицу соседних устройств и в список известных соседних устройств,обнаруживает в каждом пакете свой идентификатор маршрутизатора и переходит в состояние двухсторонней связи с маршрутизаторами Falck н Beauford. Затем Hern в ответ передает маршрутизаторам Falck и Beauford еще один приветственный пакет. Falck и Beauford обнаруживают в этом приветственном пакете свои идентификаторы маршрутизатора и переходят в состояние двухсторонней связи с маршрутизатором Неrn. После этого маршрутизаторы Hern, Falck и Beauford обнаруживают, что они соединены через двухточечные каналы, и переходят в послестартовое состояние. (Между маршрутизаторами, соединенными двухточечными каналами, всегда формируются отношения смежности ) Для каждого отношения смежности выбирается ведущий маршрутизатор (в отношениях между Falck и Hern таковым становится Falck, а в отношениях между Beauford и Hern — Beauford), происходит переход в состояние обмена и маршрутизаторы обмениваются друг с другом пакетами DD с описаниями всех известных анонсов LSA. Маршрутизаторы Falck и Beauford обнаруживают, что у них нет анонса LSA маршрутизатора Нern и запрашивают этот анонс (с использованием пакета LSR) от Неrn. Затем Неrn передает в пакете LSU маршрутизаторам Falck и Beauford свой анонс LSA типа 1 с описанием своих каналов. Этот анонс LSA содержит данные, приведенные ниже (здесь не показаны поля, которые не имеют значения для данного примера).

  • Тип — 1 (маршрутизатор).
  • Анонсирующий маршрутизатор — Неrn (маршрутизатор, впервые сформировавший анонс).
  • Идентификатор состояния каналов — Неrn (маршрутизатор, впервые сформировавший анонс).
  • Порядковый номер — 1 (первая версия анонса).
  • Количество каналов — 3.
  • Канал к сети 9.
  • Тип канала — двухточечный.
  • Идентификатор канала — IP-адрес последовательного канала маршрутизатора Beauford.
  • Данные канала — IP-адрес последовательного канала маршрутизатора Неrn.
  • Метрика — 16.
  • Канал к сети 10.
  • Тип канала — двухточечный.
  • Идентификатор канала — IP-адрес последовательного канала маршрутизатора Falck.
  • Данные канала — IP-адрес последовательного канала маршрутизатора Неrn.
  • Метрика — 32.
  • Канал к сети 11.
  • Тип канала — тупиковый.
  • Идентификатор канала — IP-адрес адрес сети/подсети 11.
  • Данные канала — маска подсети 11.
  • Метрика — 10.

В процессе передачи анонса LSA типа 1 маршрутизатор Нern обнаруживает, что у него отсутствует основная часть анонсов LSA маршрутизаторов Falck и Beauford и запрашивает соответствующие LSA с помощью своего собственного пакета LSR. После получения маршрутизаторами Falck и Beauford пакетов LSU от маршрутизатора Неrn они в ответ передают пакеты LSAck и переходят в состояние полной смежности.Неrn получает пакеты LSAck и очищает список повторной передачи информации о состоянии каналов.Затем Hern получает затребованные им ранее пакеты LSU, в ответ возвращает маршрутизаторам Falck и Bеauford пакеты LSAck и переходит в состояние полной смежности по отношению к маршрутизаторам Falck и Beauford. Поскольку Falck и Bеauford получили новый анонс LSA, они передают пакеты LSU с описанием этого нового анонса LSA своим введенным в конфигурацию смежным соседним устройствам. Что касается маршрутизатора Falck, то пакет LSU, содержащий новый анонс LSA маршрутизатора с информацией о маршрутизаторе Неrn, передается по многоадресатному адресу AllDRouters, а получают этот пакет и маршрутизатор Sandoval, н маршрутизатор Paul. А что касается маршрутизатора Bеaufоrd, то пакет LSU, содержащий новый анонс LSA маршрутизатора с информацией о маршрутизаторе Hern, передаемся непосредственно маршрутизатору Sandoval. Этот анонс LSA содержит данные, приведенные ниже.

  • Тип — 1 (маршрутизатор).
  • Анонсирующий маршрутизатор — Неrn (маршрутизатор, впервые сформировавший анонс).
  • Идентификатор состояния каналов — Неrn (маршрутизатор, впервые сформировавший анонс).
  • Порядковый номер — 1 (первая версия анонса).
  • Количество каналов — 3.
  • Канал к сети 9.
  • Тип канала — двухточечный.
  • Идентификатор канала — IP-адрес последовательного канала маршрутизатора Beauford.
  • Данные канала — IP-адрес последовательного канала маршрутизатора Неrn.
  • Метрика — 16.
  • Канал к сети 10.
  • Тип канала — двухточечный.
  • Идентификатор канала — IP-адрес последовательного канала маршрутизатора Falck.
  • Данные канала — IP-адрес последовательного канала маршрутизатора Неrn.
  • Метрика — 32.
  • Канал к сети 11.
  • Тип канала — тупиковый.
  • Идентификатор канала — IP-адрес адрес сети/подсети 11.
  • Данные канала — маска подсети 11.
  • Метрика — 10.

Вернувшись к предыдущему варианту LSA, можно обнаружить, что данный анонс не изменился. Это связано с тем, что протоколы, действующие с учетом состояния каналов, в отличие от дистационно-векторных протоколов, не вводят в такие LSA какую-либо дополнительную информацию. В протоколах, учитывающих состояния каналов, анонс LSA, распространяемый по сети не изменяется. Для каждого маршрутизатора достаточно просто иметь информацию о том, какие каналы подключены ко всем прочим маршрутизаторам; после этого они могут вычислить окончительную метрику самостоятельно (поскольку имеют возможность "проследить" весь маршрут, ведущий в обратном направлении к маршрутизатору, впервые сформировавшему анонс LSA). После получения пакета LSU от маршрутизатора Falck маршрутизатор Sandoval немедленно направляет пакет LSU по адресу AllSPFRouters и в сеть 7, и в сеть 5 (он выполняет функции DR для обеих сетей), а также передает пакет LSU непосредственно маршрутизатору Beuford. Маршрутизаторы Falck и Beauford рассматривают пакет LSU, подученный от Sandoval, как неявное подтверждение и удаляют этот пакет LSU из списка повторной передачи информации о состоянии каналов. Но поскольку маршрутизаторы Falck и Beuford только что получили пакет LSU от маршрутизатора Sandoval, они обязаны явно подтвердить этот пакет LSU (даже несмотря на то, что он не содержит какую-либо новую информации) для того, чтобы Sandoval мог удалить их из списка повторной передачи информации о состоянин каналов. Используя аналогичный процесс, все маршрутизаторы в сети распространяют новый анонс LSA маршрутизатора по всем прочим млртщзутизаторам для обеспечения того, чтобы все маршрутизаторы имели идентичную копию базы данных о состоянии каналов. В табл.3 приведена весьма упрощенная версия базы данных о состоянии каналов, которая должна быть одинаковой во всех маршрутизаторах в сети после завершения обработки этого анонса LSA и перехода сети в установившееся состояние.

Таблица 3.База данных о состоянии каналов для сети,показанной на рис.8.

Сеть 1
Сеть 2
Сеть 3
Сеть 4 Сеть 5 Сеть 6 Сеть 7 Сеть 8 Сеть 9 Сеть 10 Сеть 11
Portnoy 8

64








Ulrich 8
32









Shaw
32

1







Peart

64
1
1






Williams


1







Lombardo


1

10






Paul




10

1




Sandoval



1

1
16


Faick





1


32

Beauford






16
16


Hem







16
32
10

Приведенная выше таблица интерпретируется следующим образом. В крайнем левом столбце перечислены все маршрутизаторы в сети. В верхней части находится список со всеми сетями данной области. На пересечении строки с именем конкретного маршрутизатора и номера сети указана стоимость, присвоенная непосредственному каналу от этого маршрутизатора к этой сети. Если для какого-то маршрутизатора и какой-то сети ничего не указано, то маршрутизатор не имеет непосредственного канала к этой сети и для передачи данных получателю, находящемуся в этой сети, должен вычислить кратчайший маршрут с помощью алгоритма SPF. Алгоритм SPF в основном действует следующим образом. Вначале маршрутизатор обозначает себя в качестве корневого. Затем он использует поля в своих анонсак LSA и в таблице соседних устройств для определения того, с какими маршрутизаторами он соединен (через транзитные, двухточечные или виртуальные каналы). После этого он определяет, с какими маршрутизаторами соединены ранее обнаруженные им маршрутизаторы (снова используя информацию из анонсов LSA), и продолжает выполнять аналогичные операции до тех пор, пока не учтет все маршрутизаторы и не включит ихв древовидный граф. Наконец, маршрутизатор добавляет информацию обо всех тупиковых сетях, подключенных к соответствуюшим маршрутизаторам, и на этом завершает вычисление дерева SPF. Теперь, имея всю эту информацию, маршрутизатор может легко найти маршрут к любой конкретной сети. На этом этапе маршрутизатору достаточно вычислить с помощью алгоритма SPF сумму стоимостей отдельных каналов вдоль всех маршрутов к получателю (это позволяет гарантировать, что не возникнут циклы) и выбрать наилучший маршрут. А ей и имеется два или больше маршрутов с одинаковой метрикой, спецификации OSPF предусматривает ввод их всех в таблицу маршрутизации и равномерное распределение нагрузки[11].

Например, предположим, что маршрутизатору Peart необходимо ввести маршрут к сети 11 в свою таблицу маршрутизации. Вначале он обозначает себя в качестве корневого и вычисляет дерево SPF. Peart выполняет эту задачу, вводя в дерево транзитные каналы, ведущие к себе самому, затем вводя транзитные каналы, исходящие от его соседних устройств, после этого — транзитные каналы от соседних устройств и т.д. На этапе 1, показанном на рис.9, маршрутизатор Peart вводит к дерево непосредственные каналы к своим сосединим устройствам.

Рис.9.Этап 1 вычисления дерева SPF

На этапе 1 (рис.10) он вводит каналы от этих соседних устройств к их соседним устройствам. Обратите внимание, что на этапе 2 добавляется канал от маршрутизатора Ulrich к маршрутизатору Portnoy даже несмотря на то, что на первый взгляд этого не должно произойти до этапа 3. Этот канал добавляется на этапе 2, поскольку он представляет собой одни из каналов маршрутизатора Portnoy к своему соседнему устройству. Необходимо также отмстить, что после добавления этого канала непосредственный канал от маршрута затора Peart к маршрутизатору Portnoy становится выделенным серым цветом (недоступным). Это происходит потому, что алгоритм SPF при формировании дерева должен выбрать, единственный наилучший маршрут к каждому маршрутизатору, а ряд каналов Peart=>Shaw=>Ulrich=>Portnoy имеет меньшую стоимость (1+32+8=41), чем канал Реаrt=>Portnоу(64).

Рис.10.Этап 2 вычисления дерева SPF

На этапе 3 (рис.11) вводится последний ряд каналов, выбираются наилучшие маршруты и завершается формирование дерева маршрутов ко всем маршрутизаторам. Наконец, маршрутизатор Peart вводит информацию о тупиковых сетях (таковой является только сеть 11,подключенная к маршрутизатору Неrn) и выбирает наилучшие маршруты к каждой сети. Итак, для маршрутизатора Peart окончательный маршрут к сети 11 принимает вид Peart=>Sandoval=>Beaford=>Hern, а запись о таблице маршрутизации Peart с информацией о сети 11 выглядит, как показано в табл.4.

Рис.11.Этап 3 вычисления дерева SPF
Таблица 4.Запись в таблице маршрутизации Peart с информацией о сети 11
Получатель Следующий транзитный переход Стоимость
Сеть 11 Sandoval 33

Сокращенные блок-схемы функционирования OSPF

Теперь, после ознакомления с большинством компонентов OSPF, рассмотрим блок-схемы функционирования OSPF, показанные на рис.12 -23[12].

В состоянии останова происходит немногое: проверяется интерфейс для определения того, действительно ли он является доступным, определяется тип сети, а затем процесс переходит к состоянию инициализации или осуществления попыток (в зависимости от типа интерфейса), как показано на рис.12[13].

Рис.12.Блок-схема,которая относится к состоянию останова.

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

Рис.13.Блок-схема,которая относится к состоянию осуществления попыток.

В ином случае маршрутизатор переходит в состояние инициализации, показанное на рис.14. Действия, которые происходят в состоянии осуществления попыток, являются чрезвычайно простыми. Если маршрутизатор принимает приветственное сообщение от устройства, которое в принципе может стать для него соседним, он переходит в состояние инициализации. В ином случае маршрутизатор просто продолжает передавать приветственные сообщения по истечении каждого тайм-аута опроса. Действия, выполняемые в состоянии инициализации, являются немного более сложными.Прежде всего маршрутизатор передает приветственные сообщения (по методу одноадресатной либо многоадресатной рассылки, В зависимости от типа канала) по истечении каждого тайм-аута передачи приветственных сообщений. Затем он проверяет приветственные сообщения, полученные от соседних устройств, для определения того, совпадают ли в них обязательные параметры (тайм-аут передачи приветственных сообщений, тайм-аут регистрации отказа, маска подсети, идентификатор области, параметры аутентификации и опции) с параметрами,заданными в его конфигурации. В случае положительного ответа маршрутизатор проверяет приветственное сообщение, чтобы определить, содержится ли в нем его собственный идентификатор маршрутизатора. После получения от соседнего устройства приветственного сообщения, обязательные параметры в котором не соответствуют заданным в его конфигурации, маршрутизатор удаляет информацию об этом соседнем устройстве из таблицы соседних устройств и не включает ее в следующие приветственные сообщения, а отношения соседства снова переходят в состояние инициализации[14].

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

В состоянии двухсторонней связи (см. рис.15) маршрутизатор вначале выполняет проверку для определения того, не истек ли тайм-аут регистрации отказа, установленный для данного соседнего устройства, совпадают ли все обязательные параметры в приветственном сообщении с параметрами в его конфигурации и указан ли в приветственном сообщении собственный идентификатор маршрутизатораю Если любая из этих проверок завершается неудачей, маршрутизатор снова переводит отношения соседства с этим соседним устройством в состояние инициализации (удаляет соседнее устройство из таблицы соседнич устройств и не включает идентификатор соседнего устройства в следующие приветственные сообщения). Если же полученные приветственные сообщения успешно проходят все проверки, на следующем этапе маршрутизатор определяет, требуется ли проведение выборов маршрутизатора DR/BDR. Выборы маршрутизатора DR/BDR должны быть проведены, если являются справедливыми следующие утверждения.

Рис.14. Блок схема,которая относится к состоянию инициализации
  • Сеть представляет собой полносвязную сеть NBMA или сеть с множественных доступом, основанную на использовании широковещательной рассылки.
  • В настоящее премя в сети не выбран маршрутизатор DR или BDR.
Рис.15. Блок схема,которая относится к состоянию двухсторонней связи

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

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

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

Рис.16. Блок схема,которая относится к послестартовому состоянию

В послестартовом состоянии приветственные сообщения соседнего устройства снова проверяются для определения того, что не истек тайм-аут регистрации отказа и что приветственные сообщения соответствуют всем критериям, позволяющим перевести отношения между маршрутизаторами иэ состояния двухсторонней связи в следующие состояния. После этого маршрутизатор передает пакет DD, претендуя на роль ведущего. Претензии маршрутизатора на роль ведущего выражаются в том, что он передает пустой пакет DD с битом М/S, равным 1, и с начальным порядковым номером,равным его собственному начальному порядковому номеру. Если в ответ не передается пакет DD, маршрутизатор выполняет проверку, для определения того, доступно ли еще соседнее устройство, и в случае положительного ответа (и по истечении тайм-аута повторной передачи) отправляет еще один пакет DD. После получения от соседнего устройства пакета DD (скорее всего, также пустого, с битом М/S, равным 1) маршрутизатор проверяет этот пакет для определения того, является ли его идентификатор маршрутизатора больше или меньше по сравнению с идентификатором соседнего устройства. Маршрутизатор с меньшим идентификатором становится ведомым и передает в ответ ведущему пустой пакет DD с битом M/S, равным О (подтверждая свои статус ведомого), и с порядковым номером, равным тому, который был указан ведущим маршрутизатором в качестве своего начального порядкового номера. Затем маршрутизаторы переходят в состояние обмена, а блок-схемы, которые до этого были довольно простыми, станивятся весьма сложными, как показано на рис.17—22. В состоянии обмена маршрутизатор должен вначале определить, является ли он ведущим или ведомым (рис. 17).

Рис.17. Блок схема,которая относится к состоянию обмена

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

Как показано на рис.18. и 19, возвращаясь к верхней части блок-схемы, ведущий маршрутизатор обнаруживает, что в сводном перечне содержимого базы данных все еще есть записи (поскольку ни одна из них пока не удалена), поэтому маршрутизатор переходит к следующему этапу выполнения блок-схемы. Пакеты DD переданы, поэтому маршрутизатор проверяет, получено ли на них подтвержленне. Подтверждение, осуществляемое в процессе передачи пакетов DD, состоит в том, что ведущий маршрутизатор получает от ведомого пакет с тем же порядковым номером,с каким он был отправлен к ведомому. Ведомый маршрутизатор после получения пакета DD от ведущего удаляет из этого пакета заголовки LSA, вводит в свой список запросов состояния каналов все новые анонсы LSA, вставляет в пакет все анонсы из своего сводного перечня содержимого базы данных и передает этот пакет с новыми анонсами LSA в ответ ведущему.

Рис.18. Блок схема,которая относится к состоянию обмена,рассматриваемый маршрутизатор является ведущим
Рис.19. Блок схема,которая относится к состоянию обмена,рассматриваемый маршрутизатор является ведущим (продолжение)

Как показано на рис.20-22, если в сводном перечне содержимого базы данных ведомого маршрутизатора больше не осталось записей, ведомый маршрутизатор просто удаляет из пакета все анонсы LSA, полученные от ведущего маршрутизатора (добавляя при этом все новые анонсы LSA в список запросов состояния каналов), устанавливает бит М равным 0 (указывая на то, что ведомый закончил передачу анонсов LSA) и отправляет пакет в ответ ведущему. Если ведущий маршрутизатор в конечном итоге не получит подтверждение от ведомого, он предпринимает действия, по повторной передаче данных или по перезапуску процесса установления отношений смежности (в зависимости от приветственного сообщения). Если ведущий получает подтверждение,то вводит все эти новые анонсы LSA в список запросов состояния каналов и возвращается в начало блок-схемы (см. рис.17.).

Рис.20. Блок схема,которая относится к состоянию обмена,рассматриваемый маршрутизатор является ведомым.
Рис.21. Блок схема,которая относится к состоянию обмена,рассматриваемый маршрутизатор является ведомым (продолжение)
Рис.22. Блок схема,которая относится к состоянию обмена,рассматриваемый маршрутизатор является ведомым (продолжение)

После передачи всех анонсов LSA ведущий маршрутизатор проверяет последний пакет DD, переданный ведомым, для определения того, установил ли ведомый маршрутизатор значение бита М, равное 0. В случае отрицательного ответа ведущий передает пустой пакет DD, чтобы ведомый мог передать все остальные свои анонсы LSA. При этом ведущий устанавливает бит М, равным 0, сообщая тем самым ведомому что он уже передал все свои анонсы LSA. Ведомый передает в своем новом пакете DD дополнительное количество анонсов LSA и в этом ответном пакете изменяет значение бита М на 1, если ему еще нужно передавать анонсы LSA. Ведущий маршрутизатор продолжает передавать ведомому пакеты DD до тек пор,пока ведомым полностью не исчерпает свой сводный перечень содержимого базы данных. После того как ведомый маршрутизатор закончит передавать анонсы LSA и установит бит М в значение 0, ведущий проверяет, имеются ли еще оставшиеся записи в списке запросов состояния каналов. Если они имеются, ведущий маршрутизатор переходит в состояние загрузки. Если же такие записи отсутствуют, ведущий маршрутизатор переходит в состояние полной смежности. Ведомый маршрутизатор выполняет аналогичный процесс проверки списка запросов состояния каналов и переходит из одного состояния в другое соответствующим образом[15].

Из состояния обмена один или оба маршрутизатара могут перейти в состояние загрузки[16]. Блок-схема действий, выполняемых в состоянии загрузки, показана на рис.21. Хотя в блок-схеме, показанной на рис.23. имеется множество различных путей,основные функции, выполняемые маршрутизатором в состоянии загрузки, можно описать довольно просто, как показано ниже.

  • Убедиться в том, что обнаружены и удалены отказавшие соседние устройства.
  • Если в списке запросов состояния каналов имеются записи, выполнить перечисленные ниже действия:
  • Передать пакеты LSR, касающиеся данных конкретных анонсов LSА.
  • Если пакеты LSU, включающие затребованные анонсы LSA, не будут получены до истечения тайм-аута повторной передачи, отправить соответствующие пакеты LSR повторно.
  • После обновления базы данных о состоянии каналов с использованием информации из новых анонсов LSA передать всем смежным устройствам пакет LSU с новыми анонсами LSA.
  • Если пакет LSU не передан маршрутизатору, которому перед этим был отправлен пакет LSR, передать ему пакет LSAck для подтверждения полученного от него пакета LSU.
  • Ответить соседним устройствам, не подтвердившим отправленные рассматриваемым маршрутизатором пакеты LSU, передавая по методу одноадресатной рассылки пакеты LSU непосредственно этим соседним устройствам.
  • Если в списке запросов состояния каналов отсутствуют записи, перейти в состояние полной смежности
Рис.23.Блок-схема,которая относится к состоянию загрузки

Принцип организации действий в этой ситуации можно кратко определить, как описано ниже. Если в списке запросов состояния каналов отсутствуют записи перейти в состояние полной смежности. А если в списке запросов состояния каналов имеются записи, сформировать пакеты касающиеся каждого анонса LSA в списке запросов состояния каналов и передать их маршруштатору, который сообщил о наличии у него этих анонсов LSA в своих пакетах DD. Если пакет LSU от этого маршрутизатора не будет получен до истечения тайм-аута повторной передачи, отправить этот пакет LSR повторно. После получения пакета LSU удалить анонсы LSA, включенные в этот пакет, из списка запросов состояния каналов, передать всем смежным устройствам пакет LSU с информацией о новых анонсах LSA, а если маршрутизатору, которому был передан пакет LSR, не было отправлена неявное подтверждение полученного от него пакета LSU (путем передачи ему своего пакета LSU), передать этому маршрутизатору пакет LSAck. Наконец, если один или несколько маршрутизаторов не подтвердил и явно или неявно пакет LSU, переданный рассматриваемым маршрутизатором,повторно передать пакет LSU непосредственно этим маршрутизаторам по методу одноадресатной рассылки. Блок-схемы действий, выполняемых в состоянии полной смежности приведены на рис 26.24-26.27. После того как маршрутизатор наконец переходит в состояние полной смежности,ему фактически не приходится выполнять никаких действий (при том условии, что не возникают входные события), кроме передачи приветственных сообщений по истечении каждого тайм-аута передачи приветственных сообщение (эти действия на указанных выше рисунках не представлены в целях их упрощения). Если вычисление дерева SPF со времени последнего изменения еще не было выполнено, маршрутизатор в этом состоянии вычисляет также дерево SPF[17].

Если возникают входные события, маршрутизатор OSPF выполняет различные действия в зависимости от типа события. Если происходит отказ интерфейса, маршрутизатор OSPF удаляет из таблицы соседних устройств информацию обо всех соседних устройствах,которая была получена через этот интерфейс, вносит изменения в анонсы LSA по мере необходимости и выполняет лавинную рассылку по всем оставшимся соседним устройствам изменившихся анонсов LSA в виде пакета LSU.(В этом процессе лавинной рассылки учитываются также подтверждения LSU, как показано на рис. 24-27.)[18]

Рис.24.Блок-схема,которая относится к состоянию полной смежности
Рис.25.Блок-схема,которая относится ко входному событию "Отказ интерфейса,направленного к соседнему устройству. состоянию полной смежности
Рис.26.Блок-схема,которая относится ко входному событию "Получение пакета LSU"
Рис.27.Блок-схема,которая относится ко входному событию "Получение пакета LSR"

Следующее два входных события являются довольно простыми. При изменении идентификатора рассматриваемого маршрут и затора необходимо полностью переустановить конфигурацию OSPF (в этом и состоит одна из основных причин, по которой следует задавать идентификатор маршрутизатора вручную), а если маршрутизатор не получает приветственное сообщение от соседнего устройства до истечения тайм-аута регистрации отказа, он переводит отношения соседства с этим соседним устройством в состояние инициализации. Последние два входных события, хотя и могут на первый взгляд показаться сложными, фактически являются довольно простыми. После получения пакета LSU маршрутизатор проверяет этот пакет для определения того, содержатся ли в нем какие-либо новые анонсы LSA. В случае отрацитального ответа маршрутизатор просто передает в ответ пакет LSAck маршрутизатору, впервые сформировавшему этот пакет LSU.Если же в этом пакете LSU имеются новые анонсы LSA, маршрутизатор передаст обновление всем смежным соседним устройствам, в случае необходимости отправляет впервые сформировавшему пакет LSU маршрутизатору подтверждение в виде пакета LSAck и ожидает получение пакетов LSAck от всех маршрутизаторов, которым он отправил пакет LSU. Следует отметить,что процесс вычисления дерева SPF происходит после того, как маршрутизатор передает обновление своим соседним углроиглвам. Это весьма полезное усовершенствование, поскольку такая организация работы позволяет свести к минимуму отрицательное воздействие на передачу пакетов LSU, высланное задержками при вычислении дерева SPF. После получения пакета LSR маршрутизатор отвечает на него почти полностью по такому же принципу, как и в состоянии загрузки, передавая в случае необходимости, пакеты LSU и ожидая в ответ подтверждения. Но в блок-схему, показанную на рис.27, введено одно новое действие, которое не было представлено на рис.23. Если маршрутизатор получает пакет LSR с запросом на получение анонса LSA, который отсутствует в его базе данных о состоянии каналов, это означает,что произошла ошибка, поэтому маршрутизатор снова возвращается в послестартовое состояние. Такая проблема возникает и в состоянии загрузки, но для упрощения блок-схем с описанием этого состояния информация о данной проблеме не была на них представлена. Теперь, после изучения основных блок-схем функционирования маршрутизатора OSPF, рассмотрим, как маршрутизатор OSPF реагирует на изменения.

Процедура внесения изменений

Одно из препятствий, с которым пришлось столкнуться проектировщикам OSPF,связано с необхидимостью разработки процедуры внесения изменений в анонсы LSA,в частности, нужно стало найти способ, с помощью которого маршрутизатор, получивший анонс LSA и обнаружащий, что этот анонс уже имеется в его базе данных о состоянии каналов, мог бы определить, какому из этих анонсов следует доверять.Предпочтительный метод, предусмотренный для этой цели в спецификации OSPF,основан на использовании порядковых номеров.После внесения каждого изменения в анонс LSA его порядковый номер увеличивается на 1. Поэтому основной замысел проектировщиков OSPF состоял в том, что последними по времени должны считаться анонсы LSA с большими порядковыми номерами. Но при использовании порядковых номеров для определения того, какой анонс LSA является последним по времени возникает несколько проблем. Прежде всего, пространство порядковых номеров не может быть бесконечным. А если бы оно было таковым, то в сети, в которой применяется более старая версии спецификации OSPF, весь порядковый номер для одного анонса LSA мог бы полностью занять всю область данных пакета длиной 1500 байтов! Очевидно, что это недопустимо.Поэтому, если порядковые номера не могут возрастать до бесконечности следует создавать либо циклическое простронство порядковых номеров, либо плоское пространство порядковых номеров. При использовании плоского пространства порядковых номеров порядковый номер в конечном итоге достигает максимально допустимого значения. В этом случае анонс LSA навсегда становится недействительным (вернее, до истечения тайм-аута максимального возраста). Итак,что произойдет, если пространство порядковых номеров станет циклическим? В циклическом пространстве после достижения порядковым номером максимального значения, введенного в конфигурацию, этот номер снова переустанавливается в значение 0. Но это может привести к ошибкам в реализации алгоритма. Имеется в виду то, что если порядковый номер, достигший максимального значения, был переустановлен в значение 0, а затем достиг 45, то новое значение 45 больше чем 0, но вместе с тем 0 больше старого значения 45! Одно из решений этой проблемы состоит в использовании так называемых эстафетных пространств порядковых номеров. В протоколе OSPF версии 2 для представления порядковых номеров применяются модифицированные эстафеты. Хотя изложение всей теории эстафетных пространств порядковых номеров выходит за рамки данной книги, замысел, лежащий в их основе, состоит в том, что после начальной загрузки маршрутизатор начинает нумерацию вырабатываемых им анонсов LSA с отрицательного числа. После получения этого отрицательного порядкового номера другие маршрутизаторы проверяют свои базы данных для определения того, какой порядковый номер использовался этим маршрутизатором в последний раз.Если они обнаруживают порядковой номер, применявшийся маршрутизатором до перезагрузки, то сообщают маршрутизатору это (положительное) число и маршрутизатор возобновляет нумерацию анонсов LSA с того места, где он ее прекратил.А если не удается обнаружить анонсы LSA, ранее сформированные этим маршрутизатором, то маршрутизатор просто продолжает увеличивать отрицательное число с обозначением порядкового номера (которое в конечном итоге становится положительным) до тех пор, пока оно не достигает максимального порядкового номера. После достижения максимально допустимого для LSA порядкового номера все маршрутизаторы должны удалить этот анонс LSA из своих баз данных для того, чтобы маршрутизатор получил возможность выработать новый анонс LSA с минимально возможным положительным порядковым номером. На первый взгляд весь этот процесс должен осуществляться вполне успешно но что произойдет, если один из маршрутизаторов не удалит из своей базы данных анонс LSA с номером, превышающим максимально допустимый? Если этот маршрутизатор при определении последнего по времени анонса строго руководствуется порядковыми номерами, а впервые сформировавший этот анонс маршрутизатор приступает к выработке анонсов с новыми порядковыми номерами, имеющими меньшее значение,маршрутизатор-получатель будет просто отбрасывать новые анонсы LSA, поскольку они имеют номер меньше, чем у анонса в его базе данных, и рассматриваются как более старые по сравнению с ним. В этом состоит еще одна проблема, связанная с использованием порядковых номеров к качестве единственного метода определения достоверности любого анонса LSA. Для решения этой проблемы в спецификации OSPF предусмотрено также отслеживание возраста анонсов LSA. С анонсами LSA связаны три значения возраста: max age(максимальный возраст), age (возраст) и maxagediff (разница максимальных возрастов). Очевидно, чо возраст измеряет продолжительность существования анонса.Отслеживание возраста анонса LSA начинается в сформировавшем ею маршрутизаторе с 0 и увеличивается на 1 по истечении каждой секунды, проведенной анонсов внутри этого маршрутизатора. При передаче анонса LSA в другой маршрутизатор указывается его текущий возраст и для каждого исходящего интерфейса добавляется небольшое количество времени (по умолчанию — одна секунда). Этот интервал времени, добавляемый для каждого интерфейса, обозначается как InfTransDelay.Максимальный возраст используется для определения максимального количества времени, в течение которого анонс LSA может оставаться в базе данных без обновления.По умолчанию он составляет 3600 секунд (60 минут). Для предотвращения удаления по времени из базы данных действительных, но стабильных анонсов LSA применяется тайм-аут обновления информации о состоянии каналов, обозначаемый как LSRefreshTime, который используется для передачи сформировавшему анонс маршрутизатору информации об интервале ожидания между обновлениями, даже если в этом анонсе LSA не произошли какие-либо изменения. По истечении тайм-аута LSRefreshTime впервые сформировавший анонс маршрутизатор передает новый анонс LSA, возраст которого имеет значение 0 плюс InfTransDelay. (По умолчанию значение тайм-аута LSRefrestiTire составляет 30 минут.) Но если маршрутизатор рассматривает ранее полученные анонсы L5A как последние по времени, тайм-аут LSRefreshTinre не позволяет исключить возможность достижения максимального возраста,maxage. Поэтому в маршрутизаторах применяется дополнительней тайм-аут, обозначаемый как MaxAgeDiff, позволяющий сообщить им, что некоторый анонс LSA, имеющий меньший возраст по сравнению с другим, должен рассматриваться как последний по времени. Если получена новая копия существующего анонса LSA и разница в возрасте между существующим анонсом LSA и новым анонсом LSA больше чем MaxAgeDiff, то последним по времени считается анонс LSA c меньшим возрастом( По умолчанию значение тайм-аута LSRefreshTime с установлено равным 15 минут.) В конечном итоге все эти тайм-ауты позволяют определить, какой именно пакет содержит наиболее актуальную информацию. В частности, если какому-то маршрутизатору требуется удалить некоторый анонс LSA из баз данных всех маршрутизаторов в сети (например, после достижения максимально допустимого порядкового номера),он преждевременно завышает возраст анонса LSA таким образом, что он становится равным maxage, и передает этот анонс в обновлении. Каждый маршрутизатор, получавший этот анонс LSA, удаляет его из своей базы данных и перенаправляет этот LSA другим маршрутизаторам с возрастом maxage. Теперь, после ознакомления с тем, как маршрутизаторы OSPF выявляют более новые анонсы LSA, рассмотрим более подробно типы сетей OSPF.

Типы сетей OSPF

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

  • многоточечная сеть NBMA с эмуляцией широковещательной рассылки (полносвязная);
  • многоточечная сеть NBMA без эмуляции широковещательной рассылки(полносвязная);
  • многоточечная сеть NBMA (звездообразная или частично связная).

Принципы работы сети первого типа можно понять довольно просто. Режим работы многоточечной сети с эмуляцией широковещательной рассылки представляет собой один из режимов работы, которые определены в документах, и в ней по сути эмулируется широковещательная сеть со множественным доступом. Поскольку все маршрутизаторы находятся в полносвязной сети, в процессе функционирования протокола OSPF существует возможность эмулировать широковещательный сегмент со множественным доступом (такой как Ethernet),в котором все маршрутизаторы могут взаимодействовать друг с другим.В зтой сети осуществляются выборы маршрутизаторов DR и ВDR, и все маршрутизаторы должны использовать один и тот же IP-адрес сети/подсети для многоточечной сети. Пример такой сети показан на рис.28.

Рис.28. Полносвязная многоточечная сеть

С другой стороны, многоточечная полносвязная сеть без эмуляции широковещательной рассылки представляет собой дополнение к спецификации OSPF, которое определено в документации Cisco. В этом режиме все еще осуществляются выборы маршрутизаторов DR и BDR, а для всей многоточечной сети применяется один IP-адрес сети/подсети, но соседние устройства должны быть определены статически, поскольку эмуляция широковещателькой рассылки не разрешена. Топология такого типа может применяться в сетях, которые не поддерживлют эмуляцию широковещательной рассылки; к ним относятся некоторые сети на основе коммутируемых виртуальных каналов. Наконец, многоточечная сеть со звездообразной или частично связной топологией представляет собой топологию OSPF наиболее сложного типа. В сети такого рода протокол OSPF действует по-разному, в зависимости от того, как была выполнена настройка конфигурации сети. В полностью звездообразной конфигурации, подобной той, что показана на рис.29.

Рис.29. Звездообразная многоточечная сеть

В спецификации OSPF каждый канал рассматривается как двухточечный. Основная проблема, связанная с применением сети такого типа (для большинства протоколов, состоит в том, что в многоточечном канале используется один IР-адрес сети/подсети, но все маршрутизаторы могут взаимодействовать друг с другом. Даже если один из периферийных маршрутизаторов получит информацию о маршруте от другого периферийного маршрутизатора, он не сможет передавать пакеты, поскольку периферийные маршрутизаторы не могут взаимодействовать несмотря на то, что находятся в одной и той же логической сети. Одно из решений этой проблемы в звездообразной сети состоит в том, чтобы использовать двухточечные подинтерфейсф и присвоить каждому подинтерфейсу уникальный IP-адрес сети/подсети (Можно также применять статические команды frame-relay map, но решение, связанное с использованием двухточечных подинтерфейсов, проще.) Такая конфигурация показана на рис.30. Второе решение состоит в использовании многоточечного режима, определенного в одном из документов RFC для OSPF В этом режиме работы фактически создают маршруты к хосту (маршруты с маской /32) для каждого периферийного маршрутизатора,которые в обратном направлении указывают на центральный маршрутизатор. Таким образом, центральный маршрутизатор имеет маршруты к хостам, указывающие на каждый периферийный маршрутизатор. Если применяется такая конфигурация,каждый периферийный маршрутизатор может взаимодействовать со всеми другими периферийными маршрутизаторами через соединения с центральным маршрутизатором.

Рис.30. Звездообразная многоточечная сеть,преобразованная в двухточечную.

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

Рис.31.Частично связная многоточечная сеть.

В этой сети имеются два маршрутизатора (2 и 3), которые образуют полносвязную сеть с центральным маршрутизатором, а еще один маршрутизатор (4) входит в состав звездообразной конфигурации по отношению к центральному маршрутизатору. В этой топологии возникает проблема, связанная с тем, что маршрутизатор 4 не имеет возможности передавать пакеты через маршрутизаторы 2 иди 3, поскольку не имеет непосредственного соединения с этими маршрутизаторами. Два возможных решения этой проблемы состоят в том, чтобы ввести еще один постоянный виртуальный канал для преобразования данной сети в полносвязную или разбить эту сеть на две отдельные сети, как показано на рис.32. Еще одно решение состоит в использовании многоточечных усовершенствований OSPF, позволяющих применять в маршрутизаторах маршруты к хостам для доступа к другим маршрутизаторам. Выбирая топологию сети, необходимо, в частности, учитывать такой важный фактор, как количество отношений смежности, которые будут сформированы в сети.В большой сети наличие значительного количества отношений смежности может привести к снижению производительности всех маршрутизаторов. Если топология является полносвязной, выборы маршрутизатора DR/BDR происходят обычным образом,поэтому количество отношений смежности сводится к минимуму. В звездообразной сети центральный маршрутизатор просто рассматривает каждый постоянный виртуальный канал к каждому периферийному маршрутизатору как отдельную двухточечную сеть, а это означает, что центральный маршрутизатор устанавливает отношения смежности со всеми периферийными маршрутизаторами, но последние не устанавливают отношения смежности друг с другом. Однако в частично связной сети количество отношений смежности может изменяться в значительной степени. Если частично связная многоточечная сеть будет переопределена как одна или несколько полносвязных многоточечных сетей и одна или несколько двухточечных сетей (как. показано на рис.32),многоточечном сегменте (сегментах) будут происходить выборы маршрутизаторов DR/BDR, а в двухточечных сегментах каждый маршрутизатор установит отношения смежности со своим партнером, находящимся на другом конце канала. А если в сети применяются многоточечные усовершенствования OSPF, то каждый маршрутизатор устанавливает отношения смежности с каждым другим маршрутизатором, находящимся на другом конце каждого постоянного виртуального канала.Такая организация работы может привести к созданию чрезвычайно большого количества отношений смежности в крупных и сложных частично связных сетях. Теперь, после ознакомления с большинством функций протокола OSPF, выполняемых в одной области рассмотрим конфигурации OSPF с несколькими областями.

Применение OSPF в автономной системе с несколькими областями

Области OSPF представляют собой одно из усовершенствований, позволяющих использовать протокол OSPF для поддержки фактически неограниченного количества маршрутизаторов. У читателя может возникнуть вопрос, почему протокол OSPF не позволяет поддерживать неограниченное количество маршрутизаторов в одной области.Дело в том, что все маршрутизаторы OSPF, находящиеся в одной области, должны следить за состоянием каждого отдельного канала, который относится ко всей этой сети.Любое изменение состояния канала влечет за собой необходимость повторно выполнять вычисление дерева SPF в каждом маршрутизаторе, принадлежащем к этой среде. Несмотря на то, что протокол OSPF потребляет очень мало ресурсов, если сеть является стабильной и находящейся, в установившемся состоянии, в связи с выполнением того требования, что каждый маршрутизатор OSPF должен поддерживать полную достижимость маршрутов и хранить информацию о топологии для каждого канала области,в крупной сетевой среде любые изменения в состоянии OSPF могут вызвать потребление всеми маршрутизаторами весьма значительных объемов ресурсов процессора и оперативной памяти.Для предотвращения такого развития событий можно разделить сеть OSPF на несколько областей и уменьшить тем самым количество каналов, за состоянием которых должен следить каждый маршрутизатор OSPF (кроме маршрутизаторов ABR), ограничив их только теми каналами, которые относятся к данной конкретной области[19].

Рис.32.Частично связная многоточечная сеть,преобразованная в две сети.

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

Таблица 5, Практические рекомендации па выбору оптимальных размеров областей и автономных систем OSPF
Рекомендуемый минимум Рекомендуемый максимум
Количество маршрутизаторов в расчете на одну автономную систему 20 1000
Количество областей в расчете на одну автономную систему 1 60
Количество маршрутизаторов в расчете на одну область 20 350

Опорная область и граничные маршрутизаторы области

Область 0 сети OSPF называется опорной областью. В проекте сети OSPF, состоящей из нескольких областей, с опорной областью должны соединиться все прочие области.Таким образом, опорная область может рассматриваться как ядро сети OSPF.По сути, опорная область отвечает за распространение информации обо всех маршрутах между областями по граничным маршрутизаторам, которые затем передают эту информацию о маршрутах в области, отличные от опорной. Такая организация работы означает, что все маршруты между областями проходят через опорную область, поэтому опорная область является наиболее важной областью в проекте OSPF. Опорная область является единственной областью в OSPF, которая распространяет анонсы LSA типа 3 и 4, полученные из других областей. Поэтому в проекте с несколькими областями все граничные маршрутизаторы должны иметь канал (либо непосредственный, либо виртуальный) к опорной области, чтобы обладать способностью прокладывать маршруты через нею автономную систему.

Граничными маршрутизаторами области (ABR) называются маршрутизаторы, находящиеся на том участке, где одна область соединяется с другой, и имеющие интерфейсы, которые относятся, по меньшей мере, к двум различным областям (причем одна из них должна быть опорной областью). Каждый маршрутизатор АВR отвечает за получение информации обо всех сетях, анонсируемых в некоторой области, создание анонсов LSA типа 3 (суммарных анонсов LSA) С информацией об этих сетях и передачу созданных анонсов L5A типа 3 в опорную область. Кроме того, маршрутизаторы ABR отвечают за обработку анонсов LSA типа 3, полученных от других маршрутизаторов АВR, и передачу информации о наилучшем маршруте к каждой конкретной сети, полученной с помощью этих анонсов LSA, в области, отличной от опорной. Наконец,маршрутизаторы ABR отвечают за передачу анонсов LSA типа 4 (суммарных анонсов LSA маршрутизаторов ASBR) в опорные и неопорные области.

Интересной особенностью анонсов LSA типов 3 и 4 является то, что они действуют по принципам дистанционно-векторных протоколов, а не протоколов, учитывающих состояние каналов. Например, с помощью анонсов LSA типа 1 маршрутизатор анонсирует свои непосредственные каналы и указывает непосредственные затраты,связанные с этими каналами. Другие маршрутизаторы используют эту информацию для создании схемы сети и самостоятельного определения стоимости наилучшего маршрута от начальной до конечной точки, а с помощью анонсов LSA типов 3 и 4 маршрутизаторы ABR просто передают информацию о стоимости всего маршрута внутренним маршрутизаторам. Внутренние маршрутизаторы,формируя маршрут, складывают вычисленное ими значение стоимости со значением,полученным от АВR, и таким образом определяют общую стоимость маршрута.Если речь идет о внутренних маршрутизаторах, то маршрутизатор ABR можно рассматривать как непосредственно подключенный к сети. Например,рассмотрим сеть, показанную на рис.33.

Рис.33.Распространение анонсов LSA и формирование деревьев SPF в сети с несколькими областями.

В сети, показанной на рис.33, маршрутизатор А2Border имеет информацию обо всей, топологии области, (поскольку А2 Border относится к области 2), поэтому А2Border выбирает наилучший путь к сети 6 с помощью стандартного алгоритма SPF.Затем А2Border передает в область 0 в анонса LSA типа 3 информацию о маршруте к сети 6 со стоимостью 30 (это стоимость маршрута к сети 6 для маршрутизатора A2Border). Маршрутизатор Соrе передает по методу лавинной рассылки анонс LSA типа 3 маршрутизатору А1 Border, который рассматривает маршрут к сети 6 как проходящий через Соrе, а затем — через А2 Border. С точки зрения маршрутизаторов Соrе и Al Border, маршрутизатор А2 Border непосредственно подключен к сети 6 через канал со стоимостью 30. Аналогичным образом,маршрутизатор А1 Internal получает от маршрутизатора А2Border анонс LSA типа 3 о маршруте к сети 6 со стоимостью 32.

Опять-таки, если речь идет о маршрутизаторе A2lnternal то маршрутизатор А2Border может также рассматриваться как непосредственно подключенный к сети 6. В этом и состоит дистанционно-векторный аспект функционирования протокола OSPF. Перенаправляя трафик в другие области. Внутренние маршрутизаторы не имеют информации обо всем маршруте, а только о маршруте к маршрутизатору АBR. Сам маршрутизатор ABR обеспечивает перенаправление пакета через опорную сеть к другим ABR, которые затем берут на себя функции маршрутизации пакета к получателю. Именно такое применение дистанционно-векторных средств является причиной того, что для маршрутизации трафика между областями все прочие области должны быть подключены к единственной опорной области. При любой другой организации сети могут возникать маршрутные циклы, но поскольку топология сети принудительно преобразована в звездообразную, возможность возникновения маршрутных циклов исключена. Очевидная проблема при таком применении маршрутизаторов ABR связана с тем,что при отказе маршрутизатора ABR, предназначенного для какой-либо области, приходится сталкиваться со значительными затруднениями. Но эту проблему можно легко решить, введя дополнительные маршрутизаторы АВR. Например, рассмотрим сеть,показанную на рис.34.

Рис.34.Пример сети с несколькими областями,которая имеет высокую степень резервирования.

В этой сети нет ни одного маршрутизатора, отказ которого привел бы к нарушению связи с одной из тупиковых сетей (сетей 1—4), за исключением, безусловно,маршрутизатора, непосредственно подключенного к этим сетям, или маршрутизаторов самих этих тупиковых сетей. На рис.35 можно видеть, каким образом по этой сети распространяются анонсы LSA (Для упрощения этой схемы некоторые анонсы LSA, распространяемые по методу лавинной рассылки в области 1, не показаны.)

Рис.35.Распространение анонсов LSA по сети,рассматриваемой в качестве примера.

Следует еще раз отметить, что в анонс LSA не вводится информация о стоимости каждого канала вдоль данного маршрута, кроме как при прохождении через маршрутизатора ABR, по очень простой причине: каждый маршрутизатор способен сам вычислить дерево SPF чтобы найти маршруты к своим собственным маршрутизаторам ABR, Поэтому для внутреннего маршрутизатора необходимо только, чтобы маршрутизатор ABR предоставил ему информацию о стоимости маршрута, внешнего по отношению к его области, а наилучший маршрут к маршрутизатору ABR он способен найти самостоятельно. Такая конфигурация позволяет добиться значительной степени резервирования. В рассматриваемой здесь конфигурации можно найти свыше 20 различных способов передачи пакета из сети 1 в сеть 4. В этой топологии может стать неисправным один маршрутизатор ядра, по одному маршрутизатору ABR в каждой области и вплоть до трех каналов распределенной сети и лишь после этого обнаружатся первые признаки нарушения связи! При этом протокол OSPF будет каждый раз вырабатывать наилучший маршрут, не допуская ни малейшей возможности возникновений циклов. Например, на рис.36 показан наилучший маршрут, наряду с двумя другими возможными маршрутами, которые могут быть предусмотрены на случай отказа одного или нескольких важных каналов распределенной сети.

Во вторую очередь должен быть выбран маршрут, применяемый при отказе канала от маршрутизатора Соrе к правому маршрутизатору ABR в области 2, а третьим будет выбран маршрут, применяемый, если одновременно с этим произойдет отказ канала от правого маршрутизатора ABR в области 1 к маршрутизатору Core[20].

Ниже указано, какая информация представлена в этих важных анонсах LSA типа 3.

  • Заголовок LSA (описанный ранее в разделе "Формирование базы данных о состоянии каналов", в той части, где рассматривается формат пакета DD). Поле идентификатора канала в заголовке LSA содержит IP-адрес анонсируемой сети.
  • Поле маски сети. Это поле содержит (как и можно предположить) маску сети, которая относится к анонсируемой сети.
  • Метрика для анонсируемой сети.

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

Поэтому рекомендуется (а в действительности, почти что требуется), чтобы области проектировались иерархически для поддержки OSPF и выполнения суммирования маршрутов вручную во всех маршрутизаторах ABR для каждой области. Например, на рис.37 показана плохо спроектированная структура адресации IP в сети OSPF, которая во всех прочих отношениях является вполне работоспособной (если она останется небольшой по размерам).

Рис.36.Пример выбора маршрута.
Рис.37.Плохо спроектированная структура адресации IP


Если не применяется суммирование, то для описанная этой сети маршрутизаторы ABR будут вынуждены передавать основную часть из всех 18 анонсов LSA типа 3 в опорную область. Ситуация усугубляется также тем, что в этой сети невозможно легко выполнить суммирование из-за больших промежутков между некоторыми пространствами IР-адресов(поскольку можно предположить, что адреса,относящиеся к таким промежуткам, используются в других областях).Например, предположим, что сетевой администратор решил просуммировать адреса всех сетей 192.168 в один адрес. В современном проекте имеется всего шесть сетей 192.168: 192.168.1.0, 192.168.2.0, 192.168.3.0 , 192.168.6.0,192.168.7.0 и 192.168.8.0. После преобразование этих адресов в двоичную форму для поиска совпадающих битов (и определения правильной маски суммирования) будет получено следующее,

192.168.1.0:
11000000.10101000.00000001.00000000
192.168.2.0: 11000000.10101000.00000010.00000000
192.168.3.0: 11000000.10101000.00000011.00000000
192.168.6.0: 11000000.10101000.00000110.00000000
192.168.7.0: 11000000.10101000.00000111.00000000
192.168.8.0: 11000000.10101000.00001000.00000000

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

192.168.1.0: 11000000.10101000.00000001.00000000
192.168.2.0: 11000000.10101000.00000010.00000000
192.168.3.0: 11000000.10101000.00000011.00000000
192.168.4.0: 11000000.10101000.00000100.00000000
192.168.5.0: 11000000.10101000.00000101.00000000
192.168.6.0: 11000000.10101000.00000110.00000000
192.168.7.0: 11000000.10101000.00000111.00000000
192.168.8.0: 11000000.10101000.00001000.00000000
192.168.9.0: 11000000.10101000.00001001.00000000
192.168.10.0: 11000000.10101000.00001010.00000000
192.168.11.0: 11000000.10101000.00001011.00000000
192.168.12.0: 11000000.10101000.00001100.00000000
192.168.13.0: 11000000.10101000.00001101.00000000
192.168.14.0: 11000000.10101000.00001110.00000000
192.168.15.0: 11000000.10101000.00001111.00000000

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

Рис.38.Более эффективная структура адресации IP для сети,приведенной на рис.37.

Применение такой структуры адресации позволяет суммировать информацию обо все области в одно анонсе LSA типа 3 с минимальными затратами при этом даже не изменяя используемые маски подсети (и соответствующее количество хостов).Для определения адреса и маски,которые требуются для суммирования адресов этих подсетей,можно применить такой же процесс,как и перед этим,достаточно выписать все используемые адреса сетей и определить,какие части адреса совпадают[21].

172 16 64. 0/18

10101100. 00010000 01000000 00000000

172 16 128.0/18

10101100. 00010000 01000000 00000000

172 17 16. 0/20

10101100. 00010001 00010000 00000000

172 17 32. 0/20

10101100. 00010001 00100000 00000000

172 17 48. 0/24

10101100. 00010001 00110000 00000000

172 17 49. 0/24

10101100. 00010001 00110001 00000000

172 17 50. 0/24

10101100. 00010001 00110010 00000000

172 17 51. 0/24

10101100. 00010001 00110011 00000000

172 17 52. 0/24

10101100. 00010001 00110100 00000000

172 17 53. 8/29

10101100. 00010001 00110101 00001000

172 17 53. 16/29

10101100. 00010001 00110101 00010000

172 17 64. 0/21

10101100. 00010001 01000000 00000000

172 17 72. 0/21

10101100. 00010001 01001000 00000000

172 17 80. 0/21

10101100. 00010001 01010000 00000000

172 17 88. 0/21

10101100. 00010001 01011000 00000000

172 17 96. 0/21

10101100. 00010001 01100000 00000000

172 17 104 .0/21

10101100. 00010001 01101000 00000000

172 17 128.0/18

10101100. 00010001 10000000 00000000

В данном случае имеется возможность фактически просуммировать все адреса в одном анонсе,относящемся к сети 172.16.0.0/15 и тем самым сэкономить ресурсы во всех маршрутизаторах на предприятии.Следует так же отметить,что в действительности адрес 172.16.0.0/15 соответствует гораздо большему количеству адресов,чем фактически здесь имеется. (он соответствует адреса 172.16.0.0-172.17.255.255,а используются только адреса 172.16.64.0 - 172.17.191.255; при этом пространство адресов 172.17.53.24-172.17.63.255 остается не занятым).

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

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

Тупиковые, полностью тупиковые и не полностью тупиковые области

Эти три типа областей предусмотрены для того,что можно было добиться уменьшения количества анонсов LSA некоторых типов, распространяющихся по тем областям,где они не требуются.Если некоторая область является тупиковой,все маршрутизаторых для достижения маршрутов,проходящих по одной из внешних автономных систем,должны передавать пакеты своему маршрутизатору ABR (а это означает что в тупиковой области не могут существовать маршрутизаторы ASBR).Поскольку таким маршрутизаторам не требуется информация о маршрутах,которая была перераспределена в автономную систему одним из маршрутизаторов ASBR, то маршрутизатор (маршрутизаторы) ABR для такой области блокирует поступление в нее анонсов LSA типа 5.Маршрутизатор ABR просто передает в тупиковую область анонс LSA типа 3 с информацией о сети 0.0.0.0 (о стандартном маршруте), а внутренние маршрутизаторы передают все пакеты, не относящиеся к данной области автономной системы, маршрутизатору ABR. После их получения маршрутизатор ABR определяет, как достичь требуемого маршрутизатора ASBR.

Поскольку в тупиковой области анонсы LSA типа 5 не требуются, анонсы LSA типа 4 также являются излишними и их поступление в эту область не допускается. Анонсы LSA типа 4 предназначены для передачи маршрутизаторам некоторой области информации о маршрутизаторах ASBR. А поскольку внутренние маршрутизаторы в тупиковой области должны только передавать пакеты независимо от их содержимого маршрутизаторам ABR, им не нужна информация о том, как достичь маршрутизатора ASBR. Тупиковые области являются исключительно удобными в тех ситуациях, когда имеется несколько маршрутизаторов ABR, предназначенных для перенаправления пакетов в опорную область, но в этой области нет ни одного маршрутизатора ASBR. Подведем итог если область нельзя сделать полностью тупиковой (я связи с необходимостью распределять нагрузку по нескольким маршрутизаторам ABR), то эту область, если в ней не существуют маршрутизаторы ASBR или виртуальные каналы, нужно сделать тупиковой.

Полностью тупиковые области представляют собой дальнейшее развитие понятия тупиковой области. Предположим, что в сети имеется область, для которой предусмотрен только один путь для достижения любого получателя, внешнего по отношению к этой области, включая внутренние области данной автономной системы.В зтой ситуации имеется только один маршрутизатор ABR и нет маршрутизаторов ASBR. Для маршрутизаторов области нет иного выбора, кроме передачи всех пакетов, не относящихся к данной области, маршрутизатору ABR.В таком случае можно заблокировать не только анонсы LSA типа 4 и 5, но и вес анонсы LSA типа 3 (за исключением единственного анонса типа 3 с информацией о стандартном маршруте).Полностью тупиковые области позволяют добиться максимально эффективного функционирования тупиковых областей. Наконец, не полностью тупиковые области (NSSA) применяются, если есть маршрутизатор ASBR, внутренний по отношению к некоторой области, но все еще имеется только один маршрут, позволяющий достичь других внешних областей. Кроме того, для автономной системы,, я которую данный маршрутизатор ASBR перераспределяет информацию о маршрутах, не должна требоваться информация о других маршрутах, внешних по отношению к данной автономной системе OSPF. Например, на рис 39 область 1 может рассматриваться как NSSA.

Область 1 не может быть тупиковой, поскольку в ней имеется маршрутизатор ASBR, но в ней есть только один маршрут для достижения других внешних получателей (по протоколу RIP) — через маршрутизатор АВR. Кроме того,для маршрутизатора IGRP не требуется информация о каких-либо сетях, относящихся к OSPF, поэтому вполне подходит стандартный маршрут к области 1 (поскольку в нем нет каких-либо иных каналов к любым другим доменам маршрутизации). Поэтому для данной сети не требуется все функциональные возможности транзитной сети, в которой анонсы с информацией обо всех маршрутах, сформированных маршрутизатором ASBR, передаются внутренним маршрутизаторам; достаточно только иметь возможность перераспределять информацию о маршрутах из среды IGRP в среду OSPF.

Если область 1 преобразована в NSSA, информация о маршрутах, полученная из среды IGRP будет распределяться по маршрутизаторам области 1 в виде анонсов LSA типа 7. Затем, передав указание маршрутизатору ASBR, чтобы он устанавливал или очищал бит Р в этих анонсах LSA, можно применить один из двух вариантов последующей обработки этих анонсов: либо предусмотреть уничтожение маршрутизатором ABR всех анонсов LSA типа 7 (не позволяя передавать в другие области информацию о маршрутах IGRP), либо обеспечить преобразование анонсов LSA типа 7 в анонсы LSA типа 5 для распределения по другим областям (поскольку лишь маршрутизаторы области NSSA могут принимать анонсы LSA типа 7. Если бит Р установлен равным 1, маршрутизатор ABR автоматически преобразует анонсы LSA типа 7 в анонсы LSA типа S для распределения по области 0. В противном случае анонсы LSA типа 7 уничтожаются и никакие другие области не получают информацию и маршрутах, принятую из среды IGRP.

Рис.39.Схема сети,в которой область 1 может рассматриваться как NSSA,а области 2 и 3 - нет.

С другой стороны, области 2 и 3 ни в коем случае не должны использоваться в качестве NSSA. Маршрутизаторы ASBR для домена RIP имеются в обеих областях, а это означает, что существует несколько маршрутов для доступа к сетям OSPF по протоколу RIP. Но следует сразу же отметить, что протокол RIP при наличии нескольких маршрутов к одному получателю действует отнюдь не лучшим образом, а если маршрутизатору RIP передана информация о наличии двух стандартных маршрутов, он принимает весьма неэффективнее решения о том, какой из них следует использовать в тот или иной момент времени. (Напомним, что по стандартным маршрутам не выполняется распределение нагрузки.) Итак, фактически следует перераспределять обратно в среду RIP информацию обо всех маршрутах OSPF (кроме тех, которые вызывали бы формирование циклов в среде RIP), а это означает, что анонсы LSA типа 5, полученные из области 1, действительно должны быть доступными в областях 2 и 3.

Виртуальные каналы

Виртуальные каналы являются далеко не лучшим средством спецификации OSPF, и использовать их не следует. Но в некоторых случаях трудно обойтись без виртуальных каналов, поэтому иногда имеет смысл применить временный виртуальный канал, однако, как правило, следует избегать их использования. Виртуальный канал представляет собой фиктивное соединение с опорной областью.Виртуальные каналы используются, если полностью исключена какая-либо возможность непосредственно подключить некоторую область к опорной области или если произошло разделение опорной области из-за отказа. Оба эти случая проиллюстрированы на рис.40 и 41. На рис.40 показана область (обозначенная как область 1), которая не может иметь непосредственного соединения с опорной областью.Чтобы на время решить эту проблему, можно ввести виртуальный канал между маршрутизатором ABR области 1 и маршрутизатором ABR области 2. Этот виртуальный канал действует как ненумерованное двухточечное соединение(так называется канал без IP-адреса) с область 0.Стоимость этого канала равна стоимости маршрута между двумя маршрутизаторами ABR. После ввода виртуального канала эти два маршрутизатора ABR устанавливают друг с другом отношения смежности и передают анонсы LSA типов 3, 4 и 5 так, как если бы маршрутизатор ABR области 1 был непосредственно подключен к опорной области.

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

На рис.41 показана еше одна ситуация, в которой может потребоваться виртуальный канал. В этом примере предполагается, что произошел отказ одного из каналов внутри опорной области, в результате чего опорная область разделилась на две области 0, не способные связываться друг с другом.В этом случае сразу после разделения опорной области область 4 теряет способность взаимодействовать со всеми прочими областями, кроме области 1 Для решения данной проблемы можно создать виртуальный канал между двумя маршрутизаторами ABR, относящимися к области 1, в результате чего целостность области 0 снова восстанавливается. Но в любом случае необходимо предпринять все возможные действия для решения возникших проблем без использования виртуальных каналов. Виртуальные каналы следует применять лишь в течение короткого времени, поскольку они увеличивают сложность любой сети.В процессе устранения нарушений в работе сети OSPF, в которой используются виртуальные каналы, приходится дополнительно выполнять поиск неисправностей в каждом маршруте между маршрутизаторами ABR, с которых начинаются и которыми оканчиваются виртуальные каналы, поэтому такой процесс становится исключительно сложным. В связи с этим проектировщики обычно расценивают применение виртуальных каналов в сети OSPF как показатель некачественного проекта маршрутизации. Но если виртуальный канал действительно должен быть создан, следует помнить,что его необходимо прокладывать через транзитную область.Это означает, что нельзя формировать виртуальные каналы, проходящие через тупиковую область любого типа.

Рис.41.Виртуальный канал,созданный для восстановления целостности разделенной опорной области

Перераспределение маршрутов с помощью протокола OSPF

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

Анонсы LSA типа 5, формируемые маршрутизаторами ASBR, содержат информацию, приведенную ниже.

  • Заголовок LSA (описанный ранее в разделе "Формирование базы данных о состоянии каналов", в той части, где рассматривается формат пакета DD). Поле идентификатора канала в заголовке LSA содержит IP-адрес анонсируемой сети.
  • Поле маски сети. Это поле содержит маску сети, которая относится к анонсируемой сети
  • Бит Е, который обозначает тип внешней метрики, используемой для этого маршрута. Если маршрутизатором ASBR бит Е установлен равным 1, маршрут имеет тип Е2.В противном случае маршрут имеет тип El, различия между типами El и Е2 описаны ниже.
  • Внешние записи типа 1 (Е1). В записях E1 метрика вычисляется как сумма стоимости перераспределенного маршрута и стоимости каналов к маршрутизатору-отправителю. Записи Е1 обычно используются,если какой-то внешний получатель анонсируется более чем одним маршрутизатором ASBR.
  • Внешние записи типа 2 (Е2). Метрика в записях Е2 начисляется просто как стоимость перераспределенного маршрута.(Стоимость внутренних каналов к анонсирующему маршрутизатору ASBR в расчет не принимается.)В связи с этим записи E2 имеют меньшую стоимость по сравнению с Е1 и маршрутизаторы обычно предпочитают их записям E1.
  • Авансируемая метрика для сети.
  • Адрес перенаправления, представляющий собой адрес, который должен использоваться маршрутизатором для передачи пакета маршрутизатору ASBR.Обычно он устанавливается равным 0.0.0.0, и это означает, что должен использоваться маршрутизатор ASBR, впервые сформировавший анонс.

Следует отметить, что маршруты, анонсируемые маршрутизатором ASBR с помощью анонсов LSA типа 5, обладают дистанционно-векторными свойствами (как и анонсы LSA типа 3, формируемые маршрутизатораии ASBR. Маршрутизаторы автономной системы OSPF не имеют информации обо всем маршруте к внешней сети,в их распоряжении имеется только маршрут, позволяющий достичь маршрутизатора ASBR через автономную систему OSPF. В связи с этим для перераспределения используются анонсы LSA другого типа — LSA типа 4.

Анонсы LSA типа 4 во многом аналогичны анонсам LSA типа 1.Они имеют такой же основной формат и также вырабатываются маршрутизаторами ABR, относящимися к данной области (а не маршрутизаторами ASBR). Анонсы LSA пита 4 сообщают маршрутизаторам, как достичь маршрутизаторов ASBR. Поскольку анонсы LSA типа 5 обычно сообщают маршрутизаторам области, какому маршрутизатору ASBR должен быть переправлен пакет, предназначенный для внешнего адреса, а не как достичь этого маршрутизатора ASBR, то для анонсирования маршрута к маршрутизаторам ASBR, находящимся в других областях служат анонсы LSA типа 4. Этот процесс проиллюстрирован на рис.42.

Рис.42.Сеть,в которой маршрутизатор ASBR перенаправляет анонсы LSA типа 5,а маршрутизаторы ABR перенаправляют анонсы LSA типа 5,а также типа 4 для описания маршрута к этому ASBR

В примере, приведенном на рис.42. маршрутизатор ASBR перераспределяет в область 3 информацию о маршруте к сети 4, полученную с помошью протокола RIP, в виде анонса LSA типа 5. Идентификагор состояния канала в анонсе LSA типа 5 соответствует адресу анонсируемой сети, в качестве идентификатора анонсирующего маршрутизатора указан идентификатор впервые сформировавшего анонс маршрутизатора ASBR (в данном случае 0.0.0.1), а адрес перенаправления является нулевым (0.0.0.0). Это означает, что маршрутизаторы должны передалать пакету, предназначенные для сети 4, непосредственно анонсирующему маршрутизатору ASBR. Маршрутизатор ABR обалсти 3 передает по методу лавинной рассылки анонс типа 5 в область 0 в неизменном виде, но он также выполняет лавинную рассылку анонса типа 4 с идентификатором состояния канала, равным идентификатору маршрутизатора ASBR, и с указанием к качестве идентификатора анонсирующего маршрутизатора своего собственного идентификатора маршрутизатора для того, чтобы маршрутизаторы из области 0 имели информацию о том, куда передавать пакет,предназначенный для этого маршрутизатора ASBR, указанного с помощью идентификатора. Маршрутизатор ABR, находящийся на границе области 1, выполняет аналогичный процесс, передавая по методу лавинной рассылки в область 1 анонс типа 5 в неизменном виде, не формируя новый анонс типа 4 с информацией о маршруте к анонсирующему маршрутизатору ASBR.

Необходимо сделать еще одно, последнее замечание, касающееся перераспределения информации о маршрутх с помощью протокола. OSPF: при использовании области NSSA маршрутизатор ASBR не вырабатывает анонсы LSA типа 5. Вместо этого маршрутизатор ASBR вырабатывает анонсы LSA типаа 7 для каждой сети, информация о маршрутах которой перераспределяется с помощью OSPF. Затем маршрутизатор ABR, относящийся к этой области NSSA (в зависимости от значения бита P) либо выполняет лавинную рассылку по опорной области информации из анонса LSA типа 7 в виде анонса LSA типа 5, либо уничтожает анонс LSA типа 7 (это означает, что лишь внутренние маршрутизаторы области NSSA будут иметь информацию о маршрутах,перераспределяемых маршрутизатором ASBR).

Примечания

  1. Специалисты группы IETF не считают протокол EIGRP возможным кандидатом на использование в качестве рекомендуемого протокола IGP, поскольку спецификация ЕIGRP является закрытой.
  2. Кроме перечисленных выше типов анонсов LSA, имеются также анонсы LSA типов 6,8,9,10 и 11. Но поскольку эти анонсы LSA в настоящее время либо не используются, либо не поддерживаются маршрутизаторами CISCO, они в данной главе не рассматриваются.
  3. Не следует путать транзитные сети с транзитными областями,а тупиковые сети с тупиковыми областями. Они имеют подобные названия, но их определения значительно отличаются.
  4. Не рекомендуется эксплуатировать несколько процессов OSPF в одном маршрутизаторе,поскольку это влечет за собой увеличение затрат ресурсов на поддержку процессов и способствует возникновению несогласованностей в базе данных.
  5. Обычно лучше всего статически задать идентификатор маршрутизатора с помощью либо ввода вручную команды router-id , либо определения интерфейса петли обратной связи,вместо того,чтобы предоставлять маршрутизатору возможность самостоятельно выбирать IP-адрес,поскольку смена идентификатора любого маршрутизатора приводит к повторным вычислениям по алгоритму SPF во всех маршрутизаторах данной области (что является нежелательным).
  6. В сети со множественным доступом маршрутизаторы DR и BDR выбираются для каждого отдельного интерфейса или канала. Иными словами, вполне возможно, что маршрутизатор выполняет функции DR в одном интерфейсе и относится к типу DROther в совершение другом интерфейсе.
  7. Если соседние устройства принимают решение о том, чnо они не должны становиться смежными,они не переходят в послестартовое состояние и не передают друг другу информацию о состоянии каналов. Вместо этого маршрутизаторы для получения информации с состоянии каналов от несмежным соседних устройств и для передачи последним такой информации обращаются к маршрутизатору DR. Соседние устройства, которые достигают состояния двухсторонней связи друг с другом, но принимают решение не формировать отношения смежности, остаются в состоянии двухсторонней связи до тех пор, пока от соседних устройств продолжают поступать действительные приветственные пакеты.
  8. Несмотря на то, что выбор в качестве ведущего или ведомого того или иного маршрутизатора не имеет фактически никакого значения о точки зрения дальнейшей работы, ведущим всегда становится маршрутизатор с наибольшим идентификатором маршрутизатора.
  9. Раздел ТОS предназначен для обеспечения возможности применять протокол OSPF для поддержки маршрутизации с учетом типа обслуживания путем изменения значении метрики для конкретных маршрутов с учетом типа трафика, который должен передаваться по этим маршрутам. Маршрутизаторы Cisco не поддерживают маршрутизацию TOS с использованием полей TOS в анонсах LSA OSPF, поэтому эта тема в данной главе больше не рассмampивается.
  10. Хотя по умолчанию в вычислениях метрики не учитываются каналы с пропускной способностью больше 100 Мбит\с, этот предел можно изменить с помощью команды режима настройки конфигурации маршрутизатора auto-cost reference-bandwidth [скорость в Мбит/с]. Эта команда рассматривается более подробно в разделе "Настройка конфигурации OSPF" ниже в этой главе.
  11. В спецификации OSPF не поддерживается распределение нагрузки пр маршрутам с неравной стоимостью.
  12. Блок-схемы, приведенные на этих рисунках, немного упрощены для удобства изучения, но являются формально правильными (даже если в действительности процессы происходят немного иначе).
  13. Все действия,показанные на этой блок-схеме,выполняются для каждого соседнего устройства,доступного через каждый интерфейс,разрешенный для использования в среде OSPF.
  14. В некоторых случаях в звездообразной или частично связной топологии NBMA таймаут опроса или состояние осуществления попыток может не использоваться.
  15. Хотя это и не показано на приведенных выше рисунках, ведущий и ведомый маршрутизаторы передают пакеты LSR и LSU, все еще находясь в состоянии обмена. Автор решил немного упростить эту часть блок-схем, чтобы они стали более легкими для понимания.В действительносmu, если в списке запросов состояния каналов имеются записи, маршрутизатор передает пакет LSR с этми запросами LSA каждый раз по истечении тайм-аута отсрочки SPF (по умолчанию через каждые пять секунд). Это означает, что для маршрутизатора не исключена возможность перейти из состояния обмена непосредственно в состояние полной смежности.
  16. Ведущие и ведомые маршрутизаторы по окончанию этого процесса могут в разные состояния.Например,после перехода в оперативный режим нового маршрутизатора нередко приходится наблюдать ,что новый маршрутизатор какое-то время остается в состоянии загрузки несмотря на то,что существующий маршрутизатор уже перешел в состояние полной смежности.
  17. В большой области вычисление дерева SPF может потребовать значительных ресурсов процессора.А если подряд происходит несколько событий,которые влекут за собой появление изменений в базе данных о состоянии каналов (и поэтому вызывают повторное вычисление дерева SPF), таких как внезапное изменение состояния канала из-за нарушений в его работе (такия ситуация называется самопроизвольным изменением состояния канала, то нагрузка процессора иногда возрастает до такой степени, что могут возникать ошибки или потери пакетов. Для уменьшения вероятности такого развития событий в маршрутизаторах Cisco применяется средство,известное под названием тайм-аута удержания SPF, которое (по умолчанию) не позволяет выполнить больше одного вычисления дерева SPF в течение десятисекундного интервала.
  18. В сети могут также происходить некоторые другие события, не показанные на рис.24, но на этом рисунке представлены наиболее важные из них. Полное описание протокола OSPF приведено в книгах: Jeff Doyle. Routing TCP/IP: Volume 1? 1998. Cisco Press и John Moy. OSPF: Complete Implementation,Addison-Wesley,2000. Автора последней книги многие считают создателем протокола OSPF. С информацией об протоколе QSPF можно так же ознакомиться, прочитав основной документ RFC, касающийся этого протокола, который находится по адресу ftp://ftp.isi.edu/in-notas/rfc2328.txt
  19. Независимо от общего размера сети, поле TTL в пакете IP имеет небольшую длину и не позволяет осуществлять маршрутизацию в пределах свыше 255 транзитных переходов.
  20. Для упрощения этой схемы не были показаны некоторые другие маршруты, которые могли бы использоваться маршрутизатором для распределения нагрузки по маршрутам с равной стоимостью. Например, в качестве третьих по значению маршрутов могут применяться четыре маршрута к сети 4 со стоимостью 108. Если бы самым низким по стоимости был маршрут со стоимостью 108,то маршрутизаторы OSPF при обычных условиях равномерно распределяли бы нагрузку по этим четырем маршрутам.
  21. По сути, если имеется непрерывная структура адресов,подобная приведенной выше , то можно уменьшить для себя объем работы,выполнив этот процесс только для первого и последнего адресов сетей в структуре.