MikroTik:OSPF


Введение

Подменю: /routing ospf

В этой главе описывается поддержка протокола маршрутизации OSPF (англ. Open Shortest Path First) в RouterOS
OSPF - это протокол внутреннего шлюза (IGP), распространяющий маршрутную информация только между маршрутизаторами, относящимися к одной и той же Автономной Системе(AS).
OSPF основан на технологии отслеживания состояния канала (link-state technology), которая имеет несколько приемуществ перед дистанционно-векторными протоколами (distance-vector protocols), такими как RIP:

  • нет ограничений в количестве хопов (hop);
  • для обновления маршрутной информации используется протокол групповой передачи (multicast protocol)
  • обновления рассылаются только в момен изменения сетевой топологии;
  • логическое разделение сетей, в которых маршрутизаторы объеденены в области (areas)
  • распространяет и маркирует внешние маршруты, внедренные в AS

Однако существует несколько недостатков:

  • OSPF достаточно ресурсоёмок к CPU и памяти из-за использования SPF алгоритма и ведения нескольких копий маршрутной информации;
  • более сложный протокол для внедрения по сравнению с MikroTik:Routing/RIP;

MikroTik RouterOS поддерживает OSPF Версии 2 (RFC 2328) и Версии 3 (RFC 5340, OSPF для IPv6).

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

Определение терминов, относящихся к работе OSPF.

Сосед (Neighbor) присоединенный (смежный) маршрутизатор, на котором запущен OSPF и смежный интерфейс которого присвоен к той же самой области. Соседи находятся с помощью Hello пакетов.
Смежность (Adjacency) логическое соединение между маршрутизатором и соответствующим DR и BDR. Обмен маршрутной информацией не происходит до тех пор, пока отношение смежности (соседства) не будет установлено.
Связь (Link) связь относится к сети или интерфейсу маршрутизатора, присвоенного к данной сети.
Интерфейс (Interface) физический интерфейс на маршрутизаторе. Интерфейс считается связью, когда он добавлен в OSPF. Используется для построения базы данных каналов.
LSA Анонс Состояния Канала (англ. Link State Advertisement), пакет данных, содержащий маршрутную информацию и информацию о состоянии канала, которая распространяется между OSPF соседями.
DR Назначенный Маршрутизатор (англ. Designated Router), выбранный маршрутизатор, необходимый для минимизации количества сформированных отношений соседства. Опция используется в широковещательных сетях.
BDR Резервный Назначенный Маршрутизатор (англ. Backup Designated Router), горячая замена для DR. BDR получает все оновления маршрутов от соседних маршрутизаторов, но он не рассылает LSA обновления.
Область (Area) области используются для создания иерархических сетей.
ABR Граничный Маршрутизатор Области (англ. Area Border Router), маршрутизатор, соединенный с несколькими областями.
ASBR Граничный Маршрутизатор Автономной Системы (англ. Autonomous System Boundary Router), маршрутизатор, соединенный с внешней сетью или несколькими AS.
NBMA Не широковещательный множественный доступ (англ. Non-broadcast multi-access), сети, позволяющие множественный доступ, но не имеющие возможности широковещания (например, X.25, Frame Relay). Для таких сетей требуется дополнительная конфигурация.
Broadcast Сети, позволяющие широковещание, например Ethernet.
Point-to-point Типы сетей, не требующих DR и BDR.
Router-ID IP адрес, используемый для идентификации маршрутизатора OSPF. OSPF использует наивысший IP адрес, присваивается маршрутизатору автоматически, когда эта опция не используется.

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

Функционирование OSPF

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

  • Обнаружение соседей
  • Инициализация отношения смежности
  • Рассылка LSA
  • Вычисление дерева SPF

Соседи

Соседи определяются с помощью OSPF Hello пакетов, рассылаемых на multicast-адреса. Пакеты Hello рассылаются периодически (с 10 секундным интервалом по умолчанию). Маршрутизаторы становятся соседями как только видят себя в списке соседей Hello пакета. ID Маршрутизатора, ID Области и информация об аутентификации передаются в обычных OSPF заголовках.

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

  • интерфейсы должны относиться к одной области
  • интерфейсы должны относиться к одной и той же подсети и иметь одинаковую сетевую маску.
  • маршрутизаторы должны обменяться одинаковыми паролями и должны иметь одинаковые опции аутентификации.
  • hello и dead интервалы должны быт одинаковыми.
  • Флаг тупиковой области должен совпадать в Hello пакете.

Информация OSPF hello пакета:

Параметр Описание
router-id наивысший активный IP-адрес на маршрутизаторе, до тех пор, пока не сконфигурирован вручную
area-id область, к которой принадлежит маршрутизатор, оправивший пакет
authentication information тип аутентификации и соответствующие настройки
network mask сетевая маска IP адреса на интерфейсе маршрутизатора, отправившего пакет
hello interval временной интервал между отправкой Hello пакетов
options OSPF опции для информирования соседа
router priority 8-битное значение, используемое при выборах DR и BDR. (Не используется в p2p линках)
router dead interal временной интервал, по истечении которого сосед считается недоступным(По-умолчанию в четыре раза больше Hello интервала)
DR router-id текущего DR
BDR router-id текущего BDR
Neighbor router IDs список router-id соседей маршрутизатора, отправившего пакет

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

  • Down - Hello пакеты не получены
  • Attempt - применимо только к облакам NBMA. Состояние указывает на то, что недавно была получена информация от соседей.
  • Init - Hello пакет получен от соседа, но двухстороннее соединение не установлено.
  • 2-way - маршрутизатор увидел себя в Hello-пакете соседнего маршрутизатора. В течении этого состояния происходят выборы DR и BDR, маршрутизаторы строят смежность (соседство), зависимо от того, является ли маршрутизатор DR или BDR, линк является точкой-точкой или виртуальным.
  • Exstart - маршрутизаторы пытаются установить начальную последовательность, которая будет использоваться при обмене информационными пакетами.
  • Exchange - маршрутизаторы обмениваются пакетами описания базы данных (DD)
  • Loading - пакета запроса состояния канала отправляется соседу, чтобы запросить новые LSA, которые были обнаружены в течение состояния Exchange.
  • Full - состояние соседства (смежности) завершено, соседние маршрутизаторы полностью смежны. Информация LSA синхронизирована между соседними маршрутизаторами.

Смежность

DR BDR adjacency formation

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

  • двухсторонняя коммуникация;
  • синхронизация базы данных - маршрутизаторы обмениваются пакетами трех типов:
  • Пакет описания базы данных (DD);
  • Пакет запроса состояния канала (LSR);
  • Пакет обновления состояния канала (LSU).

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

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

Выборы DR

OSPF выбирает назначенный маршрутизатор (DR) и резервный назначенный маршрутизатор (BDR) в каждом сегменте. Выборы DR и BDR производятся Hello протоколом. Маршрутизатор с наивысшим OSPF приоритетом в сегменте становится DR. Маршрутизатор с наивысшим Router-ID выбирается DR, когда у всех маршрутизаторов приоритет равный. Тот же самый процесс повторяется для BDR.

Маршрутизатор считается DROther и не избирается как DR или BDR, когда его приоритет равен нулю.
Любые новые интерфейсы принимают DR и BDR независимо от собственного Router ID или приоритета маршрутизатора (Router Priority), если DR и BDR уже существуют в этом сегменте.

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

Смежность в NBMA сетях

Вам требуется быть предельно аккуратными при конфигурации OSPF в не широковещательных сетях с множественным доступом. Протокол рассматривает эти сети, как и любые другие широковещательные сети, такие, как Ethernet. DR и BDR должны иметь статический список всех маршрутизаторов прилагается к сети, из-за отсутствия возможностей широковещания. Этот список создаётся в /routig ospf nbma-neighbor меню.

Анонсы состояния канала (LSA)

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

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

Лавинная рассылка производится с помощью многоадресного IP адреса 224.0.0.5 (AllSPFRouters). Тип сети определяет каким образом производится дальнейшая рассылка обновлений анонса состояний каналов (LSA).

Тип сети Многоадресатный IP адрес
точка-точка (point-to-point) 224.0.0.5 (AllSPFRouters)
широковещательная (broadcast) 224.0.0.6 (AllDR)
точка-многоточка (point-to-multipoint) Многоадресный адрес не используется. Эти сети используют одноадресный адрес смежного маршрутизатора.

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

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

Выделяют несколько типов анонсов состояния каналов:

  • LSA type 1 - Router Link (RL), описывает состояние всех интерфейсов маршрутизатора внутри определенной области. Анонсы генерируются всеми маршрутизаторами.
  • LSA type 2 - Network Link (NL), описывает маршрутизаторы, соединенные с конкретным сегментом. Пакеты NL генерируются только DR маршрутизаторами.
  • LSA type 3 - Network Summary Link (SL), генерируются граничными маршрутизаторами области (Area Border Routers), содержит подсети и стоимости, но исключает данные о топологии подсетей области при передаче в другую область через ABR. Эти LSA предназначены для связи между областями.
  • LSA type 4 - ASBR Summary Link, этот тип аналогичен type3, но посылается ASBR при пересечении граница AS.
  • LSA type 5 - External Link (EL), этот тип генерирует ASBR и описывает маршруты к назначениям за пределами AS.
  • LSA type 6 - Членство в Группе (Group Membership)
  • LSA type 7 - тип объявления о состоянии внешних каналов автономной системы в NSSA зоне (not-so-stubby area)
  • LSA type 8 - Внешний Атрибут (External Attribute)
  • LSA type 9 to 11 - Неопределенные LSA, зарезервированные для последующего развития.

Алгоритм вычисления кратчайшего пути

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

Метрики OSPF

Стоимость (или метрика) OSPF интерфейса используется для того, чтобы определить издержки, требуемые для отправки пакетов через определенный интерфейс. Каждому интерфейсу присваивается стоимость 10 по умолчанию. Значение может быть изменено в меню конфигурации протокола ospf, например чтобы добавить интерфейс ether2 со стоимостью 100:

/routing ospf interface add interface=ether2 cost=100

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

Стоимость = 100000000/пропускная способность в бит за секунду.

Вычисление SPT

Положим, мы имеем следующую сеть:

Сеть состоит из 4(четырех) маршрутизаторов. Стоимость OSPF для исходящих интерфейсов показана рядом с линией, изображающей канал. Для того, чтобы построить дерево кратчайшего пути для маршрутизатора R1, мы должны сделать R1 корнем и вычислить наименьшие затраты для каждого назначения.

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

Как вы можете видеть на рисунке выше, имеются два пути с одинаковой стоимостью для достижения сети 172.16.1.0, через маршрутизатор R2 со стоимостью 20(10+10) и через маршрутизаторы R3, R4 со стоимостью 20 (10+6+4). В этом случае в таблице маршрутизации будут размещены маршруты с одинаковой стоимостью.

Области (Areas)

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

OSPF предусматривает несколько типов областей: магистральная область (backbone area), стандартная область (standard area), тупиковая область (stub area) and не полностью тупиковая область (not-so-stubby area). Все области рассматриваются ниже в этой статье.

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

Настройка конфигурации OSPF

Давайте посмотрим, каким образом настроить OSPF сеть, состоящую из одной области.

Для запуска OSPF на MikroTik RouterOS требуется одна команда - добавить сеть в меню ospf network.
Положим, мы имеем следующую сеть.

Она имеет только одну область с тремя маршрутизаторами, соединенными к одной сети 172.16.0.0/24. Магистральная область создается в момент установки RouterOS и дополнительная настройка конфигурации этой области не требуется.

Конфигурация R1:

/ip address add address=172.16.0.1/24 interface=ether1
/routing ospf network add network=172.16.0.0/24 area=backbone

Конфигурация R2:

/ip address add address=172.16.0.2/24 interface=ether1
/routing ospf network add network=172.16.0.0/24 area=backbone

Конфигурация R3:

/ip address add address=172.16.0.3/24 interface=ether1
/routing ospf network add network=172.16.0.0/24 area=backbone

Чтобы проверить работу процесса OSPF на маршрутизаторе:

[admin@MikroTik] /routing ospf> monitor once
             state: running
         router-id: 172.16.0.1
         dijkstras: 6
      db-exchanges: 0
   db-remote-inits: 0
    db-local-inits: 0
  external-imports: 0

Как Вы можете видеть, OSPF запущен и функционирует, заметим, что router-id установлено таким же, как и IP адрес на маршрутизаторе. Это было сделано автоматически, так как router-idне был задан при настройке OSPF.

Добавим сеть, чтобы присвоить интерфейс к определенной области. Посмотрите на меню OSPF interface, чтобы проверить, что динамическая запись была создана и правильный тип сети был определен и установлен.

[admin@MikroTik] /routing ospf interface> print
Flags: X - disabled, I - inactive, D - dynamic, P - passive
 #    INTERFACE         COST  PRIORITY NETWORK-TYPE   AUTHENTICATION AUTHENTICATION-KEY
 0 D  ether1            10    1        broadcast      none

Следующий шаг - проверить, что оба соседних маршрутизатора обнаружены, DR и BDR выбраны и установлено отношение смежности:

[admin@MikroTik] /routing ospf neighbor> print
 0 router-id=172.16.0.2 address=172.16.0.2 interface=ether1 priority=1
   dr-address=172.16.0.3 backup-dr-address=172.16.0.2 state="Full" state-changes=5
   ls-retransmits=0 ls-requests=0 db-summaries=0 adjacency=9m2s

 1 router-id=172.16.0.3 address=172.16.0.3 interface=ether1 priority=1
   dr-address=172.16.0.3 backup-dr-address=172.16.0.2 state="Full" state-changes=5
   ls-retransmits=0 ls-requests=0 db-summaries=0 adjacency=6m42s

Большинство свойств ясны сами по себе, но если что-то непонятно, описание может быть найдено в neighbor reference manual

Последняя вещь - проверить, что таблица LSA правильно сгенерирована.

[admin@MikroTik] /routing ospf lsa> print
AREA              TYPE         ID             ORIGINATOR     SEQUENCE-NUMBER AGE
backbone          router       172.16.0.1     172.16.0.1     0x80000003      587
backbone          router       172.16.0.2     172.16.0.2     0x80000003      588
backbone          router       172.16.0.3     172.16.0.3     0x80000002      592
backbone          network      172.16.0.3     172.16.0.3     0x80000002      587

У нас имеется три объявления о состоянии каналов маршрутизатора (router link) и одно объявление о состоянии каналов сети (network link). Все свойства описаны в LSA reference manual.
Поздравляем, на данный момент мы имеем полнофункциональную сеть OSPF.

Аутентификация

Существует возможность защитить обмен пакетами OSPF, MikroTik RouterOS предоставляет два метода аутентификации, простой и MD5. Аутентификация OSPF отключена по-умолчанию.

Аутентификация конфигурируется поинтерфейсно. Добавьте статическую запись OSPF интерфейса и укажите свойства аутентификации чтобы обезопасить обмен информации OSPF. Настройка аутентификации MD5 на ether1 показана ниже:

/routing ospf interface add interface=ether1 authentication=md5 authentication-key=mySampleKey authentication-key-id=2

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

MD5 - это более предпочитаемая криптографическая аутентификация. Ключ аутентификации, key-id и содержимое пакета OSPF используется для генерации дайджеста сообщения, который добавляется к пакету. В противовес простому методу аутентификации, ключ не передаётся через сеть.

Authentication-key-id когда значение установлено в 1, аутентификация не установлена (даже для маршрутизаторов, которые не позволяют установить key-id принципиально).

Сети с несколькими областями

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

Крупная магистральная область (первый рисунок) разделена на три более мелких области (второй рисунок).

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

Рассмотрим сеть с несколькими областями показанную ниже.

Basic-multi-area.png

Конфигурация R1:

/ip address add address=10.0.3.1/24 interface=ether1
/ip address add address=10.0.2.1/24 interface=ether2
/routing ospf area add name=area1 area-id=1.1.1.1
/routing ospf network add network=10.0.2.0/24 area=backbone
/routing ospf network add network=10.0.3.0/24 area=area1

Конфигурация R2:

/ip address add address=10.0.1.1/24 interface=ether2
/ip address add address=10.0.2.2/24 interface=ether1
/routing ospf network add network=10.0.2.0/24 area=backbone

Конфигурация R3:

/ip address add address=10.0.3.2/24 interface=ether2
/ip address add address=10.0.4.1/24 interface=ether1
/routing ospf area add name=area1 area-id=1.1.1.1
/routing ospf network add network=10.0.3.0/24 area=area1

Перераспределение маршрутов

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

Вспомним конфигурацию OSPF, описанную в предыдущей секции. Как вы могли заметить, сети 10.0.1.0/24 и 10.0.4.0/24 не перераспределяются в OSPF. Протокол OSPF не перераспределяет внешние маршруты по-умолчанию. Для того чтобы перераспределять маршруты, перераспределение должно быть включено в основном меню конфигурации OSPF (англ.). В нашем случае нам требуется перераспределить присоединенные (connected) маршруты, добавим следующую конфигурацию на маршрутизаторы R3 и R2:

/routing ospf set redistribute-connected=as-type-1

Check routing table to see that both networks are redistributed.

[admin@MikroTik] /ip route> print


Давайте добавим другую сеть на R3:

/ip address add address=10.0.5.1/24 interface=ether1

Теперь сети 10.0.5.0/24 и 10.0.4.0/24 перераспределены через OSPF от R3. Но мы не хотим, чтобы другие маршрутизаторы знали, что 10.0.5.0/24 доступна через маршрутизатор R3. Чтобы достичь этого, добавим правила в фильтры маршрутов внутри цепочки (chain) "ospf-out"
Добавим фильтр маршрутов на R3

/routing filter add chain=ospf-out prefix=10.0.5.0/24 action=discard

Для работы с маршрутами OSPF, фильтры маршрутов предоставляют две цепочки (chains): ospf-in и ospf-out. Цепочка ospf-in используется для фильтрации входящих маршрутов, и ospf-out используется для фильтрации исходящих маршрутов. Подробнее о фильтрах маршрутов можно прочитать в руководстве по фильтрам маршрутов (англ.).

Внешние маршруты Type1 и Type2

Существуют две категории внешних маршрутовtype 1 и type 2. Различие между ними в том, как производится подсчёт стоимости маршрута.

  • маршрут type 2 - всегда имеет внешнюю стоимость, внутренняя стоимость игнорируется.
  • маршрут type 1 - стоимость состоит из суммы внешней и внутренней стоимости достижения назначения.

Магистральная Область (Backbone Area)

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

Area-ID магистральной области всегда 0.0.0.0 и не должен быть изменен. Магистральная область должна быть центром всех других областей, так как магистральная область собирает и вводит маршрутную информацию из всех областей и пересылает эту информацию в другие области.

В случае, когда новая область не может быть физически присоединена к магистральной области, должен быть создан виртуальный канал (virtual link).

Существуют несколько типов маршрутной информации:

  • Внутренние областные маршруты (intra-area routes) - routes generated from within an area (destination belongs to the area).
  • Внешние областные маршруты (inter-area routes) - routes originated from other areas, also called Summary Routes.
  • Внешние маршруты (external routes) - маршруты, созданные внешними протоколами маршрутизации и внедренные в OSPF путем перераспределения.

Виртуальный Канал (Virtual Link)

Виртуальные каналы создаются для двух целей:

  • соединить область с магистральной областью, если нет физического соединения;
  • соединить воедино сегменты магистральной области.

Нет физического соединения с магистральной областью

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

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

Конфигурация R1:

/routing ospf virtual-link add transit-area=area2 neighbor-id=2.2.2.2

Конфигурация R2:

/routing ospf virtual-link add transit-area=area2 neighbor-id=1.1.1.1

Разделенная магистральная область

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

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

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

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

Суммирование маршрутов

Суммирование маршрутов - это уплотнение множества маршрутов в один единый анонс. Обычно это происходит на границах областей (Area Border Routers), хотя и может быть произведено между двумя любыми областями.

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

Межобластное суммирование маршрутов

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

Тупиковая Область (Stub Area)

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

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

Абсолютно тупиковые области - это расширение для тупиковой области. Абсолютно тупиковая область блокирует внешние маршруты и суммированные (межобластные) маршруты, от попадания внутрь области. Только внутри областные маршруты внедряются в эту область. inject-summary-lsa=no используется для конфигурации абсолютно тупиковых областей в RouterOS.

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

Конфигурация R1:

/routing ospf area add name=area1 area-id=1.1.1.1 type=stub inject-summary-lsa=yes
/routing ospf network 
add network=10.0.0.0/24 area=backbone
add network=10.0.1.0/24 area=area1
add network=10.0.3.0/24 area=area1

Конфигурация R2:

/routing ospf area add name=area1 area-id=1.1.1.1 type=stub inject-summary-lsa=yes
/routing ospf network 
add network=10.0.1.0/24 area=area1

Конфигурация R3:

/routing ospf area add name=area1 area-id=1.1.1.1 type=stub inject-summary-lsa=yes
/routing ospf network 
add network=10.0.3.0/24 area=area1

NSSA

Не полностью тупиковые области (Not-so-stubby area) или NSSA полезны, когда есть необходимость внедрить внешние маршруты, но внедрение LSA типа 5 не требуется.

Посмотрите на рисунок выше. Здесь две области (магистральная и area1) и соединение RIP к area1. Нам требуется настроить Area1 так, чтобы она стала тупиковой областью, но требуется вводить внешние маршруты из протокола RIP. В этом случае Area1 должна быть сконфигурирована как NSSA

Пример конфигурации не включает в себя конфигурацию MikroTik:Routing/RIP.

Конфигурация R1:

/routing ospf area add name=area1 area-id=1.1.1.1 type=nssa
/routing ospf network 
add network=10.0.0.0/24 area=backbone
add network=10.0.1.0/24 area=area1

Конфигурация R2:

/routing ospf set redistribute-rip=as-type-1
/routing ospf area add name=area1 area-id=1.1.1.1 type=nssa
/routing ospf network 
add network=10.0.1.0/24 area=area1

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