12. OSPF. Типы LSA

OSPF

  • Стандартный открытый протокол

  • Находит соседей обменом Hello пакетами

  • Обменивается с установленными соседями LSA (Link State Announcement), в которых передает:

    • С какими маршрутизаторами установлено соседство

    • Как устроена топология

    • Какие IP-сети анонсируются

Версии протокола OSPF

  • OSPFv2

    • Работает только поверх IPv4

    • Обменивается только маршрутами IPv4

    • RFC 2328

      • Устаревшие RFC для OSPFv2: 1131, 1247, 1583, 2178

      • 50+ дополнительных RFC для различных костыльных механизмов

    • Multicast 224.0.0.5 (Hello) и 224.0.0.6 (DR), вложение в IP 89

  • OSPFv3:

    • Работает только поверх IPv6

    • Обменивается маршрутами как IPv4, так и IPv6

    • RFC 5340

    • Multicast FF02::5 (Hello) и FF02::6 (DR), вложение в IP 89

Hello

  • Hello-пакеты отсылаются по таймеру на всех интерфейсах OSPF

    • Используется local multicast 224.0.0.5

    • В каждом пакете указывается информация о конфигурации маршрутизатора

    • С непротиворечиво настроенными соседями устанавливается соседство

      • Должны совпасть таймеры Hello Interval и Dead Interval

      • Должны совпасть номер региона и флаг Stub

      • Пакеты должны пройти процедуру аутентификации

Алгоритм SPF

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

    • Метрика - стоимость пути до удаленной сети

    • Стоимость пути - сумма стоимостей интерфейсов, составляющих путь

    • Меньше стоимость пути - более вероятно прохождение трафика по нему

Router-ID

  • Каждый маршрутизатор выпускает LSA, которые подписываются его уникальным идентификатором

    • ID обязан быть уникальным в пределах всей топологии

    • И не меняться в течение всего срока работы OSPF

  • Идентификатор - 32-битное число

    • Часто записывается в форме IP-адреса

  • Возможные способы назначения

    • Вручную

    • Взять самый маленький IP-адрес на устройстве

    • В Cisco - самый большой адрес на loopback интерфейсах

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

  • Hello Protocol

    • INIT: - принимаются Hello без указания нас как соседа

    • 2WAY: принимаются с указанием нас как соседа

  • Database Exchange

    • EXSTART: согласование стартовых Sequence Number, выбор Master

    • EXCHANGE: обмен пакетами Database Description

    • LOADING: обмен пакетами Link State Request и Link State Update

    • FULL: синхронизированные LSDB

  • Также существуют состояния ATTEMPT и DOWN

Синхронизация таблиц топологии

  • Состояния 2WAY и FULL стабильные, остальные - переходные

Регионы в OSPF

  • Маршрутизаторы описывают в выпускаемых LSA топологию сети

    • При изменениях в топологии все маршрутизаторы пересчитывают ее

    • Если топология большая и сложная, пересчет занимает много ресурсов

  • OSPF позволяет разбить автономную систему на регионы (area)

    • Внутри региона топология считается "по-честному"

    • За пределы региона адресная информация передается в DV-стиле

  • Классификация маршрутизаторов

    • Internal Router

    • Area Border Router

    • Backbone Router

    • AS Boundary Router

Иерархическая топология

  • OSPF гарантирует защиту от петель

    • Внутри региона - нативно: кратчайшие пути петель содержать не могут

    • Между регионами используется топология "звезда"

  • Центральный регион имеет особую роль (0.0.0.0б backbone, transit)

LSA в OSPFv2

  • Тип 1, Router LSA - описывает топологию и подключенные интерфейсы

  • Тип 2, Network LSA - оптимизирует топологию в multiaccess сетях

  • Тип 3, Summary LSA - синхронизирует маршруты между регионами

  • Тип 4, 5, 7 - используется для инъекции внешних маршрутов

  • Тип 9, 10, 11 - Opaque LSA - для передачи иной информации

  • Тип 6, 8 - не поддерживаются Cisco

Router LSA (тип 1):

  • Выпускаются каждым маршрутизатором, по одной в каждый регион

  • Содержат топологическую и адресную информацию:

    • С какими маршрутизаторами установлено P2P-соседство

    • Какие транзитные и тупиковые сети (префиксы) подключены

Network LSA (тип 2):

  • Designated Router выпускает Network LSA для общего канала:

    • С какими маршрутизаторами DR полностью синхронизировал LSDB

    • Какие подключенные префиксы используются в канале

    • В Router LSA вместо информации о соседях указывается информация о подключенной Network LSA

    • Появляется понятие "псевдоноды", то есть для DROTHER будет выделен условный виртуальный узел, через который подключены все участники канала

Summary LSA (тип 3):

  • ABR транслирует в регион префиксы, известные в других регионах

    • Из LSA 1 и 2 ненулевых регионов - в LSA 3 нулевого региона

    • Из LSA 1, 2, 3 нулевого региона - в LSA 3 ненулевых регионов

    • Область распространения LSA3 - регион

    • В LSA3 указывается суммарная стоимость пути от ABR до анонсируемой сети

  • Каждый ABR генерирует по одной Summary LSA на каждый префикс

    • ABR контролирует создание LSA3 для разных префиксов по своему выбору

External LSA (тип 5):

  • ASBR транслирует в AS префиксы, известные из других источников

    • Область распространения LSA 5 - вся AS

    • В LSA 5 указывается ASBR RID и некоторая стоимость пути от ASBR до сети

      • Может также указываться Forwarding Address - адрес, через который пойдет трафик

    • LSA 5 бывает двух типов:

      • Тип 1 - указывается стоимость, посчитанная по схожей с OSPF метрике

      • Тип 2 - указывается стоимость, посчитанная по принципиально отличной методике

  • Каждый ASBR генерирует по одной External LSA на каждый префикс

ASBR Summary LSA (тип 4):

  • ABR транслирует в регион информацию об известных ASBR

    • ASBR RID

    • Суммарную стоимость пути от ABR до ASBR

    • Область распространения LSA4 - регион

  • Каждый ABR генерирует по одной LSA4 на каждый известный ASBR

  • Вспомогательный тип, чтобы роутеры могли найти в сети ASBR

DR и DBR

  • Проблема multiaccess-каналов - полная синхронизация LSDB "каждый с каждым" неэффективна

  • Оптимизация: в канале выбирается Designated Router (DR)

    • Максимальный Prioirity+RID, схема без преемптинга

    • DR синхронизирует LSDB со всеми маршрутизаторами в канале

    • DROTHER между собой остаются в 2WAY

  • Если есть связь с DR, то есть и связь с остальными

    • У всех маршрутизаторов синхронизирована LSDB

    • Для отказоустойчивости выбирается Backup DR (BDR)

Проблема регионов

  • Область распространения LSA 1 и 2 - регион

    • Все маршрутизаторы в регионе синхронизируют LSDB между собой

    • Маршрутизаторы в других регионах не получают информацию о топологии

    • Вообще говоря, она им не интересна

  • Решение - передавать адресную информацию между регионами

    • Маршрутизатор на границе между регионами (ABR) формирует в другие регионы анонсы об имеющихся префиксах

Внешние для OSPF маршруты

  • Маршрутизатор OSPF в LSA 1 и 2 может анонсировать соседям только подключенные (directly connected) префиксы с интерфейсов OSPF

  • Соседям может быть интересно знать про другие префиксы из RIB

    • Статические маршруты

    • Динамические маршруты, полученные в другом протоколе маршрутизации

    • Подключенные префиксы на интерфейсах, не включенных в OSPF

  • Решение: распространять эту информацию по аналогии с LSA3

    • Маршрутизатор на границе автономной системы формирует анонс об имеющихся внешних префиксах

Проблема добраться до ASBR

  • В LSA 5 указывается внешняя стоимость маршрута и RID ASBR

    • RID - топологическая информация, видна в LSA1

    • За пределами региона маршрут до ASBR по LSA 1/2 построить невозможно

  • Решение - распространять информацию об ASBR по аналогии с LSA 3

    • Маршрутизатор на границе между регионами (ABR) формирует в другие регионы анонсы об известных ему ASBR через LSA4, которая формируется только при наличии LSA5

Метрика intra-area маршрута OSPF

  • Складывается из двух компонентов:

    • Стоимость анонсированной сети на LSA-источника (0 для LSA2)

    • Суммарная стоимость пути до LSA-источника (вычисляется из LSA1)

Метрика inter-area маршрута OSPF

  • Складывается из двух компонентов:

    • Стоимость анонсированной сети на ABR (указывается в LSA3)

    • Суммарная стоимость пути до ABR (вычисляется из LSA1)

Стоимость пути до ASBR

  • Складывается из двух компонентов:

    • Суммарная стоимость пути от ABR до ASBR (указывается в LSA 4)

    • Суммарная стоимость пути до ABR (вычисляется из LSA 1)

Метрика external маршрута OSPF

  • Состоит из двух независимых компонентов:

    • Стоимость пути от ASBR до внешней сети (указывается в LSA 5)

    • Суммарная стоимость пути до Forwarding Address или (при FA=0) ASBR RID (вычисляется из LSA 4 и LSA 1)

Метрика E1 и E2

  • LSA 5 бывает двух типов с разным расчетом метрики

  • Компоненты метрики в LSA 5 тип 1 можно складывать с друг другом

    • Если два ASBR предлагают LSA5 типа 1, OSPF предпочтет маршрут с минимальной суммой внешней и внутренней стоимости

  • Компоненты метрики в LSA 5 тип 2 нельзя складывать друг с другом

    • Если два ASBR предлагают LSA 5 тип 2, OSPF предпочтет маршрут с минимальной внешней стоимостью, при этом дальше метрика не будет суммироваться, она останется той, которую анонсировал ASBR

Предпочтения маршрутов по RFC 2328

  • LSA 1 - intra-area

  • LSA 2 - inter-area

  • LSA 5 type 1 - внешние маршруты со сравнимой с OSPF стоимостью

  • LSA 5 type 2 - внешние маршруты с несравнимой с OSPF стоимостью

Формат LSA

  • Флаги:

    • E - роутер является ASBR

    • B - роутер является ABR

  • Link Type:

    • 1 - соседство с P2P-каналом (LSA 1)

    • 2 - соседство в MA-канале (LSA 2)

    • 3 - анонс адресной информации

    • 4 - OSPF Virtual Link

  • Link ID и Link Data зависят от LS Type

    • Router ID, IP Address, Mask

  • Может присутствовать несколько секций для разных TOS

  • LS ID равен Advertising Router ID

LS Type

Формат Network LSA

  • Network Mask: 32-битная маска сети (например, 0xFFFFFF00 для /24)

    • IP-адрес сети берется из LS ID

  • Attached Router IDs: список всех соседних с DR роутеров, плюс сам DR

  • LS ID - IP-адрес DR

  • Advertising Router ID - RID DR

Формат Summary LSA 3 и 4

  • Network Mask: 32-битная маска для LSA 3 (IP адрес совпадает с LS ID)

    • 0 для LSA 4 (ASBR RID совпадает с LS ID)

  • LS ID

    • IP-адрес сети для LSA 3

    • ASBR RID для LSA 4

  • Advertising Router ID - RID ABR

  • Может присутствовать несколько секций метрик для разных TOS

Формат AS-External LSA 5 и 7

  • Network Mask: 32-битная маска сети (IP адрес совпадает с LS ID)

  • E - указывает на тип метрики LSA 5 / LSA 7

    • 0 - метрика типа 1

    • 1 - метрика типа 2

  • LS ID - IP-адрес внешней сети

  • Advertising Router ID - RID ASBR

  • Может присутствовать несколько секций метрик для разных TOS

Last updated