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 представляет роутер и его интерфейсы. Давайте глянем на него подробнее:
R1AR0#sh ip ospf database router OSPF Router with ID (1.1.1.1) (Process ID 1) Router Link States (Area 0) LS age: 14 Link connected to: a Transit Network Link connected to: another Router (point-to-point) Link connected to: a Stub Network LS age: 18 Link connected to: another Router (point-to-point) Link connected to: a Stub Network Adv Router is not-reachable Link connected to: a Stub Network Link connected to: a Stub Network Link connected to: a Stub Network Link connected to: a Stub Network Link connected to: a Transit Network |
R1AR0#sh ip ospf database network OSPF Router with ID (1.1.1.1) (Process ID 1) Net Link States (Area 0) Routing Bit Set on this LSA |
Normal Area и Summary LSA (Тип 3)
Дизайн OSPF предполагает двухуровневую архитектуру. Есть магистральная область (Backbone, идентификатор 0.0.0.0) и остальные области, которые должны быть подключены к магистральной. Связи между областями осуществляют роутеры, интерфейсы которых подключены к двум и более областям. В терминологии OSPF они называются Area Border Router (ABR). Магистральную область мы настроили. Теперь давайте настроим еще одну область:
ABR:
hostname ABR ! router ospf 1 network 192.168.1.1 0.0.0.0 area 1 | Добавляем второй интерфейс и подключаем его к Area 1. |
R1AR2:
hostname R1AR1 ! int s0/1 description CONNECTION TO ASBR no shut ip address 192.168.2.1 255.255.255.0 ! int s0/0 description CONNECTION TO ABR no shut ip address 192.168.1.2 255.255.255.0 ! router ospf 1 router-id 3.3.3.3 network 192.168.0.0 0.0.255.255 area 1 | Все интерфейсы в Area 1. |
ASBR:
hostname ASBR ! int s0/0 description CONNECTION TO R1AR1 no shut ip address 192.168.2.2 255.255.255.0 ! router ospf 1 router-id 4.4.4.4 network 192.168.0.0 0.0.255.255 area 1 ! ip route 1.0.0.0 255.0.0.0 null0 ip route 2.0.0.0 255.0.0.0 null0 ip route 3.0.0.0 255.0.0.0 null0 ! | Аналогичная конфигурация. На статические маршруты пока не обращаем внимания, они понадобятся позднее. |
Теперь посмотрим, как изменилась топологическая база и таблица маршрутизации. По прежнему выполним нужные команды на R1AR0 (Area 0):
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:08:10, FastEthernet1/0 O 10.10.0.1/32 [110/2] via 10.2.2.2, 00:08:10, FastEthernet1/0 O 10.10.3.1/32 [110/2] via 10.2.2.2, 00:08:10, FastEthernet1/0 O 10.10.2.1/32 [110/2] via 10.2.2.2, 00:08:10, FastEthernet1/0 C 10.2.2.0/24 is directly connected, FastEthernet1/0 C 10.1.1.0/24 is directly connected, Serial0/0 O IA 192.168.1.0/24 [110/128] via 10.1.1.2, 00:08:10, Serial0/0 O IA 192.168.2.0/24 [110/192] via 10.1.1.2, 00:07:22, Serial0/0 |
R1AR0#sh ip ospf database database-summary OSPF Router with ID (1.1.1.1) (Process ID 1) Area 0 database summary Process 1 database summary |
В таблице маршрутизации появились маршруты помеченные кодом «O IA» — маршруты OSPF из других областей. А в топологической базе добавилось два Summary LSA (тип 3). Сколько сетей передается из Area 1 в Area 0? Правильно – две: 192.168.1.1 и 192.168.2.0. Сколько Summary LSA? Тоже две.
Давайте посмотрим на детали:
R1AR0#sh ip ospf database summary OSPF Router with ID (1.1.1.1) (Process ID 1) Summary Net Link States (Area 0) Routing Bit Set on this LSA Routing Bit Set on this LSA |
ASBR#sh ip ro S 1.0.0.0/8 is directly connected, Null0 S 2.0.0.0/8 is directly connected, Null0 S 3.0.0.0/8 is directly connected, Null0 10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks O IA 10.10.1.1/32 [110/194] via 192.168.2.1, 00:08:12, Serial0/0 O IA 10.10.0.1/32 [110/194] via 192.168.2.1, 00:08:12, Serial0/0 O IA 10.10.3.1/32 [110/194] via 192.168.2.1, 00:08:12, Serial0/0 O IA 10.10.2.1/32 [110/194] via 192.168.2.1, 00:08:12, Serial0/0 O IA 10.2.2.0/24 [110/193] via 192.168.2.1, 00:08:15, Serial0/0 O IA 10.1.1.0/24 [110/192] via 192.168.2.1, 00:08:15, Serial0/0 O 192.168.1.0/24 [110/128] via 192.168.2.1, 00:08:15, Serial0/0 C 192.168.2.0/24 is directly connected, Serial0/0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASBR#sh ip ospf database database-summary OSPF Router with ID (4.4.4.4) (Process ID 1) Area 1 database summary Process 1 database summary | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASBR#sh ip ospf database summary OSPF Router with ID (4.4.4.4) (Process ID 1) Summary Net Link States (Area 1) Routing Bit Set on this LSA Routing Bit Set on this LSA Routing Bit Set on this LSA Routing Bit Set on this LSA Routing Bit Set on this LSA Routing Bit Set on this LSA External LSA (тип 5) и тупиковые (Stub) областиExternal LSAТеперь к Area 0 подключим внешний домен маршрутизации, в моем случае, работающий под управление протокола RIP и настроим передачу маршрутов из RIP в OSPF.
RTRRIP:
|