lsa что это такое
OSPF LSA в картинках
Тема протокола динамической маршрутизации OSPF уже не раз поднималась на хабре. Однако вопрос о том что такое LSA и какие они бывают, как мне кажется, недостаточно прозрачен. И я хотел бы рассказать об этом без привязки к конкретному производителю и консольным командам.
LSA type 1 — “кусочки с маршрутизаторами”
каждый маршрутизатор сообщает свой уникальный “router-id”, и подробный список интерфейсов.
для каждого интерфейса указывается:
IP адрес (если есть 3 )
тип интерфейса
“router-id” с которым установлено состояние смежности на это интерфейсе.
Если смежность(adjacencies) на интерфейсе не установлена, то в поле для “router-id” записывается маска сети для IP адреса и эту сторону кусочка можно считать “плоской” (дольше роутеров нет).
Если тип линка — точка-точка или виртуальное соединение, то теперь нужно найти другой кусочек, с известным “router-id” посредине и совместить соответствующие соединения.
Если тип интерфейса — Broadcast или NBMA (сеть множественного доступа), то на другом конце может быть много разных маршрутизаторов и тут нам становится необходимы
LSA type 2 — “кусочки с сетями”
LSA type 3 — “маршруты в другую область» 5
эту составляющую нарисуем как зелёный квадратик прицепленый к маршрутизатору, с информацией о сети из другой Area и стоимости соединения. Маршрутизатор к которому мы их подсоединяем — называется ABR. Интерфейсы к которым цепляем “рамочку” не указываются, т.к. они принадлежат другой области.
LSA type 5 — “маршруты других доменов маршрутизации”
LSA type 4 — длинный хвост.
что делать если маршрутизатор к которому надо прицепить сети из предыдущего пункта находится в другой Area? Специально для этого, устройства находящиеся на границе 2х Area передают не только “LSA type 3” но и “LSA type 4” в которых анонасируют, обо всех известных маршрутах к ASBR из других Area, и их стоимость. Нарисуем такой ASBR зелёным цветом. Особо интересный случай рассмотреный в этой статье, можно изобразить как оранжевый квадратик прицепленый к зелёному.
Получается, что на последнем рисунке:
синие маршрутизаторы с интерфейсами это LSA type 1
облачко с префиксом — LSA type 2
зелёные квадратики — LSA type 3
оранжевые квадратики это LSA type 5
зелёный роутер — LSA type 4
зелёные и оранжевые соеденительные линии несут информацию о стоимости соответвующего соединения.
маршрутизаторы y.y.y.y и z.z.z.z — ABR (в них входят зелёные линии)
маршрутизаторы k.k.k.k и w.w.w.w — ASBR (в них входят оранжевые линии)
LSA type 6 — на самом деле нигде и никем не используется, и основными вендорами не реализована. Поэтому пропускаем.
LSA type 7 — фактически полный аналог LSA type 5 для NSSA типов Area. При пересечении границы Area, в них и превращаются.
Остальные LSA с ИП маршрутами вобщем-то не связаны, поэтому их рассматривать не буду.
Маленький итог:
SFP процес который производит расчёт стоимости маршрутов алгоритмом Дейкстры — запускается только при изменениях в LSA 1 или 2 (обязательно при любых их изменениях).
Стоимость к маршрутам анонсируемым в других LSA получается простым сложением стоимости до ABR/ASBR и метрик зелёных и/или оранжевых “линков”.
Маршрутизатор может быть ABR и ASBR одновременно.
Когда “пазл” не складывается?
Достаточно часто бывает ситуация, когда из всех имеющихся кусочков — целостной картины не сложить. Это связано с тем что в Link State протоколах нет способа моментально отбросить “исчезнувший” ЛСА.
Рассмотрим последний рисунок.
Например, на роутере y.y.y.y упал интерфейс в сторону b.b.b.d (серого облака). Тогда y.y.y.y генерирует новый LSA типа1 (с тем же самым ID, но бо’льшим порядковым номером), где отключившегося интерфейса уже нет. z.z.z.z устанавливает в LSDB новый LSA, пересчитывает таблицу маршрутизации… Но всё ещё хранит в памяти все LSA полученые от g.g.g.g, m.m.m.m и k.k.k.k, связь с которыми уже потеряна. т.е. остались лишние кусочки. Аналогично, если вдруг у маршрутизатора поменяется “router-id”, то все остальные некоторое время хранят 2 копии LSA: со старым и с новым ID.
У каждого маршрутизатора имеется “router-id” и он обязательно должен быть уникальный. Что произойдёт если будут дубликаты — зависит от вендора и настроек, но одно можно утверждать уверенно — будут проблемы. Как самый простой пример: 2 маршрутизатора транслируют взаимоисключающие LSA; остальные будут устанавливать LSA с большим порядковым номером, а сети подключённые к другому устройству будут потеряны и недоступны. Это можно сравнить с потерей кусочка пазла.
Аналогично, не должно быть DR c одинаковыми IP адресами.
Смею надеяться, что сообщество найдёт такой стиль изложения интересным.
Типы областей OSPF
Введение
В этой статье я хотел бы рассказать о типах областей OSPF. Статьи по настройке OSPF с использованием областей как-то здесь мне уже попадались. Я же хочу рассмотреть, чем эти типы областей отличаются друг от друга: normal, stub, totally stubby, NSSA, totally NSSA. Итак, начнем.
OSPF относится к link state категории протоколов динамической маршрутизации. Это значит, что роутеры не передают друг другу в качестве обновлений информацию о сетях. Вместо этого роутеры обмениваются информацией о состоянии своих интерфейсов или объявлениями о состоянии канала. Для этого используются специальные типы пакетов, которые называются LSA – Link State Advertisement. Данные сообщения бывают разных типов. Разобравшись в типах LSA, вы легко разберетесь чем отличаются между собой разные типы областей OSPF друг от друга.
Для примера я буду использовать следующую топологию:
Базовое конфигурирование
Все роутеры Cisco. Сначала сконфигурируем OSPF в Area 0 (синяя). В этой области три роутера: ABR, R1AR0, R2AR0. Между R1AR0 и ABR соединение точка-точка (10.1.1.0/24), между R1AR0 и R2AR0 – Ethernet (10.2.2.0/24). На R2AR0 созданы loopback интерфейсы с адресами 10.10.x.0/32.
R1AR0:
| hostname R1AR0 ! int s0/0 no shut ip address 10.1.1.1 255.255.255.0 ! int fa1/0 no shut ip address 10.2.2.1 255.255.255.0 ! router ospf 1 router-id 1.1.1.1 network 10.0.0.0 0.255.255.255 area 0 | Простая конфигурация. Добавляем интерфейсы в OSPF. Задаем Router-ID, только для того, чтобы проще было определять принадлежность LSA к конкретному роутеру. |
R2AR1:
| hostname R2AR0 ! int f0/0 no shut description CONNECTION TO R1AR1 ip address 10.2.2.2 255.255.255.0 ! int s0/0 no shut description CONNECTION TO RIPRTR ip address 10.3.3.1 255.255.255.0 ! int loop 0 ip address 10.10.0.1 255.255.255.255 ! int loop 1 ip address 10.10.1.1 255.255.255.255 ! int loop 2 ip address 10.10.2.1 255.255.255.255 ! int loop 3 ip address 10.10.3.1 255.255.255.255 ! router ospf 1 router-id 2.2.2.2 network 10.2.2.2 0.0.0.0 area 0 network 10.10.0.0 0.0.255.255 area 0 | Аналогичная конфигурация. Обратите внимание, что интерфейс s0/0 не участвует в работе OSPF. Позже он будет работать с RIP. |
ABR:
| hostname ABR ! int s0/0 no shut ip address 10.1.1.2 255.255.255.0 ! int s0/1 no shut ip address 192.168.1.1 255.255.255.0 ! router ospf 1 router-id 1.1.2.2 network 10.0.0.0 0.255.255.255 area 0 | Пока в OSPF включаем только интерфейс s0/0 с адресом 10.1.1.2. |
LSA 1 и 2 типа
Теперь давайте глянем на таблицы маршрутизации и на то, что хранится в базе LSDB.
R1AR0:
| R1AR0#sh ip ro 10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks O 10.10.1.1/32 [110/2] via 10.2.2.2, 00:07:47, FastEthernet1/0 O 10.10.0.1/32 [110/2] via 10.2.2.2, 00:07:47, FastEthernet1/0 O 10.10.3.1/32 [110/2] via 10.2.2.2, 00:07:47, FastEthernet1/0 O 10.10.2.1/32 [110/2] via 10.2.2.2, 00:07:47, FastEthernet1/0 C 10.2.2.0/24 is directly connected, FastEthernet1/0 C 10.1.1.0/24 is directly connected, Serial0/0 |
| R1AR0#sh ip ospf database database-summary OSPF Router with ID (10.2.2.1) (Process ID 1) Area 0 database summary Process 1 database summary |
В таблице маршрутизации мы видим маршруты, помеченные кодом «О» — OSPF. В базе LSDB мы видим, что общее количество LSA равно 4, как для Area 0, так и для процесса OSPF. В базе данных находится 3 – Router LSA (тип 1) и 1 – Network LSA (Тип 2). Аналогичную картину в базе данных мы увидим и на остальных роутерах. Итак, что из себя представляют LSA указанных типов?
Router LSA (тип 1)
Этот тип LSA генерирует каждый роутер в области и выполняет флуд по области, но не за ее пределы. В нашей области сейчас 3 роутера, соответственно в базе мы видим 3 Router LSA. Данный тип LSA представляет роутер и его интерфейсы. Давайте глянем на него подробнее:
