Table of Contents
Быстрые заметки по OSPF
Сетевая составляющая протокола OSPF
86 - номер протокола OSPF.
kostya@blackpc:~$ cat /etc/protocols ... ospf 89 OSPFIGP # Open Shortest Path First IGP ...
Пакеты OSPF передаются на мультикаст адреса 224.0.0.5 и 224.0.0.6, второй адрес используют только DR.
Часть ACL которым прикрывается Routing Engine (на вход) маршрутизаторов Juniper.
filter RE-OSPF-IN { interface-specific; term ACCEPT-OSPF { from { source-prefix-list { TRUSTED-OSPF-IPV4; } destination-prefix-list { OSPF-MCAST-IP; TRUSTED-OSPF-IPV4; } protocol ospf; } then { count C-A-RE-OSPF; accept; } } }
где,
- OSPF-MCAST-IP - префик лист с двумя ospf мультикаст адресами
prefix-list OSPF-MCAST-IP { 224.0.0.5/32; 224.0.0.6/32; }
- TRUSTED-OSPF-IPV4 - префикс лист в котором перечислены все маршрутизаторы от которых будут приняты ospf пакеты.
В 166 сети стояли маршрутизаторы принадлежащие area 0, а через “apply-path” учитывались адреса маршрутизаторов (стояли в других area) подключенных по ospf через ipsec туннели.
prefix-list TRUSTED-OSPF-IPV4 { 192.168.166.2/32; 192.168.166.3/32; 192.168.166.4/32; 192.168.166.6/32; 192.168.166.7/32; apply-path "interfaces st0 unit <*> family inet address <*.*>"; }
С подобным ACL надо быть крайне аккуратным.
В практике был случай, когда в area 0, рядом с маршрутизатором, на котором висел такой строгий ACL, стояли не так основательно защищенные маршрутизаторы.
В area 0, в 166 сеть, был добавлен новый маршрутизатор, адрес которого забыли прописать в ACL.
OSPF маршрутизация “поплыла” - новый маршрутизатор установил сосдество с роутерами без ACL, они начали процедуру перевыбора DR/BDR и сделали это неколько раз. При этом маршрутизатор с ACL не мог никак провзаимодействовать с новый роутером, таблица маршрутизации жила своей жизнью.
Проблему решили только отключением нового роутера, анализом инцидента и правкой ACL.
Условия установления OSPF соседства
Что бы два маршрутизатора стали соседями, должны быть выполнены следующие условия:
- Hello и Dead интервалы должны быть одинаковыми.
- Интерфейсы, которыми маршрутизаторы подключены друг к другу должны быть в одной сети.
- Должны совпадать номера area.
- У каждого маршрутизатора должен быть уникальный Router ID.
- На интерфейсах должен совпадать MTU.
Состояния соседства OSPF
- Down - начальное состояние, соседей нет.
- Init - маршрутизатор отправил Hello сообщение и ждет ответного Hello.
- Two-way/2WAY - переход в это состояние говорит о том, что маршрутизатор получил ответное Hello сообщение от соседнего маршрутизатора, в нем нашел свой Router ID и установил с ним соседские (смежные) отношения. Обмена и синхронизации LSDB еще не было.
В широковещаельной сети, маршрутизаторы которые не выполняют роли DR и BDR, между собой находятся в состоянии 2WAY/DROTHER. - Exstart - идет выбор DR и BDR.
- Exchange - идет обмен DD (database description) пакетами в которых содержится информация (LSDB) о сетях известных маршрутизатору.
- Loading - если в полученном DD есть информация о сетях о которых маршрутизатор не знает, то он у своего соседа запрашивает (LSR) подробную информацию. Маршрутизатор, пока ждет и получает ответ (LSU), находся в состоянии loading.
- Full - маршрутизаторы полностью синхронизировали свои базы данных (LSDB) и успокоились.
Терминалогия
- DR - Designated Designated Router
- BDR - Backup Designated Router
- LSR - Link-State Request
- LSU - Link-State Update
- LSDB - Link-State DataBase
- DBD/DD - DataBase Description