мета-данные страницы
Это старая версия документа!
OSPF
OSPF (Open Shortest Path First) — протокол (3его уровня) динамической маршрутизации
OSPFv2 работает поверх IP, а конкретно, он заточен только под IPv4
OSPFv3 не зависит от протоколов 3-го уровня и потому может работать с IPv6
Терминология протокола OSPF
Основы
Термины
- Канал/интерфейс (link/interface) — соединение маршрутизатора и одной из подключенных к нему сетей. При обсуждении OSPF термины интерфейс и канал (link) часто употребляются как синонимы
- Метрика (metric) — условный показатель расстояния до сети назначения
- Стоимость (cost) — условный показатель «стоимости» пересылки данных по каналу. В OSPF зависит от пропускной способности интерфейса (bandwidth)
- Автономная система (autonomous system) — группа маршрутизаторов, обменивающаяся маршрутизирующей информацией с помощью одного протокола маршрутизации (определение соответствует тому, как этот термин используется в протоколах IGP)
Базовые термины OSPF:
- Идентификатор маршрутизатора (router ID, RID) — уникальное 32-битовое число, которое уникально идентифицирует маршрутизатор в пределах одной автономной системы
- Зона (area) — совокупность сетей и маршрутизаторов, имеющих один и тот же идентификатор зоны
- Объявление о состоянии канала (link-state advertisement, LSA) — единица данных, которая описывает локальное состояние маршрутизатора или сети. Например, для маршрутизатора LSA включает описание состояния каналов и отношений соседства. Множество всех LSA, описывающих маршрутизаторы и сети, образуют базу данных состояния каналов (LSDB).
- База данных состояния каналов (link state database, LSDB) — список всех записей о состоянии каналов (LSA). Встречается также термин топологическая база данных (topological database), употребляется как синоним базы данных состояния каналов
Соседи OSPF:
- Соседи (neighbours) — два маршрутизатора, интерфейсы которых находятся в одном широковещательном сегменте (и на которых включен OSPF на этих интерфейсах)
- Отношения соседства (adjacency) — взаимосвязь между соседними маршрутизаторами, установленная с целью синхронизации информации
- Hello-протокол (hello protocol) — протокол, использующийся для установки и поддержания соседских отношений
- База данных соседей (neighbours database) — список всех соседей (также используется термин neighbour table)
Пакеты OSPF:
- Hello — пакеты, которые используются для обнаружения соседей, установки отношений соседства и мониторинга их доступности (keepalive)
- DBD — пакеты, которые описывают содержание LSDB
- LSR — пакеты, с помощью которых запрашивается полная информация об LSA, которых недостает в LSDB локального маршрутизатора
- LSU — пакеты, которые передают полную информацию, которая содержится в LSA
- LSAck — пакеты, с помощью которых подтверждается получение других пакетов
Описание работы протокола
- Включить OSPF на маршрутизаторе
- Маршрутизатор выбирает Router ID (уникальное имя маршрутизатора)
- Включить OSPF на интерфейсах (чтобы протокол знал о каких интерфейсах можно сообщать другим маршрутиазторам)
- Обнаружение соседей с помощью Hello-пакетов
- Маршрутизаторы обмениваются hello-пакетами через все интерфейсы, на которых активирован OSPF.
- Маршрутизаторы, которые находятся в одном широковещательном сегменте, становятся соседями, когда они приходят к договоренности об определенных параметрах, указанных в их hello-пакетах.
- Adjacency (отношения соседства, отношения смежности) это тип соседства между маршрутизаторами, по которому они синхронизируют LSDB. Установка этих отношений зависит от типа сети:
- Если маршрутизаторы находятся в сети с множественным доступом, они выбирают DR и выполняют синхронизацию LSDB с ним
- Если маршрутизаторы находятся в сети point-to-point, они приступают к синхронизации LSDB друг с другом
- Синхронизация LSDB. Происходит в несколько этапов. По сформированным отношениям соседства происходит обмен такими пакетами:
- DBD (краткое описание LSA в LSDB). С помощью этих пакетов маршрутизаторы сообщают друг другу о том, какую информацию они знают, в сокращенном виде
- LSR. После обмена DBD-пакетами, с помощью LSR маршрутизаторы запрашивают у соседа недостающую информацию
- LSU (содержит полное описание LSA). В ответ на LSR, который ему прислал сосед, маршрутизатор отправляет LSU, с полным описанием информации, которой не хватает у соседа
- LSAck. После получения LSU от соседа, маршрутизатор отправляет подтверждение, что он получил информацию
- Если оба маршрутизатора должны запросить друг у друга информацию, то эта процедура повторяется и в другую сторону.
- После этого, LSDB синхронизирована, а значит, полностью одинакова между соседями
- После синхронизации LSDB, маршрутизатор отправляет обновление далее, своим соседям в других широковещательных сегментах
- Рассылая объявления через зону, все маршрутизаторы строят идентичную LSDB
- Когда база данных построена, каждый маршрутизатор использует алгоритм SPF (shortest path first) для вычисления графа без петель, который будет описывать кратчайший путь к каждому известному пункту назначения с собой в качестве корня. Этот граф — дерево кратчайшего пути.
- Каждый маршрутизатор строит таблицу маршрутизации, основываясь на своем дереве кратчайшего пути.
Выбор Router ID
При запуске процесса OSPF на любом маршрутизаторе, обязательно должен быть выбран Router ID.
Router ID — это уникальное имя маршрутизатора, по которому он известен в AS.
В зависимости от реализации, Router ID может выбираться по-разному: * минимальный IP-адрес или максимальный IP-адрес, который назначен на интерфейсах маршрутизатора * также обычно есть способ задания Router ID вручную * главное, чтобы Router ID был уникален в AS
После изменения Router ID, процесс OSPF должен быть перезагружен, а все LSA, которые сгенерировал этот маршрутизатор, должны быть удалены из AS, до перезагрузки.
Установка отношений соседства
Обнаружение соседей начинается после того как:
- протокол был включен глобально
- выбран Router ID
- OSPF включен на интерфейсах
Для обнаружения и мониторинга соседей используются сообщения Hello.
Процедура установки отношений соседства зависит от типа сети, в которой работает OSPF
Типы сетей, поддерживаемые протоколом OSPF
- Широковещательные сети со множественным доступом (broadcast): Ethernet
- Точка-точка (point-to-point): Туннели, T1, E1, PPP, HDLC, Frame-Relay P-to-P
- Нешироковещательные сети со множественным доступом (Non Broadcast Multiple Access, NBMA): Frame-Relay, ATM, X.25
В разных типах сетей работа OSPF отличается. В том числе отличается процесс установления отношений соседства и настройки протокола.
В реальной жизни, чаще всего используются два типа сетей:
- point-to-point
- broadcast
Для broadcast и nonbroadcast сетей (то есть, для сетей с множественным доступом), выбираются DR и BDR.
Отношения соседства (adjacency)
Различают понятия сосед и отношения соседства:
- Сосед (neighbor) — два маршрутизатора, которые находятся в одном широковещательном сегменте и у которых совпали нужные поля в hello-пакетах
- Отношения соседства (adjacency или full adjacency) — два соседа, которые завершили процесс синхронизации LSDB между собой.
Для того чтобы маршрутизаторы стали соседями:
- необходимо чтобы в hello-пакетах совпали значения таких полей:
- Hello Interval — частота отправки сообщений Hello
- Router Dead Interval — период времени, по прохождению которого, сосед считается недоступным, если не было Hello
- Area ID — так как в OSPF граница зоны проходит через маршрутизатор, то маршрутизаторы в одном широковещательном сегменте, должны быть в одной зоне (подробнее про зоны ниже)
- Authentication — пароль использующийся для аутентификации и тип аутентификации. Маршрутизаторы не обязательно должны использовать аутентификацию, но если она используется, то пароли и тип должны совпадать
- Stub area flag — не обязательный флаг, который устанавливается на всех маршрутизаторах, которые принадлежат тупиковой зоне (stub area)
- у маршрутизаторов должны совпадать сеть и маска сети
Отношения соседства устанавливаются только на primary адресах.
На интерфейсе может быть настроен secondary адрес. Маршрутизаторы не отправляют hello-пакеты с secondary адреса, не устанавливают отношения соседства на secondary адресах, но сеть secondary адреса может анонсироваться.
Возможные состояния
- Down — начальное состояние процесса обнаружения соседей. Это состояние указывает на то, что от соседей не была получена свежая информация. В NBMA сетях Hello-пакеты могут отправляться и соседям в состоянии Down, однако с меньшей частотой (PollInterval)
- Attempt — это состояние имеет смысл только для соседей, которые присоединены к NBMA сетям. Оно указывает на то, что от соседа не была получена свежая информация и что нужно сделать попытку связаться с соседом. Это делается путём отправки соседу сообщений Hello с промежутком времени Hello Interval (в Cisco в этом состоянии сообщения Hello отправляются каждый PollInterval. Имеет смысл для соседей в NBMA сетях, которые заданы командой neighbor)
- Init — состояние, в котором находится маршрутизатор, отправивший своему соседу hello и ожидающий от него ответного hello
- Two-way — при получении ответных hello маршрутизатор должен увидеть в них свой RID в списке соседей. Если это так, то он устанавливает отношения и переходит в состояние two-way. Когда в широковещательном сегменте более 3х маршрутизаторов, то в этом состоянии остаются между собой маршрутизаторы DROTHER
- Exstart — маршрутизаторы определяют Master/Slave отношения на основании Router ID. Маршрутизатор с высшим RID становится Master-маршрутизатором, который определяет DD Sequence number, а также первым начинает обмен DD-пакетами
- Exchange — маршрутизаторы посылают друг другу database description пакеты (DD) с информацией о сетях, содержащихся в их собственной LSDB
- Loading — Если маршрутизатор видит, что части маршрутов нет в его LSDB, он посылает сообщение LSR с перечислением тех сетей, по которым он хочет получить дополнительную информацию. Пока маршрутизатор находится в ожидании ответа в виде LSU сообщений, он пребывает в состоянии Loading
- Full — Когда маршрутизатор получил всю информацию и LSDB на обоих маршрутизаторах синхронизирована, оба маршрутизатора переходят в состояние fully adjacent (FULL)
Выделенный маршрутизатор (DR) и резервный выделенный маршрутизатор (BDR)
В сетях со множественным доступом отношения соседства должны быть установлены между всеми маршрутизаторами. Это приводит к тому, что рассылается большое количество копий LSA. Если, к примеру, количество маршрутизаторов в сети со множественным доступом равно n, то будет установлено n(n-1)/2 отношений соседства. Каждый маршрутизатор будет рассылать n-1 LSA своим соседям, плюс одно LSA для сети, в результате сеть сгенерирует n² LSA.
Для предотвращения проблемы рассылки копий LSA в сетях со множественным доступом выбираются DR и BDR.
Выделенный маршрутизатор (designated router, DR) — управляет процессом рассылки LSA в сети. Каждый маршрутизатор сети устанавливает отношения соседства с DR. Информация об изменениях в сети отправляется DR, маршрутизатором обнаружившим это изменение, а DR отвечает за то, чтобы эта информация была отправлена остальным маршрутизаторам сети.
Недостатком в схеме работы с DR маршрутизатором является то, что при выходе его из строя должен быть выбран новый DR. Новые отношения соседства должны быть сформированы и, пока базы данных маршрутизаторов не синхронизируются с базой данных нового DR, сеть будет недоступна для пересылки пакетов. Для устранения этого недостатка выбирается BDR.
Резервный выделенный маршрутизатор (backup designated router, BDR). Каждый маршрутизатор сети устанавливает отношения соседства не только с DR, но и BDR. DR и BDR также устанавливают отношения соседства и между собой. При выходе из строя DR, BDR становится DR и выполняет все его функции. Так как маршрутизаторы сети установили отношения соседства с BDR, то время недоступности сети минимизируется.
Таймеры протокола
- HelloInterval — Интервал времени в секундах, по истечении которого маршрутизатор отправляет следующий hello-пакет с интерфейса. Для широковещательных сетей и сетей точка-точка значение по умолчанию, как правило, равно 10 секундам. Для нешироковещательных сетей со множественным доступом значение по умолчанию — 30 секунд.
- RouterDeadInterval — Интервал времени в секундах, по истечении которого сосед будет считаться «мертвым» (dead). Этот интервал должен быть кратным значению HelloInterval. Как правило, RouterDeadInterval равен 4 интервалам отправки hello-пакетов, то есть 40 секундам.
- Wait Timer — Интервал времени в секундах, по истечении которого маршрутизатор выберет DR в сети. Его значение равно значению интервала RouterDeadInterval.
- RxmtInterval — Интервал времени в секундах, по истечении которого маршрутизатор повторно отправит пакет, на который не получил подтверждения о получении (например, Database Description пакет или Link State Request пакеты). Это интервал называется также Retransmit interval. Значение интервала — 5 секунд.
Константы протокола
Некоторым параметрам OSPF присвоены фиксированные значения. Ниже описаны эти параметры, их названия и соответствующие им значения:
LSRefreshTime — MinLSInterval — MinLSArrival — MaxAge — CheckAge — MaxAgeDiff — LSInfinity — DefaultDestination — InitialSequenceNumber — MaxSequenceNumber —
Зоны OSPF
При разделении автономной системы на зоны, маршрутизаторам, принадлежащим к одной зоне, неизвестна информация о детальной топологии других зон.
Разделение на зоны позволяет:
- Снизить нагрузку на ЦПУ маршрутизаторов за счет уменьшения количества перерасчетов по алгоритму SPF
- Уменьшить размер таблиц маршрутизации (засчет суммирования маршрутов на границах зон)
- Уменьшить количество пакетов обновлений состояния канала.
Каждой зоне присваивается идентификатор зоны (area ID). Идентификатор может быть указан в десятичном формате или в формате записи IP-адреса. Однако идентификаторы зон не являются IP-адресами, и могут совпадать с любым назначенным IP-адресом.
- в зоне 0 не должно быть разрывов
- если ненулевая зона должна быть присоединена к другой ненулевой, используется:
- virtual-link
- или обычный туннель настроенный вручную (например, GRE)
Коротко типы зон:
| Название зоны | Замена маршрутов | Типы LSA | Описание |
|---|---|---|---|
| Backbone (area 0) | - | Все LSA разрешены | Разрешены все типы маршрутов |
| Normal | - | Все LSA разрешены | Разрешены все типы маршрутов |
| Stub | EX ⇒ IA 0.0.0.0/0 ASBR запрещен | LSA 5 запрещены | Все внешние маршруты заменены на межзональный маршрут по умолчанию. ASBR не может находиться в зоне |
| Totally Stub | EX и IA ⇒ IA 0.0.0.0/0 ASBR запрещен | LSA 5 запрещены Все LSA 3 заменены на LSA 3 0.0.0.0/0 | Все внешние и межзональные маршруты заменены на межзональный маршрут по умолчанию. ASBR не может находиться в зоне |
| NSSA | EX ⇒ 0.0.0.0 ASBR разрешен | LSA 5 запрещены LSA 7 передает внешние маршруты только в NSSA | Все внешние маршруты должны быть заменены на межзональный маршрут по умолчанию. В зоне может быть ASBR |
| Totally NSSA | EX и IA ⇒ 0.0.0.0 ASBR разрешен | LSA 5 запрещены Все LSA 3 заменены на LSA 3 0.0.0.0/0 LSA 7 передает внешние маршруты только в NSSA | Все внешние и межзональные маршруты должны быть заменены на межзональный маршрут по умолчанию. В зоне может быть ASBR |
Магистральная зона (backbone area)
Магистральная зона (известная также как нулевая зона или зона 0.0.0.0) формирует ядро сети OSPF. Все остальные зоны соединены с ней, и межзональная маршрутизация происходит через маршрутизатор, соединенный с магистральной зоной.
Магистральная зона ответственна за распространение маршрутизирующей информации между немагистральными зонами. Магистральная зона должна быть смежной с другими зонами, но она не обязательно должна быть физически смежной; соединение с магистральной зоной может быть установлено и с помощью виртуальных каналов.
Стандартная зона (standard area)
Обычная зона, которая создается по умолчанию. Эта зона принимает обновления каналов, суммарные маршруты и внешние маршруты.
Тупиковая зона (stub area)
Тупиковая зона:
- Не принимает информацию о внешних маршрутах для автономной системы, но принимает маршруты из других зон.
- Если маршрутизаторам из тупиковой зоны необходимо передавать информацию за границу автономной системы, то они используют маршрут по умолчанию
- В тупиковой зоне не может находиться ASBR.
- * Исключение из этого правила — ABR может быть и ASBR.
- На всех маршрутизаторах зоны должна быть указана «тупиковость»
Totally stubby area
Totally stubby area:
- Не принимает информацию о внешних маршрутах для автономной системы и маршруты из других зон.
- Если маршрутизаторам из тупиковой зоны необходимо передавать информацию за границы зоны, то они используют маршрут по умолчанию
- В totally stub зоне не может находиться ASBR.
- Исключение из этого правила — ABR может быть и ASBR.
- На всех маршрутизаторах зоны должна быть указана «тупиковость»
- замена межзональных маршрутов на маршрут по умолчанию настраивается только на ABR зоны
То есть, фактически totally stub зона это «усиление» тупиковой: в ней не только внешние маршруты, но и межзональные заменены на маршрут по умолчанию.
totally stubby введен именно компанией Cisco, однако многое оборудование тоже может переводить тупиковую зону в totally stubby, отключая отправку суммарных маршрутов в обычную тупиковую зону.
В RFC такой термин явно не определен, но ABR могут регулировать отправку суммарных маршрутов в тупиковую зону любым образом, вплоть до отправки в зону только маршрута по умолчанию (totally stubby).
Not-so-stubby area (NSSA)
NSSA зона:
- Работает по тем же принципам, что и Stub-зона:
- Единственное отличие в том, что в NSSA зоне может находиться ASBR.
- Внешние маршруты других зон также заменены на маршрут по умолчанию
- Так как до этого в RFC было определено, что в тупиковой зоне не может находится ASBR, и, следовательно, LSA 5, для NSSA зоны был создан специальный тип LSA: LSA type 7.
- LSA 7 передает внешние маршруты в зоне NSSA и во всем соответствует LSA 5
- Когда пограничный маршрутизатор зоны NSSA передает LSA 7 в другие зоны, вместо LSA 7 передается стандартный LSA 5.
Totally NSSA
Totally NSSA зона:
- Работает по тем же принципам, что и NSSA:
- Единственное отличие в том, что в totally NSSA зоне все маршруты других зон и внешние маршруты для AS, заменяются на маршрут по умолчанию
Типы маршрутизаторов
- Внутренний маршрутизатор (internal router) — маршрутизатор, все интерфейсы которого принадлежат одной зоне. У таких маршрутизаторов только одна база данных состояния каналов.
- Пограничный маршрутизатор (area border router, ABR) — соединяет одну или больше зон с магистральной зоной и выполняет функции шлюза для межзонального трафика. У пограничного маршрутизатора всегда хотя бы один интерфейс принадлежит магистральной зоне. Для каждой присоединенной зоны маршрутизатор поддерживает отдельную базу данных состояния каналов.
- Магистральный маршрутизатор (backbone router) — маршрутизатор, у которого всегда хотя бы один интерфейс принадлежит магистральной зоне. Определение похоже на пограничный маршрутизатор, однако магистральный маршрутизатор не всегда является пограничным. Внутренний маршрутизатор интерфейсы которого принадлежат нулевой зоне, также является магистральным.
- Пограничный маршрутизатор автономной системы (AS boundary router, ASBR) — обменивается информацией с маршрутизаторами, принадлежащими другим автономным системам или не-OSPF маршрутизаторами. Пограничный маршрутизатор автономной системы может находиться в любом месте автономной системы и быть внутренним, пограничным или магистральным маршрутизатором.
Объявления о состоянии канала (LSA)
Объявление о состоянии канала (Link State Advertisement, LSA) — единица данных, которая описывает локальное состояние маршрутизатора или сети.
Множество всех LSA, описывающих маршрутизаторы и сети, образуют базу данных состояния каналов (LSDB).
У каждого типа LSA своя функция:
- Router LSA и Network LSA описывают каким образом соединены маршрутизаторы и сети внутри зоны.
- Summary LSA предназначены для сокращения количества передаваемой информации о зонах. Описывают сети других зон для локальной.
- ASBR Summary LSA описывает для других зон, как дойти до локального ASBR.
- AS External LSA позволяет передавать по автономной системе информацию, которая получена из внешних источников (например, из другого протокола маршрутизации).
Фактически, сами по себе LSA маршрутизаторы не передают. Они передают LSA внутри других пакетов:
- В Database Description передается описание всех LSA, которые хранятся в LSDB маршрутизатора,
- В Link State Request передается запрос с описанием тех LSA, которых не хватает в LSDB,
- В Link State Update передаются полные LSA,
- В Link State Acknowledgment передается подтверждение о получении конкретных LSA, с описанием этих LSA.
Суммарная информация о LSA
| Номер LSA | Название LSA | Link-State ID | Кто отправляет | Область распространения |
|---|---|---|---|---|
| LSA 1 | Router LSA | Router ID отправителя | Все маршрутизаторы | Внутри зоны (IntraArea) |
| LSA 2 | Network LSA | IP-адрес интерфейса DR | DR (в сетях со множественным доступом) | Внутри зоны (IntraArea) |
| LSA 3 | Network Summary LSA | Сети назначения и маска сети | ABR | AS (InterArea) |
| LSA 4 | ASBR Summary LSA | Router ID ASBR | ABR | AS (InterArea) |
| LSA 5 | AS External LSA | Внешняя сеть и маска | ASBR | AS (InterArea) |
| LSA 7 | AS External LSA for NSSA | Внешняя сеть и маска | ASBR в NSSA | NSSA |
Заголовок LSA
Все LSA начинаются с одинакового заголовка размером 20 байт.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS age | Options | LS type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Любое LSA уникально идентифицируют 3 поля заголовка:
- LS type
- Link State ID
- Advertising Router
Так как может существовать несколько копий одного и того же LSA, необходимо определять какая из копий актуальна. Это осуществляется с помощью анализа полей:
- LS age
- LS sequence number
- LS checksum
Описание полей заголовка LSA:
- LS age — время (в секундах) с момента генерации LSA
- Options — дополнительные опции, которые может поддерживать маршрутизатор. Это поле есть в пакетах hello, DBD, LSA. Согласно RFC 2328 могут быть установлены такие 5 битов:
- E-bit — указывает каким образом распространяются AS-external-LSA
- MC-bit — указывает соответствует ли IP multicast датаграмма спецификациям RFC 1584;
- N/P-bit — указывает как обрабатываются Type-7 LSA (RFC 1587);
- EA-bit — указывает желание маршрутизатора получать и отправлять External-Attributes-LSA;
- DC-bit — указывает как маршрутизатор работает с demand circuits (RFC 1793);
- LS type — тип LSA. У каждого типа LSA свой формат, который описан в соответствующем разделе
- Link State ID — о чем сообщает LSA. Содержание этого поля зависит от типа LSA. Значения поля для разных LSA описаны в соответствующих разделах
- Advertising Router — Router ID маршрутизатора, который сгенерировал LSA
- LS sequence number — версия LSA. Используется для обнаружения старых и дублирующихся LSA
- LS checksum — контрольная сумма, для проверки целостности. Контрольная сумма берется со всего LSA, кроме поля LS age
- Length — длина всего LSA (включая заголовок) в байтах
Type 1 LSA
Type 1 LSA — Router LSA — объявление о состоянии каналов маршрутизатора:
- LSA распространяются всеми маршрутизаторами.
- Распространяются только в пределах одной зоны.
В Router LSA содержится:
- описание всех каналов маршрутизатора
- стоимость (cost) каждого канала
- список соседей на каждом интерфейсе (в зоне маршрутизатора)
- Link-state ID — Router ID маршрутизатора, который отправляет LSA
LSA Type 1 link types и соответствующие link ID:
- Point-to-point соединение с другим маршрутизатором — Router ID соседа
- Соединение с тупиковой сетью (сеть, к которой присоединен только один маршрутизатор(локальный)) — сеть/маска
- Соединение с транзитной сетью (сеть, в которой есть как минимум два непосредственно присоединенных маршрутизатора) — IP-адрес DR
- Virtual link — Router ID соседа
Type 2 LSA
Type 2 LSA — Network LSA — объявление о состоянии каналов сети:
- Распространяется DR в сетях со множественным доступом
- Network LSA не создается для сетей в которых не выбирается DR
- Распространяются только в пределах одной зоны
- Link-state ID — IP-адрес интерфейса DR
В LSA содержится описание всех маршрутизаторов присоединенных к сети, включая DR и маска сети, за которую отвечает DR.
Необходимость и преимущества LSA 2 понятны, если рассмотреть сеть, в которой в одном широковещательном сегменте будет много маршрутизаторов. Например, в одном широковещательном сегменте, 5 маршрутизаторов.
Тогда, если предположить, что информация передается в LSA 1, каждый из маршрутизаторов, должен бы был перечислить всех своих соседей, и указать в какой он сети. То есть, получаем, 5 * (5 -1) каналов (links) в LSDB.
LSA 2 позволяет существенно сократить количество каналов в LSDB.
Type 3 LSA
Type 3 LSA — Network Summary LSA — суммарное объявление о состоянии каналов сети:
- Объявление распространяется пограничными маршрутизаторами
- Объявление описывает маршруты к сетям вне локальной зоны
- Содержит информацию о сетях и о стоимости пути к этим сетям, но не отправляет информацию о топологии сети
- По умолчанию, пограничный маршрутизатор отправляет отдельное объявление для каждой известной ему сети
- При необходимости, на ABR сети могут быть просуммированы
- Link-state ID — номер сети назначения.
Когда маршрутизатор получает Network Summary LSA от пограничного маршрутизатора он не запускает алгоритм вычисления кратчайшего пути. Маршрутизатор просто добавляет к стоимости маршрута указанного в LSA стоимость пути к пограничному маршрутизатору. Затем маршрут к сети через пограничный маршрутизатор помещается в таблицу маршрутизации.
Type 4 LSA
Type 4 LSA — ASBR Summary LSA — суммарное объявление о состоянии каналов пограничного маршрутизатора автономной системы:
- Объявление распространяется пограничными маршрутизаторами (ABR)
- ASBR Summary LSA отличается от Network Summary LSA тем, что распространяется информация не о сети, а о пограничном маршрутизаторе автономной системы
- Link-state ID — Router ID ASBR, информацию о котором отправляет LSA
Когда в домен OSPF помещаются сторонние маршруты, информация о них отправляется с помощью LSA 5. Но внутри этих LSA, указывается, что маршрут известен через ASBR. А путь к ASBR известен только тем маршрутизаторам, которые с ним в одной зоне.
Всем маршрутизаторам, которые находятся в другой зоне, необходимо сообщить о том, где находится ASBR. Это делает ABR, который находится в той же зоне, что и ASBR. Он сообщает о местоположении ASBR помощью LSA 4.
Type 5 LSA
Type 5 LSA — AS External LSA — объявления о состоянии внешних каналов автономной системы:
- Объявление распространяется пограничным маршрутизатором автономной системы в пределах всей автономной системы
- Объявление описывает маршруты внешние для автономной системы OSPF или маршруты по умолчанию внешние для автономной системы OSPF
- Link-state ID — номер внешней сети.
Type 7 LSA
Type 7 LSA — AS External LSA for NSSA — объявления о состоянии внешних каналов автономной системы в NSSA зоне:
- Это объявление может передаваться только в NSSA зоне
- LSA 7 аналогично по содержанию LSA 5, но используется только в NSSA зоне
- LSA 7 нужно было для того чтобы обойти ограничения, которые были заложены в определение Stub зоны
- На границе зоны пограничный маршрутизатор преобразует type 7 LSA в type 5 LSA.