Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduzione
Open Shortest Path First (OSPF) è uno dei protocolli più utilizzati per l’instradamento in
reti IP, sia nelle aziende che a livello di fornitori di servizi Internet (ISP). È un protocollo
bastato su standard aperto – da qui il termine open nel nome – definito principalmente in
RFC 2328.
Immagine 1: La metrica RIP è basata sul numero di nodi intermedi tra sorgente e destinazione.
Questo può portare il router a scegliere percorsi sub-ottimali sui quali instradare i pacchetti.
Essendo la metrica di RIP basata sul numero di salti intermedi, il router A sceglierebbe il
percorso attraverso i collegamenti seriali più lenti (64Kbps) per instradare i pacchetti diretti
verso le reti del router B.
Immagine 2: La metrica utilizzata in OSPF è basata sul costo, che nell'implementazione Cisco
è un parametro ricavato dalla velocità del collegamento. Pertanto i router OSPF scelgono
sempre il percorso più veloce sul quale instradare i pacchetti.
La metrica dei protocolli a stato del collegamento si basa invece sul concetto di costo. Nel
caso specifico dei router Cisco, tale parametro si basa sulla larghezza di banda dei
collegamenti. Pertanto, osservando l’immagine 2 il router A sceglierà il percorso più veloce
per instradare i pacchetti verso le reti del router B, cioè quello attraverso le linee T3/E3,
indipendentemente dal numero di salti intermedi.
Il protocollo OSFP tra le altre cose è classless, cioè non utilizza lo schema di
indirizzamento a classi di IPv4, i messaggi che i router OSPF si scambiano contengono
l’informazione riguardo la maschera di sotto-rete. Pertanto, a differenza di RIPv1, OSPF
supporta reti con maschere a lunghezza variabile (VLSM) e discontinue.
3.1.2 Descrizione generale del funzionamento di OSPF
Le informazioni sullo stato del collegamenti devono essere sincronizzate tra tutti o router,
ciò significa che:
i messaggi LSA devono essere inviati utilizzando un servizio di trasporto affidabile, cioè i
router che ricevono tali messaggi devono inviare un riscontro al mittente;
I messaggi LSA devono raggiungere tutti i router appartenenti a un’area o tutti i router della
rete nel caso in cui esista una sola area. Tale operazione viene effettuata in genere
utilizzando la tecnica del flooding;
Ciascun LSA deve avere un numero di sequenza e un termine di validità, affinché ciascun
router possa riconoscere l’informazione più aggiornata;
I messaggi LSA vengono rinviati prima della loro scadenza a conferma delle precedenti
informazioni topologiche;
Il protocollo OSPF propaga i messaggi LSA inviandoli utilizzando l’indirizzo multicast
riservato 224.0.0.5. Quando un router riceve un LSA, aggiorna la propria base di dati
dello stato dei collegamenti (link-state database [LSDB]) con le informazioni ricevute. Con
le informazioni contenute in questa struttura dati, il router calcola i percorsi migliori
applicando l’algoritmo Shortest Path First o algoritmo di Dijkstra. L’algoritmo costruisce un
albero di attraversamento contenente tutti i percorsi più brevi verso tutte le destinazioni
della rete.
I percorsi migliori (o percorsi più brevi) così calcolati, vengono quindi inseriti nella tabella di
instradamento. In base alla topologia di rete il router può inviare in flood i messaggi LSA a
tutti gli altri router OSPF appartenenti alla stessa area.
Immagine 3: I componenti principali dei protocolli a stato del collegamento.
In base alla topologia della rete i router possono inviare, in flood, LSA verso tutti gli altri
router OSPF appartenenti alla stessa area, per assicurarsi che ciascuno di essi aggiorni le
informazioni sullo stato dei collegamenti, prima di effettuare il calcolo dei percorsi di rete.
Solo utilizzando un flooding con trasporto affidabile è possibile assicurare che tutti i router
in un’area o nel dominio possano ricevere le informazioni aggiornate.
Qualsiasi informazione parziale o non corretta acquisita nella fase iniziale, è altamente
probabile che produca risultati inconsistenti, questo perché ciascun router calcola i
percorsi di rete utilizzando sé stesso come radice dell’albero.
Affinché i risultati siano consistenti, ciascun router utilizza delle strutture dati per
memorizzare le informazioni che riceve. In particolare ciascun router deve mantenere:
L’elenco dei router vicini, direttamente connessi: se un router perde il contatto con un
vicino, è costretto ad invalidare tutti i percorsi di rete che utilizzavano quel vicino come
nodo successivo per l’inoltro dei pacchetti. Dovrà inoltre ricalcolare i percorsi attraverso la
rete. Ciascun router link-state mantiene le informazioni riguardanti i propri vicini in una
struttura dati, chiamata tabella dei vicini (neighbor table), anche conosciuta come base di
dati delle adiacenze (adjacency database);
L’elenco completo di tutti i router nella rete o della propria area e nelle reti collegate:
i router ottengono informazioni riguardo gli altri router e i percorsi attraverso la rete grazie al
processo di flooding dei pacchetti LSA. Tutti gli LSA ricevuti vengono memorizzati e
mantenuti in una struttura dati chiamata tabella topologica (topology table), chiamata anche
base di dati dello stato dei collegamenti (Link-state database [LSDB]);
I percorsi migliori verso ciascuna destinazione: ciascun router indipendente dall’altro,
calcola applicando la tabella topologica all’algoritmo SPF, il percorso più breve verso
ciascuna destinazione conosciuta. I percorsi migliori vengono mantenuti e memorizzati
nella tabella di instradamento (routing table), chiamata anche database di inoltro
(forwarding database). I pacchetti in arrivo al router vengono inoltrati in base alla
informazioni contenute nella tabella di instradamento.
3.1.4 Base di dati delle adiacenze di OSPF
Nelle piccole reti, la struttura dei collegamenti tra i vari router, non è molto complessa e i
percorsi tra le varie destinazioni sono abbastanza semplici da rilevare. Tuttavia nelle reti
più grandi, la struttura dei collegamenti tra i router diventa molto più complessa e il numero
di percorsi attraverso la rete è molto più grande. Di conseguenza l’algoritmo SPF
impiegherà più tempo e risorse per eseguire i suoi calcoli. Nelle topologie di rete molto
complesse le risorse di un router, intese come potenza di calcolo (CPU) e quantità di
memoria disponibile, possono diventare insufficienti per eseguire tutti i calcoli.
Per ridurre tempi di calcolo e risorse occupate dall’algoritmo SPF è necessario ridurre la
complessità della rete partizionandola in domini di instradamento di piccole dimensioni
chiamate aree1.
Un’area è un’insieme (in genere contiguo) di reti, router e collegamenti, che hanno il
medesimo identificativo d’area. I router appartenenti a un’area mantengono nella propria
tabella topologica esclusivamente le informazioni riguardanti lo stato dei collegamenti
dell’area di appartenenza. Pertanto anche il numero di LSA che vengono propagati è
limitato ai soli router appartenenti alla stessa area. La suddivisione in aree consente
pertanto di ridurre la dimensione della base di dati topologica e di conseguenza ridurre i
calcoli effettuati dall’algoritmo SPF. I router appartenenti a un’area non hanno informazioni
dettagliate sui percorsi di rete verso le altre aree, in genere infatti hanno solo rotte
aggregate, questo contribuisce a diminuire la dimensione delle tabelle di instradamento.
Immagine 6: Il modello a due aree gerarchiche, in OSPF viene applicato in modo rigido. Tutte
le aree regolari devono essere collegata fisicamente (e logicamente) all'area 0.
Nello scorso paragrafo abbiamo visto che in OSPF, per motivi di scalabilità la rete può
essere suddivisa in aree con due livelli di gerarchia. In base a quanto detto si può anche
dedurre che i router che stanno al confine tra le aree debbano svolgere una funzione
particolare. OSPF infatti suddivide i router in base alla loro posizione nelle aree e quindi
nella gerarchia, secondo quattro tipi:
Router Interni: sono quei router le cui interfacce si trovano tutte sulla stessa area. Tutti i
router di questo tipo, appartenenti alla stessa area hanno tabelle topologiche contenenti le
stesse informazioni;
Router di confine o area border router (ABR): sono quei router che hanno interfacce
connesse ad aree differenti. In un ABR costituisce il punto di interconnessione di un’area
con la dorsale. Per ciascuna area a cui è collegato ogni ABR mantiene una tabella
topologica (LSDB) diversa. Gli ABR instradano il traffico uscente dall’area verso la dorsale,
e il traffico entrante verso i router interni all’area;
I router ABR possono essere configurati per aggregare le informazioni di instradamento
contenute nella tabella topologia di ciascuna delle aree alle quali sono connessi,
ridistribuendole così verso la dorsale. Per ciascuna area possono essere presenti più
router di confine;
Router di dorsale o di backbone: sono quei router che si trovano entro il perimetro
dell’area 0, cioè quelli che hanno almeno un’interfaccia nell’area 0. I router di dorsale
possono essere interni o di confine, e in base a questo operano di conseguenza. I router di
dorsale distribuiscono le informazioni di instradamento verso i router di confine.
Router di confine del sistema autonomo o Autonomous System Boundary Routers
(ASBR): sono quei router che hanno almeno un’interfaccia collegata verso una rete al di
fuori del sistema autonomo OSPF, o comunque verso una rete non OSPF. I router ASBR
sono in grado di importare e ridistribuire nel sistema autonomo OSPF, le informazioni sui
percorsi di rete esterni, provenienti da altri protocolli di instradamento, come BGP, e
ovviamente sono in grado di effettuare l’operazione opposta. Tale processo prende il nome
di ridistribuzione delle rotte (route redistribution).
Immagine 7: I router OSPF vengono classificati in base alla funzione che svolgono e alla
loro posizione nella gerarchia delle aree.
Un router può assumere più ruoli contemporaneamente, pertanto alcune definizioni per i
router OSPF sono sovrapponibili. Per esempio un router di dorsale quando ha
un’interfaccia anche su un’altra area è considerato di confine, o ancora un router che
interconnette l’area 0, l’area 1 e una rete esterna non OSPF, è sia un ABR che un ASBR.
Nella pratica il tipo di router viene stabilito in base alla funzione primaria che esso svolge.
Router interni
Come in qualsiasi altro protocollo, anche in OSPF alcuni concetti vengono formalizzati
utilizzando una particolare terminologia. Le immagini che seguono mostrano termini e
concetti principali adottati in OSPF.
Immagine 12: Definizione di tabella topologica, come quella struttura dati che contine
l'insieme di informazioni sullo stato dei collegamenti tra tutti i router del dominio o dell'area.
Immagine 13: Definizione di Area, come insieme di reti e di router con il medesimo
identificativo d'area.
Immagine 14: Definizione di costo, come valore che rappresenta la bontà del collegamento. Il
costo OSPF è basato sul valore della banda.
Immagine 15: Definizione di tabella dei vicini, come la struttura dati contentente l'elenco dei
router vicini con cui il router locale ha instaurato una relazione di adiacenza.
L’algoritmo SPF (shortest path first) su cui si basano gli algoritmi a stato del collegamento,
quindi anche OSPF, fu inventato dal matematico Edsger Dijkstra. L’algoritmo, costruendo
un albero di attraversamento con radice il nodo (router) locale, consente di trovare tutti i
cammini minimi (Shortest Paths, SP) verso ciascuna destinazione.
I cammini minimi sono quelli dal costo inferiore. Per impostazione predefinita il costo
OSPF sui router Cisco è calcolato a partire dalla larghezza di banda del collegamento.
Tuttavia è possibile configurare manualmente il valore del costo per ciascuna interfaccia.
Tutti i router tramite LSA inviati in flooding2 annunciano lo stato dei propri collegamenti a
tutti i router. Ciascun LSA contiene rete, elenco dei vicini e costo di ciascun collegamento.
Per esempio l'LSA del router D conterrà le seguenti informazioni:
2 Si ricorda che il flooding è la tecnica per la quale un messaggio viene propagato da un dispositivo su tutte le sue interfacce, tranne
quella in cui il messaggio stesso è stato ricevuto, analogamente a quanto succede con la tecnica dello spit-horizon.6
LSA Router D Questo LSA verrà inviato verso i vicini A, B, C F. Che a loro
Rete Costo Vicino volta lo inoltreranno ai rispettivi vicini, utilizzando il processo di
w 6 A flooding. Ovviamente ciascun router provvederà ad inviare
anche i propri LSA. Questo processo avrà fine quando tutti i
k 5 B
router avranno ricevuto gli LSA degli altri.
j 2 C
h 10 F Grazie agli LSA ricevuti i router saranno in grado di costruire la
tabella topologica. Di seguito riportata la tabella topologica del
router D:
Router D – Tabella topologica Router D – Tabella topologica
Router Rete Costo Vicino Router Rete Costo Vicino
y 5 E w 6 A
A w 6 D k 5 B
D
i 2 B j 2 C
i 2 A h 10 F
B k 5 D y 5 A
E
z 7 C x 2 F
z 7 B x 2 E
C j 2 D F h 10 D
r 4 F r 4 C
L’algoritmo SPF viene applicato sui dati ottenuti, secondo le seguenti regole:
Il router comincerà esaminando prima i collegamenti dal costo inferiore, cominciando da
quelli direttamente connessi e successivamente quelli contenuti negli LSA ricevuti;
Per ciascun collegamento esaminato il router aggiornerà il costo quindi sceglierà il percorso
dal costo minore rendendolo definitivo3;
Il costo di ciascun collegamento è ricavato dalla somma dei collegamenti attraversati per
raggiungerlo, più il costo del collegamento stesso;
In base alle regole fissate, nel caso in esempio otteniamo quanto segue:
Il router D comincia ad esaminare le reti direttamente connesse, aggiornandone i costi:
LSA router D
RETE COSTO VICINO
w 6 A
k 5 B
j 2 C
h 10 F
3 Nell’esempio, per sottolineare che il router ha reso definitivo un collegamento questo verrà colorato di rosso.
4 Dir è l’abbreviazione di connesso direttamente.
percorso per h “via dir”: costo 10 – il router aggiunge la rotta;
I percorsi esaminati e non confermati sono in verde mentre quelli esaminati e confermati
sono in rosso. La freccia indica la direzione da cui proviene il calcolo del costo;
Il router adesso procede esaminando il contenuto degli LSA del router C, poiché questo è
quello con il costo base (2) minore:
LSA router C
RETE COSTO VICINO
z 7 B
j 2 D
r 4 F
LSA del router C è stata controllata per intero, pertanto procede a controllare quella del
router B, che è il vicino successivo con metrica migliore (5), sulla rete k:
LSA router B
RETE COSTO VICINO
i 2 A
k 5 D
z 7 C
percorso per k “via dir”: costo 5 – il router rende definitiva la rotta;
Il router procede esaminando ora l'LSA del router B, il vicino sulla rotta confermata:
percorso per i “via B”: costo 5 + 2 = 7 – il router aggiunge la rotta;
percorso per k – ignorato perché direttamente connesso;
percorso per z “via B”: 5 + 7 = 12 – ignora il valore perché più alto dell’attuale (9);
Terminato l’esame del contenuto dell'LSA di B, il router D, ha adesso due percorsi con
metrica migliore, uno verso la rete w e l’altro verso la rete r:
percorso per w “via dir”: costo 6 – il router rende definitiva la rotta;
percorso per r “via C”: costo 6 – il router rende definitiva la rotta;
Il router procede adesso ad esaminare il contenuto degli LSA dei vicini sulle rotte
confermate. Per primo LSA del router A il vicino sulla rete w, con costo base pari a 6:
LSA router A
RETE COSTO VICINO
y 5 E
w 6 D
i 2 B
percorso per i “via A”: 6 + 2 = 8 – ignora il valore perché più alto dell’attuale (7);
percorso per y “via A”: 6 + 5 = 11 – il router aggiunge la rotta;
percorso per w “via A” – ignorato perché direttamente connesso e confermato;
LSA di F, vicino del router C sulla rete r, con costo base pari a 6:
LSA router F
RETE COSTO VICINO
x 2 E
h 10 D
r 4 C
LSA router E
RETE COSTO VICINO
y 5 A
x 2 F
percorso per x “via F”: costo 8 + 5 = 13 – ignora la rotta per via della metrica maggiore;
percorso per y “via F”: costo 8 + 2 = 10 – poiché questa metrica è inferiore rispetto a
quella attualmente in possesso la sostituisce;
Finalmente il router non ha più LSA pendenti da controllare pertanto conferma tutte le rotte
attualmente calcolate:
Nel precedente paragrafo abbiamo usato volutamente LSA dalla struttura molto semplice,
per fissare l'attenzione sul funzionamento dell'algoritmo SPF e non come esso viene
implementato. Nella realtà i protocolli a stato del collegamento devono scambiarsi molte
altre informazioni affinché possano funzionare correttamente.
Il protocollo OSPF inserisce gli LSA in un pacchetto chiamato LSU, Link state up-date,
cioè aggiornamento sullo stato dei collegamenti. Il contatore aging timer, determina il
periodo di validità di un LSU, quindi di ogni singolo LSA. L’impostazione predefinita di
questo contatore è di 30 minuti. Poco prima della scadenza della validità del pacchetto
LSU, il router che lo ha generato, dovrà diffonderne un altro sulla rete, utilizzando un
numero di sequenza maggiore. Pertanto dopo un certo periodo di tempo, anche se molto
alto, tutti gli LSA della rete verranno riaggiornati. Tale tecnica utilizzata da OSPF è
chiamata aggiornamento paranoico, ed è stata implementata per per scongiurare eventuali
corruzioni dei dati tenuti in memoria dai router. Poiché OSPF utilizza i messaggi di hello
per verificare lo stato dei collegamenti, non ci sarebbe una reale necessità di inviare questi
aggiornamenti. Ogni volta che un router riceve un LSU effettua le seguenti operazioni:
Se il pacchetto non era mai stato ricevuto in precedenza, il router:
estrae i vari LSA e ne inserisce le informazioni contenute in nella propria tabella
topologica (LSDB);
Se il pacchetto era già stato ricevuto, ma contiene nuove informazioni (numero di sequenza
maggiore), il router:
estrae gli LSA ricevuti5 e aggiorna, sovrascrivendo, i precedenti LSA presenti nella
tabella topologica (LSDB);
invia un messaggio di ACK al mittente per riscontrarne l’avvenuta ricezione
invia il LSU ricevuto in flood affinché venga ricevuto dagli altri router;
esegue l’algoritmo SPF affinché calcoli i percorsi migliori basandosi sulla nuova tabella
topologica;
Può anche capitare che un router riceva un LSU con informazioni vecchie, in questo invia
al mittente il LSU aggiornata in suo possesso;
5 In caso di variazione topologica i router OSPF inviano soltanto aggiornamenti riguardanti i percorsi di rete che sono cambiati.
3.2 Descrizione generale del funzionamento di OSPF
3.2.1 Tipi di pacchetto utilizzati in OSPF
A differenza di quanto avviene per RIP, i cui pacchetti vengono incapsulati in segmenti
UDP6, tutti i cinque tipi di messaggi utilizzati in OSPF, vengono incapsulati in pacchetti IP.
Anche i servizi di trasporto affidabile vengono implementati nel protocollo stesso, tramite i
pacchetti LSAck (tipo 5), senza appoggiarsi su quelli di TCP.
Indipendentemente dal tipo, tutti i messaggi OSPF utilizzano il medesimo formato per
l’intestazione:
Immagine 25: Formato dell'intestazione comune per i cinque tipi di pacchetto OSPF.
I router OSPF, prima di poter scambiare informazioni topologiche, devono instaurare con i
propri vicini di livello tre, una relazione di adiacenza. Il processo di creazione e
mantenimento tali relazioni è gestito in OSPF da un sotto-protocollo chiamato protocollo di
Hello, e viene effettuato tramite lo scambio di pacchetti di hello.
Immagine 26: Il protocollo di Hello, viene utilizzato in OSPF per instaurare e mantenere le
relazioni di adiacenza.
Ciascuna interfaccia che partecipa al processo OSPF viene associata al gruppo multicast
con indirizzo 224.0.0.5, cioè il gruppo dei router OSPF, e comincerà ad inviare e
ricevere pacchetti su quell’interfaccia.
Immagine 27: Formato del pacchetto di hello utilizzato in OSPF.
Nel caso di pacchetto di hello, il cui formato è mostrato nell'immagine 54, il campo tipo
nell’intestazione ha il valore uno (1):
Router ID: campo a 32, presente nell’intestazione, consente di identificare
univocamente il router del dominio da cui si è originato il pacchetto di
hello, permettendo sia di instaurare la relazione di adiacenza che di
coordinare lo scambio dei messaggi LSU. Inoltre, come vedremo, viene
utilizzato anche durante il processo di elezione del router DR e BDR, per
decretare il vincitore in caso di ballottaggio. Infatti, nel caso in cui due o
più router OSPF avessero la stessa priorità, diventa DR quello con
identificativo più alto e BDR quello con il secondo identificativo più alto.
L’identificativo del router può essere configurato manualmente
utilizzando il comando router-id, tuttavia, nel caso in cui tale
operazione non venisse effettuata, il router sceglie come proprio
identificativo l’indirizzo IP numericamente più alto configurato su una
delle sue interfacce di loopback. O nel caso in cui nessuna delle
interfacce di loopback fosse configurata, l’indirizzo IP numericamente
più alto configurato in una delle interfacce fisiche7, indipendentemente
dal fatto che questa partecipi o meno al processo OSPF.
Identificativo d’area: campo a 32 bit, presente nell’intestazione, identifica l’area OSPF alla
quale appartiene l’interfaccia del router che ha originato il pacchetto. Nel
protocollo di hello affinché due router possano instaurare una relazione
di adiacenza devono condividere lo stesso segmento di rete (quindi
appartenere alla stessa rete o sotto-rete IP) e le loro interfacce devono
essere sulla stessa area OSPF;
network-mask: contiene la maschera di rete del segmento a cui appartiene l’interfaccia
del router. Affinché si possa instaurare una relazione di adiacenza, i
router su quel segmento di rete devono avere la stessa maschera;
Intervallo di hello: è il periodo in secondi utilizzato dal router per inviare i pacchetti di hello.
Affinché si possa instaurare la relazione di adiacenza i vicini devono
avere lo stesso intervallo di hello. Il valore predefinito di questo
contatore varia in base al tipo di rete.
Intervallo di validità: (dead interval) è il tempo massimo in secondi che un router deve
attendere l’arrivo di un messaggio di hello dal suo vicino, prima di
7 Si osservi che Cisco consiglia di impostare manualmente un identificativo del router o tramite il comando router-id o configurando
un’interfaccia di loopback. Questo per impedire al router di scegliere il proprio identificativo automaticamente.
considerare il collegamento con esso, non attivo e pertanto cominciare il
processo di flooding per segnalare ai router del dominio (o dell’area) la
variazione topologica. Per impostazione predefinita questo valore è pari
a quattro volte l’intervallo di hello. In pratica il router locale da al vicino
fino a quattro possibilità di mandare un pacchetto di hello, prima che la
relazione di adiacenza venga sciolta. Come nel caso precedente non è
possibile instaurare la relazione di adiacenza se i router hanno valori
dell’intervallo differenti;
Il valore predefinito dei precedenti contatori, varia in base al tipo di rete a
cui è collegata l’interfaccia del router. Nelle reti broadcast il valore
predefinito dell’intervallo di hello è di dieci (10) secondi, quaranta (40)
secondi l’intervallo di validità. Nelle reti non broadcast, il valore
predefinito dell’intervallo di hello è di trenta (30) secondi, 120 secondi
l’intervallo di validità.
Elenco dei vicini: L’elenco dei vicini con cui il router da cui ha avuto origine il pacchetto ha
instaurato una relazione di adiacenza bidirezionale. Ricordiamo che tale
evento avviene non appena un router rileva nel pacchetto di hello del
vicino il proprio identificativo.
Priorità del router: campo a otto bit che indica la priorità del router per quell’interfaccia.
Questo valore viene utilizzato per l’elezione dei router DR e BDR;
Indirizzo DR e BDR: due campi a 32 bit che contengono, se presenti, gli indirizzi IP dei router
DR (Designated Router) e BDR (Backup designated Router);
Opzioni: è un campo a otto bit, consente ai router OSPF di abilitare o disabilitare
alcune caratteristiche del protocollo e di comunicare tali caratteristiche
agli altri router. Quando utilizzato nei pacchetti di hello questo campo
consente a un router di rigettare un vicino a causa di parametri non
uguali.
* * DC EA N/P MC E *
Il protocollo OSPF è abbastanza complesso e il processo che porta i router a stabilire una
relazione bidirezionale (a due vie), è solo il primo passo. Lo stato finale è quello in cui i
router dopo aver scambiato e sincronizzato le informazioni di stato dei collegamenti,
instaurano una relazione di adiacenza completa (full adjacency). Tuttavia il
raggiungimento di questo stato implica il passaggio per gli stati intermedi. OSPF definisce
cinque stati o livelli di relazione:
Stati OSPF
Down (inattivo) – Attempt (tentativo)
Init (inizializzazione)
Two-Way (due-vie)
ExStart (avvio dello scambio)
Exchange (scambio)
Loading (apprendimento)
Down (inattivo) è lo stato iniziale in cui si trovano le interfacce di un router dopo che è stato
attivato il processo OSPF. Un'interfaccia è in questo stato quando non ha ancora ricevuto
pacchetti di hello. Lo stato di attempt è valido sono in caso di reti broadcast, quando il
router, dopo aver inviato un pacchetto di hello, si aspetta di rilevare eventuali vicini.
Immagine 28: Processo di instaurazione della relazione di adiacenza.
Nel momento in cui il router rileva in ingresso sull'interfaccia un pacchetto di hello questa
passa allo stato di init. Questa fase indica per l'appunto che il router ha rilevato un nuovo
vicino ed è pronto a stabilire una comunicazione bidirezionale instaurando una relazione di
adiacenza a due vie.
Il processo OSPF viene attivato sul router A. Il router comincia a inviare sulle interfacce
che partecipano al processo, pacchetti di hello, annunciando ai vicini la propria
presenza;
Nelle reti punto-punto e multi-accesso broadcast, i pacchetti di hello vengono inviati
verso l’indirizzo multicast 224.0.0.5, invece sulle reti non broadcast o punto a
punto-multiplo, vengono inviati verso l’indirizzo unicast del vicino8;
Tutti i vicini, su cui è in esecuzione OSPF, che ricevono i pacchetti di hello del router A
ne aggiungono l'identificativo alle rispettive tabelle delle adiacenze.
I router che hanno ricevuto il pacchetto di hello, passano allo stato di init, e inviano
verso A un pacchetto di hello contenente l'elenco dei propri vicini, tra cui A stesso.
Non appena il router A riceverà il pacchetto di hello dai vicini, aggiungerà i loro
identificativi alla propria tabella delle adiacenze. Inoltre poiché il router stesso riconosce
in questi pacchetti il proprio identificativo, l'adiacenza diviene a due vie (two way), tra i
router si è instaurata così una comunicazione bidirezionale;
Nel caso di reti broadcast (in genere reti LAN ethernet) il protocollo prevede che i router,
prima di passare alla fase seguente, cioè la sincronizzazione delle informazioni sullo stato
dei collegamenti, eleggano un DR e un BDR. Vedremo meglio il processo di elezione più
avanti:
Il DR ha il compito di stabilire adiacenze bidirezionali con tutti i router del segmento
LAN, e di sincronizzare con questi le informazioni sullo stato dei collegamenti;
Sulle reti broadcast, i router stabiliscono adiacenze complete esclusivamente con il DR
e con il BDR;
Al termine del processo di elezione i router passano alla fase di ExStart, che indica
appunto che può essere avviato il processo di scambio di informazioni sullo stato del
collegamento con DR e BDR;
I pacchetti di hello continueranno ad essere inviati dai router periodicamente (ogni 10
secondi nelle reti broadcast), sia per rilevare nuovi vicini, sia per verificare che le adiacenze
stabilite con i vicini attuali siano ancora valide;
3.2.5 Sincronizzazione della base dati di stato dei collegamenti (LSDB)
Instaurata la relazione di adiacenza a due vie e, nel caso di reti broadcast, eletti DR e
BDR, i router passano alla fase di ExStart (exchange start). Questa viene gestita tramite
un altro sotto-protocollo di OSPF, il protocollo di exchange, e prevede che i router,
utilizzino pacchetti database description (DBD, tipo2). Tecnicamente questo è il primo
8 Si osservi che in questo tipo di reti, l’indirizzo dei router vicini viene generalmente ottenuto tramite protocollo ARP inverso oppure
configurati manualmente.
passo che porterà i router a instaurare una relazione di adiacenza. L'obiettivo di questo
passo è quello di sincronizzare i due router su un numero di sequenza da adottare nello
scambio dei messaggi di descrizione dello stato dei collegamenti (DBD) e chi dovrà
cominciarne l'invio:
Dal momento in cui i router entrano nella fase di ExStart cominciano a scambiarsi pacchetti
DBD vuoti (senza intestazioni LSA), impostando a un valore casuale il numero di sequenza
del pacchetto (DD Sequence number):
Il router che ha l'identificativo più alto diviene il router master, e gestirà la
sincronizzazione delle informazioni sullo stato dei collegamenti;
Il router che invece ha identificativo più basso diviene il router slave; e dovrà impostare
il numero di sequenza dei messaggi DBD a quello del router master;
Immagine 30: Nella fase di ExStart, viene stabilito chi è il router Master e chi invece quello
Slave.
Stabiliti i ruoli di master e slave, i router avviano la fase di Exchange nella quale avviene
lo scambio dei pacchetti DBD veri e propri.
I messaggi DBD contengono un “estratto” della tabella topologica del router. In pratica
ciascun messaggio DBD contiene le intestazioni degli LSA presenti nella tabella
topologica;
La fase di Exchange serve appunto affinché i router possano sincronizzare le proprie basi
di dati sullo stato dei collegamenti, acquisendo informazioni dai vicini. In tale fase i router
effettuano le seguenti operazioni:
Il router master invia un pacchetto DBD contenente un sommario di tutti i suoi LSA, verso il
router slave;
Il router slave ne riscontra (Ack) la ricezione e a sua volta invia il proprio DBD verso il
router master;
Il router master riscontra la ricezione dei DBD al router slave;
Entrambi i router elaborano le informazioni contenute nei pacchetti DBD ricevuti,
confrontandole con quelle in loro possesso;
Immagine 31: La fase di Exchange, in cui i router si scambiano pacchetti DBD, contententi un
sommario dello stato di tutti i collegamenti conosciuti.
Terminata la fase di exchange, i router passano alla fase successiva, quella di loading
(apprendimento). Questa fase avviene solo se il DBD ricevuto contiene informazioni nuove
o aggiornate i router passano alla penultima fase quella di loading;
In questa fase i rouer richiedono ai propri vicini le LSA complete riguardo quei
collegamenti che sono stati aggiornati o sconosciuti, utilizzando pacchetti Link-State
Requests (LSR, tipo 3). Il router che riceve un tale pacchetto risponde al mittente con un
link-state update (LSU, tipo 4). I pacchetti LSU informazioni dettagliate sullo stato dei
collegamenti, cioè LSA (link-state advertisements), che sono il cuore di ogni protocollo
basato sullo stato del collegamento (link-state). I pacchetti LSU vengono riscontrati
(acknowledged) usando pacchetti di tipo 5 o link-state acknowledgments LSAck.
Quando tutti i pacchetti LSR vengono soddisfatti e riscontrati, i router hanno raggiunto un
livello di adiacenza completo (full state), hanno cioè tabelle topologiche contenenti le
medesime informazioni.
L'immagine successiva mostra per intero il processo di adiacenza dei router OSPF:
Immagine 32: Processo che consente ai router OSPF di instaurare una relazione di adiacenza
completa.
Il modo in cui i router OSPF si scambiano i messaggi LSU, varia in base al tipo di rete a
cui è collegata l'interfaccia. Nel caso di reti broadcast il è il DR a gestire lo scambio degli
LSU, nelle reti punto-punto invece lo scambio è diretto.
Passo 1: Nelle reti broadcast ciascun router forma una relazione di adiacenza
esclusivamente con i rotuter DR e BDR. Pertanto quando un router rileva una
variazione nello stato di un collegamento, invia verso l'indirizzo multicast
224.0.0.6, che è il gruppo OSPF a cui sono registrati i router DR e BDR, un
pacchetto LSU contenente LSA o gli LSA che hanno subito una variazione;
Immagine 33: Nelle reti broadcast i router che rilevano una
variazione topologica, inviano un LSU verso il DR. La
trasmissione di questi pacchetti utilizza un servizio di
trasporto affidabile.
Passo 2: Il DR riscontra l'LSU ricevuto e lo invia in flood verso tutti i router OSPF del
segmento, registrati all'indirizzo multicast 224.0.0.5. Ciascun router riscontra
la ricezione dell'LSU ricevuto;
Sui router Cisco, l'algoritmo SPF non blocca il processo di instradamento, ciò significa che
se una rotta presente nella tabella di instradamento è oggetto di ricalcolo da parte di SPF,
il router continuerà a instradare i pacchetti su quella rotta. Successivamente, quando il
processo SPF ha terminato di ricalcolare i nuovi percorsi di rete, questi andranno a
sostituire i precedenti nella tabella di instradamento.
3.2.7 Gestione dei numeri di sequenza nei pacchetti LSU
Per assicurarsi che tutti i router mantengano aggiornate le informazioni contenute nella
base dati di stato del collegamento, il protocollo OSPF prevede l'impiego di due contatori
maxage (età massima) e refresh timer (intervallo di aggiornamento), inoltre il numero di
sequenza link-state sequence number consente ai router di distinguere LSA aggiornate da
quelle più vecchie.
I numeri di sequenza degli LSU
A ciascuna voce LSA nella base di dati dello stato dei collegamenti
viene associato un numero di sequenza;
Tale numero è un valore intero a 32 bit, sebbene in pratica vengano
usati solo 16 bit, che inizia dal valore esadecimale 0x800000019 e
termina con il valore 0x7fffffff;
Il protocollo OSPF, prevede che gli LSA vengano inviati in flood ogni
trenta minuti, o quando avviene una variazione topologica, affinché i
router rimangano sincronizzati. Ogni volta che un LSA viene inviato in
flood il numero di sequenza viene incrementato di uno;
Quando il numero di sequenza va in overflow, tutti gli LSA vengono
prematuramente fatti scadere impostando il contatore maxage a un'ora;
Per distinguere tra LSA aggiornati o duplicati, i router utilizzano il valore
contenuto nel campo LS sequence number: un valore più alto di quello
posseduto indica che LSA è stato aggiornato.
OSPF utilizza diversi diversi tipi di link-state advertisement (LSA) tutti aventi la medesima
intestazione.
9 Il valore 0x80000001 corrisponde a -2147483647 in decimale in quanto viene utilizzato il complemento a due.
Tipo LSA Descrizione
Descrivono stato e costo del collegamento dell'interfaccia di un
1 LSA del router (Router-LSA) router in un'area. Sono originate da tutti i router appartenenti a
un'area e propagati esclusivamente in quell'area stessa.
Sono originati solo sulle reti di tipo multi-accesso (broadcast e non)
2 LSA di rete (Network-LSA) solo dai router DR (router designato). Ciascun LSA descrive tutti i
router collegati al segmento di rete.
Sono originati dai router di confine. Gli LSA di sommario vengono
3 e 4 LSA di sommario (Summary-LSA) utilizzati quando informazioni sui collegamenti (in genere aggregate)
di una particolare area devono essere inviati verso altre aree.
LSA esterne al sistema autonomo Si originano dai router di confine del sistema autonomo. Descrivono
5
(AS-external-LSA) destinazioni al di fuori del sistema autonomo.
Quando un router riceve le nuove LSA per quel router, reimposta a zero il contatore
maxage. L'impostazione predefinita di questo contatore è di 60 minuti (un'ora), pertanto se
il router non ricevesse per due volte consecutive un determinato LSA, questo verrebbe
rimosso dalla tabella topologica.
Per verificare che due router scambino correttamente i pacchetti OSPF, sui router Cisco è
possibile utilizzare il comando debug ip ospf packet. L'immagine mostra un esempio
di output del comando. In particolare si osservi che il comando mostra i campi che
formano l'intestazione dei pacchetti OSPF, senza fornire però ulteriori informazioni:
! OSPF versione 2 (v: 2), pacchetto LSU (t: 4) di lunghezza 64 byte (l: 64),
! del router con id 10.1.2.2 (rid: 10.1.2.2)
001925: Jul 21 19:01:40.698 EST: OSPF: rcv. v:2 t:4 l:64 rid:10.1.2.2
aid:0.0.0.0 chk:0 aut:2 keyid:1 seq:0x5F3 from FastEthernet2/0
001927: Jul 21 19:01:42.654 EST: OSPF: rcv. v:2 t:5 l:84 rid:10.10.14.1
aid:0.0.0.10 chk:0 aut:2 keyid:1 seq:0xA0A from Ethernet3/0
001928: Jul 21 19:01:42.658 EST: OSPF: rcv. v:2 t:5 l:84 rid:10.1.4.4
aid:0.0.0.69 chk:EBB0 aut:0 auk: from Ethernet3/1
! – Can you decipher these packets?
Immagine 39: Esempio di output commentato del comando debug ip ospf packet.
Passo 2: Identificare le interfacce del router e l'area su cui il processo OSPF verrà attivato,
utilizzando il comando:
Router(config-router)#
network indirizzo-ip wildcard-mask area id-area
Parametro Descrizione
indirizzo-ip Può essere o l'indirizzo IP dell'interfaccia su cui attivare il
processo OSPF o la sua rete o sotto-rete. Indica al processo
OSPF su quali interfacce inviare e ricevere messaggi OSPF, e
quali reti annunciare.
wildcard-mask Indica al router come interpretare il parametro precedente.
Utilizzando la wildcard-mask è possibile specificare su quali
interfacce o gruppi di esse attivare il processo OSPF. Ciascun bit
a uno nella wildcard-mask indica al router di ignorare i rispettivo
bit dell'indirizzo IP, mentre un bit a 0 indica di considerarlo. Per
esempio la wildcard-mask 0.0.255.255 indica al router di
considerare solo i primi due ottetti dell'indirizzo IP. Un IP seguito
dalla wildcard-mask 0.0.0.0 indica al router di considerare per
intero l'indirizzo dell'interfaccia specificato. La combinazione
0.0.0.0 255.255.255.255 indica di attivare il processo su
tutte le interfacce.
area-id Specifica a quale area dovrà essere associato l'indirizzo. Questo
parametro può essere specificato come numero intero compreso
tra 0 e 4 294 967 296 o in forma decimale puntata, come un IP.
Parametro Descrizione
id-processo È un numero intero non negativo compreso tra 1 e 65 535, valido
solo localmente al router, che serve a identificare il processo
OSPF che si sta attivando. Nella configurazione di EIGRP, un
parametro simile viene utilizzato per identificare il sistema
autonomo a cui appartengono i router, pertanto è necessario che
i router del dominio abbiano lo stesso valore. In OSPF, poiché
questo parametro ha solo valenza locale non è necessario che
sia uguale per tutti i router, sebbene farlo sia consigliabile in
quanto uniforma la configurazione.
area-id Specifica a quale area dovrà essere associato l'indirizzo. Questo
parametro può essere specificato come numero intero compreso
tra 0 e 4 294 967 296 o in forma decimale puntata, come un IP.
Parametro Descrizione
secondaries none Parametro opzionale, quando specificato, impedisce che il router
annunci l'indirizzo IP secondario eventualmente impostato
sull'interfaccia.
L'immagine 40 mostra la rete che verrà utilizzata come esempio guida per la
configurazione di base di OSPF ad area singola.
Immagine 40: Schema di rete utilizzato come esempio per la configurazione di base di OSPF.
Configurazione router A
A(config)#int fastEthernet 0/0
A(config-if)#ip add 10.64.0.1 255.255.255.0
A(config-if)#no shut
A(config-if)#exit
A(config)#router ospf 1
A(config-router)#net 10.0.0.0 0.255.255.255 area 0
A(config-router)#exit
Configurazione router B
B#conf t
B(config)#int fa0/0
B(config-if)#ip add 10.64.0.2 255.255.255.0
B(config-if)#no shut
B(config)#int s0/0
B(config-if)#ip add 10.1.1.2 255.255.255.0
B(config-if)#no shut
B(config-if)#router ospf 1
B(config-router)#net 10.64.0.2 0.0.0.0 area 0
B(config-router)#net 10.1.1.2 0.0.0.0 area 0
Nella configurazione del router B invece, sono stati specificati gli indirizzi delle interfacce.
La wildcard-mask 0.0.0.0 richiede la corrispondenza di tutti i quattro ottetti dell'indirizzo.
Questo sistema è utile per attivare il processo OSPF solo su particolari interfacce
Configurazione router C
C(config)#int s0/0
B(config-if)#ip add 10.1.1.1 255.255.255.0
B(config-if)#no shut
B(config-if)#router ospf 1
B(config-router)#net 10.1.1.0 0.0.0.255 area 0
L'immagine mostra la topologia d'esempio che utilizzeremo per descrivere come eseguire
la configurazione base di OSPF in modalità multi-area. Praticamente la topologia è quella
dell'esempio precedente con la sola differenza che i router A ha la sua interfaccia sull'area
0, mentre C sull'area 1. Il router B in quanto router di confine ha interfacce connesse su
entrambe le aree.
Immagine 44: Schema di rete utilizzato come esempio per la configurazione di base di OSPF
in modalità multi-area.
A tal proposito si osservi anche che il numero di processo OSPF è stato variato.
3.3.4 Configurazione dell'identificativo del router
Affinché il processo OSPF possa essere avviato correttamente, è necessario che il router
sia in grado di stabilire il suo identificativo o router ID. Il protocollo OSPF si basa proprio
su questo parametro per identificare univocamente i router del domino.
Identificativo OSPF del router (router ID)
Ciascun router del dominio OSPF viene identificato tramite il
router ID;
Tale identificativo consente tra l'altro di differenziare gli LSA dei
vari router, contenuti nella base di dati dello stato dei
collegamenti;
Per impostazione predefinita viene utilizzato come identificativo,
l'indirizzo IP numericamente più elevato, configurato su una delle
al momento in cui il processo OSPF viene avviato;
Nel caso in cui fossero configurate interfacce di loopback,
Identificativo OSPF del router (router ID)
verrebbe utilizzato come identificativo l'indirizzo numericamente
più alto configurato su una di queste interfacce;
Quando l'identificativo viene impostato tramite il comando
router-id questo ha priorità sugli altri casi;
Per questioni di stabilità è consigliabile impostare l'identificativo
del router tramite loopback o con il comando router-id;
L'identificativo del router viene stabilito al momento dell'avvio del processo OSPF,
secondo queste regole:
L'indirizzo configurato con il comando router-id;
In caso di assenza del precedente, viene scelto l'indirizzo IP numericamente più alto tra
quelli configurati sulle interfacce di loopback;
Se sul router non sono state configurate interfacce di loopback, viene scelto l'indirizzo
numericamente più alto configurato sulle interfacce fisiche, indipendentemente se queste
prendano parte o meno al processo OSPF;
Condizione necessaria affinché il processo OSPF sia in grado di avviarsi è che almeno
un'interfaccia del router (fisica o virtuale) sia attiva e configurata a livello tre. Se questa
condizione non è soddisfatta, il tentativo di avviare il processo OSPF ha come risultato la
visualizzazione del seguente errore:
Router(config)#router ospf 1
2w1d: %OSPF-4-NORTRID: OSPF process 1 cannot start.
show ip ospf
Router#show ip ospf
Routing Process "ospf 201" with ID 10.0.0.1 and Domain ID 10.20.0.1
Supports only single TOS(TOS0) routes
Supports opaque LSA
SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs
LSA group pacing timer 100 secs
Interface flood pacing timer 55 msecs
Retransmission pacing timer 100 msecs
Number of external LSA 0. Checksum Sum 0x0
Number of opaque AS LSA 0. Checksum Sum 0x0
Number of DCbitless external and opaque AS LSA 0
Number of DoNotAge external and opaque AS LSA 0
Number of areas in this router is 2. 2 normal 0 stub 0 nssa
External flood list length 0
Area BACKBONE(0)
Number of interfaces in this area is 2
Area has message digest authentication
SPF algorithm executed 4 times
Area ranges are
Number of LSA 4. Checksum Sum 0x29BEB
Number of opaque link LSA 0. Checksum Sum 0x0
Number of DCbitless LSA 3
Number of indication LSA 0
Number of DoNotAge LSA 0
Flood list length 0
Area 172.16.26.0
Number of interfaces in this area is 0
Area has no authentication
SPF algorithm executed 1 times
Area ranges are
192.168.0.0/16 Passive Advertise
Number of LSA 1. Checksum Sum 0x44FD
Number of opaque link LSA 0. Checksum Sum 0x0
Number of DCbitless LSA 1
Number of indication LSA 1
Number of DoNotAge LSA 0
Flood list length 0
Per verficare che il protocollo OSPF sia stato correttamente configurato è possibile
utilizzare specifici comandi show:
show ip protocols
Visualizza i parametri dei protocolli di instradmento IP installati sul router.
Nel caso specifico di OSPF, contatori, filtri, metrica, reti e altre
informazioni riguardanti il router;
show ip route ospf [id-processo]
Visualizza le rotte OSPF conosciute. Questo comando è sicuramente tra
i più utili per determinare la connettività tra il router locale e il resto della
rete. Il parametro id-processo consente di specificare le informazioni
riguardo un particolare processo OSPF;
Usare questo comando per verificare le rotte OSPF nella tabella di
instradamento. Le rotte OSPF sono rappresentate con la lettera “O“
quelle inter-area con il codice “IA”. Osservando la prima voce
dell'immagine 47, la coppia [110/65] riguardano rispettivamente
distanza amministrava e metrica calcolata;
show ip ospf
Visualizza l'identificativo del router, l'impostazione dei contatori OSPF, il
numero di volte che è stato eseguito l'algoritmo SPF e le informazioni
sulle LSA;
show ip ospf neighbor [tipo numero] [id-vicino] [detail]
Sicuramente uno dei comandi più importanti per eseguire la verifica del
funzionamento del protocollo OSPF. Il protocollo OSPF prevede che i
router vicini formino relazioni di adiacenza complete prima di inviare o
ricevere aggiornamenti;
Questo comando visualizza informazioni riguardo i vicini con cui il router
ha instaurato una relazione di adiacenza e il tipo di adiacenza;
Immagine 50: Esempio di output del comando show ip ospf neighbor detail.
Il protocollo OSPF definisce tre tipi principali di reti, più una derivata:
Punto-punto: su tali reti, per ciascun segmento, possono essere presenti al massimo due nodi;
Broadcast: si tratta di reti multi-accesso, cioè prevedono la presenza di più nodi sullo stesso
segmento di rete, con supporto alla comunicazione broadcast10. Ethernet è un
classico esempio questo tipo di rete.
NBMA: Non-broadcast multiaccess, cioè rete multi-accesso non broadcast. Tali reti
hanno la caratteristica di supportare sullo stesso segmento più di due nodi
contemporaneamente, tuttavia non consentono la comunicazione broadcast.
Tipici esempi sono Frame Relay, ATM e X.25. OSPF può essere configurato in
cinque modi diversi per poter operare correttamente con tali tipi di rete;
Una rete punto-punto collega solo una coppia di router. Una linea seriale T1 configurata
con un protocollo di livello collegamento come PPP (Point-to-point protocol) oppure HDLC
(High Level Data-Link Control) è un esempio di tale tipo di rete.
10 Si ricorda che con il termine broadcast si intende un tipo di comunicazione in cui un messaggio inviato da una stazione può essere
ricevuto da più stazioni contemporaneamente.
utilizzando a livello rete, l'indirizzo multicast 224.0.0.5. I router instaurano la relazione di
adiacenza non appena riescono a comunicare direttamente. Vista la semplicità di tali reti
non è necessaria l'elezione di un router DR o BDR.
L'indirizzo sorgente è in genere quello dell'interfaccia di uscita. Tuttavia OSPF su tali reti
supporta le interfacce unnumbered (senza indirizzo di livello rete), in questo caso viene
utilizzato l'indirizzo di un'altra interfaccia del router.
Sui collegamenti punto-punto per impostazione predefinita il valore degli intervalli hello e
dead è pari rispettivamente a 10 e 40 secondi.
3.4.3 Relazione di adiacenza su segmenti di rete broadcast
n n−1
2
Questo significa che nel caso in cui su un segmento fossero presenti 10 router il numero di
adiacenze che si dovrebbero instaurare sarebbe pari a 45. Visto che nella migliore delle
ipotesi ciascuna relazione richiede lo scambio di 10 pacchetti tra hello e DBD, si capisce
che il traffico generato potrebbe diventare insostenibile, senza considerare la memoria
occupata su ciascun router per mantenere le tabelle in memoria.
Per aggirare questo problema, OSPF prevede che per ciascun segmento multi-accesso
venga eletto un router chiamato designated router (DR). Il DR è l'unico router con cui tutti
gli altri formano una relazione di adiacenza. Grazie all'uso del DR le relazioni di adiacenza
in un segmento multi-accesso passano a così a n−1 . Per motivi di stabilità, OSPF
prevede inoltre la presenza di un BDR, cioè un router designato d'emergenza che
interviene in caso di problemi al DR.
Immagine 56: Sui segmenti di rete multi-accesso broadcast, i router formano relazioni di
adiacenza esclusivamente con i router DR e BDR.
DR e BDR vengono eletti subito dopo la fase di init e solo sui segmenti multi-accesso. DR
e BDR ricevono ed elaborano le stesse informazioni, tuttavia mentre il BDR rimane
inattivo, il DR si occupa di effettuare l'inoltro degli LSA e la sincronizzazione del LSDB.
Qualora il DR fallisca, il BDR prenderà il suo posto e verrà eseguita un'elezione per
stabilire il nuovo BDR. Poiché un router può avere più interfacce ethernet possono
verificarsi casi in cui il router diventi DR per un segmento e BDR per un altro.
3.4.4 Processo di elezione del DR e del BDR
La funzione principale del DR è quella di coordinare tra tutti i router del segmento
multi-accesso lo scambio degli LSA, in modo da assicurare che tutti abbiano le medesime
informazioni nella base di dati di stato dei collegamenti. Il DR praticamente invia e riceve
gli LSA da e verso tutti i router del segmento. In questo modo quando un nuovo router
viene collegato alla rete è solo il DR ad inviargli le informazioni necessarie. Questo rende
tutto il processo più efficiente.
I router del segmento multi-accesso, che non sono né DR né BDR vengono chiamati
DROTHER e mantengono tra loro una relazione di adiacenza parziale a due vie
(two-way).
Il processo di elezione dei router DR e BDR avviene subito dopo la fase di Init, tali ruoli
vengono stabiliti in base al valore di priorità OSPF impostato sull'interfaccia e in caso di
parità, sull'identificativo del router:
Immagine 57: L'elezione dei router DR e BDR avviene solo su segmenti multiaccesso, durante
la fase di Init. Vince l'elezione il router con priorità maggiore
Con multi-accesso non broadcast o NBMA, si identificano quelle tecnologie di rete come
ATM, Frame-Relay o X.25, che pur consentendo a due o più router di essere collegati
sullo stesso segmento logico, non consentono l'invio di messaggi di broadcast.
Praticamente usando tali tecnologie è possibile interconnettere più router tramite usando
una sola interfaccia fisica per ognuno di essi. Tuttavia tali tecnologie non permettono di
generare messaggi broadcast a livello data-link.
Quando OSPF viene implementato su questo tipo di reti nascono alcune problematiche
tecniche che creano problemi di raggiungibilità tra i siti.
L'immagine 58 mostra un esempio di rete Frame-Relay, tutti i tre siti a livello logico sono
sulla stessa sotto-rete. A livello data-link tuttavia la topologia è magliata aperta, cioè non
tutti i siti sono interconnessi. Un messaggio di broacast inviato da RTC, raggiunge RTB
ma non RTA.
L'implementazione del broadcast dovrà essere fatta a livello logico dai router stessi. In
pratica il router che invia o riceve un messaggio contenente un broadcast o multicast a
livello logico (livello rete) lo dovrà inviare su tutti i circuiti virtuali configurati sulla sua
interfaccia.
Sulle reti NBMA, i contatori hello e dead di OSPF hanno rispettivamente i seguenti valori
predefiniti: 30 e 120 secondi.
3.4.6 Processo di elezione dei router DR e BDR nelle reti NBMA
Nel caso specifico affinché l'elezione dei router DR e BDR possa avvenire regolarmente, è
necessario che ciascun nodo abbia connettività diretta a livello data-link
contemporaneamente con tutti gli altri nodi. Questo sulle reti NBMA è possibile solo se la
topologia è completamente magliata. Nella stragrande maggioranza delle applicazioni
pratiche le nuvole NBMA sono progettate secondo una topologia di tipo hub-and-spoke, o
comunque parzialmente magliata, e su queste topologie di rete OSPF non è in grado di
instaurare delle relazioni di adiacenza.
3.4.7 OSPF su tecnologia Frame-Relay
A causa dei problemi discussi nel precedente paragrafo, il protocollo OSPF non è in grado
di funzionare correttamente su reti come Frame-Relay, che pur essendo multi-accesso
non hanno supporto diretto per i messaggi in broadcast.
Nel caso di reti NBMA, come appunto Frame-Relay, i router Cisco offrono un serie di
modalità di configurazione differenti, che dipendono principalmente dalla topologia logica
della rete.
n n−1
2
Secondo quanto descritto in RFC 2328, il protocollo OSPF, su reti multi-accesso che non
supportano direttamente la comunicazione broadcast, può essere configurato per
funzionare in due modi differenti:
Nonbroadcast: viene simulato il comportamento di OSPF su una rete broadcast. In
particolare, quando il protocollo opera in questa modalità, tutta la
fase iniziale di instaurazione delle adiacenze non viene effettuata in
quanto l'elenco dei vicini deve essere manualmente configurato.
L'elezione dei router DR e BDR è ancora richiesta. Questa
configurazione è tipica delle topologie magliate chiuse;
Punto-a-punto-multiplo: tratta le reti non broadcast come un'insieme di collegamenti
punto-punto. In questa modalità le relazioni di adiacenza vengono
instaurate dinamicamente, inoltre la natura punto-punto di questa
configurazione non richiede l'elezione dei router DR e BDR. Questa è
una configurazione tipica delle reti parzialmente magliate;
La modalità di funzionamento determina il modo in cui operano protocollo di hello e
processo di flooding sulle rete non broadcast. Il vantaggio principale della modalità
punto-a-punto-multiplo è che richiede meno configurazione manuale, mentre il
vantaggio della modalità nonbroadcast è la quantità inferiore di traffico richiesta.
Per semplificare ancora di più la configurazione di OSPF sulle reti NBMA, Cisco ha
definito ulteriori modalità operative:
Point-to-multipoint nonbroadcast;
Broadcast;
Point-to-point;
Router(config-if)#
ip ospf network {broadcast | non-broadcast | point-to-multipoint
[non-broadcast] | point-to-point}
Parametro Descrizione
broadcast Estensione Cisco:
Tratta l'interfaccia WAN come se fosse una LAN;
Viene utilizzata una sola sottorete IP;
I pacchetti di hello vengono inviati in multicast, in questo
modo le adiacenze vengono formate dinamicamente;
Ha luogo l'elezione dei router DR e BDR;
Richiede una topologia di rete totalmente o parzialmente
magliata;
non-broadcast Modalità standard prevista in RFC:
Richiede una sola sottorete IP;
L'elenco dei vicini deve essere configurato manualmente;
Ha luogo l'elezione dei router DR e BDR;
È necessario che DR e BRD abbiano connettività
completa con tutti gli altri router della rete;
Utilizzata tipicamente in topologie di rete totalmente o
parzialmente magliate;
point-to-multipoint Modalità standard prevista in RFC:
Richiede una sola sottorete IP;
I pacchetti di hello vengono inviati in multicast, in questo
modo le adiacenze vengono formate dinamicamente;
Non richiede l'elezione dei router DR e BRD, i router
inviano LSA aggiuntivi verso tutti i vicini;
Utilizzata tipicamente su topologie a stella o
parzialmente magliata;
Parametro Descrizione
point-to-multipoint non-broadcast Estensione Cisco:
La modalità point-to-multipoint RFC standard,
non può essere utilizzata per quei circuiti virtuali su cui la
modalità multicast o broadcast è disabilitata, perché il
router non riuscirebbe a formare dinamicamente le
adiacenze, in questi casi è necessario utilizzare la
modalità Cisco;
Richiede che l'elenco dei vicini venga configurato
manualmente su ciascun router;
Non è richiesta l'elezione dei router DR e BRD;
point-to-point Estensione Cisco:
Richiede una sotto-rete IP diversa per ciascuna
sotto-interfaccia;
Non è necessaria l'elezione dei router DR e BDR;
Utilizzata quando per per ciascuna interfaccia solo due
router necessitano di formare un'adiacenza;
Può essere utilizzato sia su interfacce LAN che WAN;
Immagine 62: Esempio di configurazione di OSPF su Frame-Relay, topologia full-mesh in modalità broadcast.
Per definire staticamente le relazioni di adiacenza tra i router OSPF, nelle reti NBMA, è
necessario utilizzare il comando neighbor. Il comando rende possibile al router OSPF di
utilizzare pacchetti unicast a livello data-link piuttosto che multicast.
Router(config-router)#
neighbor indirizzo-IP [priority priorità]
[poll-interval secondi] [cost costo]
[database-filter all]
Parametro Descrizione
indirizzo-Ip L'indirizzo IP del router vicino.
priority priorità Opzionale, specifica la priorità del router vicino. Il valore predefinito è 0 (zero),
che significa che il vicino in questione non diventerà mai DR o BDR. Se sul
vicino è stata impostata la priorità con il comando ip ospf priority, verrà
utilizzato il valore più alto impostato tra i due.
poll-interval secondi Opzionale, rappresenta l'intervallo in secondi di invio dei messaggi di hello sulle
interfacce NBMA verso il vicino specificato, anche se questo è inattivo.
cost costo Opzionale, rappresenta il costo OSPF da assegnare al collegamento verso quel
vicino. Utile per il calcolo della metrica nel caso di circuiti virtuali con differenti
velocità.
database-filter all Opzionale, consente di filtrare gli LSA uscenti verso quel vicino.
Configurazione router A
A(config)#int s0/0
A(config-if)#ip ospf priority 255
A(config-if)#exit
A(config)#router ospf 100
A(config-router)#network 192.168.0.0 0.0.255.255 area 0
A(config-router)#network 172.16.0.0 0.0.255.255 area 0
A(config-router)#neighbor 192.168.1.2 priority 0
A(config-router)#neighbor 192.168.1.3 priority 0
Inoltre, poiché è solo il router A ad avere connettività completa con gli altri vicini è
necessario assicurarsi che divenga DR e che non venga eletto alcun BDR. Impostare la
priorità a 255 sul l'interfaccia s0/0 del router A, assicura che esso divenga DR per il
segmento. L'opzione priority del comando neighbor, non ci assicura tuttavia che
l'elezione del BDR non avvenga. Infatti impostando la priorità al 0 in questo comando,
verrebbe comunque usata la priorità predefinita – pari a 1 – del comando ip ospf
priority, perché più elevata. Pertanto sia su B che su C è necessario impostare con il
precedente comando la priorità a 0 sulle rispettive interfacce s0/0.
Si osservi che nelle reti NBMA, la configurazione manuale dei vicini dovrà avvenire solo
sui router DR e BRD e sebbene possibile non è necessaria sugli altri router. In caso di
topologia hub-and-spoke, non è richiesto il BRD, pertanto i vicini dovranno essere
specificati solo sull'hub, che diverrà per l'appunto DR.
Si vuole sottolineare ancora una volta che sulle reti NBMA quando il comportamento di
OSPF è non-broadcast e la topologia è magliata aperta, è necessario disporre di un router
che abbia connettività completa con tutti gli altri, e questo router dovrà essere configurato
affinché diventi DR per il segmento. Nel caso di topologie magliate chiuse, non è
necessario pilotare l'elezione dei router DR o BDR, tuttavia in questo caso l'elenco dei
vicini dovrà essere configurato su tutti router del segmento.
3.5.4 Il comando show ip ospf neighbor
Parametro Descrizione
tipo Opzionale, l'interfaccia collegata al segmento di rete su cui si desidera vedere le
adiacenze formate dal router.
numero Opzionale il numero dell'interfaccia (generalmente slot/numero)
id-vicino Opzionale, l'identificativo del vicino per il quale si vogliono visualizzare le informazioni.
detail Opzionale, visualizza informazioni dettagliate sui vicini.
Immagine 66: Output del comando show ip ospf neighbor sul router A dell'esempio precedente.
Il router A è connesso a una rete LAN ethernet, dove è presente il router D. Anche con
questo router l'adiacenza è completa. Per questo segmento è ancora il router A ad essere
DR, per via dell'identificativo più alto, mentre il router B è BDR.
3.5.5 Configurazione di OSPF in modalità punto a punto -multiplo
La modalità OSPF punto a punto-multiplo è stata concepita per le reti NBMA con topologie
a stella (hub-and-spoke) o parzialmente magliate. Quando il router è configurato in
modalità punto a punto-multiplo, secondo lo standard RFC-2328, tutti i collegamenti router
a router, su reti non-broadcast sono trattati come collegamenti punto-punto. Poiché in
questa modalità operativa non è richiesta l'elezione del DR, non vengono utilizzati gli LSA
di rete (network-LSA) tipo 2, che nella modalità non-broadcast di OSPF il router DR invia
in flood a tutti i vicini. La modalità punto a punto-multiplo richiede che i router scambino tra
loro un numero significativamente più alto di pacchetti rispetto alla modalità precedente.
Questo perché ciascun router rileva dinamicamente i router direttamente connessi per
formare le necessarie relazioni di adiacenza.
Immagine 67: Questa rete si presta bene per la configurazione di OSPF in modalità punto
a punto-multiplo.
Poiché l'elezione del router DR o BDR non è richiesta, l'impostazione delle priorità OSPF
non è essenziale.
Tramite il comando show ip ospf interface è possibile visualizzare i dettagli della
configurazione di OSPF per ciascuna interfaccia:
Immagine 69: Output del comando show ip ospf interface s0/0 sul router A.
Il comando visualizza il tipo di rete OSPF, il numero dell'area, il costo e lo stato delle
interfacce. Visualizza anche gli intervalli di hello e dead, che nel caso in oggetto
corrispondono ai valori predefiniti per i collegamenti di tipo punto a punto-multiplo.
Vengono infine elencate le adiacenze sull'interfaccia, che in questo caso sono state
dinamicamente rilevate.
Nei precedenti paragrafi abbiamo visto la configurazione di OSPF su reti NBMA secondo
le due modalità previste dallo standard RFC 2328 non-broadcast e punto a punto-multiplo.
Per aumentare maggiormente la flessibilità e le possibilità di configurazione, Cisco ha
introdotto altre tre modalità proprietarie. La prima che prenderemo in esame è quella
punto a punto-multiplo non broadcast (Point-to-multipoint nonbroadcast) che estende la
punto a punto-multiplo prevista nell'RFC.
Come indica il nome stesso, nella modalità punto a punto-multiplo non broadcast di Cisco
OSPF non utilizza broadcast né a livello rete né a livello data-link. Senza broadcast i
router non sono in grado di rilevare dinamicamente la presenza di vicini, che pertanto
vanno configurati manualmente. I motivi che hanno portato allo sviluppo di questa
modalità sono diversi:
consentire l'assegnazione di un costo per ciascun vicino, piuttosto che utilizzare il costo
totale dell'interfaccia. Questo è utile in caso di interfacce Frame-Relay multi-punto, dove
due vicini annunciano la stessa rotta verso una rete, ma il CIR di ciascun circuito virtuale è
differente. Il costo OSPF infatti è calcolato in base alla larghezza di banda configurata
localmente e non su quella del router remoto;
Supportare quelle tecnologie di livello data-link i cui circuiti virtuali sono dinamici, come
ATM, e i pacchetti di hello possono essere inviati solo su connessioni già instaurate. Su
queste tecnologie il supporto per multicast e broadcast è disattivato e la modalità RFC
point-to-multipoint non può essere usata in quanto i router non sono in grado di instaurare
dinamicamente le relazioni di adiacenza;
3.5.7 Utilizzare le sotto-interfacce per la configurazione di OSPF su reti NBMA
Un'interfaccia fisica può essere suddivisa in una serie di interfacce logiche chiamate
sotto-interfacce. Ogni sotto-interfaccia può essere punto-punto o punto-a-multi-punto.
Inizialmente le sotto-interfacce furono sviluppate per gestire meglio alcune problematiche
dei protocolli vettore-distanza su reti NBMA, relative allo split-horizont.
Router(config)#
interface serial numero.sotto-interfaccia
{point-to-point | multipoint}
Parametro Descrizione
numero Il numero dell'interfaccia seriale fisica, in genere espresso come slot/numero
o come slot/scheda/numero.
. (punto) Consente di suddividere la prima parte che rappresenta l'interfaccia fisica dalla
seconda che invece rappresenta il numero della sotto-interfaccia.
sotto-interfaccia Un intero tra 1 e 4 294 967 293 che rappresenta la sotto-interfaccia.
multipoint Definisce la sotto-interfaccia come multi-punto, permettendo la gestione di più
circuiti virtuali, consentendo di definire segmenti multi-accesso i cui vicini sono
tutti sulla stessa sotto-rete IP.
point-to-point Definisce la sotto-interfaccia come punto-punto, in questo caso sull'altro capo
del collegamento, a livello logico può esistere solo un altro router.
Immagine 70: Sul router A sono state configurate due sotto-interfacce punto-punto
Nell'immagine 71 sul router A sono state definite due sotto-interfacce, una punto-punto
per il collegamento con il router B, e un'altra multi-punto per il collegamento con i router D
e C. La sotto-interfaccia s0/0.2 di A e le due s0/0 di C e D sono sulla stessa sotto-rete
IP.
L'interfaccia fisica s0/0 del router A è stata logicamente suddivisa in due sotto-interfacce:
s0/0.1 point-to-point (punto-punto);
s0/0.2 multipoint (multi-punto);
Ciascuna sotto-interfaccia richiede una sotto-rete IP;
Sulla sotto-interfaccia punto-punto, OSPF per impostazione predefinita è in modalità
punto-punto;
Sulla sotto-interfaccia multi-punto, OSPF per impostazione predefinita è in modalità
non-broadcast;
3.5.11 Analisi del protocollo di hello, come OSPF instaura le relazioni di adiacenza
Immagine 72: Output del comando debug ip ospf adj sul router D della rete in figura 64.
Immagine 73: Output del comando debug ip ospf adj sul router C dell'esempio in figura 70.
La base dati di stato dei collegamenti (LSDB) è sicuramente la struttura dati più importante
di OSPF. Questa viene popolata dagli LSA, scambiati tramite il processo di flood. Con
l'aumentare della dimensione e complessità della rete la quantità di memoria occupata dal
LSDB può diventare insostenibile per qualsiasi router. Per impedire che possano
verificarsi questi problemi il protocollo OSPF impone la suddivisione della rete in aree
gerarchiche. Tale suddivisione introduce la definizione di tipi differenti di rotte OSPF.
Immagine 74: L'implementazione di OSPF in reti di grandi dimensioni deve essere effettuata
suddividendo il dominio di instradamento in aree gerarchiche. Questo impedisce al protocollo di
consumare troppe risorse sui router.
Sebbene OSPF possa essere applicato e reso funzionante utilizzando un'unica area, si
possono verificare problemi e malfunzionamenti, qualora quest'area si espanda fino a
comprendere centinaia di reti e sotto-reti. Infatti quando in un'area ci sono troppi router è
possibile che si verifichino i seguenti problemi:
Frequente ricorso all'algoritmo SPF: più grande è la rete più aumenta la possibilità di
modifiche topologiche. Per ogni modifica topologica il router deve ricorrere all'algoritmo
SPF per ricalcolare le rotte e questi calcoli possono richiedere numerosi cicli di CPU;
Tabelle di instradamento di dimensione eccessiva: il protocollo OSPF a differenza di
RIP o EIGRO, non prevede alcun tipo di aggregazione automatica. Se il progetto della rete
è carente e non è possibile aggregare le rotte, la tabella di instradamento può diventare
troppo grande da gestire.
LSBD di dimensioni eccessive: la base di dati di stato dei collegamenti contiene per
intero la topologia della rete, o dell'area in cui si trova il router, indipendentemente dal fatto
che la rotta associata sia o meno utilizzata per instradare i pacchetti. In modo simile al caso
precedente se la rete non è stata correttamente suddivisa in aree gerarchiche la
dimensione di questa tabella può diventare ingestibile.
La soluzione a questi problemi è sicuramente la suddivisione della rete OSPF in aree di
instradamento gerarchiche. Questa suddivisione aumenta l'efficienza di OSPF, infatti
molte delle operazioni del protocollo sono limitate alla sola area di appartenenza del
router, come ad esempio il processo di flooding o i calcoli effettuati dall'algoritmo SPF.
Questo tuttavia non influisce sulla comunicazione tra le aree grazie all'instradamento
inter-area.
Tra l'altro la suddivisione in aree limita la portata dei problemi alla singola area in cui
avvengono. Si osservi per esempio l'immagine 75, se sull'area 1 si verificano problemi su
un collegamento, per esempio un interfaccia che si attiva e disattiva continuamente
(flapping) i router nelle altre aree non ne risentono.
OSPF EIGRP
È un protocollo di instradamento scalabile. Grazie al
concetto di aree, l'amministratore può suddividere il È un protocollo di instradamento scalabile. A
sistema autonomo in aree di instradamento di differenza di OSPF non supporta il concetto di aree,
dimensioni minori, che oltre ad essere più semplici la scalabilità è ottenuta riducendo la portata dei
da amministrare, consentono di ridurre il traffico messaggi di query nel processo di diffusione,
dovuto allo scambio di LSU, e conseguentemente la aggregando i percorsi di rete.
dimensione delle strutture dati utilizzate dai router.
È uno standard aperto, descritto in RFC 2328, È un protocollo proprietario di Cisco, pertanto è
pertanto è supportato da dispositivi di produttori utilizzabile solo su dispositivi fabbricati da questo
differenti. produttore.
Converge molto rapidamente, in caso di problemi
Converge rapidamente, utilizza aggiornamenti alla rotta principale i router possono utilizzare la rotta
parziali solo in caso di variazioni topologiche, rileva d'emergenza. Come OSPF utilizza aggiornamenti
automaticamente i vicini instaurando con questi parziali solo in caso di variazioni topologiche, rileva
relazioni di adiacenza in modo da separare il automaticamente i vicini instaurando con questi
processo di aggiornamento delle rotte da quello di relazioni di adiacenza in modo da separare il
rilevazione delle variazioni topologiche. processo di aggiornamento delle rotte da quello di
rilevazione delle variazioni topologiche.
Supporta le maschere di sotto-rete a lunghezza
Supporta le maschere di sotto-rete a lunghezza variabile (VLSM) e l'indirizzamento IP senza classi
variabile (VLSM) e l'indirizzamento IP senza classi (CIDR). Per impostazione predefinita aggrega le
(CIDR). L'amministratore deve configurare rotte alla classe della rete di appartenenza,
l'aggregazione manualmente. l'amministratore può tuttavia effettuare
l'aggregazione manualmente.
Nel paragrafo 3.2.7 di pagina 28 avevamo introdotto il concetto di LSA, essenza di ogni
protocollo basato sullo stato del collegamento, in questo paragrafo completiamo i concetti
introdotti.
Gli LSA o annunci sullo stato del collegamento, sono i blocchi che costituiscono la base di
dati dello stato dei collegamenti di ciascun router. Individualmente ciascun LSA è uno dei
record di questa base di dati. L'interezza di tutti gli LSA costituisce la topologia dell'area
OSPF.
In OSPF gli LSA sono trasportati nei messaggi LSU. Ogni LSA ha una struttura ben
definita formata da un'intestazione di 20 byte comune, e dal corpo che varia in base al tipo
di LSA.
LS Type identifica per l'appunto il tipo di LSA, la tabella seguente mostra i tipi di LSA,
inizialmente lo standard prevedeva 5 tipi, gli altri sono stati aggiunti successivamente.
Tipo LSA
1 LSA del router (Router-LSA).
2 LSA di rete (Network-LSA).
3, 4 LSA di sommario (Summary-LSA).
5 LSA esterne al sistema autonomo (AS-external-LSA).
6 LSA Multicast.
7 Definite per le aree parzialmente stub (no-so-stubby area)
8 LSA con attributi esterni per il protocollo BGP (Border Gateway Protocol).
9, 10, 11 LSA Opachi.
TIPO 1 – ROUTER-LSA
Sono generate da tutti i router di un'area. Gli LSA Tipo 1 (Router-LSA) descrivono lo stato
dei segmenti di rete direttamente connessi alle interfacce del router. Questo tipo di LSA
sono inviate in flood esclusivamente all'interno dell'area a cui appartiene il router che le ha
originate. In pratica tramite un unico router-LSA vengono descritte tutte le interfacce di un
router.
Il campo Link State ID dell'intestazione è impostato all'identificativo del router OSPF. Tra i
campi più importanti degli LSA Tipo 1:
bit V: Quando impostato indica che il router è un nodo terminale di uno o più
collegamenti virtuali;
bit E: Quando impostato il router è di confine del sistema autonomo ASBR, E sta per
external;
bit B: Quando impostato il router è di confine per l'area ABR, B sta per border;
Immagine 78: L'ambito di validità (scope) degli LSA di tipo 1 è l'area in cui risiede il
rotuer che li ha originati.
LSA Tipo 1
Un LSA Tipo 1 (Router-LSA) per ciascun router, per ciascuna area:
◦ Elenca lo stato dei segmenti di reti connessi direttamente alle proprie interfacce;
◦ Per ciascuna interfaccia vengono annunciati il tipo di collegamento e la rete
Sono identificati dal Router-ID che ha originato l'LSA;
Il processo di flood è limitato dai confini dell'area di appartenenza;
TIPO 2 – NETWORK-LSA
Sono generati nelle reti broadcast e NBMA. Su questo tipo di reti è prevista l'elezione del
DR, che è responsabile di annunciare gli LSA Tipo 2 (Network-LSA) a tutti gli altri router
collegati al segmento. Ciascun Network-LSA contiene l'elenco di tutti i router, DR incluso,
e la maschera di sotto-rete utilizzata. Come gli LSA Tipo 1 anche quelli Tipo 2 non
attraversano i confini dell'area. In questo tipo di LSA il campo link-state ID nell'intestazione
è l'indirizzo IP dell'interfaccia del DR che l'ha annunciato.
Immagine 80: Gli LSA Tipo 2 sono generati dai DR dei segmenti Broadcast o
NBMA, il loro ambito di validità è l'area in cui risiede il DR che li ha generati.
LSA Tipo 2
Un LSA Tipo 2 (Network-LSA) per ciascun DR (quindi per ciascun segmento broadcast o
NBMA), per ciascuna area:
◦ Elenca tutti i router, incluso il DR presenti sul segmento multi-accesso;
◦ Contiene la maschera di rete del segmento;
Sono generati esclusivamente dal DR per il segmento multi-accesso;
Il processo di flood è limitato dai confini dell'area di appartenenza;
TIPO 3 – SUMMARY-LSA
Sono inviati dai router di confine d'area ABR. Questi LSA sono utilizzati per annunciare le
reti presenti in un'area verso le altre aree del sistema autonomo.
Si osservi che a discapito del nome, per impostazione predefinita gli LSA di sommario non
contengono alcuna rotta aggregata. Questo perché OSPF non effettua alcuna
aggregazione: né in caso di sotto-reti contigue, né automaticamente all'indirizzo di rete
della classe di appartenenza. È compito dell'amministratore configurare il router di confine
in modo che annunci rotte aggregate verso un'area. Se tale operazione non viene
effettuata, il router di confine annuncerà verso le altre aree, tutte le rotte apprese sull'area
di origine. Questo ovviamente significa perdere tutti i vantaggi ottenuti con la suddivisione
in aree. Di conseguenza l'aggregazione sui router ABR, è un'operazione fondamentale.
Immagine 82: Gli LSA Tipo 3 vengono usati dai router ABR per annuciare rotte inter-area. Per
impostazione predefinita OSPF non effettua alcuna aggregazione.
L'ambito di validità degli LSA Tipo 3 è in genere l'intero sistema autonomo. I router di
confine rigenerano e inviano tali LSA verso le aree a cui sono collegati.
LSA Tipo 3
Sono utilizzati per annunciare le rotte di un'area verso la altre aree,
quindi per l'instradamento inter-area. Le informazioni più importanti
che questi LSA annunciano sono:
◦ Rete con la rispettiva maschera;
◦ La metrica OSPF;
Si originano dal router di confine dell'area ABR;
Vengono successivamente inviati in flood verso le altre aree dai
rispettivi router di confine (ABR);
OSPF non aggrega i percorsi di rete. Se l'amministratore non
aggrega manualmente le reti, ciascun router di confine annuncerà
un LSA differente per ciascuna rotta appresa nell'area;
TIPO 4
Questo tipo di LSA sono generati dai router di confine ABR, solo quando in un'area esiste
un ASBR (router di confine di sistema autonomo) e hanno lo stesso formato degli LSA
Tipo 3, ma consentono di identificare l'ASBR e fornire ai router delle altre aree una rotta
verso questo. Il campo link-state ID in caso di LSA Tipo 4 contiene l'identificativo del router
ASBR. Tutto il traffico destinato verso un sistema autonomo esterno al dominio OSPF
richiede la conoscenza del router ASBR che origina le rotte esterne.
Come qualsiasi altro router anche l'ASBR genera LSA Tipo 1 per annunciare i propri
collegamenti ai router dell'area. Questi LSA vengono inviati dal router ASBR con il bit E del
campo opzioni, impostato11.
Quando un router ABR riceve un LSA Tipo 1 con il bit B impostato, genera un LSA Tipo 4
e lo invia in flood verso l'area 0 (dorsale). I router di confine dell'area 0 a loro volta
rigenerano l'LSA Tipo 4 e lo inviano in flood verso le aree in cui sono collegati. In questo
modo tutti i router del sistema autonomo sono in grado di calcolare un percorso verso
l'ASBR.
Immagine 83: Gli LSA Tipo 4, sono generati dai router ABR solo in presenza di un router
ASBR nell'area.
LSA Tipo 4
Sono utilizzati per annunciare la presenza dell'ASBR, su tutte le
aree del sistema autonomo;
L'ASBR annuncia lo stato delle proprie interfacce nell'area di
appartenenza tramite LSA Tipo 1 con il bit E impostato;
Successivamente tali LSA vengono rigenerati dai router ABR ed
inviati tramite processo di flood verso le altre aree;
Il campo link-state ID degli LSA Tipo 4 contiene l'identificativo del
router ASBR;
Questo tipo di LSA sono necessari affinché gli altri router possano
raggiungere l'ASBR;
11 I router ASBR e ABR impostano rispettivamente il bit E e il bit B dei propri LSA Tipo 1 affinché gli altri router possano riconoscere il
loro ruolo.
TIPO 5
Questi LSA descrivono le rotte verso reti esterne al sistema autonomo OSPF. Sono
originati dai router di confine e vengono inviate in flood per tutto il sistema autonomo
OSPF.
Immagine 84: Le rotte esterne apprese dal router ASBR vengono inviate tramite il processo di
flood per tutto il sistema autonomo.
Il campo link-state ID è impostato con l'indirizzo della rete esterna. Considerato che
l'ambito del flooding è l'intero sistema autonomo e che il numero degli LSA dipende dal
numero di rotte esterne, l'assenza di aggregazione può diventare un problema molto
grave. Il consiglio è sempre lo stesso, aggregare manualmente i blocchi contigui di reti
esterne in modo da ridurre i problemi legati al flooding.
LSA Tipo 5
Sono utilizzate per annunciare nel sistema autonomo rotte esterne;
Le rotte esterne sono annunciate e amministrate dai router ASBR;
Tramite il processo di flooding tali rotte vengono annunciate per
tutto il sistema autonomo OSPF;
Il campo advertising router non viene modificato durante il processo
di flood rimanendo impostato a quello del router ASBR;
Le rotte esterne non vengono aggregate automaticamente. Per
migliorare l'efficienza del protocollo, riducendo il traffico dovuto al
processo di flooding è necessario che l'amministratore aggreghi le
rotte esterne;
TIPO 6
TIPO 7
Sono utilizzati nel caso di aree parzialmente stub o not-so-stubby area (NSSA). Sono
originate dai router ASBR che si trovano all'interno di aree NSSA e sono inviate in flood
solo all'interno dell'area NSSA da cui si sono originate. Discuteremo più in dettaglio questo
tipo di LSA nel paragrafo 3.7.1;
TIPO 8
Si tratta di LSA particolari utilizzati per l'instradamento di rotte BGP nel dominio OSPF.
TIPO 9, 10 E 11
Questo tipo di LSA sono previste per usi futuri e per ampliare le funzionalità di OSPF.
Cisco ad esempio utilizza gli LSA opachi per trasportare su OSPF il protocollo MPLS
(Multiprotocol Label Switching). Gli LSA opachi sono distribuiti tramite il comune
meccanismo di flooding, la differenza tra i vari tipi sta nell'ambito di validità.
Abbiamo più volte sottolineato quanto sia importante per i protocolli a stato del
collegamento il LSDB cioè la base di dati che contiene lo stato di tutti i collegamenti.
Tutte le rotte OSPF sono contrassegnate dalla lettera O, le lettere seguenti se presenti
indicano la designazione della rotta, in modo da riflettere le informazioni contenute
nell'LSA.
Nel paragrafo precedente abbiamo visto che OSPF supporta due tipi di rotte esterne. La
differenza sta nel modo in cui viene calcolata la metrica. In pratica, quando il router ASBR
viene configurato per ridistribuire le rotte esterne 12, è possibile scegliere tra due modalità
di ridistribuzione:
Rotte E1: rotte esterne tipo 1, indicate nella tabella di instradamento con le lettere O E1. La
metrica è calcolato sommando al costo originario della rotta, il costo di ciascun
collegamento che l'LSA attraversa. Utilizzare questo tipo di rotte quando ci sono
diversi ASBR nel sistema autonomo che possono annunciare le stesse rotte. In
questo modo i router del dominio OSPF saranno in grado di instradare i pacchetti
diretti verso una rotta esterna verso il router ASBR ottimale;
Rotte E2: rotte esterne tipo 2, indicate nella tabella di instradamento con le lettere O E2.
Sono le rotte esterne predefinite per OSPF. In questo caso la metrica rimane
quella della rotta originaria. Questo tipo rotte va utilizzato solo quando è presente
un solo ASBR nel sistema autonomo, in questo caso infatti il punto di uscita dal
sistema autonomo è unico è ha poca importanza calcolare il costo corretto della
rotta;
Immagine 87: Esempio di calcolo della metrica per rotte esterne Tipo E1 ed E2.
Indipendentemente dal tipo tutte le rotte OSPF hanno una distanza amministrativa pari a
110. Il secondo valore rappresenta la metrica della rotta OSPF. Nel caso di rotte E2 la
metrica non varia indipendentemente da quale sia la distanza tra il router locale e l'ASBR.
Nel caso invece di rotte E1, alla metrica della rotta esterna, viene sommato il costo OSPF.
12 Con rotta esterna si intendono quelle rotte apprese tramite un protocollo di instradamento differente, ad esempio BGP, RIP o anche
rotte statiche.
3.6.7 Protezione dell'LSDB di OSPF
Se uno o più router del dominio OSPF non è configurato correttamente è possibile che
generi un numero molto elevato di LSA, si pensi ad esempio a un router ASBR che
ridistribuisce nel domino OSPF un numero molto elevato di percorsi, non aggregati.
Queste situazioni possono causare, tra l'altro, il collasso dei router dovuto all'eccessiva
dimensione della tabella topologica. Cisco dalla versione di IOS 12.3(7)T 13 e successive
ha inserito un meccanismo di protezione per impedire che il router esaurisca le proprie
risorse nel tentativo di eseguire il processo OSPF in condizioni critiche. Praticamente
tramite il comando max-lsa è possibile fissare il numero massimo di LSA che un router
può tenere nella propria base dati di stato dei collegamenti.
Router(router-config)#
max-lsa numero-massimo [soglia%] [warning-only]
[ignore-time minuti] [ignore-count numero]
[reset-time minuti]
Parametro Descrizione
numero-massimo Massimo numero di LSA, non generate localmente, che il router può tenere nella
base dati di stato dei collegamenti (LSDB),
Opzionale. Il valore in percentuale riferito al parametro numero-massimo
raggiungo il quale, il router genera un messaggio di avvertimento nel file di log
soglia% (warning). Il valore predefinito è 75%, in pratica il route tutte le volte il numero di
LSA presenti nella tabella topologica raggiunge il 75% del valore massimo stabilito
genera un messaggio di avvertimento.
Opzionale. Quando questo parametro è specificato il router, superato il numero
warning-only
massimo di LSA presenti nella tabella topologica, specificati in
numero-massimo, non sospenderà il processo OSPF, ma si limiterà ad inviare
un messaggio di avvertimento.
ignore-time minuti Opzionale. Specifica il numero di minuti in cui il processo OSPF dovrà rimanere in
stato di sospensione. L'impostazione predefinita è 5 minuti.
ignore-count mumero Opzionale. Specifica il numero consecutivo di volte che il processo OSPF potrà
essere sospeso. L'impostazione predefinita è di 5 volte.
Opzionale. Specifica l'intervallo di tempo in minuti, per il quale il processo OSPF
reset-time minuti dovrà funzionare correttamente entro i limiti stabiliti, prima di azzerare il contatore
dello stato di sospensione. L'impostazione predefinita è di 10 minuti.
Quando questo meccanismo è abilitato, il router tiene traccia del numero di LSA ricevuti
(non di quelli che genera localmente) e che vengono inseriti nella struttura dati LSDB.
Quando la soglia viene raggiunta il router genera un messaggio d'errore nel log, quando
invece la soglia è superata il router invia una notifica.
Se trascorso un minuto dal superamento del valore di soglia, il numero di LSA dovesse
risultare ancora eccessivo, il processo OSPF viene inizializzato e le adiacenze vengono
interrotte, in questo modo la base dati di stato dei collegamenti viene azzerata. Quando si
verificano simili eventi, si dice che OSPF si dice che entra in stato di sospensione (ignore
state). In questo stato le interfacce che partecipavano al processo OSPF non inviano e
ricevono pacchetti.
Il router OSPF rimane in stato di sospensione per un tempo pari a quello definito nel
parametro ignore-time. Il parametro ignore-count definisce invece il numero
massimo di volte che il processo OSPF passa allo stato di sospensione, superato questo
Se il processo OSPF funziona entro i valori di soglia stabiliti per un periodo definito con il
parametro reset-time, il contatore che tiene traccia del numero di volte che OSPF è
entrato in stato di sospensione, viene riportato a zero.
3.6.8 Modifica del costo per il calcolo della metrica
Per impostazione predefinita sui router Cisco, la metrica del protocollo OSPF è calcolata
come reciproco della larghezza di banda impostata sull'interfaccia. La larghezza di banda
di riferimento è quella di un'interfaccia fastethernet, cioè 100Mbps. Pertanto il costo è
calcolato in base alla formula:
100000000
costo=
bw
Per esempio, un collegamento seriale a 64Kbps ha un costo pari a 1562, mentre un
collegamento T1 ha metrica pari a 64. Tutti i collegamenti con banda uguale o superiore a
quella fasternet avranno un costo pari a 1.
Il riferimento 100Mb fu preso perché al momento in cui OSPF è stato sviluppato questa
era la velocità massima conosciuta. Oggi invece le nuove tecnologie di rete consentono di
raggiungere velocità notevolmente superiori a quella di riferimento. Pertanto se la rete su
cui dovrà essere implementato OSPF è dotata di interfacce ad alta velocità è necessario
che ricalibrare il calcolo del costo.
Nel caso di tecnologie WAN su interfacce seriali è importante modificare il valore di banda
per adattarlo all'effettiva velocità del collegamento. Questa operazione si effettua tramite il
comando:
Router(config-if)#bandwidth banda-kbps
dove banda-kbps è il valore di banda in Kbps. Per adattare invece il valore di riferimento
in caso di interfaccia di velocità superiore a 100Mbps è necessario utilizzare il comando
Router(config-router)#auto-cost reference-bandwidth banda-mbps
Nei paragrafi precedenti è stato sottolineato che, affinché OSPF possa funzionare
correttamente in reti di grandi dimensioni, è necessario suddividere il dominio in aree di
instradamento. È richiesto inoltre che tutte le aree siano collegate alla dorsale o area 0.
Fatta eccezione per questo requisito, OSPF si comporta nello stesso modo su tutte le
aree.
Tuttavia, nelle applicazioni pratiche nasce l'esigenza di gestire alcune aree in modo
differente. Per venire incontro a tali esigenze, il protocollo OSPF prevede che
l'instradamento da e verso alcune aree possa essere in qualche misura controllato,
vengono definite oltre le due aree già discusse altri tipi di aree:
Area stub14 (stub area);
Area totalmente stub (totally stub area);
Area parzialmente stub (no-so-stubby area [NSSA]);
Lo scopo principale di queste aree è quello di limitare in esse la propagazione degli LSA.
Per definizione infatti il termine area stub indica un'insieme di router e collegamenti che
possono comunicare con altre aree tramite un unico percorso. Che i router di queste aree
conoscano tutte le reti presenti sulle altre aree ha poco senso, pertanto è più logico che i
router delle aree stub abbiano un'unica rotta predefinita verso il router d'uscita. In questo
modo è possibile limitare la dimensione delle tabelle topologica (LSDB) e di
instradamento.
La differenza principale tre le differenti aree stub sta nel numero di informazioni che esse
possono ricevere dall'esterno, secondo queste regole:
14 Il termine stub significa troncone ed identifica una rete o un'area che dispone di una sola rotta verso altre reti. Una traduzione
appropriata per questo termine potrebbe essere rete subordinata.
Aree normali: è l'impostazione predefinita, queste aree accettano e propagano tutti i
tipi di LSA, tipo 3, 4 e 5. In pratica i router di confine (ABR) per
queste aree non bloccano il flood di questi LSA;
Area 0: chiamata anche dorsale o area di transito. È l'entità centrale a cui
tutte le aree OSPF sono collegate. Fatta eccezione per questo
requisito quest'area ha le stesse caratteristiche delle aree normali;
Area Stub: in queste aree non sono accettate informazioni riguardo rotte esterne
al sistema autonomo. Questo significa che i router di confine (ABR)
non immetteranno mai in tali aree LSA Tipo 5, e di conseguenza LSA
Tipo 4. Tuttavia queste aree ricevono normalmente LSA Tipo 3,
contenenti rotte inter-area e una rotta predefinita 0.0.0.0 che
consente ai router interni di raggiungere destinazioni al di fuori del
sistema autonomo. Per definizione le aree stub non possono
contenere ASBR, tuttavia è possibile che l'ABR per l'area sia anche
ASBR;
Area totalmente stub: anche totally stub, questo tipo di aree non accettano né rotte
esterne al sistema autonomo né rotte inter-area. Praticamente i
router ABR non inoltrano verso queste arree LSA Tipo 4
(ASBR-Summary LSA), Tipo 5 (External-LSA) e Tipo 3
(Summary-LSA). L'unica eccezione sono gli LSA Tipo 3 contenenti
una rotta predefinita. Questa è utilizzata dai router all'interno delle
aree totalmente stub per raggiungere, sia reti interne al sistema
autonomo su altre aree, sia reti esterne. Come nel caso precedente
le aree totalmente stub non possono contenere ASBR a meno che
questo non sia anche un ABR;
Area parzialmente stub: anche not-so-stubby area (NSSA), è un addendum a OSPF definito
in RFC 1587. È simile al concetto di area stub con la caratteristica di
consentire la propagazione in modo limitato di rotte esterne sul
sistema autonomo, quindi la possibilità di avere all'interno dell'area un
ASBR. In questo caso l'ASBR immette nell'area NSSA rotte esterne
al sistema autonomo utilizzando LSA Tipo 7. Questi LSA vengono
bloccati dai router di confine e convertiti in LSA di tipo 5, che vengono
quindi propagati normalmente all'interno delle comuni aree del
sistema autonomo.
Immagine 89: I router ASBR sono permessi nelle aree NSSA, tuttavia in queste aree non è
consentita la propagazione di LSA-Tipo 5.
Nelle aree stub o totalmente stub non vengono propagati LSA che contengono rotte esterne al
sistema autonomo, chiamati LSA-Tipo 5. Affinché un'area possa essere definita stub o totalmente
stub, deve soddisfare alcuni requisiti:
Deve esistere un unico punto di ingresso o uscita dall'area. Questo non significa
necessariamente che debba esistere una sola rotta per raggiungere quella rete, ma
possono anche esistere rotte non ottimali o comunque secondarie. Praticamente possono
esserci più ABR che immettono nell'area una rotta predefinita. I percorsi non ottimali
possono essere utilizzati per instradare i pacchetti in caso di problemi a quelli primari;
Tutti i router di confine e interni all'area devono essere configurati come router stub, prima
che instaurino relazioni di adiacenza e scambino informazioni di instradamento;
Non possono esistere ASBR all'interno di un'area stub;
La dorsale o area 0 non può essere un'area stub;
L'area in questione non può diventare area di transito per i collegamenti virtuali OSPF. In
sostanza un collegamento virtuale (virtual link) consente di connettere un'area alla dorsale
OSPF, tramite un'area di transito. I collegamenti virtuali sono generalmente utilizzati per
effettuare connessioni temporanee o comunque d'emergenza in caso di fallimenti ai
collegamenti primari. Non devono essere mai considerati come una soluzione da adottare
durante il progetto di OSPF.
3.7.3 Configurazione aree stub
Utilizzare aree stub riduce la dimensione del LSDB e di conseguenza anche le risorse richieste ai
router in termini di memoria e CPU. Nella aree stub non possono essere propagati gli LSA Tipo 5,
cioè quelli che riguardano reti esterne al sistema autonomo, ad esempio quelle apprese tramite un
altro protocollo di instradamento e ridistribuite nel domino OSPF.
Immagine 90: Nelle aree stub non vengono propagati gli LSA Tipo 5, il router ABR annuncia
una rotta predefinita.
Aree stub
Sono bloccati gli LSA Esterni (LSA Tipo 4 e 5);
Il router ABR annuncia una rotta predefinita in sostituzione di tutte le destinazione esterne;
Tutti i router dell'area devono essere configurati come stub;
L'instradamento dall'area stub verso le reti esterne al sistema autonomo viene effettuato tramite
una rotta predefinita (0.0.0.0). Se un pacchetto è indirizzato a una rete che non è nella tabella
di instradamento, il router inoltrerà il pacchetto verso l'ABR. I router di un'area stub non hanno
conoscenza delle reti esterne al dominio OSPF, il che riduce la dimensione delle tabelle di
instradamento.
Generalmente le reti stub vengono utilizzate nelle topologie di tipo hub-and-spoke. In questo caso
le aree stub sono definite sulle reti spoke. Un ufficio remoto infatti non ha necessità di conoscere
tutte le reti presenti nell'ufficio principale, né quelle degli altri uffici, l'instradamento dei pacchetti
può avvenire tramite una rotta predefinita.
Una condizione necessaria per creare un'area stub è configurare tutti i router di quell'area come
router stub. In genere la configurazione di un'area stub richiede due passi:
Parametro Descrizione
Rappresenta l'identificativo dell'area definita stub, totalmente stub o parzialmente
area-id stub. Può essere immesso come valore intero o in forma decimale puntata, allo
stesso modo di un indirizzo IPv4.
Opzionale. Impedisce al router ABR di immettere nell'area in questione
no-summary Summary-LSA cioè Tipo 3 e 4. Praticamente specificando questo parametro l'area
diviene totally stubby, come discusso più avanti.
Questo comando definisce l'area indicata come stub e dovrà essere configurato su tutti i
router dell'area stessa.
Per impostazione predefinita i router ABR annunciano la rotta predefinita con un costo pari
a 1. Questa impostazione può essere modificata utilizzando il comando:
Router(config-router)#area area-id default-cost costo
Parametro Descrizione
area-id Come nel caso precedente identifica l'area
costo Costo per la rotta predefinita che il router ABR immette nell'area stub. Valori
accettabili sono tutti gli interi compresi tra 1 e 16777215.
Questo comando può essere opzionalmente configurato solo sul router ABR dell'area stub.
Nel caso in cui il comando venisse omesso il router ABR annuncerà automaticamente la
rotta predefinita con metrica pari a 1.
3.7.4 Esempio di configurazione area stub
L'area 2 mostrata nell'immagine 91 dovrà essere definita come stub. Ricordiamo che nelle
aree stub non è permessa la propagazione di rotte verso destinazioni esterne al sistema
autonomo.
Immagine 91: Topologia d'esempio per la configurazione delle aree stub.
L'ultima riga della configurazione di ciascun router definisce l'area 2 come stub, il
comando in questione deve Il router R3 (ABR) annuncerà automaticamente sull'area stub
una rotta predefinita (0.0.0.0) con metrica pari a 1.
I router di un'area stub, identificano il loro stato impostando nel campo opzioni dei
pacchetti di hello che scambiano il bit stub. Pertanto, affinché si possa instaurare una
relazione di adiacenza tutti i router dell'area stub devono essere configurati con il
comando area area-id stub.
3.7.5 Configurazione aree totalmente stub (totally stubby area)
Il concetto di area totalmente stub (totally stubby) è stato introdotto da Cisco per ridurre
ulteriormente le risorse occupate sui router OSPF. Tuttavia questa soluzione in genere
non è compatibile con dispositivi di produttori differenti in quanto è proprietaria Cisco, e
non prevista nell'RFC.
Immagine 92: Nelle aree totalmente stub non vengono propagati gli LSA Tipo 3, 4 e 5, il router
ABR annuncia una rotta predefinita verso le destinazione inter-area ed esterne.
Aree totalmente stub
Sono bloccati gli LSA Esterni (LSA Tipo 4 e 5);
Sono bloccati gli LSA di sommario (LSA Tipo 3);
La tabella di instradamento dei router interni all'area contiene
esclusivamente rotte intra-area più una rotta predefinita per tutte le
altre destinazioni;
Tutti i router dell'area devono essere configurati come stub;
Il router ABR dell'area deve essere configurato con il parametro
no-summary, che gli impedisce di propagare i comuni LSA Tipo 3
nell'area specificata;
Essendo una caratteristica proprietaria, può essere utilizzata quando il
router di confine ABR è prodotto da Cisco;
Nelle aree totalmente stub non vengono propagati LSA Tipo 3, 4 e 5, cioè le rotte esterne
e inter-area. Questo significa che i router di un'area totalmente stub riconoscono soltanto
le rotte intra-area, tutte le altre destinazioni sono raggiungibili tramite una rotta predefinita
annunciata dall'ABR, che diviene pertanto il gateway predefinito per tutti i router di
quell'area.
Immagine 93: Topologia d'esempio per la configurazione delle aree totalmente stub (totally
stub).
Immagine 94: Configurazione Router 2 come ABR per l'area totalmente stub.
Immagine 95: Configurazione Router 3 come router interno per l'area totalmente stub.
Immagine 96: Configurazione Router 4 come ABR per l'area totalmente stub.
Si ricorda che per formare aree totalmente stub solo i router di confine vanno configurati
con il parametro no-summary, i router interni vanno invece configurati come appartenenti
a una normale area stub. Nel caso in esempio solo i router R2 ed R4, gli ABR per l'area 1,
sono stati configurati con il parametro no-summary.
3.7.7 Configurazione aree parzialmente stub (not-so-stubby area [NSSA])
RFC 3101 estende il concetto di aree stub di OSPF, introducendo le aree not-so-stubby
(parzialmente stub). Questo concetto venne in precedenza implementato da Ciasco già
dalla versione 11.2 di IOS. Si tratta comunque di un'estensione non proprietaria, che
consente in modo limitato, la propagazione di rotte esterne al sistema autonomo in aree
stub.
Immagine 97: Nelle aree Not-so-stubby (NSSA) possono essere propagate rotte esterne, in
modo limitato, tramite LSA Tipo 7.
Le rotte esterne vengono propagate tramite particolari LSA (Tipo 7), che possono esistere
esclusivamente in un'area NSSA. Il router di confine del sistema automomo (ASBR)
presente dell'area NSSA, genera questo tipo di LSA, che vengono propagate tramite il
processo di flood per l'area. I router di confine ABR trasformano questi LSA in LSA Tipo 5,
che vengono regolarmente propagati per tutto il dominio.
Immagine 98: In questa rete, il dominio RIP sotto il controllo di un'altra amministrazione deve
scambiare rotte con il dominio OSPF. L'area 1 pur avendo caratteristiche di area stub, deve
essere configurata come un'area normale affinché possa propagare tutti i tipi di LSA inclusi
quelli riguardanti rotte esterne.
Immagine 99: Invece configurando l'area come NSSA, il router ASBR utilizza LSA Tipo 7 per
propagare le rotte esterne. Tali LSA vengono poi convertiti in LSA Tipo 5 dai router ABR.
Si osservi comunque che tutte le caratteristiche delle aree stub, sono presenti nelle aree
NSSA, cioè queste aree non riceveranno alcuna rotta esterna al sistema autonomo, e gli
ABR annunceranno verso queste aree solo una rotta predefinita.
Gli LSA Tipo 7 vengono contrassegnati nella tabella di instradamento con i simboli O N2
oppure O N1. La lettera N sta per NSSA, mentre N1 e N2 indicano come viene calcolata la
metrica per la rotta, rispettivamente allo come rotte esterne di tipo 1 e tipo 2.
L'impostazione predefinita è O N2.
Parametro Descrizione
Rappresenta l'identificativo dell'area NSSA. Può essere
area-id immesso come valore intero o in forma decimale puntata,
allo stesso modo di un indirizzo IPv4.
Opzionale. Può essere utilizzato quando il router è un ABR e
no-redistribuition si vuole impedire che il comando redistribuite annunci
le rotte solo verso le aree normali e non quella NSSA.
Parametro Descrizione
Opzionale. Questo comando ha effetto solo sui router ASBR
default-information-originate e ABR per le aree NSSA, consente di generare un LSA Tipo
7 per annunciare la rotta predefinita nell'area.
Opzionale. Valore intero compreso tra 1 e 16777214, che
metric metrica rappresenta la metrica utilizzata per annunciare la rotta
predefinita nell'area NSSA.
Opzionale. Consente di specificare come OSPF dovrà
metric-type tipo-metrica calcolare la metrica per la rotta predefinita. Il valore 1 indica
rotta esterna tipo 1, il valore 2 indica rotta esterna di tipo 2.
Opzionale. Impedisce la propagazione di rotte inter-area
(LSA-summary, Tipo 3 e 4), pur mantenendo la natura NSSA
no-summary dell'area. Questo parametro crea in pratica aree NSSA
totalmente stub, ovviamente questa è una caratteristica
proprietaria Cisco da utilizzare sugli ABR.
Tutti i router dell'area NSSA devono essere configurati con questo comando altrimenti non
potranno formare relazioni di adiacenza;
3.7.8 Esempio di configurazione arre parzialmente stub (NSSA)
Immagine 101: Topologia d'esempio per la configurazione delle aree NSSA Totalmente stub.
La rete nell'immagine 100 è uguale a quella dell'esempio precedente, solo che ai router
verrà applicata una configurazione in modo da trasformare l'area in una NSSA totalmente
stub. Praticamente nell'area 1 non sono ammessi LSA Tipo 3, 4 e 5 al loro posto il router
ABR (R2) genera una rotta predefinita.
Il comando area 1 nssa no-summary funziona esattamente come quello utilizzato per
le aree totalmente stub. Grazie all'opzione no-summary R2 annuncerà nell'area 1
(NSSA1) una rotta predefinita O *N2, in questo caso diventa superflua l'opzione
default-information-originate.
Si osservi che tutti gli altri router dell'area NSSA richiedono solo il comando area 1
nssa. Si ricorda inoltre che le aree totalmente stub quindi anche le aree NSSA totalmente
stub sono una caratteristica proprietaria Cisco.
3.7.10 Verifica della configurazione di tutti i tipi di area stub di OSPF
Il sistema operativo IOS di Cisco mette a disposizione una serie di comandi show che
consentono di visualizzare le informazioni riguardanti le aree OSPF, permettendo la
verifica della configurazione applicata al router:
show ip ospf visualizza informazioni per ciascuna area OSPF configurate,
come tipo e interfacce associate;
show ip ospf database visualizza il contenuto del LSDB;
show ip route visualizza la tabella di instradamento del rotuer, incluse le rotte
OSPF e il tipo;
Il modello a due livelli di aree gerarchiche utilizzato da OSPF, richiede che tutte le aree
siano direttamente collegate all'area 0 o dorsale.
Ci sono alcuni casi in cui nasce l'esigenza di aggirare questo requisito, per esempio in
caso di guasto oppure al collegamento temporaneo di un'area alla rete OSPF.
Tale operazione è possibile utilizzando i collegamenti virtuali (virtual link), che consentono
di collegare un'area alla dorsale, attraverso un'area di transito. Questo tipo di soluzione
deve essere impiegata solo in casi eccezionali e comunque solo per brevi periodi di
tempo. I collegamenti virtuali non devono costituire una soluzione definitiva né, soprattutto,
devono essere utilizzati in fase di progettazione della rete.
I collegamenti virtuali sono previsti nello standard OSPF, e sono supportati dai router
Cisco a partire dalla versione di IOS 10.0.
Immagine 102: Grazie ai collegamenti virtuali è possibile utilizzare un'area come transito, per
interconnettere un'altra area "isolata" alla dorsale OSPF.
Si supponga che per un motivo qualunque nasca l'esigenza di collegare l'area 3 nella rete
illustrata in figura 102, al resto della rete OSPF. Tuttavia non è possibile collegare
quest'area direttamente alla dorsale OSPF, in questo caso è possibile usare l'area 1 come
area di transito per effettuare questa connessione.
Immagine 103: Un'altra applicazione dei collegamenti virtuali è quella di interconnettere dorsali
discontinue.
Applicazoni dei collegamenti virtuali di OSPF
Interconnettere l'area 0 (dorsale) discontinua;
fondere due reti OSPF;
come meccanismo per fornire continuità di servizio in
caso di guasti ai collegamenti primari;
Il protocollo di hello funziona sui collegamenti virtuali, allo stesso modo di quelli normali,
mantenendo gli intervalli predefiniti (10 secondi). Tuttavia il processo di flooding degli LSA
funziona in modo diverso. Normalmente infatti, i router OSPF ogni 30 minuti aggiornano
tutti gli LSA (aggiornamento paranoico). Invece gli LSA appresi sui collegamenti virtuali
non hanno alcuna scadenza, questi hanno il bit DNA (do-not-age) impostato. Questo per
impedire che il processo di flooding congestioni il collegamento virtuale.
Parametro Descrizione
È l'identificativo dell'area di transito che costituirà il collegamento
area-id virtuale. Può essere espresso come valore decimale oppure in forma
decimale puntata, come un indirizzo IPv4. Un'area stub non può
diventare area di transito.
Parametro Descrizione
L'identificativo del router sull'altro capo del collegamento virtuale.
Rappresenta l'identificativo del vicino sull'altro capo del collegamento
id-router virtuale con cui il router locale dovrà instaurare una relazione di
adiacenza. L'identificativo del router può essere ottenuto tramite il
comando show ip ospf.
authentication Opzionale. Consente di specificare la modalità di autenticazione
message-digest Opzionale. Imposta MD5 come meccanismo di autenticazione.
Disattiva qualsiasi tipo di autenticazione per il collegamento virtuale.
null Utile quando è stato attivato un meccanismo di autenticazione OSPF
globalmente, ma non si vuole usarlo sul collegamento virtuale.
Opzionale. Specifica la periodicità in secondi per la quale il router invia
un pacchetto di hello al vicino sul collegamento virtuale. Il parametro
hello-interval secondi secondi rappresenta un intero senza segno. I router devono avere il
medesimo intervallo di hello per poter instaurare la relazione di
adiacenza. Il valore predefinito è 10 secondi.
Opzionale. Specifica l'intervallo di tempo allo scadere del quale il
router riprova a inviare gli LSA che non sono stati riscontrati dal vicino.
retransmit-delay secondi Il valore in secondi specificato deve essere più elevato del ritardo
massimo di andata e ritorno (round-trip) rilevato lungo il collegamento
virtuale. Il valore predefinito è 5 secondi.
Opzionale. È il tempo stimato in secondi impiegato dal router per
inviare un pacchetto LSU sull'interfaccia. Il valore specificato deve
transmit-delay secondi essere un intero compreso tra 1 e 65 535. Il valore del campo età di
ciascun LSA sarà incrementato del valore specificato con questo
parametro prima che avvenga la trasmissione del pacchetto LSU. Il
valore predefinito è 1 secondo.
Opzionale. Specifica l'intervallo di tempo in secondi entro il quale il
dead-interval secondi router locale si aspetta di ricevere un pacchetto di hello dal vicino
sull'altro capo del collegamento virtuale prima di interrompere la
relazione di adiacenza con quel vicino.
Opzionale. Specifica la password che verrà utilizzata dai router
authentication-key chiave adiacenti, quando il meccanismo di autenticazione utilizzato da OSPF
è quello semplice. La password può essere una qualsiasi stringa
alfanumerica di 8 caratteri al massimo.
Opzionale. Consente di specificare indice e chiave per l'autenticazione
message-digest-key id-chiave
md5 chiave MD5. Il parametro id-chiave è un numero intero tra 1 e 255, mentre
chiave è una stringa alfanumerica di 16 caratteri al massimo.
Il comando va utilizzato sul router ABR tra l'area di transito e la dorsale e sul router ABR
tra l'area di transito e l'area da connettere virtualmente alla dorsale. Il parametro
id-router rappresenta l'identificativo del router dell'altro capo del collegamento virtuale
e va configurato sui due estremi. Per trovare l'identificativo del router è possibile utilizzare
il comandi show ip ospf, show ip ospf interface o show ip protocol.
3.8.3 Esempio di configurazione di un collegamento virtuale
L'immagine 104 mostra la topologia di una rete in cui la dorsale – area 0 – è discontinua a
causa di un problema a un collegamento. Poiché l'area 1 possiede un collegamento diretto
sui due punti del partizionamento dell'area 0, è possibile configurare un collegamento
virtuale utilizzandola come area di transito.
Immagine 104: Topologia d'esempio per la configurazione dei collegamenti virtuali.
Quando il processo OSPF viene inizializzato il collegamento virtuale non è attivo perché il
router con ID 10.1.1.1 non sa come raggiungere il router con ID 10.2.2.2. Nel
momento in cui i percorsi di rete tra le aree 0 e l'area 1 si sono stabilizzati, i due router
ABR saranno in grado di raggiungersi a vicenda attraverso l'area 1, potranno così
instaurare il collegamento virtuale.
Spesso il termine tunnel si usa come sinonimo per definire il concetto di collegamento
virtuale di OSPF. Tale analogia è abbastanza vaga, infatti quando viene instaurato un
collegamento virtuale il pacchetto IP contenente il messaggio OSPF non viene imbustato
in un altro pacchetto IP, come avverrebbe in caso di tunnel, piuttosto tutti i pacchetti OSPF
sono incapsulati direttamente in pacchetti IP utilizzando il numero 89 come identificativo
del protocollo.
3.8.4 Verifica della configurazione dei collegamenti virtuali
Hello due in 0:00:08 Il numero di secondi entro il quale il router si aspetta di ricevere il pacchetto
di hello successivo.
Adjacency State FULL Lo stato dell'adiacenza su collegamento virtuale.
Altri comandi utili alla verifica della configurazione dei collegamenti virtuali sono show ip
ospf neighbor, show ip ospf database e debug ip ospf adj.
L'aggregazione dei percorsi di rete è un'operazione fondamentale nelle reti IP, consente
infatti di aumentare la scalabilità della rete e diminuire drasticamente le risorse in termini di
CPU e RAM utilizzate dai router. Tutto questo si traduce anche in benefici economici,
consentendo di utilizzare dispositivi meno recenti anche in caso di forte espansione della
rete.
In una rete OSPF senza aggregazione, ogni singolo LSA viene propagato sulla dorsale e
quindi sulle aree collegate, causando eccessivo utilizzo delle risorse. Ogni volta che un
LSA viene inviato, tutti i router OSPF che la ricevono devono aggiungerlo al LSDB e
ricalcolare i percorsi di rete tramite l'algoritmo SPF.
Aggregando invece i percorsi di rete, nel dominio OSPF viene propagata solo un LSA
contenente quella rotta aggregata. Anche in caso di problemi a una sotto-rete della rete
aggregata, quest'informazione rimarrebbe confinata nell'area in cui il problema ha avuto
origine, senza interessare le altre aree.
OSPF è un protocollo classless, cioè non utilizza il vecchio stile di indirizzamento a classi
di IPv4. Gli LSA trasportano anche la maschera di rete associata al collegamento. Questo
permette in OSPF di utilizzare la tecnica VLSM (Variable length subnet mask), maschere
di rete a lunghezza variabile, per creare lo schema di indirizzamento della rete. Grazie a
queste caratteristiche è possibile implementare schemi di indirizzamento discontinui. Nei
protocolli che non supportano la tecnica VLSM, non è possibile implementare schemi
discontinui.
Gli indirizzi delle reti appartenenti a un'area dovrebbero essere contigui, in modo tale da
poter aggregarli sui router di confine.
Immagine 107: Le rotte vengono aggregate sui router di confine, che provvedono ad
annunciale da e verso la dorsale.
Abbiamo più volte sottolineato che il protocollo OSPF non effettua alcun tipo di
aggregazione (summarization) automatica. Quest'operazione è lasciata completamente al
controllo dell'amministratore di sistema. Protocolli come EIGRP, RIP o IGRP effettuano
invece per impostazione predefinita l'aggregazione dei percorsi allineandoli all'indirizzo di
classe della rete di appartenenza.
L'aggregazione in OSPF può essere effettuata solo sui router di confine d'area ABR 15 o di
sistema autonomo ASBR. Nei router interni a un'area l'aggregazione non è permessa in
quanto essi devono avere la stessa base di dati dello stato dei collegamenti (LSDB).
In OSPF esistono due tipi di rotte su cui è possibile effettuare l'aggregazione: le rotte
inter-area che vengono aggregate sugli ABR e le rotte esterne che vengono aggregate
sugli ASBR.
Parametro Descrizione
id-area Rappresenta l'identificativo dell'area le cui rotte devono essere
aggregate.
15 Si ricorda che un ABR è un router che ha almeno un'interfaccia sull'area 0 (dorsale) e almeno una su un'altra area.
Parametro Descrizione
maschera La maschera di rete associata alla rete aggregata.
Parametro Descrizione
indirizzo L'indirizzo aggregato della rete esterna, rappresenta gli indirizzi di rete
esterni ridistribuiti nel processo OSPF del router ASBR.
maschera La maschera di rete associata alla rete aggregata esterna.
tag etichetta Opzionale. Un valore che può essere associato alla rotta aggregata
per controllarne la ridistribuzione.
Il comando aggrega sul router ASBR le rotte esterne prima che queste vengano
annunciate tramite il processo di flooding nel dominio OSPF.
3.9.4 Configurare l'aggregazione delle rotte inter -area sui router ABR
Abbiamo sottolineato che l'aggregazione delle rotte inter-area in OSPF può avvenire
esclusivamente sui router di confine d'area (ABR). Il verso può tuttavia essere in entrambe
le direzioni, cioè è possibile aggregare le reti di un'area prima che vengano annunciate
sulla dorsale e viceversa, aggregare le reti della dorsale prima che vengano annunciare
sull'area.
16 Il comportamento del router rimane il medesimo sia che questo parametro venga o non venga specificato.
Immagine 108: L'aggregazione inter-area può avvenire in entrambe le direzioni, cioè dalle aree
comuni verso la dorsale e viceversa.
L'immagine 108 mostra per l'appunto questa situazione. Il router A è stato configurato per
annunciare sulla dorsale una rotta aggregata per tutte le reti presenti nell'area 1 e per
annunciare su quest'ultima una rotta aggregata delle reti presenti sulla dorsale. Si osservi
che il router A annuncerà sull'area 1 anche LSA Tipo 3 ricevuto dal router B riguardante la
rotta aggregata delle reti presenti nell'area 2. La parte saliente della configurazione dei
due router è la seguente:
Nel caso in cui un router sia configurato per ridistribuire nel dominio OSPF rotte apprese
tramite altri protocolli di instradamento, incluse le rotte statiche, diviene automaticamente
un router di confine del sistema autonomo (ASBR). Il protocollo OSPF prevede che su tali
router si possa effettuare l'aggregazione dei percorsi di rete esterni.
Immagine 111: Sui router ASBR è possibile ridistribuire nel dominio OSPF rotte aggregate.
L'immagine 111 mostra come il router C ridistribuisca i percorsi di rete RIPv2 aggregati in
un'unica rotta nel dominio OSPF. Nel caso in esempio il router C ha a appreso tramite
protocollo RIPv2 32 reti contigue, che possono essere aggregate in un'unica rete prima di
essere ridistribuite nel dominio OSPF. Grazie a questa aggregazione il router OSPF è in
grado di annunciare tutte le rotte esterne utilizzando un LSA Tipo 5 piuttosto che
utilizzarne 32
Si osservi che è necessario attivare sul router la ridistribuzione delle rotte RIPv2 in OSPF.
Vedremo tale operazione in dettaglio nel capitolo 5.
3.9.6 Le rotte predefinite in OSPF
Molto spesso uno dei router della rete è connesso a Internet. In questi casi nasce
l'esigenza di annunciare sul dominio OSPF una rotta predefinita per dare connettività
Internet a tutti gli host del sistema autonomo. Qualsiasi router OSPF è in grado di
annunciare nel dominio OSPF la rotta predefinita, tuttavia l'operazione va attivata usando
il comando default-information originate, che consente al router di inviare in
flooding degli LSA Tipo 5 annunciando per l'appunto la rotta 0.0.0.0. Praticamente un
router che annuncia la rotta predefinita è anche un ASBR.
Esistono due modi per annunciare una rotta predefinita in un'area. Il primo è quello di
configurare sul router una rotta verso la rete 0.0.0.0 e quindi ridistribuirla nel dominio
OSPF. L'altro modo è invece attivare sul router la ridistribuzione della rotta predefinita
indipendentemente dal fatto che tale rotta sia stata configurata sul router, utilizzando il
parametro always del comando default-information originate.
3.9.7 Configurazione della rotta predefinita in OSPF
Affinché nel dominio OSPF venga annunciata una rotta esterna predefinita, utilizzare il
comando default-information originate:
Router(config-router)#
default-information originate [always] [metric metrica]
[metric-type tipo] [route-map nome]
Parametro Descrizione
Opzionale. Normalmente il comando attiva la ridistribuzione della rotta predefinita
always configurata sul router nel dominio OSPF. Tuttavia quando viene specificato questo
parametro il router annuncia la rotta predefinita indipendentemente dal fatto che essa
sia stata configurata.
Opzionale. Quando specificato questo parametro consente di stabilire la metrica con
cui viene annunciata la rotta predefinita. Se questo parametro viene omesso e non
metric metrica viene configurato alcun valore tramite il comando default-metric (modalità
configurazione router), viene utilizzato il valore predefinito pari a 1. Si osservi che il
manuale di IOS indica che il valore predefinito è pari a 10, tuttavia alcuni test hanno
dimostrato che questo è pari a 1.
Opzionale. Consente di specificare come verrà calcolata dai router OSPF la metrica
per la rotta predefinita. Il parametro tipo può assumere i sequenti valori:
1: la rotta predefinita viene annunciata nel dominio OSPF come rotta esterna
di Tipo 1 e contrassegnata nella tabella di instradamento dei router con i
metric-type tipo simboli O *E1;
2: la rotta predefinita viene annunciata nel dominio OSPF come rotta esterna
di Tipo 2 e contrassegnata nella tabella di instradamento dei router con i
simboli O *E2. Questa è anche l'impostazione predefinita nel caso in cui il
parametro venisse omesso.
route-map nome Opzionale. Quando specificato indica al processo OSPF di annunciare la rotta
predefinita solo se la route-map 17specificata è soddisfatta.
Utilizzare la forma negata (no davanti al comando) per annullare gli effetti del comando.
3.9.8 Esempio di configurazione della rotta predefinita in OSPF
L'immagine 113 mostra la rete di un'azienda collegata a Internet tramite due fornitori di
servizi (ISP). Il primo fornitore (ISP A) è quello preferito, mentre il secondo (ISP B) viene
utilizzato in caso di emergenza.
198.1.1.2
10.1.1.1
198.2.1.2
10.2.1.1
Immagine 113: Esempio di rete con due router ASBR collegati a Internet che annunciano nel
dominio una rotta predefinita.
Il parametro opzionale metric è stato utilizzato per dare preferenza alla rotta predefinita
dell'ISP A, poiché è il collegamento Internet primario della società.
È possibile impedire che un router OSPF riceva aggiornamenti non autorizzati attivando
uno dei meccanismi di autenticazione previsti dal protocollo. L'autenticazione OSPF dei
vicini (neighbor authentication) si basa sull'utilizzo di password preimpostate sui router. Il
router autentica la sorgente dell'aggiornamento ricevuto, utilizzando delle password o
chiavi conosciute ad entrambi.
17 Le route-map sono delle specifiche condizioni che le rotte, calcolate da un protocollo di instradamento, devono soddisfare affinché
possano essere ridistribuite da un altro protocollo di instradamento.
Per impostazione predefinita OSPF non utilizza alcun meccanismo di autenticazione,
pertanto questo deve essere abilitato esplicitamente sui router del dominio. In particolare
OSPF supporta due meccanismi di autenticazione:
Autenticazione con testo in chiaro o con password semplice – simple password
authtentication (plain-text authentication);
Autenticazione con firma MD5 – Message Digest 5 authentication;
L'autenticazione MD5 tra l'altro utilizza un meccanismo anti-replica, che utilizza numeri di
sequenza per impedire che possano essere utilizzate copie dello stesso messaggio per
alterare le tabelle di instradamento dei router.
3.10.2 Configurazione del meccanismo di autenticazione a password in chiaro
Parametro Descrizione
Una stringa alfanumerica, non contenente spazi, con lunghezza massima
di 8 (otto) caratteri. Sebbene l'IOS consenta di inserire una password di
lunghezza superiore, solo i primi 8 (otto) caratteri saranno utilizzati. Dalla
password versione 12.4 dell'IOS, quando si configura una password di lunghezza
superiore a 8 (otto) caratteri viene visualizzato un messaggio di
avvertimento, le versioni precedenti accettavano invece il comando senza
visualizzare alcun avviso.
Parametro Descrizione
id-area Specifica l'area OSPF su cui attivare l'autenticazione. Questo valore
può essere specificato come valore numerico che in forma decimale
puntata, come un indirizzo IPv4.
message-digest Opzionale. Quando specificato attiva l'autenticazione MD5 sull'area
specificata.
Figure shows the network used to illustrate the configuration, verification, and
troubleshooting of simple password authentication. The configuration of router R1 is also
shown.
Simple password authentication is configured on interface serial 0/0/1 with the ip ospf
authentication command. The interface is configured with an authentication key of
“plainpas.”
Simple password authentication is configured on interface serial 0/0/1 with the ip ospf
authentication command. The interface is configured with an authentication key of
“plainpas.” Notice that the connecting interfaces on both router R1 and router R2 are
configured for the same type of authentication with the same authentication key.
Figure displays the output of the show ip ospf neighbor and show ip route commands.
The neighbor state is FULL, which indicates that the two routers have successfully formed
an OSPF adjacency. The routing table verifies that the 10.2.2.2 address has been learned
via OSPF over the serial connection.
The result of a ping to the router R2 loopback interface address is also displayed to
illustrate that the link is working.