Зачем нужен OSPF

OSPF (Open Shortest Path First) — это внутренний протокол маршрутизации (IGP), который используется внутри одной автономной системы. В отличие от статических маршрутов, OSPF автоматически обнаруживает соседей, обменивается информацией о топологии и перестраивает маршруты при сбоях.

OSPF —Link-State протокол: каждый маршрутизатор знает полную топологию области и вычисляет кратчайшие пути самостоятельно (алгоритм Дейкстры).

Базовая настройка

Шаг 1: Включить процесс OSPF

Router(config)# router ospf 1
Router(config-router)# network 10.0.0.0 0.0.0.255 area 0
Router(config-router)# network 192.168.1.0 0.0.0.3 area 0

Команда router ospf 1 запускает процесс OSPF с локальным ID 1. network определяет, какие интерфейсы участвуют в OSPF и в какой области.

Шаг 2: Настроить Router-ID

Router(config)# router ospf 1
Router(config-router)# router-id 1.1.1.1

Router-ID — уникальный 32-битный идентификатор маршрутизатора в OSPF. Без явного указания OSPF выберет highest loopback, затем highest physical interface.

Шаг 3: Настроить интерфейсы

Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip ospf 1 area 0
Router(config-if)# ip ospf hello-interval 10
Router(config-if)# ip ospf dead-interval 40

Альтернатива команде network: назначение OSPF напрямую на интерфейс.

Шаг 4: Верификация

Router# show ip ospf neighbor
Router# show ip ospf interface
Router# show ip route ospf
Router# show ip ospf database

Ключевые команды проверки: соседи, интерфейсы, маршруты и link-state database.

Области OSPF

OSPF использует иерархию областей для масштабирования:

  • Area 0 (Backbone) — обязательная область. Все остальные области должны быть связаны с ней.
  • Стандартные области — хранят полную копию topology для своей области, summary-маршруты от area 0.
  • Stub areas — не принимают external routes ( redistribute из других протоколов). Экономят память и CPU.
  • Totally stubby — принимают только default route от ABR. Максимальная экономия.
  • NSSA (Not-So-Stubby Area) — как stub, но может содержать external routes (тип 7 LSA).

Пример: настройка NSSA

Router-A(config)# router ospf 1
Router-A(config-router)# area 1 nssa

Router-B(config)# router ospf 1
Router-B(config-router)# area 1 nssa

Redistribution: OSPF и статические маршруты

Когда в сеть заходит маршрут из внешнего источника (BGP, статика, другой IGP), его нужно «перераспределить» в OSPF:

Router(config)# router ospf 1
Router(config-router)# redistribute static subnets metric 100 metric-type 1
Router(config-router)# default-information originate always
  • subnets — необходимо для перераспределения подсетных маршрутов (без него перераспределяются только classful).
  • metric 100 — оценка стоимости (cost) для redistributed-маршрутов.
  • default-information originate always — распространять default route (0.0.0.0/0) даже если его нет в таблице.

Типовые ошибки при настройке OSPF

  1. Области не совпадают. Если на одном конце линка area 0, а на другом area 1 — соседство не установится. OSPF требует одинаковой area на обоих концах link.

  2. Несовпадение масок. OSPF по умолчанию проверяет совпадение масок на интерфейсах. Разные маски → нет соседства. Исключение: point-to-point линки.

  3. MTU mismatch. OSPF устанавливает adjacency через DD-пакеты, которые могут быть больше MTU. Если MTU разный — stuck в状态 EXSTART/EXCHANGE.

  4. Лишний redistribute. Двойное перераспределение OSPF ↔ EIGRP без фильтрации вызовет петли маршрутизации.

Что дальше

OSPF — внутренний протокол. Когда сеть вырастает и появляется необходимость обмениваться маршрутами между разными операторами — нужен BGP. Изучите основы BGP и переходите к настройке eBGP-соседства.