OSPF Error: DR election deadlock on non-broadcast network — Выборы DR/BDR
В сетях с множественным доступом (Multi-Access), топологиях DMVPN (Phase 1/2/3) или L2 Carrier Ethernet выборы DR/BDR завершаются дедлоком. Все узлы становятся DROTHER, либо два маршрутизатора одновременно объявляют себя DR:
%OSPF-4-DR_CONFLICT: Multiple Designated Routers detected on GigabitEthernet0/1: 10.0.0.1 and 10.0.0.5
%OSPF-5-ADJCHANGE: Neighbor 10.0.0.5 on GigabitEthernet0/1 from 2-WAY to DROTHER
%OSPF-4-NO_DR: Wait timer expired on interface Serial0/0: No DR elected in NBMA segment
%OSPF-7-DEBUG: DR election loop detected: Priority 0 configured on Hub router- Spoke-маршрутизаторы в DMVPN не видят маршруты друг друга.
- Маршруты внутри сегмента не передаются из-за отсутствия генерации Type-2 Network LSA.
- Смежность между узлами застревает в состоянии
2-Way/DROTHER.
1. Принцип выборов DR/BDR (RFC 2328)
В сетях типа Broadcast и Non-Broadcast (NBMA) для снижения количества связей (с N*(N-1)/2 до N) выбираются Designated Router (DR) и Backup DR (BDR):
- Выборы выигрывает маршрутизатор с наивысшим OSPF Priority (значение от 0 до 255). При равенстве — с наивысшим Router ID.
- Маршрутизатор с приоритетом
0(Priority 0) никогда не участвует в выборах и не может стать DR/BDR. - В топологиях Hub-and-Spoke (DMVPN, VPLS) Spoke-маршрутизаторы не имеют прямой L2-связности между собой. Если Spoke станет DR, топология полностью разрушится.
2. Проверка ролей DR/BDR на интерфейсе
# Cisco IOS-XE
show ip ospf interface Tunnel0
show ip ospf neighbor Tunnel0
# Junos
show ospf interface detail
show ospf neighbor detail3. Исправление дедлока в топологии DMVPN Hub-and-Spoke
Принудительно лишите Spoke-маршрутизаторы права становиться DR/BDR, установив приоритет 0:
# На ВСЕХ Spoke-маршрутизаторах:
interface Tunnel0
ip ospf priority 0
# На Hub-маршрутизаторе (должен быть DR):
interface Tunnel0
ip ospf priority 255
ip ospf network broadcast # или non-broadcast / point-to-multipoint4. Принудительный перезапуск выборов DR
Так как выборы DR в OSPF являются non-preemptive (уже выбранный DR не уступает роль новому роутеру с большим приоритетом), перезапустите процесс:
clear ip ospf process Частые вопросы (FAQ)
Почему в сети Point-to-Point не выбираются DR и BDR?
В P2P топологии присутствуют только два узла. Строить Type-2 Network LSA нет необходимости — маршрутизаторы строят прямое FULL-соседство и обмениваются Type-1 LSA.
Что такое Wait Timer в процессе выборов DR?
Wait Timer равен Dead Interval интерфейса (40 сек по умолчанию). В течение этого времени интерфейс ожидает сообщений от существующего DR перед тем, как объявить собственные выборы.
Какое состояние соседства является нормальным между двумя DROTHER узлами?
Состояние 2-Way (2-WAY/DROTHER) является абсолютно нормальным и штатным состоянием для двух рядовых клиентов в одном сегменте. Состояние FULL они строят только с DR и BDR.
На какой мультикаст-адрес отправляют апдейты обычные DROTHER маршрутизаторы?
Обычные маршрутизаторы отправляют LSU на адрес 224.0.0.6 (AllDRouters). Только DR и BDR слушают этот адрес. Сам DR рассылает обновления всем остальным на адрес 224.0.0.5 (AllSPFRouters).