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