OSPF Error: Hello / Dead interval mismatch with neighbor — Таймеры OSPF
OSPF-соседство не переходит в состояние FULL или циклически падает (flapping). В отладке OSPF регистрируются сообщения о несоответствии интервалов времени:
%OSPF-4-ERRRCV: Received Hello from 172.16.1.2 on Vlan100 dead timer mismatch
%OSPF-4-PACKET_DROP: Hello from 172.16.1.2 has Hello/Dead (10/40), local configured (5/20)
%OSPF-5-ADJCHANGE: Neighbor 172.16.1.2 Down: Dead timer expired
%OSPF-7-DEBUG: Discarding packet: Dead Interval mismatch (Remote: 40, Local: 20)- Периодическое обнуление счетчика Dead Timer у соседа.
- Постоянная перестройка SPF и флаппинг маршрутов в таблице FIB.
- Состояние соседа застревает в
INITили сбрасывается каждые N секунд.
1. Правила согласования таймеров OSPF (RFC 2328)
В стандарте OSPFv2 поля HelloInterval (частота отправки Hello) и RouterDeadInterval (время, после которого сосед считается мертвым) передаются в теле пакета Hello:
- Значения HelloInterval и DeadInterval обязаны совпадать у обоих соседей на общем сегменте связи.
- По умолчанию для Broadcast и Point-to-Point сетей: Hello = 10 сек, Dead = 40 сек.
- По умолчанию для Non-Broadcast (NBMA) сетей: Hello = 30 сек, Dead = 120 сек.
2. Проверка таймеров на интерфейсе
# Cisco IOS-XE
show ip ospf interface GigabitEthernet0/0 | include Timer
show ip ospf neighbor
# Junos
show ospf interface detail | match "Hello|Dead"
# Arista EOS
show ip ospf interface | grep -i timer3. Исправление таймеров в конфигурации интерфейса
# Cisco IOS-XE
interface GigabitEthernet0/0
ip ospf hello-interval 10
ip ospf dead-interval 40
# Junos
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 hello-interval 10
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 dead-interval 404. Рекомендация: Использование BFD вместо занижения OSPF Hello
Для субсекундной сходимости не рекомендуется выставлять Hello меньше 1-2 сек из-за нагрузки на Control Plane. Используйте BFD (Bidirectional Forwarding Detection):
# Cisco IOS-XE
interface GigabitEthernet0/0
bfd interval 250 min_rx 250 multiplier 3
ip ospf bfd
# Junos
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 bfd-liveness-detection minimum-interval 250 Частые вопросы (FAQ)
Какое стандартное соотношение между Hello и Dead таймерами?
Стандартное соотношение составляет 1 к 4 (Dead Interval = 4 * Hello Interval).
Что произойдет, если изменить только Hello-interval на Cisco роутере?
В Cisco IOS при изменении 'ip ospf hello-interval' параметр dead-interval автоматически пересчитывается как 4 * Hello, если ранее dead-interval не был задан вручную.
Передаются ли параметры Retransmit и Transmit Delay в Hello пакете?
Нет. Параметры RxmtInterval и InfTransDelay настраиваются локально на интерфейсе и не влияют на установление соседства в Hello.
Что такое OSPF Fast Hello (Dead-interval minimal)?
Это режим, при котором Dead Interval выставляется в 1 секунду, а Hello-пакеты шлются с частотой sub-second (например, hello-multiplier 4 отправляет 4 пакета в секунду).