OSPF
Типы пакетов
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) можно использовать для сокращения времени обнаружения аварии между роутерами.
© Наталия Бобкова 2014—2022