Perché esistono DR e BDR
Su un segmento broadcast multi-access (tipicamente una LAN Ethernet con più router OSPF) ogni router vorrebbe formare un’adiacenza FULL con tutti gli altri. Con n router si avrebbero n(n-1)/2 adiacenze e un flooding degli LSA moltiplicato inutilmente. Per evitarlo, OSPF elegge un Designated Router (DR) e un Backup Designated Router (BDR): tutti i router formano adiacenza FULL solo con DR e BDR, mentre restano in stato 2WAY fra loro. I router non eletti si chiamano DROTHER.
Il DR raccoglie e ridistribuisce le informazioni di stato del collegamento tramite l’indirizzo multicast 224.0.0.6 (AllDRouters); i DROTHER inviano i loro update al DR usando 224.0.0.6, mentre il DR fa flooding verso tutti con 224.0.0.5 (AllSPFRouters).
Il processo di elezione
L’elezione avviene confrontando, in ordine:
- OSPF interface priority più alta (default
1, range 0–255). - A parità, Router ID più alto.
Regola chiave: l’elezione non è preemptive. Se un router con priority più alta entra in rete dopo che DR/BDR sono già stati eletti, non spodesta il DR esistente; diventa DROTHER e attenderà il prossimo evento di elezione (nuova accensione/reset delle adiacenze).
Il Router ID si determina, in ordine: valore configurato con router-id, poi l’IP più alto di una loopback attiva, infine l’IP più alto di un’interfaccia fisica attiva.
Per forzare o escludere un router si agisce sull’interfaccia:
interface GigabitEthernet0/0
ip ospf priority 100 ! candidato forte a DR
Una priority 0 rende il router ineleggibile: non sarà mai DR né BDR su quel segmento, pur partecipando normalmente a OSPF.
Stati dell’adiacenza da conoscere
| Stato | Significato |
|---|---|
DOWN |
Nessun Hello ricevuto dal neighbor |
INIT |
Ricevuto Hello, ma il mio Router ID non è ancora nella lista del vicino |
2WAY |
Comunicazione bidirezionale confermata; qui si ferma una coppia DROTHER↔DROTHER |
EXSTART/EXCHANGE/LOADING |
Sincronizzazione dei database (DBD, LSR, LSU) |
FULL |
Database sincronizzati: adiacenza completa (verso DR/BDR o su link point-to-point) |
2WAY non è un errore. Due DROTHER che restano stabilmente in 2WAY/DROTHER è il comportamento corretto su un segmento broadcast: si sincronizzano solo con DR e BDR.
passive-interface
Il comando passive-interface sotto router ospf sopprime l’invio degli Hello su quell’interfaccia: nessuna adiacenza si forma, ma la subnet dell’interfaccia continua a essere annunciata in OSPF. È l’approccio corretto per le interfacce verso gli host/LAN utente. Sintomo tipico da diagnosi: la rete compare in tabella di routing sui vicini, ma show ip ospf neighbor non mostra alcun neighbor su quel link.
Diagnostica con le show
show ip ospf neighbor è il primo comando. Mostra Neighbor ID, Pri, State (es. FULL/DR, FULL/BDR, 2WAY/DROTHER), Dead Time e indirizzo. Il campo dopo lo slash indica il ruolo del vicino su quel segmento.
show ip ospf interface [gi0/0] rivela: Network Type (BROADCAST vs POINT_TO_POINT), chi è DR/BDR (con relativi IP), la priority locale, i timer Hello/Dead e l’area. È lo strumento per capire perché un’adiacenza non sale.
Le adiacenze non si formano quando divergono: Hello/Dead timer, Area ID, subnet mask dell’interfaccia, tipo di rete, autenticazione, o MTU (blocca in EXSTART/EXCHANGE).
Punto cruciale: point-to-point
Su un link point-to-point (es. seriale, o una Ethernet configurata con ip ospf network point-to-point) non avviene alcuna elezione: niente DR, niente BDR. I due router passano direttamente a FULL. Cercare un DR su un link p2p è concettualmente sbagliato.
Trappole tipiche d’esame
- Scenario: su un link point-to-point ci si aspetta di vedere DR/BDR → Risposta giusta: su reti point-to-point l’elezione DR/BDR non avviene; i router vanno direttamente a
FULL/ -(nessun ruolo). - Scenario: due router restano in
2WAY/DROTHERsu una LAN e si sospetta un guasto → Risposta giusta: è il comportamento normale; i DROTHER formanoFULLsolo con DR e BDR, non fra loro. - Scenario: un router non deve mai diventare DR/BDR → Risposta giusta: impostare
ip ospf priority 0sull’interfaccia; con priority 0 il router è ineleggibile ma resta pienamente operativo in OSPF. - Scenario: un nuovo router con priority 200 non diventa DR anche se è la più alta del segmento → Risposta giusta: l’elezione OSPF non è preemptive; serve
clear ip ospf processo un reset delle adiacenze perché venga rieletto. - Scenario: una LAN è annunciata ma
show ip ospf neighbornon elenca vicini su quell’interfaccia → Risposta giusta: l’interfaccia èpassive-interface; annuncia la rete ma non invia Hello, quindi nessuna adiacenza si forma.