OSPF

Материал из Juniper Exam Wiki
Перейти к навигации Перейти к поиску

Типы пакетов

Hello - используются для установления и поддержания соседства ospf. Отправляются на адрес 224.0.0.5 каждые 10 сек. Содержит в себе поля: network mask, hello interval, dead interval, options, (router priority, designated router, backup designated router, neighbor).

Description database (DD) - используется только во время установления соседства. Определяет кто отвечает за синхронизацию (выбирается с большим RID). Обменивается LSA до полной синхронизации. Содержит: ospf header, sequence number, lsa header.

Link-state request - отправляется роутером, когда тот понимает, что LSBD устарела. Содержит: ospf header, link-state type, link-state ID, advertising router.

Link-state update - отправляется на адрес: 224.0.0.5 (всем) или 225.0.0.6 (для DR). Отправляется либо в ответ на link-state request, либо если меняется информация о состоянии линка. Содержит: ospf header, numbers of advertisement, link-state avertisement.

Link-state acknowledgment - ответ на link-state update. Содержит: ospf header, list of LSA headers.

Установление соседства

Стадии установления соседства (OSPF Adjacency):

1. Down

Самое начало, ничего не происходит.

2. Init

В hello-packet в списке соседей нет router-id маршрутизатора, получившего этот пакет.

Если маршрутизатор не переходит в состояние 2-Way, а скачет - down-Init-down-init... вероятно на маршрутизаторах не совпали параметры:

Area ID
Authentication
Network Mask
Hello Interva
Router Dead Interval
Options fields

либо до удаленного маршрутизатора не доходят ваши сообщения hello (причиной могут быть неверно настроенные фаерволы)

3. 2-Way

В hello-packet в списке соседей появился router-id маршрутизатора, получившего этот пакет.

4. ExStart

Выборы DR и BDR маршрутизаторов производятся в момент первоначальной установки соседских отношений по следующим правилам:

  • Маршрутизатор с наибольшим приоритетом выбирается DR маршрутизатором;
  • Маршрутизатор со вторым по величине приоритетом назначается BDR маршрутизатором;
  • Если маршрутизаторы имеют равный приоритет, то в качестве DR маршрутизатора выбирается маршрутизатор с наибольшим RID, BDR маршрутизатором выбирается маршрутизатор со вторым по величине RID;
  • Маршрутизатор, с приоритетом равным нулю, не принимает участия в выборах DR и BDR маршрутизаторов;
  • Если после выбора DR и BDR маршрутизаторов в сегмент сети добавляется маршрутизатор с более высоким приоритетом или большим RID, то повторные выборы не производятся;
  • Повторные выборы производятся только после того как DR или BDR маршрутизаторы становится недоступными.

(Происходит обмен сообщениями DD (database descr), где заполнены только поля: router-id, neighbors, mtu.

Если маршрутизатор не переходит в следующее состояние, то вероятнее всего причина в несовпадении mtu на физических интерфейсах маршрутизаторов.

5. ExChange

Процесс обмена LSDB с помощью сообщений DD (database descr) (локальной базой маршрутов, их метриками, состояний линков)

6. Loading

Обмен сообщениями link-state request, link-state update. На каждом маршрутизаторе должна быть одинаковая LSDB. (Каждый маршрутизатор восполняет недостающие знания о новых маршрутах)

7. Full

Соседство установлено, LSDB синхронизированы. Последующие изменения в топологии передаются через сообщения link-state update, в ответ приходят link-state acknowledgment (в кач-ве подтверждения о доставке).

Типы Area

backbone

Area 0 (к ней в обязательном порядке должны подключаться остальные area).

stub area

Обменивается маршрутами по ospf с ABR, не содержит с себе external routes, не принимает от ABR external routes. (не принимает LSA 4,5). Доступность внешних маршрутов достигается анонсированием 0/0 со стороны ABS в сторону stub-area.

[edit protocols ospf area 0.0.0.1]
vlad@mortlach# set stub 

stub with no summaries

В неё не анонсируется вообще никаких LSA. Доступность маршрутов из остальных area достигается тем же анонсированием 0/0 со стороны ABS в сторону totally stub-area.

[edit protocols ospf area 0.0.0.1]
vlad@mortlach# set stub no-summaries

not-so-stubby

Обменивается маршрутами по ospf с ABR, содержит external routes, НО не принимает external routes от ABR. (не принимает LSA 4,5)

[edit protocols ospf area 0.0.0.1]
vlad@mortlach# set nssa

Типы LSA

Type 1 LSA (Router) — Описывают сам маршрутизатор и его интерфейсы. Не передаются между Area.

Type 2 LSA (Network) — Описывают сети, подключенные к маршрутизатору. Не передаются между Area.

Type 3 LSA (Summary) — Описывают сети, которые маршрутизатор получил из предыдущих типов LSA, но передаются между Area.

Type 4 LSA (ASBR Summary) — Генерируются маршрутизаторами (ASBR), в которые попадают маршруты из других протоколов, чтобы описать себя.

Type 5 LSA (External) — Описывают сети, полученные из других протоколов маршрутизации ASBR-ами. Рассылаются ими же.

Type 6 LSA — Не используется, некогда планировался под MOSPF.

Type 7 LSA (NSSA External) — Генерируются ASBR-ами в NSSA, на выходе из зоны транслируются ABR-ами в LSA Type 5.

Type 10 LSA (Traffic Engineering) — Содержат информацию, которая в последствии находится в TED и используется при работе CSPF-алгоритма.

Типы интерфейсов

  • Broadcast - поведение аналогично тому, когда router включен в LAN сегмент. То ест дополнительно производится выбор DR, BDR среди роутеров. И если на интерфейсе висите несколько ip, то роутер сможет установить несколько соседств в каждой сети одновременно.
  • Point to point (p2p) - соединение между одним source и одним destination. Возможно установление только одного соседства с такого типа интерфейса. Можно назначать на ethernet интерфейсы без IP адресов.
  • Point to multipoint (p2mp) - соединение между одним source и несколькими destination. Сеть рассматривается как набор p2p линков. Т.к. нет autodiscovery механизма, от обязательно указывать соседа.
  • Nonebroadcast multiaccess (NBMA) - работает как p2mp, но может взаимодействовать с другим оборудованием.
  • Demand circuit - соединение на котором можно ограничить полосу или время доступа.
  • Passive - передает свой адрес, но не участвует в установлении OSPF соседства и вообще не обменивается hello-сообщениями. Также в passive можно использовать инфо об интерейсе и его сетях для TE вычислений.
  • Disable - не участвует в OSPF и не передает о себе инфо в LSDB
  • Peer (для OSPFv2) - требуется GMPLS

Если на маршрутизаторах указаны разные типы интерфейсов, то они между собой соседство не поднимут.

Другие фичи

  • Аутентификация: простая, MD5, IPSec.
  • Суммирование маршрутов, прилетающих в update сообщениях от других area.
  • Можно ограничить кол-во перфиксов, экспортируемых в OSPF.
  • GRES возможен.
  • BFD (Bidirectional Forwarding Detection) можно использовать для сокращения времени обнаружения аварии между роутерами.