ospf convergency features
19.11 2019 | by massimilianoOSPF รจ un protocollo di tipo Link-State Routing, pertanto ogni annuncio di una Prefix/Subnet da parte di un nodo comprende […]
OSPF รจ un protocollo di tipo Link-State Routing, pertanto ogni annuncio di una Prefix/Subnet da parte di un nodo comprende il suo stato del link (metrica);
questo dato รจ chiamato โtopology informationโ ed รจ presente in tutti i nodi facenti parte del processo OSPF allโinterno dellโarea di competenza per costruire il miglior percorso possibile (SPF Shortest Path First) per la corretta raggiungibilitร della destinazione.
Menzione per una rete OSPF di tipo broadcast ove in questo caso si creano due importanti ruoli quali DR (Designated Router) e BDR (Backup Designated Router) che permette di evitare un flooding di traffico di segnalazione ospf tra tutti i nodi presenti ma lasciando al solo DR di informare gli altri nodi via LSA type 2 della topologia presente in rete.
La convergenza riguarda tempi che sono considerati tra lโevento di un fault ed il suo ripristino; si ricorda che ciascun router ospf รจ interessato al processo di convergenza in caso di fault con un aggiornamento della sua routing e forwarding table; pertanto ci sono quattro importanti parametri da considerare:
- 1) failure detection
- 2) failure propagation
- 3) processing new information
- 4) routing and forwardig table update
Riguardo il failure detection possiamo considerare meccanismi con valori temporali da configurare sotto interfaccia quali hello-time e dead-time come pure la configurazione del BFD (Bidirectional Forwarding Detection) dove ad esempio il solo meccanismo fisico/logico di rilevazione non puรฒ bastare in quanto presente un terzo elemento nel path.
- Hello-Time: รจ un meccanismo basato sullโinvio di messaggi ricorsivi tra un router ed il suo neighbor indicando il suo stato UP; se il neighbor non dovesse piรน โascoltareโ hello-message per un periodo definito allโinterno del dead-time, allora puรฒ dedurre lo stato down del router adiacente, eliminandolo dalla sua tabella di adiacenza;
- Dead-Time: รจ il valore temporale per il quale il neighbor dichiara down il router adiacente;
- BFD: รจ un meccanismo che convalida le operazioni di forwarding con invio e ricezione periodica di keepalive (asynchronous mode) tra due routers adiacenti ed ha la capacitร di rilevazione di un fault nellโordine di sub-seconds; viene configurato su base interfaccia e protocols level; รจ necessario per i router cisco l’abilitazione del CEF ed IP-routing
Il Failure Propagation riguarda la configurazione di particolari timers di throttling LSA per assicurare una maggiore velocitร di propagazione delle informazioni; LSA pacing timers puรฒ essere gestito per la trasmissione di aggiornamenti piรน velocemente.
Il Processing new information riguarda il processo di nuove LSA ricevute per trovare il next-best-path; in questo caso si configura attraverso timers di throttling SPF mediante tre valori misurati in milliseconds:
- Il primo indica il tempo (SPF start) per il quale un router ospf deve attendere, appena arrivata una informazione di change-topology, per un ricalcolo del nuovo SPF (Shortest Path First);
- Il secondo indica il tempo (SPF hold-time-interval) di intervallo di attesa tra due separati ricalcoli SPF; qualora ospf riceve un’altra notifica di change-topology durante il periodo di hold-time, il router ospf raddoppia il valore di hold-time sino a raggiungere il maximum-hold-time configurato;
- Il terzo rappresenta il maximum-hold-time
Best Practice dicono che con OSPF Throttling รจ richiesta anche la configurazione di un intervallo minimo di accettazione per uno stesso LSA; se uno stesso LSA dovesse arrivare prima dellโintervallo minimo configurato, questa informazione verrร scartata (Cisco raccomanda un intervallo di LSA arrival minore oppure uguale al LSA hold-time interval settato).
Si riportano i valori di default OSPF:
SPF Start = 5000 msec = 5 sec
SPF Hold = 10000 msec = 10 sec
SPF Hold Max = 10000 msec = 10 sec
!
LSA Start = 0 msec = 0 sec
LSA Hold = 5000 msec = 5 sec
LSA Hold Max = 5000 msec = 5 sec
!
Hello Time = 10 sec
Dead Time = 40 sec
OSPF determina il miglior percorso (SPF) verso una destinazione sulla base di un costo derivato dal bandwidth dei links presenti in rete; il costo totale identifica la somma di tutte le outgoing interface ed il valore piรน basso รจ quello preferito.
Media |
Bandwidth |
Default Cost |
Change Reference Bandwidth |
56 Kbps serial |
56 Kbps |
1785 |
178571 |
64 Kbps serial |
64 Kbps |
1562 |
156250 |
T1 |
1,544 Mbps |
64 |
6476 |
E1 |
2,048 Mbps |
48 |
4882 |
T3 |
45 Mbps |
2 |
222 |
Ethernet |
10 Mbps |
10 |
1000 |
Fast Ethernet |
100 Mbps |
1 |
100 |
Gigabit Ethernet |
1 Gbps |
1 |
10 |
Ten-Gigabit Ethernet |
10 Gbps |
1 |
1 |
Altro parametro da considerare รจ โauto-cost reference bandwidth โ da configurare a livello di protocols routing definendo in modo idoneo un costo da assegnare ai links presenti in rete; di default il valore di reference-bandwidth รจ 100 Mbps (10^8 bps) = 1 cost.
Qualora in rete fossero presenti links con una bandwidth maggiore di 100 Mbps, il reference bandwidth deve considerare un valore che tiene conto del link con maggiore velocitร di trasmissione per una corretta assegnazione dei costi dei differenti links ed รจ importante avere questo parametro di reference-bandwidth uniforme in tutti i routers facenti parte del processo OSPF in modo da garantire annunci di Prefix/Subnet uniformi e con lo stesso parametro di metrica (costo) assegnato.
Si riporta per completezza alcuni command ospf e loro significato:
- ip ospf hello-interval < sec >: specifica il tempo misurato in sec di trasmissione hello packets tra due nodi ospf adiacenti;
- ip ospf dead-interval < sec >: specifica il tempo misurato in sec allโinterno del quale un router si aspetta di ricevere un hello-packets prima di considerare down il suo neighbor;
- ip ospf retransmit-interval < sec >: specifica il tempo misurato in sec di retrasmissione LSA tra due nodi ospf adiacenti; quando un router invia un LSA al suo neighbor questo mantiene lโLSA sino alla ricezione di un acknowledgment e se questo non dovesse arrivare, il router ritrasmette lo stesso LSA
- wait: specifica un tempo per il quale un router esce dallo status di waiting e di selezionare il DR (Designated Router) allโinterno del segmento broadcast di rete ospf; il valore รจ uguale al valore di dead-timer interval;
- ip ospf lls disable: specifica il Link Local Signaling abilitato di default in OSPF per un processo Cisco-Oriented; in questo caso รจ stato disabilitato in quanto le neighborships ospf non sono con Cisco Devices (RFC2328).
Esempio Config:
DEFAULT TIMERS PARAMETERS |
SETTING TIMERS PARAMETERS |
SPF Start = 5000 msec SPF Hold = 10000 msec SPF Hold Max = 10000 msec ! LSA Start = 0 msec LSA Hold = 5000 msec LSA Hold Max = 5000 msec ! When using OSPF throttling it is also required set the minumum interval for accepting the same LSA; if the same LSA arrives sooner than the interval setting, the LSA is dropped. (Cisco recommends the arrival interval be less than or equal to the LSA hold timer interval of the timers throttle lsa command) ! Hello Time = 10 sec Dead Time = 40 sec |
SPF Start = 10 msec SPF Hold = 100 msec SPF Hold Max = 1000 msec ! LSA Start = 10 msec LSA Hold = 100 msec LSA Hold Max = 1000 msec ! LSA-arrival = 50 msec Hello Time = 1 sec Dead Time = 3 sec ! Hello Time = 1 sec Dead Time = 3 sec |
router ospf 1
router-id < ip-address >
nsr # no stop routing
bfd all-interface # enable BFD on interfaces ospf
auto-cost reference bandwidth 1000 # reference bandwidth su base 1G (speed link) = cost 1 = (1000 Mbit / 1Gigabit)
timers throttle lsa all 10 100 1000 # tempi di propagazione in caso di evento (fault) LSA in msec
timers throttle spf 10 100 1000 # tempi di ricalcolo SPF in msec in caso di change topology
timers lsa arrival 50 # intervallo minimo in msec per lโaccettazione di uno stesso LSA
!
interface gi1/0.20
bfd interval 50 min_rx 50 multiplier 3
# primo valore rappresenta lโintervallo di tempo in msec per la trasmissione di BFD packets tra peers;
# secondo valore rappresenta la capability di intervallo minimo di ricezione in msec;
# terzo valore rappresenta il numero consecutive di BFD packets prima di dichiarare out or down il peer;