Sei sulla pagina 1di 94

Modulo 3: Open Shortest Path First (OSPF)

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.

OSPF ha caratteristiche molto superiori rispetto ai protocolli vettore-distanza storici, come


Routing Information Protocol Version (RIP): maggiore velocità di convergenza, basso
utilizzo della della banda, supporto di maschere di rete a lunghezza variabile. Inoltre può
essere implementato utilizzando il concetto di aree gerarchiche, permettendo così alla rete
di scalare. Tuttavia OSPF è un protocollo molto complesso che utilizza diversi
meccanismi, strutture dati e tipi di pacchetto, questo richiede un’elevata conoscenza della
terminologia e dei comandi per implementarlo.

Questo modulo descrive il funzionamento di OSPF, come implementarlo e verificarne il


funzionamento. Inizialmente verranno trattati argomenti semplici, per poi passare a
concetti e tecniche di implementazione avanzate.

Obiettivi di questo modulo


3.1 Esame delle caratteristiche di base e dei principi di funzionamento di OSPF
3.2 Descrizione generale del funzionamento di OSPF
3.3 Implementazione e verifica di OSPF
3.4 Tipi di reti supportate in OSPF
3.5 Implementazione di OSPF in reti multi-accesso non broadcast (NBMA)
3.6 Funzionamento multi-area di OSPF
3.7 Aree stub, totalmente stub (totally stubby) e parzialmente stub (not-so-stubby)
3.8 Collegamenti virtuali (virtual links)
3.9 Aggregazione delle rotte (rotte di sommario)
3.10 Autenticazione OSPF
3.11 Esercitazioni di laboratorio su OSPF

3.1 Esame delle caratteristiche di base e dei principi di


funzionamento di OSPF
3.1.1 Protocolli di instradamento a stato del collegamento (link -state)

La necessità di superare i limiti intrinseci nei protocolli di instradamento vettore-distanza,


ha portato allo sviluppo dei protocolli di instradamento a stato del collegamento.

La maggior parte dei protocolli vettore-distanza utilizzano l’algoritmo Bellam-Ford, per il


calcolo dei percorsi di rete, basandosi esclusivamente sulle informazioni ottenute dai nodi
direttamente connessi. Questa tecnica è chiamata comunemente instradamento per
passa-parola o “routing by rumor”. Un router che utilizza RIP non è in grado di avere una
situazione completa dei collegamenti della rete, inoltre quindici è la distanza massima in
nodi intermedi entro la quale deve trovarsi una rete prima di essere considerata
irraggiungibile.
Protocolli a stato del collegamento
I protocolli a stato del collegamento acquisiscono molte più
informazioni sulla rete, della controparte a vettore-distanza;
I router che utilizzano un protocollo a stato del collegamento
hanno una visione completa di tutti i collegamenti e del loro stato;
Per i motivi sopra descritti i protocolli a stato del collegamento
prendono decisioni di instradamento più accurate rispetto a
quelle che prenderebbero i protocolli vettore distanza;

I protocolli a stato del collegamento, come appunto OSPF, consentono ai router di


scambiarsi informazioni riguardo lo stato dei collegamenti di tutta la rete, non solo di quelli
con i vicini. Grazie a questa caratteristica ciascun router, indipendentemente dall’altro, può
calcolare per ogni rete remota, un percorso efficiente non ciclico. Il fatto che tutte le
informazioni richieste per l'elaborazione sono mantenute localmente dai singoli router,
contribuisce a ridurre la larghezza di banda occupata per lo scambio di messaggi.
Migliorando inoltre la qualità dei percorsi calcolati, in quanto non è necessario utilizzare
tecniche, come lo split-horizont, per impedire la formazione di percorsi ciclici. Tuttavia il
rovescio della medaglia è un maggior utilizzo di risorse del router in termini di memoria
occupata e potenza di calcolo.

Si osservi per esempio l’immagine 1:

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 caratteristiche principali di un protocollo a stato del collegamento sono le seguenti:


Reagiscono molto velocemente alle variazioni topologiche;
Inviano aggiornamenti sollecitati (triggered) quando la topologia di rete cambia;
Alcuni protocolli utilizzano anche i cosiddetti aggiornamenti paranoici (link-state refresh),
ma ad intervalli molto grandi, ad esempio per impostazione predefinita OSPF invia
aggiornamenti ogni 30 minuti;
I protocolli a stato del collegamento inviano aggiornamenti solo in risposta a variazioni
topologiche. Quando lo stato di un collegamento cambia, il dispositivo che ha rilevato per
primo questa variazione, invia un messaggio chiamato link-state advertisement (LSA),
che tradotto significa annuncio sullo stato dei collegamenti. Lo scambio dei messaggi LSA
serve appunto a informare i vicini dello stato di un router e dei suoi collegamenti, da qui il
nome stato del collegamento.

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.

Le risorse necessarie ai protocolli di instradamento a stato del collegamento per


mantenere le strutture dati ed eseguire l’algoritmo SPF, possono essere molto rilevanti.
Questo è considerato il principale svantaggio di tali protocolli.

Caratteristica RIPv1 OSPF


Invia in broadcast l’intera tabella di instradamento. Si No
Supporto per le maschere di rete a lunghezza variabile. No Si
Limita il diametro della rete a 15 nodi intermedi. Si No
Invia aggiornamenti incrementali. No Si
Usa il costo come fattore per calcolare la metrica. No Si
Utilizza il concetto di aree per segmentare la rete. No Si
Non permette di strutturare la rete in alcun modo. Si No
È in grado di scalare anche su reti di grandi dimensioni. No Si
Tempi di convergenza molto rapidi No Si

3.1.3 Strutture dati di OSPF

OSPF e Intermediate System-to-Intermediate System (IS-IS), sono i due protocolli di


instradamento dinamico, attualmente in uso classificati come protocolli a stato del
collegamento, per le modalità con cui propagano le informazioni di instradamento e
calcolano i percorsi migliori.

Un router che utilizza un protocollo a stato del collegamento (link-state) riceve e


memorizza LSA ricevuti da tutti i router del dominio, o da quelli appartenenti alla sua
stessa area.
Successivamente, ciascun router, in modo indipendente dall’altro, utilizza le informazioni
ottenute applicando come parametri per l’algoritmo SPF, per calcolare i percorsi migliori, o
dal minor costo, verso tutte le destinazioni.

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.

Strutture dati di OSPF


Neighbor table (tabella dei vicini): contiene l’elenco dei vicini
direttamente connessi al router locale. È anche chiamata base di
dati delle adiacenze (adjacency database);
Topology Table (tabella topologica): contiene lo stato di
ciascun collegamento della rete, in forma di LSA, ricevuti tramite
il processo di flooding. Questo significa che tutti router in un area
o nella rete hanno medesime informazioni mantenute in questa
struttura dati. È anche chiamata base di dati dello stato dei
collegamenti (Link-state database [LSDB]);
Routing Table (tabella di instradamento): contiene tutti i
percorsi di costo inferiore calcolati tramite l’algoritmo SPF. È
anche chiamata database di inoltro (forwarding database);

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

La prima operazione che esegue un router che sta utilizzando un protocollo di


instradamento a stato del collegamento è quella di stabilire relazioni di adiacenza con i
vicini. Tale operazione serve creare una connessione stabile e bidirezionale tra tutti i
router vicini (a livello 3).

Immagine 4: I router OSPF utilizzano i pacchetti di hello per creare


relazioni di adiacenza.
La relazione di adiacenza viene stabilita tramite lo scambio di messaggi di hello.
Generalmente un router per stabilire un’adiacenza segue i seguenti passi:
1. Il router comincia a inviare e riceve pacchetti di hello, verso e dai propri vicini. Tutti i router
OSPF sono registrati al gruppo multicast con indirizzo di classe D 224.0.0.5, e questi
pacchetti vengono inviati verso quell’indirizzo. I pacchetti di hello contengono alcune
informazioni riguardo il router che l’ha inviato come il proprio l’identificativo (router ID),
dell’area (area ID) e la priorità, e i parametri principali che consentono il funzionamento del
protocollo OSFP: tipo di autenticazione, impostazioni dei contatori e altre informazioni.
Vedremo meglio più avanti che affinché la relazione di adiacenza possa instaurarsi alcuni
parametri devono corrispondere su entrambi i router;
2. La relazione di adiacenza a due vie viene instaurata quando entrambi i router rilevano il
proprio identificativo nell’elenco dei router vicini del mittente;

Immagine 5: La relazione di adiacenza viene instaurata nel momento in cui i router


rilevano a vicenda il proprio identificativo nel pacchetto di hello dell'altro.

3. Stabilita la relazione di adiacenza, i router cominciano a sincronizzare le proprie tabelle


topologiche (LSDB), tramite lo scambio di LSA. Si ricorda che ciascun router deve
riscontrare la ricezione di un LSA. Al completamento di questa fase i router hanno stabilito
una relazione di adiacenza completa (full adjacency state).
4. Se necessario i router inoltrano qualsiasi nuovo LSA verso i propri vicini, assicurando così
che la sincronizzazione della tabella topologica avvenga per tutti i router dell’area;
Il modo in cui OSFP forma le relazioni di adiacenza dipende anche dal tipo di rete. Per
esempio due router OSPF su un collegamento punto-punto, formano una relazione di
adiacenza completa, quando i loro parametri concordano e si rilevano a vicenda l’uno nel
pacchetto di hello dell’altro.

Formazione delle adiacenze in OSPF


Nel collegamenti punto-punto i due router sul collegamento
instaurano una relazione di adiacenza completa;
Nei segmenti di rete multiacesso broadcast, i router formano una
relazione di adiacenza completa esclusivamente con il router DR
(e BDR), tra di loro (DROTHER) invece i router formano
esclusivamente una relazione di adiacenza a due vie;
Le informazioni sullo stato dei collegamenti e gli aggiornamenti
vengono scambiate solo tra due router che hanno instaurato una
relazione di adiacenza completa;
Formata l’adiacenza i router sincronizzano le proprie LSDB
tramite lo scambio di LSA;
Gli LSA vengono inviati utilizzando la tecnica del flooding verso
tutti i router della rete o dell’area;

Nelle reti multi-accesso broadcast, come ethernet, prima di stabilire la relazione di


adiacenza invece, deve avvenire l’elezione dei router DR e BDR, cioè router designato
(designated router) e router designato d'emergenza (backup designated router). Tutti i
router appartenenti a quel particolare segmento di rete LAN, formano una relazione di
adiacenza completa solo con questi due router. È il DR ad avere il compito di inoltrare a
tutti i router del segmento di rete gli LSA, da parte loro gli altri router inoltrano i messaggi
di LSA solo al router DR e BDR.
3.1.5 La struttura dell’area 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.

In sostanza un’area costituisce un confine per la propagazione degli LSA, riducendo di


conseguenza il numero di rotte da annunciare. I router appartenenti alla medesima area
devono sincronizzare la propria tabella topologica.

I protocolli link-state utilizzano un modello di instradamento ad aree con due livelli di


gerarchia:

Modello a due aree gerarchiche dei protocolli a stato del


collegamento
I protocolli a stato del collegamento suddividono la rete in aree,
utilizzando un modello a due aree gerarchiche:
◦ Dorsale o area 0 o area di transito;
◦ Area regolare;
Questo modello in OSPF è applicato rigidamente, cioè la
topologia logica e quella fisica devono adeguarsi alla
suddivisione in aree;

Dorsale o Area 0 (transit area): interconnette tutte le aree di un dominio OSPF.


Generalmente l’area 0 è formata esclusivamente da dispositivi di instradamento (router),
cioè non contiene dispositivi utente o host. Area di transito, dorsale, backbone, sono tutti
sinonimi per riferirsi all’area 0;
Area regolare: tali aree vengono utilizzate per la connessione di risorse e dispositivi
terminali. In tali aree vengono raggruppati dispositivi, utenti e risorse, appartenenti allo
stesso gruppo funzionale o alla stessa area geografica. Le aree regolari non possono in
genere essere usate come aree di transito, cioè non consentono il passaggio di traffico
diretto verso altre aree, chiamato anche traffico inter-area. Tutto il traffico inter-area deve
essere instradato da e verso l’area 0. Vi sono vari tipi di aree regolari: area standard, area
1 Questa tecnica è spesso utilizzata nel campo dell’informatica in genere, e prende il nome di “divide et impera”, consente di ridurre la
complessità dei problemi suddividendo il problema principale in tanti piccoli sotto-problemi di dimensione più piccola e pertanto più
semplici da risolvere.
stub, area totalmente stub e area parzialmente stub (NSSA). La differenza tra questi tipi di
area è nel modo in cui si propagano in esse le informazioni di instradamento e dal modo in
cui sono interconnesse alla dorsale;
Nel protocollo OSPF, il modello a due aree gerarchiche è applicato rigidamente. In questo
protocollo infatti sia le connessioni fisiche che quelle logiche devono soddisfare la
gerarchia delle aree. Praticamente, questo si traduce con il fatto che le aree regolari
devono essere direttamente interconnesse a livello fisico e logico con l’area 0. Vedremo
che nel protocollo IS-IS il modello a due livelli può essere applicato in modo più flessibile.

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.

L’approccio di suddividere la rete in aree gerarchiche, consente ai protocolli a stato del


collegamento, di scalare adeguandosi alla crescita della rete. Inoltre questo modello
consente di limitare alle singole aree l’impatto di eventuali guasti o dei problemi ai
collegamenti. Per esempio nel caso in cui si verifichi un guasto a un collegamento, i router
comincerebbero il processo di flooding, per propagare gli LSA. Grazie alla suddivisione in
aree solo i router appartenenti all’area in cui è avvenuto il guasto sarebbero interessati dal
processo di flooding, e di conseguenza l’algoritmo SPF verrebbe eseguito solo quei router.

La dimensione ottimale di un’area, quindi il numero di router che la compongono, dipende


da diversi fattori, come il protocollo a stato del collegamento utilizzato e la stabilità dei
collegamenti stessi.
3.1.6 Tipi di router OSPF

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.

Immagine 8: I diversi tipi di router OSPF evidenziati da un colore diverso.


Osservando l’immagine 9 si possono distinguere:

Router interni

Router di dorsale (di confine e interni)

Router di confine (ABR)

Router di confine di sistema autonomo (ASBR)

La cosa fondamentale da comprendere è che un router mantiene una tabella topologica


separata per ciascuna area a cui è collegato. Pertanto un ABR ha una LSBD per l’area 0 e
una per ciascuna area regolare a cui è collegato. Di conseguenza due router interni alla
stessa area avranno tabelle topologiche contenenti gli stessi dati;
3.1.7 Terminologia di OSPF

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 9: Vista generale dei termini e dei concetti utilizzati in OSPF.

Immagine 10: Definizione di Link o Collegamento OSPF, definito come canale di


comunicazione o più semplicemente come Interfaccia di un router.
Immagine 11: Definizione di Stato del collegamento (link-state) come insieme delle
informazioni che descrivono un collegamento tra due router (velocità, indirizzo della rete,
maschera ecc.).

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.

Immagine 16: Definizione di tabella di instradamento, come la struttura dati contenente i


percorsi migliori verso tutte le destinazioni conosciute.
Immagine 17: Definizione di router designato, come quel router appartenente al segmento
multiaccesso, eletto affinché crei relazioni di adiacenza con tutti i router di quel segmento.

3.1.8 Calcolo della metrica in OSPF

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.

Di seguito viene riportata una dimostrazione semplificata di come i router in figura


eseguono il calcolo dei percorsi migliori tramite l’algoritmo di Dijkstra:

Immagine 18: Rete d'esempio per mostrare il funzionamento


dell'algoritmo SPF. Le reti sono indicate con lettera minuscola in
neretto/corsivo, il valore tra parentesi indica invece il costo per quel
collegamento.

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

percorso per j “via dir4”: costo 2 – il router aggiunge la rotta;


Questa rotta è resa definitiva in quanto non può esistere un percorso attraverso la rete
con metrica migliore;
percorso per k “via dir”: costo 5 – il router aggiunge la rotta;
percorso per w “via dir”: costo 6 – il router aggiunge la rotta;

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;

Rete Costo via


w 6 dir
k 5 dir
j 2 dir
h 10 dir

Immagine 19: Lo stato dei collegamenti dopo che


il router D ha esaminato le reti direttamente
connesse.

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

percorso per j – ignorato perché connesso direttamente;


percorso per r “via C”: costo 2 + 4 = 6 – il router aggiunge la rotta;
percorso per z “via C”: costo 2 + 7 = 9 – il router aggiunge la rotta;

Rete Costo via


w 6 dir
k 5 dir
j 2 dir
h 10 dir
r 6 C
z 9 C

Immagine 20: Lo stato dei collegamenti dopo che


il router D ha esaminato l'LSA del router C, nel
caso specifico ha aggiunto le rotte verso r e z.

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);

Rete Costo via


w 6 dir
k 5 dir
j 2 dir
h 10 dir
r 6 C
z 9 C
i 7 B

Immagine 21: Lo stato dei collegamenti dopo che


D ha esaminato l'LSA del router B. Confermata la
rotta per k e aggiunta la rotta per i.

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

percorso per x “via F”: 6 + 2 = 8 – il router aggiunge la rotta;


percorso per h “via F” – ignora il valore perché direttamente connesso;
percorso per r “via F” – ignora la rotta perché confermata;
Rete Costo via
w 6 dir
k 5 dir
j 2 dir
h 10 dir
r 6 C
z 9 C
i 7 B
y 11 A
Immagine 22: Stato dei collegamenti dopo che D
x 8 F ha elaborato l'LSA dei router A e F. Confermati le
rotte verso w e r, aggiunti quelli verso x e y.
Il router, procedendo sempre per il percorso più basso esamina le rotte rimaste:
percorso per i “via B”: costo 7 – rende definitiva la rotta, perché sia LSA di B che quella
dei suoi vicini sono già state elaborate;
percorso per x “via F”: costo 8 – il router non può rendere ancora definitiva questa rotta
in quanto F, ha un vicino E per cui D non ha ancora esaminato LSA;
Il router esamina quindi l’ultima LSA rimasta quella del router E con costo base pari a 8 (si
osservi che la rotta rimane sempre “via F”, in quanto E è visto come vicino di F:

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:

Rete Costo via


w 6 dir
k 5 dir
j 2 dir
h 10 dir
r 6 C
z 9 C
i 7 B
y 10 F Immagine 23: Lo stato dei collegamenti dopo che
D ha esaminato anche l'ultimo LSA.
x 8 F
L’immagine 23 mostra la visione definitiva dal punto di vista di D dei percorsi di rete
calcolati;
In conclusione tramite l’algoritmo SPF, applicato alla tabella topologica, ciascun router,
calcola un albero di attraversamento, contenente tutti i percorsi minori attraverso la rete.
3.1.9 Struttura dei messaggi di stato del collegamento (LSA)

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;

Immagine 24: Diagramma di flusso che rappresenta le operazioni che il router


OSPF effettua alla ricezione di un LSU.

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

I router OSPF utilizzano cinque tipi principali di pacchetti:

Tipo Nome Descrizione


Utilizzato per rilevare la presenza di vicini e per instaurare
1 Hello
e mantenere le relazioni di adiacenza.
Utilizzato per sincronizzare la base di dati topologica tra i
2 Database description (DBD)
router.
Consente a un router di richiedere a un vicino, specifiche
3 Link-state request (LSR)
informazioni sullo stato dei suoi collegamenti.
Inviato dai router in risposta a una richiesta LSR. Contiene
4 Link-state update (LSU) le specifiche LSA (annuncio sullo stato del collegamento)
richieste dal vicino.
Utilizzato per riscontrare i pacchetti inviati in modo
5 Link-state acknowledgement (LSAck)
affidabile, in genere tutti tranne i pacchetti di hello.

3.2.2 Il formato dei pacchetti 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.

Quando un pacchetto IP trasporta un messaggio OSPF, il campo protocollo


dell’intestazione è impostato al valore decimale 89, che identifica appunto OSPF.

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.

Versione: Il numero di versione di OSPF utilizzata, 2 o 3;


Tipo: l’indicazione del tipo di pacchetto OSPF;
Lunghezza: la lunghezza del pacchetto OSPF in byte;
Router ID: l’identificativo del router in genere uno degli indirizzi IP delle interfacce;
Area ID: l’identificativo dell’area dove si è originato il pacchetto;

6 Nonstante quest’anomalia RIP rimane un protocollo di livello rete.


Sommatoria: sommatoria per la rilevazione degli errori di trasmissione, assicura che il
contenuto dell’intestazione sia stato correttamente trasmesso;
Tipo autenticazione: il meccanismo utilizzato per autenticare lo scambio dei pacchetti OSPF.
Il protocollo supporta attualmente tre meccanismi di autenticazione:
nessuna autenticazione, autenticazione con password in chiaro,
autenticazione MD5;
Autenticazione: i dati per l’autenticazione del pacchetto, variano in base al tipo di
autenticazione utilizzata;
Subito dopo l’intestazione del pacchetto, seguono i dati, cioè le informazioni trasportate in
base al tipo di pacchetto OSPF:
Pacchetti di Hello: l’elenco dei tutti i vicini;
Pacchetti DBD: un sommario della base di dati topologica (LSDB) che include:
l’identificativo i tutti i router conosciuti, l’ultimo numero di sequenza ed altri campi;
Pacchetti LSR: contengono il tipo di LSU che si vuole richiedere e l’identificativo del router
che la possiede;I router OSPF, prima di scambiarsi informazioni topologiche devono
instaurare con i vicini di livello tre, una relazione di adiacenza.
Pacchetti LSU: contengono le voci LSA, ciascun pacchetto LSU può contenere diverse
voci LSA;
LSAck: un pacchetto OSPF vuoto, senza dati;
3.2.3 Il protocollo di hello, ovvero l'instaurazione delle relazioni di adiacenza

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.

Una relazione di adiacenza corrisponde con l’instaurazione di una comunicazione a due


vie tra due router vicini, in modo che ciascuno di essi sia elencato nella rispettiva tabella
dei vicini dell’altro. In pratica una comunicazione bidirezionale ha luogo nel momento in cui
un router riceve un pacchetto di hello, che riporta il suo identificativo nell’elenco dei vicini.

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 *

Nel caso specifico il bit E (External Routing Capability) chiamato anche


Stub area flag, consente di stabilire se il router appartiene a un’area
stub o meno. I router che appartengono a un’area stub, non ricevono
LSA provenienti da altre aree. Questo aiuta ridurre sia il numero di LSA
inviati in flodding, sia la dimensione delle tabelle di instradamento dei
router. Le rotte infatti vengono sostituite con un’unica rotta predefinita;
3.2.4 Gli stati di OSPF

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:

Immagine 29: Formato dei messaggi DBD, database description packet.

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.

Il raggiungimento dello stato di adiacenza completo è necessario affinché i router possano


instradare il traffico.

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.

3.2.6 Il processo di flooding, mantenere le relazioni di adiacenza

Per i protocolli a stato del collegamento è fondamentale che i router mantengano


sincronizzate le basi dati di stato dei collegamenti (LSDB). Quando lo stato di un
collegamento cambia i router utilizzano il processo di flooding per notificare agli altri router
questa variazione. OSPF utilizza i messaggi LSU come meccanismo per il flooding degli
LSA.

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;

Immagine 34: Il DR inoltra a tutti i router OSPF con cui


ha formato una relazione di adiacenza l'LSU ricevuta in Immagine 35: I router del segmento broadcast,
precedenza. riscontrano al DR la ricezione dell'LSU.
Passo 3: Il processo di flooding viene esteso a tutte le interfacce dei router che si trovano
su altre reti. Nel caso in esempio i router R2 ed R3 inoltreranno sulle rispettive
inerfacce LSU ricevuta;

Immagine 36: Il processo di flooding continua su tutte le


interfacce dei router, affinchè le nuove informazioni si
propaghino per il sistema autonomo o per l'area, il più
velocemente possibile.
Passo 4: I router aggiornano la tabella topologica (LSDB) con gli LSA contenuti nel
pacchetto LSU. Quindi invocano l'algoritmo SPF per aggiornare i percorsi di rete.
Si osservi che l'algoritmo SPF non viene eseguito immediatamente dopo ogni
variazione topologica, con un ritardo configurabile, chiamato SPF delay. Questo
per evitare che collegamenti instabili possano influenzare gravemente le
prestazioni del router.
I router OSPF ogni 30 minuti, si scambiano pacchetti DBD contenenti le intestazioni degli
LSA conosciuti, tale caratteristica prende il nome di aggiornamento paranoico, e viene
effettuata per garantire che tutti i router abbiano una tabella topologica sincronizzata. Ogni
LSA ha una scadenza (età) massima di 60 minuti. Se prima della scadenza un
determinato LSA non viene aggiornato, il router lo rimuove dalla tabella topologica (LSDB).

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.

Immagine 37: Formato dell'intestazione degli LSA.

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.

Il campo a 32 bit – ma praticamente sono utilizzati solo 16 bit – LS-Sequence Number


(LS-SN), presente nell'intestazione di ciascun LSA, viene inizializzato al valore
esadecimale 0x80000001 Come sappiamo il protocollo OSPF per assicurare che tutti i
router abbiano le medesime informazioni nella tabella topologica, inviano in flood, ogni 30
minuti, i propri LSA, aumenta di uno il valore del campo LS-SN.

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.

Nell'ipotesi, comunque abbastanza improbabile, che il contatore LS-SN raggiunga il valore


0x7fffffff, per via di una rete molto stabile, l'aggiornamento successivo lo porterebbe
al valore 0x0. Il protocollo ha previsto una tale evenienza, e in questo caso il campo
LS-SN verrebbe riportato al valore iniziale 0x80000001, mentre il contatore maxage
verrebbe impostato a un'ora, facendo così prematuramente scadere tutti gli LSA.

show ip ospf database


Router#show ip ospf database

OSPF Router with ID(192.168.1.11) (Process ID 1)

Router Link States(Area 0)

Link ID ADV Router Age Seq# Checksum Link count

192.168.1.8 192.168.1.8 1381 0x8000010D 0xEF60 2


192.168.1.11 192.168.1.11 1460 0x800002FE 0xEB3D 4
192.168.1.12 192.168.1.12 2027 0x80000090 0x875D 3
192.168.1.27 192.168.1.27 1323 0x800001D6 0x12CC 3

Immagine 38: Output del comando show ip database

Link ID è l'identificativo del router che ha generato LSA;


ADV Router è l'identificativo del router che ha annunciato LSA;
In genere i precedenti identificatori coincidono;
Osservando la prima voce LSA nell'immagine 38 si può ossevare che il router con
identificativo 192.168.1.8 è stato aggiornato 269 volte, numero di sequenza (Seq#) pari
a 0x10d, che in decimale è per l'appunto 269, il prossimo aggiornamento avverrà tra poco
meno di 7 minuti, infatti LSA ha un'età di 1381 secondi, pari a circa 23 minuti.
3.2.8 Verifica del flusso dei pacchetti OSPF

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:

debug ip ospf packet


! Numero sequenza, data e ora, e fuso orario
01924: Jul 21 19:01:40.598 EST: OSPF: rcv. v:2 t:4 l:64 rid:10.1.3.3
aid:0.0.0.0 chk:0 aut:2 keyid:1 seq:0x1C0 from FastEthernet2/0

! 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

! descrizione dello stato di un collegamento sull'area 0(aid: 0.0.0.0) con


! sommatoria di controllo pari a 0, autenticazione MD5 (aut: 2) che utilizza
! la chiave con indice 1 (keyid: 1), numero di sequenza, in esadecimale,
! pari a 0x1C1 (seq: 0x1C1), ricevuto sull'interfaccia Fast Ethernet 2/0.
001926: Jul 21 19:01:42.638 EST: OSPF: rcv. v:2 t:5 l:564 rid:10.1.3.3
aid:0.0.0.0 chk:0 aut:2 keyid:1 seq:0x1C1 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.

Ciascun campo mostrato dal comando è descritto nella seguente tabella:


Campo Descrizione
v Indica la versione del pacchetto OSPF.
t Indica il tipo di pacchetto OSPF:
1: hello;
2: DBD;
3: LSR;
4: LSU;
5: LSAck.
l Specifica la lunghezza del pacchetto OSPF in byte.
rid L'identificativo del router.
aid L'identificativo dell'area.
chk Sommatoria di controllo del pacchetto.
aut Meccanismo di autenticazione utilizzato:
0: nessuna autenticazione;
1: autenticazione con password in chiaro;
2: autenticazione MD5.
auk Chiave utilizzata, se il meccanismo di autenticazione è tipo 1.
keyid L'indice della chiave, se il meccanismo di autenticazione è tipo 2 (MD5).
seq Numero di sequenza, utilizzato solo quando il meccanismo di autenticazione è MD5.

3.3 Implementazione e verifica di OSPF


3.3.1 Configurazione di base di OSPF in modalità ad area singola a multi -area

Il processo di configurazione di base di OSPF in modalità ad area singola, consiste di due


passi principali:
Passo 1: Abilitare il processo OSPF sul router utilizzando il comando:
Router(config)#router ospf id-processo [vrf nome-vpn]
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.
vrf nome-vpn Specifica il nome dell'istanza VRF (VPN Routing Forwarding) da
associare al processo OSPF.

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.

Dalla versione di 12.3(11)T dell'IOS Cisco, e su alcune specifiche versioni


precedenti, il processo OSPF può essere attivato direttamente interfaccia per
interfaccia, utilizzando il comando:
Router(config-if)#
ip ospf id-processo area id-area [secondaries none]

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.

3.3.2 Esempio di configurazione base di OSPF in modalità area singola

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.

Nella rete sono presenti un segmento broadcast (fastethernet) e un segmento


punto-punto (seriale). Le interfacce dei tre router sono tutte sull'area 0.

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

Immagine 41: Configurazione del router A.

Nella configurazione del router A, è stato specificato un indirizzo di rete generico. In


questo modo il processo OSPF 1 viene attivato su tutte le interfacce appartenenti alla rete
10.0.0.0/8 o a una sua sotto-rete.

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

Immagine 42: Configurazione del router B.

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

Immagine 43: Configurazione del router C.


Nella configurazione del router C invece è stata specificata la sottorete a cui appartiene
l'interfaccia sulla quale si vuole attivare il processo OSPF. Questa tecnica è sicuramente la
più comune.

Si osservi che l'indirizzo e la wildcard-mask specificati nel comando network non


servono ad aggregare le rotte. L'unico scopo del comando network è quello di specificare
su quali interfacce attivare il processo OSPF.
3.3.3 Esempio di configurazione base di OSPF multi -area

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.

La configurazione del router A è la stessa dell'esempio precedente. Quella del router C


invece differisce solo nella voce network, dove viene specificata l'area 0. Sicuramente
quella più importante è quella del router B, l'interfaccia fa0/0 è sull'area 0 mentre
l'interfaccia s0/0 è sull'area 1. In questo caso utilizzeremo il comando ip ospf sulle
rispettive interfacce:

Configurazione router B - Multiarea


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-if)#ip ospf 50 area 0
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)#ip ospf 50 area 1
B(config-if)#router ospf 50

Immagine 45: Configurazione multiarea del router B.

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.

Su quanto è stato detto ci sono alcune considerazioni da fare:


Le interfacce di loopback sono interfacce virtuali, quindi non possono mai disattivarsi
(passare in stato down) per causa di eventi esterni o problemi ai collegamenti. Le interfacce
fisiche rimangono attive solo se viene rilevato il segnale portante. Proprio per questo gli
indirizzi delle interfacce di loopback sono preferiti dal processo OSPF a quelli delle
interfacce fisiche, indipendentemente dal fatto che queste ultime siano configurate con
indirizzi IP numericamente più elevati;
Impostare l'identificativo tramite il comando router-id è considerata la procedura
migliore ed è sempre da preferire alle altre. Tuttavia questo comando è relativamente
giovane, cioè è stato inserito nelle versioni più recenti di IOS, pertanto router un po' datati
potrebbero non supportarlo. In questo caso configurare l'identificativo tramite loopback.
Questa procedura ha anche il vantaggio di permettere di raggiungere il dispositivo tramite
un solo indirizzo IP, indipendentemente da quelli impostati sulle interfacce;
Una volta che l'identificativo del router è stato fissato, questo non cambierà, anche se
l'interfaccia fisica da cui questo identificativo è stato stabilito si dovesse disattivare.
L'identificativo OSPF del router può cambiare solo se il processo OSPF o il router viene
riavviato.
Le interfacce di loopback vengono create automaticamente nel momento in cui sono
invocata per la prima volta. Pertanto è possible assegnare l'identificativo OSPF a un router
con interfaccia di loopback tramite il comando:
Router(config)#interface loopback numero

Si osservi che le interfacce di loopback di ciascun router dovrebbero essere configurate su


una sotto-rete differente.

Se il processo OSPF è in esecuzione è necessario riavviarlo. Un modo veloce per


eseguire il riavvio di OSPF è tramite il comando clear ip ospf process.
È importante inoltre che gli identificativi assegnati ai router siano unici per il sistema
autonomo, indipendentemente da come essi sono configurati.
3.3.5 Verificare l'identificativo OSPF assegnato al router

Per verificare quale identificativo è stato assegnato al router è possibile utilizzare il


comando show ip ospf. Il comando visualizza altre informazioni sul processo OSPF,
tra le quali, le impostazioni dei contatori e il numero di volte che è stato eseguito
l'algoritmo SPF. È possibile anche specificare ulteriori parametri che consentono di
specificare il tipo di informazioni da visualizzare.

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

Immagine 46: Output del comando show ip ospf.

3.3.6 Verifica del funzionamento di OSPF

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;

Comando show ip route ospf


RTA#show ip route ospf
O IA 6.0.0.0/8 [110/65] via 5.0.0.2, 00:00:18, Serial1
O*N2 0.0.0.0/0 [110/1] via 5.0.0.2, 00:00:18, Serial1

Immagine 47: Output del comando show ip route ospf.

show ip ospf interface [tipo numero] [brief]


Visualizza le interfacce su cui il processo OSPF è stato attivato. È
possibile restringere l'output a una interfaccia in particolare. Il comando
visualizza inoltre su quali aree OSPF le interfacce sono state configurate
e alcune impostazioni del protocollo, come l'identificativo del processo,
l'identificativo del router, il tipo di rete, le impostazioni dei contatori e le
adiacenze instaurate.

Comando show ip ospf interface


Router1# show ip ospf interface ethernet 0
Ethernet0 is up, line protocol is up
Internet Address 10.10.10.1/24, Area 0
Process ID 1, Router ID 192.168.45.1, Network Type BROADCAST, Cost: 10
Transmit Delay is 1 sec, State BDR, Priority 1
Designated Router (ID) 172.16.10.1, Interface address 10.10.10.2
Backup Designated router (ID) 192.168.45.1, Interface address 10.10.10.1
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:06
Index 1/1, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 2, maximum is 2
Last flood scan time is 0 msec, maximum is 4 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 172.16.10.1 (Designated Router)
Suppress hello for 0 neighbor(s)

Immagine 48: Output del comando show ip ospf interface.

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;

Comando show ip ospf neighbor


Router#show ip ospf neighbor

ID Pri State Dead Time Address Interface


10.199.199.137 1 FULL/DR 0:00:31 192.168.80.37 Ethernet0
172.16.48.1 1 FULL/DROTHER 0:00:33 172.16.48.1 Fddi0
172.16.48.200 1 FULL/DROTHER 0:00:33 172.16.48.200 Fddi0
10.199.199.137 5 FULL/DR 0:00:33 172.16.48.189 Fddi0

Immagine 49: Esempio di output del comando show ip ospf neighbor.

FULL: significa che i router hanno effettuato correttamente la fase di


exchange;
DROTHER: significa che quel router adiacente non è un DR o un
BDR;

Comando show ip ospf neighbor detail


Router#show ip ospf neighbor detail

Neighbor 192.168.5.2, interface address 10.225.200.28


In the area 0 via interface GigabitEthernet1/0/0
Neighbor priority is 1, State is FULL, 6 state changes
DR is 10.225.200.28 BDR is 10.225.200.30
Options is 0x42
LLS Options is 0x1 (LR), last OOB-Resync 00:03:08 ago
Dead timer due in 00:00:36
Neighbor is up for 00:09:46
Index 1/1, retransmission queue length 0, number of retransmission 1
First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)
Last retransmission scan length is 1, maximum is 1
Last retransmission scan time is 0 msec, maximum is 0 msec

Immagine 50: Esempio di output del comando show ip ospf neighbor detail.

3.3.7 Comandi clear e debug

Durante le operazioni di verifica, ricerca e correzione errori (troubleshooting), in alcuni casi


oltre i comandi show è possibile utilizzare i comandi debug associati ad alcuni comandi
clear.
Comando Descrizione
clear ip route [*|a.b.c.d] Consente di eliminare tutte le rotte dalla tabella di instradamento,
costringendo il router a dover ricalcolare le rotte. È possibile specificare
anche una particolare rotta da eliminare.
debug ip ospf Attiva il debug di eventi e pacchetti ospf, è possibile abilitare
selettivamente il debug solo di alcune informazioni:
adj la formazione delle adiacenze OSPF
events eventi generali di OSPF
flood il processo di flooding di OSPF
hello il protocollo di hello di OSPF
lsa-generation la generazione degli LSA
packet i pacchetti di OSPF
retransmission gli eventi di ritrasmissione
spf l'algoritmo SPF
tree l'albero generato dall'algoritmo SPF

3.4 Tipi di rete OSPF


3.4.1 Tipi di rete supportati da OSPF

Il comportamento di OSPF, in particolare il processo di creazione delle adiacenze, è


strettamente legato al tipo di segmento di rete su cui l'interfaccia del router (link) è
collegata. Poiché le aree OSPF possono essere formate da differenti tipi di reti è
necessario comprendere come varia il comportamento di OSPF su ciascuna di queste per
poter configurare il processo opportunamente. Infatti le impostazioni predefinite non sono
sempre applicabili su alcune topologie di rete.

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;

Immagine 51: Rappresentazione delle reti punto-punto.


Derivate direttamente da queste, ci sono le reti punto a multi-punto, in cui un
nodo, tramite collegamenti punto-punto è collegato ad altri nodi;

Immagine 52: Rappresentazione delle reti punto a punto-multiplo.

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.

Immagine 53: Rappresentazione rete broadcast (multiaccesso).

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;

Immagine 54: Rappresentazione rete non broadcast multi-accesso.

3.4.2 Relazione di adiacenza su segmenti di rete punto -punto

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.

Immagine 55: Rappresentazione delle reti punto-punto.

Su queste reti il protocollo OSPF funziona in modo abbastanza trasparente, in quanto è in


grado di rilevare automaticamente il tipo di collegamento (link). Le relazioni di adiacenza
sono instaurate dinamicamente dai router, tramite lo scambio di pacchetti di hello,

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.

OSPF sulle reti punto-punto


Si tratta generalmente di interfacce seriali su cui sono utilizzati
protocolli come PPP o HDLC;
In alcuni casi si può trattare di sotto-interfacce punto-punto su
collegamenti Frame-Relay o ATM;
Non è richiesta l'elezione dei router DR o BDR;
Il protocollo OSPF è in grado di rilevare automaticamente tali
collegamenti;
A livello tre i pacchetti vengono inviati verso l'indirizzo multicast
224.0.0.5.

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

Le reti multi-accesso possono supportare un numero molto elevato di dispositivi per


segmento. Su tali reti il comportamento dei router OSPF, di formare con ciascun vicino
una relazione di adiacenza per poter sincronizzare le proprie basi di dati dei collegamenti,
non è sostenibile. Il numero di adiacenze che ciascun router dovrebbe instaurare su
segmenti multi-accesso cresce infatti con il quadrato del numero di router presenti,
secondo la formula:

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.

L'utilizzo del DR e del BDR permettono di:


Ridurre il traffico dovuto allo scambio di messaggi di aggiornamento: DR e BDR agiscono
come punti centrali per lo scambio di informazioni sullo stato del collegamento. I
router presenti su un segmento multi-accesso, non scambiano mai direttamente
tra loro informazioni LSA, piuttosto ciascuno di essi invia le proprie LSA verso il
DR e il BDR. Il DR rappresenta in pratica il segmento multi-accesso di broadcast,
nel senso che invia le informazioni sullo stato dei collegamenti di ciascun router
del segmento a tutti gli altri router delle stesso. Questo processo riduce
significativamente il traffico di rete.
Gestire la sincronizzazione delle informazioni sullo stato dei collegamenti: DR e BDR
assicurano inoltre che tutti i router del segmento abbiano le stesse informazioni
sullo stato dei collegamenti.

Immagine 56: Sui segmenti di rete multi-accesso broadcast, i router formano relazioni di
adiacenza esclusivamente con i router DR e BDR.

OSPF sulle reti multia-ccesso broadcast


In genere si tratta di reti LAN su tecnologia ethernet o, più
raramente, token-ring;
Su questo tipo di rete è necessaria l'elezione di un router DR e di
un BDR;
I router sul segmento multi-accesso broadcast formano adiacenze
esclusivamente con il DR e il BRD;
I pacchetti destinati verso DR e BRD vengono inviati verso
l'indirizzo multicast 224.0.0.6;
I pacchetti provenienti dal DR diretti verso gli altri router della rete
vengono invece inviati verso l'indirizzo multicast 224.0.0.5;

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

Le condizioni per cui un router diventa DR o BDR sono le seguenti:


Diventa DR il router con valore di priorità più elevato per il segmento multi-accesso;
Diventa BDR il router con il secondo valore di priorità più elevato per il segmento
multi-accesso;
Il valore di priorità predefinito è 1 e in caso di parità il ruolo viene deciso in base
all'identificativo del router:
Diventa DR per il segmento il router con l'identificativo più alto;
Diventa BDR per il segmento il router con il secondo identificativo più alto;
Quando un router ha priorità paria 0 non può divenire né DR né BDR;
Una volta che l'elezione ha avuto luogo, e i ruoli DR e BRD sono stati stabiliti, questi non
potranno essere cambiati, neanche in presenza di un router aggiunto successivamente con
valore di priorità più elevato. L'unica condizioni per la quale DR e BRD possono cambiare è
quando uno dei due router fallisce. Nel caso in cui fallisca il DR il BDR diviene il nuovo DR
e si procede all'elezione del nuovo BDR. Se invece è il BDR a fallire si procede
semplicemente ad eleggerne un altro.
Il BDR utilizza un contatore chiamato wait timer per verificare la funzionalità del BDR. Se il
BDR ha rilevato che il DR non inviato LSA per un periodo più elevato di wait timer, ne
prenderà il suo posto.

Per modificare la priorità OSPF sull'interfaccia di un router, utilizzare il comando ip ospf


priority. Per impostazione predefinita la priorità è 1 e può essere impostata entro
l'intervallo da 0 a 255. Quando la priorità di un'interfaccia è impostata a 0, il router non
parteciperà al processo di elezione. Di seguito un esempio di configurazione:
Router(config)#interface FastEthernet 0/0
Router(config-if)#ip ospf priority 10

Il comando ip ospf priority


Questo è un comando della modalità configurazione interfaccia;
Differenti interfacce dello stesso router possono essere
configurate con valori diversi;
Il valore predefinito è 1, possono essere assegnati valori compresi
tra 0 e 255;
Quando viene impostata una priorità pari a 0, il router non
parteciperà al processo di elezione per quel segmento;
Un router che non è né DR né BDR è chiamato DROTHER;
Si osservi che l'effetto dovuto alla variazione di priorità si avrà solo in caso di fallimento del
DR. In pratica un DR non perde il suo ruolo solo perché un altro router si annuncia con
una priorità più elevata.
3.4.5 Relazione di adiacenza su segmenti multi -accesso non broadcast

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.

Immagine 58: Problemi di raggiungibilità di OSPF sulle reti multi-accesso non


broadcast.

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.

Questo è un processo molto dispendioso in termini di CPU utilizzata.

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

Gran parte del funzionamento di OSPF si basa sull'instaurazione delle relazioni di


adiacenza, tramite messaggi multicast. Se la sottostante infrastruttura di rete non supporta
la comunicazione multicast o broadcast questo si traduce in un cattivo funzionamento del
protocollo. Tra l'altro OSPF si comporta esattamente allo stesso modo su tutti i tipi di rete
multi-accesso sia che supportino o meno i broadcast, provando a instaurare le relazioni di
adiacenza ed eleggere i router DR e un BDR.
Il comportamento di OSPF sulle reti multi-accesso che non supportano la
comunicazione broacast
OSPF non fa alcuna differenza tra reti multi-accesso che supportano la
comunicazione broadcast e quelle che non la supportano;
Affinché i router OSPF possano instaurare correttamente le relazioni di adiacenza e
provvedere all'elezione dei router DR e BDR è necessario che l'infrastruttura a livello
data-link abbia una topologia magliata chiusa;
Nella stragrande maggioranza delle applicazioni pratiche le topologie magliate chiuse
sono molto rare, preferite per motivi soprattutto economici a topologie hub-and-spoke;
OSPF, sulle comuni reti NBMA il protocollo OSPF non è in grado di instaurare
correttamente relazioni di adiacenza.

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.

Le reti Frame-Relay consentono di interconnettere i siti remoti in diversi modi. Per


impostazione predefinita le interfacce che suppotano Frame-Relay sono impostate in
modalità multi-punto. Le possibili topologie Frame-Relay sono le seguenti:
Hub-and-Spoke: è sicuramente la più comune delle topologie Frame-Relay, è una particolare
topologia magliata aperta, in cui tutti i nodi sono direttamente collegati con un
unico nodo. A volte è anche chiamata topologia a stella. Il sito centrale detto
hub, fornisce in genere servizi e applicazioni per tutti gli altri siti detti spoke. È
la topologia di rete più economica, in quanto richiede il numero minore di
circuiti virtuali, per interconnettere tutti gli altri nodi in modo efficiente. Sul sito
centrale in genere viene utilizzata una connessione multi-punto, cioè tutte le
connessioni verso i siti remoti sono concentrati su un'unica interfaccia.

Immagine 59: Topologia Hub-and-spoke, i nodi sono interconnessi


con un nodo centrale.
Magliata Chiusa:chiamata anche full-mesh. In questo caso tutti router hanno connessione
diretta con tutti gli atri. Questa topologia non è molto usata soprattutto se i
nodi da interconnettere sono tanti, per via del costo. Il numero di
collegamenti necessari per interconnettere i nodi ( n ) cresce col loro
quadrato, ed è dato dall'espressione:

n n−1
2

Immagine 60: Topologia full-mesh, ciascun nodo è direttamente


interconnesso algli altri.

Magliata aperta: anche partial-mesh, è un compromesso tra la topologia magliata chiusa e


quella hub-and-spoke.

Immagine 61: Topologia partial-mesh, un compromesso tra


hub-and-spoke e full-mesh.

3.4.8 Modalità di funzionamento di OSPF su reti NBMA

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;

3.5 Implementazione di OSPF sulle reti NBMA


3.5.1 Configurazione del tipo di rete OSPF

Per selezionare il tipo di rete a cui è collegata un'interfaccia è possibile utilizzare il


comando ip ospf network in modalità configurazione interfaccia:

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;

Comando show ip ospf interface


Router(config)#int s0/0
Router(config-if)#encapsulation frame-relay
Router(config-if)#ip ospf network broadcast

Immagine 62: Esempio di configurazione di OSPF su Frame-Relay, topologia full-mesh in modalità broadcast.

L'immagine 62 mostra un esempio di configurazione di router Frame-Relay, in una


topologia magliata chiusa. L'utilizzo della modalità broadcast di Cisco evita di dover
elencare staticamente tutti vicini su ciascun router. L'interfaccia si comporta come se il
router fosse connessa a un segmento LAN. Poiché avviene l'elezione del DR e del BDR la
topologia deve essere magliata chiusa o, in caso contrario è necessario pilotare l'elezione
affinché venga eletto DR il router direttamente collegato a tutti gli altri, modificando la
priorità con il comando ip ospf priority. Il tipo di rete OSPF dovrebbe essere
impostata allo stesso modo sulle interfacce dei router connesse al segmento NBMA,
altrimenti potrebbero verificarsi problemi nell'instaurazione delle relazioni di adiacenza.
3.5.2 Configurazione di OSPF in modalità non-broadcast

La modalità non-broadcast di OSPF, è quella predefinita su alcune interfacce seriali dei


router Cisco. In questa modalità OSPF simula un comportamento broadcast su una rete
non-broadcast. L'elezione dei DR e del BRD è necessaria. Questa modalità viene
utilizzata generalmente su topologie magliate chiuse, per facilitare l'instaurazione delle
relazioni di adiacenza. Se la topologia non è magliata chiusa, è necessario pilotare
l'elezione in modo che diventi DR quel router che ha completa connettività con tutti gli altri
del segmento NBMA. La modalità non-broadcast richiede che le interfacce dei router
collegati al segmento NBMA si trovino sulla stessa sotto-rete IP, ma le adiacenze vanno
configurate manualmente sul DR.

Il comportamento di OSPF in modalità non-broadcast


Simula su una rete non-broadcast il comportamento broacast di OSPF, forzando l'interfaccia WAN
a comportarsi come un'interfaccia LAN;
Tutte le interfacce seriali dei router collegate al segmento NBMA appartengono alla stessa
sotto-rete IP;
non-broadcast è il comportamento predefinito di OSPF su reti Frame-Relay, ATM e X.25;
L'elenco dei vicini deve essere configurato staticamente su ciascun router;
Gli LSA vengono duplicati su ciascun circuito virtuale, così da simulare la comunicazione
broadcast;
Questa modalità è prevista nello standard RFC-2328;
Il processo di flooding richiede che tutti i pacchetti LSU vengano replicati su ogni circuito
virtuale a cui è collegata l'interfaccia. Gli aggiornamenti vengono inviati a ciascun vicino
definito staticamente nella tabella delle adiacenze.

Immagine 63: Quando OSPF è configurato in modalità non-broadcast, tutte le


interfacce devono essere configurate sulla stessa sottorete IP.

La modalità non-broadcast è quella più efficiente quando il numero di router nel


segmento NBMA non è alto, richiede infatti, una larghezza di banda relativamente bassa.

La modalità non-broadcast è quella predefinita per reti Frame-Relay, ATM e X.25.


3.5.3 Utilizzo del comando neighbor in OSPF

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.

L'immagine 64 mostra un esempio di una rete NBMA in cui il funzionamento di OSPF è


stato impostato in modalità non-broadcast.
Immagine 64: Rete NBMA magliata aperta. Le interfacce collegate alla nuvola sono
sulla stessa sottorete.

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

Immagine 65: Configurazione OSPF del router A.

Poiché la modalità non-broadcast è quella predefinita, il comando ip ospf network


non-broadcast non appre nella configurazione del router A nell'immagine 65.

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

Riprendendo lo schema topologico dell'esempio precedente, il router A ha formato tre


adiacenze, con i router B e C sul segmento NBMA, e con il router D sul segmento LAN.
Per visualizzare adiacenze OSPF e il loro stato è possibile utilizzare il comando:
show ip ospf neighbor [tipo numero] [id-vicino] [detail]

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.

Comando sh ip ospf neighbor


A#show ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface


192.168.1.3 1 FULL/DROTHER 00:01:46 192.168.1.3 Serial0/0
192.168.1.2 1 FULL/DROTHER 00:01:46 192.168.1.2 Serial0/0
172.17.0.1 1 FULL/BDR 00:00:38 172.16.0.1 FastEthernet0/0

Immagine 66: Output del comando show ip ospf neighbor sul router A dell'esempio precedente.

L'interfaccia s0/0 è collegata tramite la nuvola frame-relay al router B e C. L'immagine 66


mostra per questi router la dicitura FULL/DROTHER. Con FULL si indica che l'adiacenza
instaurata è completa, mentre DROTHER indica che i vicini non sono né DR né BDR.
Questo perché per il segmento NBMA il router A è DR, non esiste alcun BDR.

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

Il problema principale della modalità non-broadcast è sicuramente una bassa immunità ai


guasti, dovuto al ruolo fondamentale del router DR. Implementare una rete magliata
chiusa per superare questo problema può divenire un'operazione economicamente
insostenibile per qualunque azienda.

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.

Il comportamento di OSPF in modalità point-to-multipoint


Tratta la rete NBMA come un'insieme di collegamenti punto-punto;
Consente di superare i problemi di OSPF su topologie di rete a stella o magliate aperte;
Non richiede l'elezione del DR, tuttavia consente di configurare il segmento NBMA su
un'unica sottorete IP;
La rilevazione delle adiacenze viene effettuata dinamicamente tramite scambio di
messaggi di hello, che per impostazione predefinita avviene ogni 30 secondi;
Nelle reti di grandi dimensioni la modalità point-to-multipoint riduce il numero di circuiti
virtuali necessari, poiché non è richiesto che tutti i router abbiano connettività completa
con almeno un router, questo a differenza della modalità non-broadcast. Più in generale la
modalità punto a punto-multiplo ha le seguenti caratteristiche:
Non è richiesta una topologia magliata chiusa: i collegamenti sono trattati come se
fossero punto-punto, i router non direttamente connessi possono essere raggiunti tramite i
circuiti virtuali dei router intermedi. I router dell'esempio precedente possono essere
configurati in modalità punto a punto-multiplo:

Immagine 67: Questa rete si presta bene per la configurazione di OSPF in modalità punto
a punto-multiplo.

Non è richiesto che i vicini vengano configurati staticamente: nella modalità


non-broadcast la configurazione manuale dei vicini, almeno sul DR, è necessaria per
simulare il processo di rilevazione dei vicini e agevolare l'instaurazione delle relazioni di
adiacenza, in questo modo il protocollo può passare all'elezione (pilotata) del router DR.
Poiché nella modalità punto a punto-multiplo tutti i collegamenti sono trattati come
punto-punto, i pacchetti di hello vengono inviati indipendentemente su ciascun circuito
virtuale, consentendo la rilevazione dinamica dei vicini;
Utilizzo di un'unica sotto-rete IP: anche in questo caso è possibile configurare i router su
un'unica sottorete IP;
LSA duplicati: sia in modalità non-broadcast che punto a punto-multiplo l'infrastruttura di
rete sottostante non consente l'invio di broadcast o multicast. Per aggirare questo problema
il router è costretto a duplicare su ciascun circuito virtuale i messaggi LSU contenenti gli
LSA. La differenza tra la modalità non-broadcast e punto a punto-multiplo è che nel primo
caso è il router DR a gestire le adiacenze, nel secondo caso ciascun router gestisce le
adiacenze indipendentemente, con un conseguente aumento di pacchetti trasmessi;
L'immagine 68 mostra la configurazione in modalità punto a punto-multiplo del router A

Configurazione router A in modalità punto a multi-punto


A(config)#int s0/0
A(config-if)#ip ospf network point-to-multipoint
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
! rimuovere i comandi neighbor della precedente
! configurazione
A(config-router)#no neighbor 192.168.1.2 priority 0
A(config-router)#no neighbor 192.168.1.3 priority 0

Immagine 68: Configurazione OSPF in modalità punto a punto-multiplo del router A.

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:

Comando sh ip ospf interface


A#show ip ospf interface serial 0/0
Serial0/0 is up, line protocol is up
Internet Address 192.168.1.1/16, Area 0
Process ID 100, Router ID 192.168.1.1, Network Type POINT_TO_MULTIPOINT, Cost: 64
Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT,
Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
oob-resync timeout 120
Hello due in 00:00:13
Index 2/2, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 4 msec
Neighbor Count is 2, Adjacent neighbor count is 2
Adjacent with neighbor 192.168.1.3
Adjacent with neighbor 192.168.1.2
Suppress hello for 0 neighbor(s)

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.

Le impostazioni predefinite dei contatori di hello e dead per le modalità


point-to-multipoint e non-broadcast sono rispettivametne 30 e 120 secondi,
mentre per le modalità point-to-point e broadcast sono 10 e 40 secondi.
3.5.6 Configurazione di OSPF in modalità punto a punto -multiplo non-broadcast

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.

Il comportamento di OSPF in modalità point-to-multipoint non-broadcast


È un'estensione Cisco alla modalità punto a punto-multiplo prevista da RFC;
L'elenco dei vicini deve essere configurato staticamente, come nella modalità
non-broadcast;
Non prevede l'elezione dei router DR o BRD, come nella modalità punto a punto-multiplo;
Utilizzata in casi particolari quando con la modalità punto a punto-multiplo i router OSPF
non riescono a instaurare dinamicamente le relazioni di adiacenza;

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.

Utilizzando le sotto-interfacce è possibile aggirare i problemi di OSPF su reti NBMA,


suddividendo il segmento in un'insieme di collegamenti virtuali punto-punto, ciascuno dei
quali richiede una sotto-rete IP.

Per definire una sotto-interfaccia si può utilizzare il comando interface serial:

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.

L'interfaccia fisica seriale viene vista come un'insieme di interfacce logiche;


Per ciascuna sotto-interfaccia è necessario dedicare una sotto-rete IP;
È necessario definire se la sotto-interfaccia è di tipo punto-punto o multi-punto;
La modalità operativa predefinita di OSPF su sotto-intefacce Frame-Relay punto-punto è
punto-punto, mentre su sotto-interfacce Frame-Relay multi-punto è non-broadcast. La
modalità non-broadcast è la modalità OSPF predefinita anche nel caso generale di
interfaccia Frame-Relay.
3.5.8 Configurazione delle sotto-interfacce punto-punto

In modalità punto-punto, ciascun circuito virtuale, permanente o commutato, viene


associato a un'unica sotto-interfaccia.
Router(config)#
interface serial numero.sotto-interfaccia point-to-point
Ciascun circuito virtuale permanente (PVC) o commutato (SVC) viene associato a una
sotto-interfaccia;
Sulle sotto-interfacce punto-punto frame-relay (encapsulation frame-relay), per
impostazione predefinita OSPF opera in modalità punto-punto (proprietaria Cisco):
Le adiacenze sono instaurate dinamicamente, quindi non è necessaria la
configurazione manuale dei vicini;
Non avviene alcuna elezione dei router DR e BDR;
Le sotto-interfacce punto-punto (point-to-point) hanno le stesse proprietà e caratteristiche
dell'interfaccia fisica su cui sono state definite. Quando OSPF viene utilizzato su
sotto-interfacce punto-punto, il router instaura le adiacenza dinamicamente, quindi non è
necessario configurarle manualmente, inoltre non è necessaria l' elezione di DR o BRD.

La modalità punto-punto di OSPF è utilizzata quando ci sono solo due nodi da


interconnettere ed è implementata utilizzando sotto-interfacce punto-punto. Ciascuna
connessione punto-punto deve risiedere sulla propria sotto-rete IP.

Nell'immagine 70, l'interfaccia seriale del router A, è configurata utilizzando


sotto-interfacce punto-punto. Nel caso specifico, sebbene tale router sia connesso alla
nuvola Frame-Relay tramite un'unica interfaccia fisica, a livello logico esistono due
connessioni una per ciascun circuito virtuale. Ogni connessione logica (sotto-interfaccia)
risiede su una sottorete IP, e consente a OSPF di operare in modalità punto-punto.

Immagine 70: Sul router A sono state configurate due sotto-interfacce punto-punto

3.5.9 Configurazione delle sotto-interfacce multi-punto

Quando una sotto-interfaccia è definita come multi-punto (multipoint) è possibile


associargli più connessioni logiche, ad esempio, nel caso di Frame-Relay, più circuiti
virtuali.
Router(config)#
interface serial numero.sotto-interfaccia multipoint
A ciascuna sotto-interfaccia multi-punto è possibile associare più di un circuito virtuale
permanente (PVC) o commutato (SVC);
Sulle sotto-interfacce multi-punto frame-relay (encapsulation frame-relay), per
impostazione predefinita OSPF opera in modalità non-broadcast (standard RFC):
Le adiacenze devono essere configurate manualmente con il comando neighbor;
Avviene l'elezione dei router DR e BDR;
Per impostazione predefinita OSPF opera in modalità non-broadcast sulle sotto-interfacce
multi-punto Frame-Relay (incapsulazione frame-relay encapsulation frame-relay),
questa modalità richiede che l'elenco dei vicini venga configurato staticamente e inoltre
avrà luogo l'elezione dei router DR ed eventualmente BRD.

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;

Immagine 71: Sul router A è stata configurata una sotto-interfaccia multi-punto.

Per impostazione predefinita, OSPF è impostato in modalità non-broadcast sulle


interfacce multi-punto.
3.5.10 Sommario sul funzionamento di OSPF su topologie NBMA

La tabella seguente riassume le principali modalità di funzionamento e le caratteristiche di


OSPF in base alle modalità di funzionamento:

Topologia NBMA Intervallo Relazioni di RFC o


Modalità OSPF Indirizzamento
preferita di Hello adiacenza Cisco
Dinamiche, con
broadcast I nodi sono sulla
Magliata chiusa 10 Sec. elezione dei Cisco
stessa sotto-rete IP
DR/BDR.
Manuali, con
non-broadcast I nodi sono sulla
Magliata chiusa 30 Sec. elezione dei RFC
stessa sotto-rete IP
DR/BDR.
Topologia NBMA Intervallo Relazioni di RFC o
Modalità OSPF Indirizzamento
preferita di Hello adiacenza Cisco
Magliata aperta o Dinamiche,
point-to-multipoint I nodi sono sulla
stella 30 Sec. nessuna RFC
stessa sotto-rete IP
(hub-and-spoke) elezione.

point-to-multipoint Magliata aperta o a Manuali,


I nodi sono sulla
broadcast stella 30 Sec. nessuna Cisco
stessa sotto-rete IP
(hub-and-spoke) elezione.
Magliata aperta o a
stella Una sotto-rete IP Dinamiche,
point-to-point (hub-and-spoke), per ciascuna 10 Sec. nessuna Cisco
usando le sotto-interfaccia elezione.
sotto-interfacce

3.5.11 Analisi del protocollo di hello, come OSPF instaura le relazioni di adiacenza

Comprendere il protocollo di hello e come OSPF instaura le relazioni di adiacenza, è


importante soprattutto per le operazioni di troubleshooting (ricerca e risoluzione dei
problemi). È possibile analizzare in dettaglio il processo di instaurazione delle adiacenze e
i pacchetti che i router si scambiano attivando il debug delle adiacenze, tramite il comando
debug ip ospf adj.

Comando debug ip osp adj


OSPF: Interface FastEthernet0/0 going Up
OSPF: Build router LSA for area 0, router ID 172.16.0.1, seq 0x80000001
OSPF: Rcv pkt from FastEthernet0/0 src 172.16.0.2 dst 224.0.0.5 id 192.168.1.1 type 5 if_state 2 :
ignored due to unknown neighbor
OSPF: 2 Way Communication to 192.168.1.1 on FastEthernet0/0, state 2WAY
OSPF: Backup seen Event before WAIT timer on FastEthernet0/0
OSPF: DR/BDR election on FastEthernet0/0
OSPF: Elect BDR 172.16.0.1
OSPF: Elect DR 192.168.1.1
OSPF: Elect BDR 172.16.0.1
OSPF: Elect DR 192.168.1.1
DR: 192.168.1.1 (Id) BDR: 172.16.0.1 (Id)
OSPF: Send DBD to 192.168.1.1 on FastEthernet0/0 seq 0x1147 opt 0x52 flag 0x7 len 32
OSPF: Rcv DBD from 192.168.1.1 on FastEthernet0/0 seq 0x25BC opt 0x52 flag 0x7 len 32 mtu 1500 state
EXSTART
OSPF: NBR Negotiation Done. We are the SLAVE
OSPF: Send DBD to 192.168.1.1 on FastEthernet0/0 seq 0x25BC opt 0x52 flag 0x2 len 52
OSPF: Rcv DBD from 192.168.1.1 on FastEthernet0/0 seq 0x25BD opt 0x52 flag 0x3 len 112 mtu 1500 state
EXCHANGE
OSPF: Send DBD to 192.168.1.1 on FastEthernet0/0 seq 0x25BD opt 0x52 flag 0x0 len 32
OSPF: Rcv LS REQ from 192.168.1.1 on FastEthernet0/0 length 36 LSA count 1
OSPF: Send UPD to 172.16.0.2 on FastEthernet0/0 length 40 LSA count 1
OSPF: Rcv DBD from 192.168.1.1 on FastEthernet0/0 seq 0x25BE opt 0x52 flag 0x1 len 32 mtu 1500 state
EXCHANGE
OSPF: Exchange Done with 192.168.1.1 on FastEthernet0/0
OSPF: Send LS REQ to 192.168.1.1 length 48 LSA count 4
OSPF: Send DBD to 192.168.1.1 on FastEthernet0/0 seq 0x25BE opt 0x52 flag 0x0 len 32
OSPF: Rcv LS UPD from 192.168.1.1 on FastEthernet0/0 length 184 LSA count 4
OSPF: Synchronized with 192.168.1.1 on FastEthernet0/0, state FULL
%OSPF-5-ADJCHG: Process 100, Nbr 192.168.1.1 on FastEthernet0/0 from LOADING to FULL, Loading Done
OSPF: Rcv LS UPD from 192.168.1.1 on FastEthernet0/0 length 76 LSA count 1
OSPF: Rcv LS UPD from 192.168.1.1 on FastEthernet0/0 length 60 LSA count 1
OSPF: Rcv LS UPD from 192.168.1.1 on FastEthernet0/0 length 64 LSA count 1
OSPF: Build router LSA for area 0, router ID 172.16.0.1, seq 0x80000004
OSPF: Neighbor change Event on interface FastEthernet0/0
OSPF: DR/BDR election on FastEthernet0/0
OSPF: Elect BDR 172.16.0.1
OSPF: Elect DR 192.168.1.1
DR: 192.168.1.1 (Id) BDR: 172.16.0.1 (Id)

Immagine 72: Output del comando debug ip ospf adj sul router D della rete in figura 64.

L'immagine 72 mostra come i router D e A della rete in figura 64 instaurano la relazione di


adiacenza sull'interfaccia fa0/0. Sulle interfacce ethernet il comportamento predefinito di
OSPF è broadcast. Nel momento in cui la relazione diviene a due vie (two way), avviene
l'elezione del router DR e BDR. Successivamente si passa alla fase di exchange
(scambio), con l'invio e la ricezione dei messaggi DBD.
L'immagine 73 mostra invece l'adiacenza tra i router C e A della rete in figura 70. In questo
caso non avviene alcuna elezione, visto che sono state utilizzate sotto-interfacce
punto-punto, pertanto dalla relazione a due vie (two way) si passa immediatamente alla
fase di exchange. Terminato lo scambio dei pacchetti DBD, la relazione di adiacenza è
completa (full).

Comando debug ip osp adj


OSPF: Interface Serial0/0 going Up
OSPF: 2 Way Communication to 192.168.1.1 on Serial0/0, state 2WAY
OSPF: Send DBD to 192.168.1.1 on Serial0/0 seq 0x1DB opt 0x52 flag 0x7 len 32
OSPF: Build router LSA for area 0, router ID 192.168.2.2, seq 0x80000001
OSPF: Rcv DBD from 192.168.1.1 on Serial0/0 seq 0x89F opt 0x52 flag 0x7 len 32 mtu 1500 state EXSTART
OSPF: First DBD and we are not SLAVE
OSPF: Rcv DBD from 192.168.1.1 on Serial0/0 seq 0x1DB opt 0x52 flag 0x2 len 132 mtu 1500 state EXSTART
OSPF: NBR Negotiation Done. We are the MASTER
OSPF: Send DBD to 192.168.1.1 on Serial0/0 seq 0x1DC opt 0x52 flag 0x3 len 52
OSPF: Rcv DBD from 192.168.1.1 on Serial0/0 seq 0x1DC opt 0x52 flag 0x0 len 32 mtu 1500 state EXCHANGE
OSPF: Send DBD to 192.168.1.1 on Serial0/0 seq 0x1DD opt 0x52 flag 0x1 len 32
OSPF: Send LS REQ to 192.168.1.1 length 60 LSA count 5
OSPF: Rcv LS REQ from 192.168.1.1 on Serial0/0 length 36 LSA count 1
OSPF: Send UPD to 192.168.2.1 on Serial0/0 length 40 LSA count 1
OSPF: Rcv DBD from 192.168.1.1 on Serial0/0 seq 0x1DD opt 0x52 flag 0x0 len 32 mtu 1500 state EXCHANGE
OSPF: Exchange Done with 192.168.1.1 on Serial0/0
OSPF: Rcv LS UPD from 192.168.1.1 on Serial0/0 length 264 LSA count 5
OSPF: Synchronized with 192.168.1.1 on Serial0/0, state FULL
%OSPF-5-ADJCHG: Process 100, Nbr 192.168.1.1 on Serial0/0 from LOADING to FULL, Loading Done
OSPF: Rcv LS UPD from 192.168.1.1 on Serial0/0 length 112 LSA count 1
OSPF: Build router LSA for area 0, router ID 192.168.2.2, seq 0x80000002

Immagine 73: Output del comando debug ip ospf adj sul router C dell'esempio in figura 70.

3.6 Funzionamento multi-area di OSPF


3.6.1 Il comportamento di OSP in reti di grandi dimensioni

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.

Immagine 75: Suddividendo il sistema autonomo in aree di instradamento gerarchico migliora


l'efficienza del protocollo OSPF, riducendo il traffico dovuto allo scambio di LSA, migliorando
inoltre la stabilità della rete.

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.

I vantaggi della suddivisione della rete OSPF in aree sono i seguenti:


Minor ricorso all'algoritmo SPF: i router contengono esclusivamente le informazioni sullo
sullo stato dei collegamenti dell'area a cui appartengono. Le aree costituiscono un confine
al flood degli LSA. Solo i router appartenenti all'area che ha subito una variazione
topologica necessitano di invocare SPF per ricalcolare i percorsi di rete.
Tabelle di instradamento di dimensione contenuta: le informazioni sui percorsi di rete
appartenenti a un'area rimangono contenuti in quell'area stessa. I router di confine si
limitano ad annunciare verso le altre aree rotte aggregate. Questo consente di ridurre il
numero di LSA che vengono inviati tra le aree mantenendo comunque connettività su tutto
il dominio.
Utilizzo ridotto della banda: ciascun pacchetto LSU contiene differenti tipi di LSA. I router
di un'area piuttosto che inviare un LSU contenente tutti gli di un'area, può inviare uno o
comunque un numero molto ridotto di LSA che contengono percorsi aggregati. Questo
riduce la banda occupata e aumenta l'efficienza del protocollo OSPF.

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.

3.6.2 Tipi di LSA

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.

L'intestazione contiene informazioni sufficienti a identificare l'LSA. I campi LS Age e il LS


Sequence Number consentono di identificare la più aggiornata, tra le possibili versioni
differenti di un LSA. Il campo LS state-ID identifica il collegamento che l'LSA sta
descrivendo, il valore di questo campo varia in base al tipo di LSA.

Immagine 76: Intestazione comune degli 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.

3.6.3 Tipi di LSA in dettaglio

Seguono le descrizioni dettagliate di ciascun LSA:

TIPO 1 – ROUTER-LSA

Immagine 77: Formato 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;

Il campo Type identifica il tipo di collegamento descritto, e in base al valore di questo


campo, Link-ID assume significati differenti:

Tipo collegamento Descrizione ID Collegamento


1 Collegamento punto-punto a un altro router Identificativo del router vicino
2 Collegamento a una rete di transito Indirizzo IP del DR
3 Collegamento a una rete stub Rete o sottorete IP
4 Collegamento virtuale Identificativo del router vicino

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

Immagine 79: Formato 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.

Il campo link-state ID dell'intestazione contiene la rete (in genere aggregata) dell'altra


area, il corpo del messaggio contiene la maschera di sotto-rete e la metrica della rete.
Immagine 81: Formato Summary-LSA.

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

Si tratta di LSA specializzati per applicazioni multicast di OSPF.

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à.

La tabella seguente riassume i tipi di LSA OSPF:

Tipo LSA OSPF Descrizione


Generati da tutti i router su tutte le aree a cui sono
1 Router Link (O-OSPF) collegati. Descrivono lo stato dei collegamenti di un
particolare router all'interno di un'area.
Generati dal router designato (DR) per un segmento
2 Network Link (O-OSPF) multi-accesso. Elenca tutti i router presenti su quel
segmento.
Originati dai router ABR. Descrive i collegamenti tra il
3 Summary Link (IA-OSPF Inter-area)
router ABR e i router all'interno di un'area.
Originati dai router ABR. Sono inviati tramite il processo
4 Summary Link (IA-OSPF Inter-area) di flood verso tutte le aree del sistema autonomo,
annunciando a tutti i router la rotta verso l'ASBR.
Originati dall'ASBR. Descrivono le rotte esterne al
5 Autonomous System External link (E1, E2)
sistema autonomo OSPF.
6 Multicast OSPF (MOSPF) Non supportate dai router Cisco.
Originate da un ASBR connesso a un'area not-so-
7 Autonomous System External link (N1, N2)
stubby.

3.6.4 Interpretare la base dati di stato dei collegamenti di OSPF

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.

Il contenuto di questa struttura dati è visualizzabile tramite il comando show ip ospf


database. Con le voci router link-states, net link-states e summary net
link-states sono identificati rispettivamente gli LSA tipo 1, 2 e 3;

Comando show ip ospf database


A#sh ip ospf database

OSPF Router with ID (192.168.2.1) (Process ID 100)

Router Link States (Area 0)

Link ID ADV Router Age Seq# Checksum Link count


172.16.0.1 172.16.0.1 450 0x80000002 0x0049F0 1
192.168.1.2 192.168.1.2 390 0x80000004 0x00E0A4 2
192.168.2.1 192.168.2.1 390 0x80000005 0x00C54E 5
192.168.2.2 192.168.2.2 391 0x80000004 0x00F090 2

Net Link States (Area 0)

Link ID ADV Router Age Seq# Checksum


172.16.0.2 192.168.2.1 449 0x80000001 0x00C61E

Immagine 85: Output del comando show ip ospf databalse.

Il significato dei campi è il seguente:


Link ID: l'identificativo dell'LSA;
ADV Router: il contenuto del campo advertising router, cioè il route che ha inviato l'LSA;
Age: il tempo massimo, in secondi, di validità dell'LSA. L'età massima è 1 ora o 3600
secondi;
Seq#: Numero di sequenza dell'LSA. Questo numero comincia con il valore
esadecimale 0x80000001 e viene aumentato ogni volta che l'LSA viene
aggiornato, ogni ora per impostazione predefinita.
Checksum: Sommatoria di controllo dell'LSA, questo assicura che le informazioni ricevute
siano corrette.
Link count: Utilizzato solo per LSA Tipo 1, rappresenta il numero di collegamenti descritti
nell'LSA stesso: punto-punto, multi-accesso e stub. I collegamenti punto-punto
vengono conteggiati per due volte, gli altri solo una volta. Si osservi in
particolare l'immagine 85, la voce evidenziata mostra LSA del router locale (ID
192.168.2.1) che ha due collegamenti punto-punto e un collegamento
multi-accesso, per conteggio totale pari a 5;
3.6.5 Interpretare la tabella di instradamento OSPF

Le rotte calcolate dall'algoritmo SPF vengono inserite nella tabella di instradamento e


contrassegnate come rotte OSPF. Nel caso di OSPF possono esistere diversi tipi di rotta,
in base al tipo di LSA da cui sono state calcolate. La tabella seguente elenca i tipi di rotta
OSPF e come sono contrassegnate nella tabella di instradamento:

Simbolo Tipo di rotta Descrizione


Rotta OSPF intra-area, calcolate tramite:
O Si tratta di tutte quelle rotte all'interno dell'area OSPF in
Router-LSA;
cui il router si trova.
Network-LSA;

O IA Rotta OSPF inter-area, calcolata tramite:


Sono rotte verso le altre aree OSPF.
Summary-LSA;
Si tratta di rotte esterne al sistema autonomo. La
O E1
Rotta OSPF esterna, calcolata tramite: differenza tra i tipi sta nel modo in cui viene calcolata la
metrica per la rotta. Per le rotte E1 il costo viene calcolato
External-LSA in modo cumulativo. Per le rotte E2 il costo è quello
O E2
originario della rotta, come annunciato dalla sorgente.

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.

Quando un router ABR riceve un LSA di sommario, aggiunge le informazioni contenute al


proprio LSDB, successivamente lo invia in flood sulle aree a cui è collegato. I router interni
che ricevono tali LSA a loro volta assimilano le informazioni contenute nella propria LSDB.
Le rotte che vengono calcolate a partire da questi LSA vengono contrassegnate nella
tabella di instradamento come IA cioè rotte inter-area. Anche le rotte esterne al sistema
autonomo EIGRP vengono contrassegnate e in base a come viene calcolata la metrica
per tali rotte si distinguono rotte esterne di tipo 1 E1 e tipo 2 E2.

L'algoritmo SPF calcola l'albero di attraversamento utilizzando le informazioni contenute


nell'LSDB. L'ordine con cui gli LSA vengono analizzati è il seguente:
1. I percorsi intra-area, cioè quelli verso destinazioni all'interno dell'area di appartenenza. Il
calcolo avviene in base alle informazioni contenute negli LSA Tipo 1 e Tipo 2, e sono
contrassegnati nella tabella di instradamento con la lettera O;
2. I percorsi inter-area, cioè quelli verso destinazioni sulle altre aree. Il calcolo avviene in
base alle informazioni contenute negli LSA di Tipo 3 e Tipo 4, e sono contrassegnati nella
tabella di instradamento con le lettere O IA;
3. I percorsi extra-AS, cioè quelli esterni al sistema autonomo. Il calcolo avviene in base alle
informazioni contenute negli LSA Tipo 5 (external-LSA) e in base al modo in cui viene
calcolata la metrica, vengono contrassegnate nella tabella di instradamento con le lettere
O E1 o O E2.
3.6.6 Calcolo del costo per le rotte esterne E1 ed E2

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;

Comando show ip route


C#show ip route
<<omissis>>
O E2 200.0.5.0/24 [110/20] via 192.168.2.1, 00:00:06, Serial0/0
100.0.0.0/32 is subnetted, 6 subnets
O IA 100.0.5.1 [110/65] via 192.168.2.1, 00:00:06, Serial0/0
O IA 100.0.4.1 [110/65] via 192.168.2.1, 00:00:06, Serial0/0
O IA 100.0.1.1 [110/65] via 192.168.2.1, 00:00:06, Serial0/0
O IA 100.0.0.1 [110/65] via 192.168.2.1, 00:00:06, Serial0/0
O IA 100.0.3.1 [110/65] via 192.168.2.1, 00:00:06, Serial0/0
O IA 100.0.2.1 [110/65] via 192.168.2.1, 00:00:06, Serial0/0
O E2 200.0.6.0/24 [110/20] via 192.168.2.1, 00:00:06, Serial0/0
O E2 200.0.7.0/24 [110/20] via 192.168.2.1, 00:00:06, Serial0/0
O E2 200.0.0.0/24 [110/20] via 192.168.2.1, 00:00:06, Serial0/0
O E2 200.0.1.0/24 [110/20] via 192.168.2.1, 00:00:06, Serial0/0
O E2 200.0.2.0/24 [110/20] via 192.168.2.1, 00:00:06, Serial0/0
O E2 200.0.3.0/24 [110/20] via 192.168.2.1, 00:00:07, Serial0/0
O 192.168.1.0/24 [110/128] via 192.168.2.1, 00:00:07, Serial0/0
C 192.168.2.0/24 is directly connected, Serial0/0
O E2 200.0.0.0/22 [110/20] via 192.168.2.1, 00:00:07, Serial0/0

Immagine 86: Il comando show ip route mostra i tipi di rotte OSPF.

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

13 Incluse alcune specifiche versioni precedenti.


valore il processo non verrà più riattivato e rimarrà in sospensione a tempo indeterminato,
fino a quando l'amministratore non interverrà manualmente per riattivarlo.

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.

Velocità del mezzo fisico Costo


Linee seriali a 56Kbps 1785
Linee seriali T1 (1,544Mbps) 64
Linee seriali E1 (2,048Mbps) 48
Ethernet (10Mbps) 10
Fastethernet (100Mbps) 1
Gigabit ethernet (1Gbps) 1

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

dove il parametro banda-mbps rappresenta la banda di riferimento in mega bit al


secondo. Questo è un valore a 32 bit, pertanto l'intervallo accettabile varia da 1 fino a
4 294 967. Si osservi che è necessario modificare il valore di riferimento su tutti i router del
dominio per ottenere un calcolo della metrica coerente.

È anche possibile impostare manualmente il costo per un'interfaccia tramite il comando


Router(config-if)#ip ospf cost interface-cost costo
dove costo è un valore intero compreso tra 1 e 65 535, più basso è il valore migliore è il
collegamento e maggiori sono le possibilità che venga scelto. Questo comando è stato
introdotto per consentire ai router Cisco di operare correttamente con router di altri
produttori, che non utilizzano la banda come parametro di riferimento per il calcolo del
costo del collegamento.

3.7 Aree stub, totalmente stub e parzialmente stub


3.7.1 Tipi di area OSPF

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.

Quando si progetta una rete OSPF è necessario tenere sempre in considerazione la


possibilità di utilizzare aree stub, così da migliorare notevolmente le prestazioni del
protocollo OSPF, garantendone la scalabilità nel tempo.

Immagine 88: Alcuni tipi di aree OSPF.

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.

L'immagine 89 mostra l'esempio di una rete in cui sono presenti due


router ASBR. Se l'area 1 fosse definita come area stub, risulterebbe
impossibile propagare le rotte IGRP nel dominio OSPF, in quanto i
router bloccano gli LSA Tipo 4 e 5. Definendo invece l'area 1 tale
operazione risulta possibile. Il router ASBR dell'area NSSA utilizza
LSA tipo 7 per propagare le rotte IGRP. Questi LSA vengono bloccati
dal router ABR e convertiti in LSA Tipo 5, quindi propagati per il resto
del dominio OSPF. Si osservi tuttavia che per il resto le aree NSSA si
comportano esattamente come aree stub, e nel caso in oggetto le
rotte RIP ridistribuite nel dominio OSPF dall'ASBR dell'area 2 non si
propagano nell'area 1, in quanto il router ABR blocca LSA Tipo 4 e 5;
3.7.2 Uso di aree stub o totalmente stub

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:

Requisiti affinché un'area possa diventare stub o totalmente stub


Deve esserci un solo ABR, o eventualmente ABR con percorsi
non-ottimali verso altre aree;
Tutti i router dell'area devono essere configurati come router stub;
Non possono esistere ASBR interni all'area;
Non deve essere l'area 0;
L'area non può contenere collegamenti virtuali;

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:

Configurare OSPF sui router;


Definire i router dell'area come stub, tramite il comando:
Router(config-router)#area area-id stub [no-summary]

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.

Configurazione Router R3 Configurazione Router R4


interface fa0/0 interface serial 0/0/0
ip address 192.168.14.1 255.255.255.0 ip address 192.168.15.2 255.255.255.252
interface serial 0/0/0
ip address 192.168.15.1 255.255.255.252

router ospf 100 router ospf 100


network 192.168.14.0 0.0.0.255 area 0 network 192.168.14.0 0.0.0.255 area 0
network 192.168.15.0 0.0.0.3 area 2 network 192.168.15.0 0.0.0.3 area 2
area 2 stub area 2 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.

Sul router R4 le le rotte verranno contrassegnate nel seguente modo:


Simbolo O – rotte Intra-area;
Simboli O IA – rotta rotte inter-area;
Siboli O *IA – rotta predefinita;

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.

La configurazione delle aree totalmente stub richiede i seguenti tre passi:


Configurare OSPF sui router dell'area;
Configurare i router interni all'area come router stub tramite il comando:
Router(config-router)#area id-area stub
Solo sul router ABR dell'area utilizzare il comando area area-id stub no-summary
in modo che non propaghi gli LSA Tipo 3;
Utilizzare aree totalmente stub rende il domino OSPF ancor più stabile la rete OSPF,
tuttavia essendo una caratteristica proprietaria è necessario che, almeno i router di confine
ABR, siano Cisco.
3.7.6 Esempio di configurazione aree totalmente sub (totally stubby)

L'immagine 93 mostra la topologia d'esempio che utilizzeremo per configurare un'area


totalmente stub. L'area totalmente stub ha due router di confine R2 e R4, questi
annunciano verso l'area una rotta predefinita verso la rete 0.0.0.0 in sostituzione delle
rotte inter-area e esterne. Tuttavia il router R2 annuncerà la rotta predefinita con un costo
pari a 5, mentre il router R4 con un costo pari a 4.

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.

Tramite il parametro default-cost rendiamo la rotta predefinita annunciata da R2


preferibile a quella di R4. Tuttavia quale tra queste due rotte sceglieranno i router interni
all'area 1, dipende dalla metrica dei percorsi interni. Ad esempio, qualora R3 avesse verso
R4 una metrica migliore rispetto a quella verso R2, il router sceglierebbe la rotta
predefinita annunciata da R4.

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.

Aree parzialmente stub – Not-so-stubby area (NSSA)


Le aree NSSA non rispettano la regola sulle rotte esterne prevista per le aree stub;
In pratica possono essere presenti all'interno dell'area router ASBR cioè di confine del
sistema autonomo;
Per implementare questa caratteristica il router ASBR dell'area NSSA utilizza un tipo
particolare di LSA, Tipo 7;
I router di confine dell'area NSSA (ABR NSSA) convertono gli LSA Tipo 7 in LSA Tipo
5, così da propagarli per tutto il dominio OSPF;
Le aree NSSA sono un'estensione standard dell'RFC di OSPF;

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.

La configurazione di un'area NSSA richiede i seguenti passi:


Configurazione di OSPF sui router dell'area;
Definire il router dell'area come NSSA, utilizzando il comando:
Router(config-router)#
area id-area nssa [no-redistribuition]
[default-information-originate] [metric metrica]
[metric-type tipo-metrica][no-summary]

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)

L'immagine 100 mostra la topologia d'esempio che utilizzeremo per illustrare la


configurazione delle aree NSSA. In particolare nell'area 1 NSSA, è presente un router
ASBR, configurato per ridistribuire verso il dominio OSPF, le rotte del dominio RIP, tale
ridistribuzione avviene tramite LSA Tipo 7. Il router R2 è invece un ABR per l'area NSSA,
configurato per:
convertire gli LSA Tipo 7 prodotti dal R1, in LSA Tipo 5 e inviarli verso la dorsale del
dominio OSPF affinché vengano propagati sulle altre aree;
aggregare le rotte del dominio RIP e dell'area 1, annunciando l'unica rete 172.16.0.0/16
verso le altre aree;
bloccare gli LSA Tipo 4 e 5 verso l'area NSSA e, al posto di questi, annunciare una rotta
predefinita per le reti esterne alla rete OSPF;

Immagine 100: Topologia d'esempio per la configurazione delle aree NSSA.

Configurazione Router R1 Configurazione Router R2


router ospf 10 router ospf 100
redistribuition rip subnet summary address 172.16.0.0 255.255.0.0
default metric 150 network 172.17.20.0 0.0.255.255 area 1
network 172.17.0.0 0.0.255.255 area 1 network 172.17.0.0 0.0.255.255 area 0
area 1 nssa area 1 nssa default-information-originate

L'opzione default-information-originate consente a R2 di generare una rotta


predefinita 0.0.0.0/0 di tipo O *N2 verso la rete NSSA (Area 1).
3.7.9 Esempio di configurazione aree NSSA totalmente stub (NSSA totally stubby)

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.

Configurazione Router R1 Configurazione Router R2


router ospf 10 router ospf 100
redistribuition rip subnet summary address 172.16.0.0 255.255.0.0
default metric 150 network 172.17.20.0 0.0.255.255 area 1
network 172.17.0.0 0.0.255.255 area 1 network 172.17.0.0 0.0.255.255 area 0
area 1 nssa area 1 nssa no-summary

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;

3.8 Collegamenti virtuali


3.8.1 I collegamenti virtuali OSPF

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.

I collegamenti virtuali di OSPF


La dorsale o Area 0 rappresenta la colonna vertebrale di OSPF, tutte le aree devono
essere direttamente collegate ad essa;
Tramite i collegamenti virtuali (virtual link) è possibile utilizzare un'area come transito
per poter interconnettere un'area separata alla dorsale;
L'utilizzo dei collegamenti virtuali dovrebbe essere evitato, e rappresenta una soluzione
temporanea per risolvere un problema imminente;

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;

Qualora un problema fisico partizionasse un'area diversa dall'area 0, il traffico tra le


partizioni continuerebbe ad essere instradato tramite la dorsale. Tuttavia, nel caso in cui
fosse proprio l'area 0 ad essere partizionata, l'alternativa è ricorrere a un collegamento
virtuale che utilizzi un'area di transito per interconnettere le partizioni dell'area 0. Il
protocollo OSPF infatti non implementa alcun meccanismo che ripari automaticamente
una dorsale partizionata. Un altro classico esempio in cui si può ricorrere ai collegamenti
virtuali è nel caso di fusione di due reti OSPF. Gli esempi precedenti sono ben
rappresentati nella rete schematizzata in figura 103, in cui l'area 3 è utilizza come area di
transito per il collegamento virtuale., che consente l'interconnessione della dorsale. Se
l'area di transito non esistesse sarebbe può sempre essere creata.

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.

Quando si utilizzano i collegamenti virtuali è necessario tenere sempre presenti alcune


regole:
La stabilità del collegamento virtuale è determinata dalla stabilità dell'area utilizzata come
transito dello stesso;
I collegamenti virtuali possono essere effettuati solo sui router di confine (ABR);
Le aree stub non possono essere utilizzate come transito per i collegamenti virtuali;
I collegamenti virtuali possono essere utilizzati per risolvere problemi di rete
temporaneamente e non possono essere considerati una soluzione definitiva;
È possibile utilizzare i collegamenti virtuali per garantire ridondanza a livello logico;
3.8.2 Configurazione dei collegamenti virtuali

Per definire un collegamento virtuale OSPF è possibile utilizzare il comando:


Router(config-router)#
area id-area virtual-link id-router [authentication
[message-digest | null]] [hello-interval secondi]
[retransmit-interval secondi] [transmit-delay secondi]
[dead-interval secondi] [[authentication-key chiave] |
[message-digest-key id-chiave md5 chiave]]

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.

La configurazione consiste nel configurare sui due ABR dell'area 1, rispettivamente i


router con identificativo 10.1.1.1 e 10.2.2.2 un collegamento virtuale. Su ciascun
router verrà specificato l'identificativo dell'altro.

Configurazione router 10.1.1.1 Configurazione router 10.2.2.2


router ospf 100 router ospf 100
network 172.17.0.0 0.0.255.255 area 1 network 172.17.0.0 0.0.255.255 area 1
network 10.0.0.0 0.0.0.255 area 0 network 10.0.0.0 0.0.0.255 area 0
area 1 virtual-link 10.2.2.2 area 1 virtual-link 10.1.1.1

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.

I router a questo punto tenteranno di formare un'adiacenza tramite lo scambio di pacchetti


di hello, tali pacchetti tuttavia vengono inviati sul collegamento virtuale utilizzando indirizzi
unicast e non multicast come avverrebbe normalmente.

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

Per visualizzare le informazioni sul collegamento virtuale configurato sul router e


verificarne la correttezza, è possibile utilizzare il comando show ip ospf
virtual-links.

Comando show ip ospf virtual-link


C#show ip ospf virtual-links

Virtual Link to router 192.168.101.2 is up

Transit area 0.0.0.1, via interface Ethernet0, Cost of using 10


Transmit Delay is 1 sec, State POINT_TO_POINT
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 0:00:08
Adjacency State FULL

Immagine 105: Outpur del comando show ip virtual-links.


Parametro Descrizione
Virtual Link to router L'identificativo del router OSPF adiacente sul collegamento virtuale, con
192.168.101.2 is up l'indicazione se questo è attivo o meno.
Transit area 0.0.0.1 L'identificativo dell'area di transito sulla quale il collegamento virtuale è attivo.
via interface Ethernet0 L'interfaccia sulla quale è stato attivato il collegamento virtuale.
Cost of using 10 Il costo per raggiungere il vicino attraverso il collegamento virtuale.
Transmit Delay is 1 sec Il ritardo di trasmissione degli LSA sul collegamento virtuale.
State POINT_TO_POINT Stato dell'adiacenza OSPF.
Timer intervals... L'impostazione dei vari intervalli OSPF utilizzati.

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.

3.9 Aggregazione delle rotte


3.9.1 Implementazione dei router ABR e ASBR

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.

Con il termine aggregazione (o meno appropriato sommarizzazione derivato dall'inglese


summarization) si indica il consolidamento in un unico percorso di rete di differenti rotte.
L'aggregazione è un'operazione fondamentale, che rende scalabili le reti OSPF, poiché
consente di ridurre notevolmente sia il traffico generato dal processo di flooding degli LSA,
sia la dimensione delle strutture dati (LSDB e tabella di instradamento).

Immagine 106: L'aggregazione rende più stabile e scalabire la rete OSPF.


Benefici dell'aggregazione
Riduce la dimensione delle strutture dati di OSPF, tabella di instradamento
e base di dati dello stato dei collegamenti, diminuendo considerevolmente le
risorse impiegate dal router per eseguire il processo OSPF;
Minimizza l'impatto delle variazioni topologiche, confinandole all'area in cui
si sono verificate, impedendo che si propaghino per tutto il dominio OSPF;
Riduce il numero di LSA Tipo 3 e Tipo 5, impedendo che il processo di
flooding crei problemi di congestione;

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.

L'aggregazione è un'operazione che in OSPF deve essere effettuata manualmente sui


router, in genere ABR e ASBR; a differenza di altri protocolli OSPF non effettua alcuna
aggregazione automatica, questo significa che in condizioni normali gli LSA Tipo 3 e Tipo
5 per impostazione predefinita non contengono alcuna rotta aggregata. In OSPF è
possibile avere due tipi di rotte aggregate o di sommario:
Rotte aggregate inter-area: vengono configurate sui router ABR, e sono il risultato
dell'aggregazione delle reti presenti all'interno di un'area. Non si applicano alle reti esterne
al dominio OSPF. Affinché l'aggregazione inter-area sia efficace è necessario che gli
indirizzi di rete presenti nell'area siano per lo più contigui in modo da poterli aggregare in
un numero molto basso di reti di sommario;
Rotte aggregate esterne: specificano rotte esterne, immesse nel dominio OSPF tramite il
processo di ridistribuzione effettuato sui router ASBR. È importante che l'operazione di
aggregazione delle rotte esterne sia effettuata solo su indirizzi di rete contigui soprattutto in
presenza di più router ASBR. Aggregare indirizzi non contigui o addirittura in modo che le
reti si sovrappongano può causare l'invio dei pacchetti verso destinazioni sbagliate;
3.9.2 Esempio di aggregazione in una rete OSPF

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.

Quando è necessario ridistribuire rotte OSPF, più in generale calcolate da protocolli


classless, in domini RIPv1 o IGRP, protocolli che non supportano VLSM, è necessario fare
attenzione al fatto che, tutte le rotte con lunghezza del prefisso differente da quello della
rete della classe a cui la rotta stessa appartiene, potrebbero andare perdute. In questo
caso è necessario ricorrere alla configurazione di rotte statiche sui router del dominio
RIPv1 o IGRP.

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.

L'immagine 107 mostra che sull'area 1 il router A ha appreso 12 reti, da 172.16.8.0/24


fino a 172.16.15.0/24 e da 172.16.16.0/24 fino a 172.16.19.0/24, queste
vengono annunciate sulla dorsale aggregate in due indirizzi: 172.16.8.0/21 e
172.16.16.0/22.
3.9.3 Configurazione dell'aggregazione delle rotte in OSPF

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.

AGGREGAZIONE DELLE ROTTE INTER-AREA SUI ROUTER ABR


Passo 1: configurare OSPF sul router ABR;
Passo 2: Specificare la rete aggregata la rispettiva maschera e l'area a cui si riferisce
utilizzando il comando:
Router(config-router)
area id-area range indirizzo maschera
[advertise | not-advertise] [cost costo]

Parametro Descrizione
id-area Rappresenta l'identificativo dell'area le cui rotte devono essere
aggregate.

indirizzo L'indirizzo di rete aggregato, che rappresenta gli indirizzi di rete


presenti nell'area in questione.

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.

advertise Opzionale. La rotta aggregata viene impostata come advertise, cioè il


router annuncerà la relativa rete tramite LSA Tipo 316.
Opzionale. L'indirizzo di rete aggregato verrà impostato come
not-advertise, il router effettua l'aggregazione – nella tabella di
not-advertise instradamento viene creata la rotta per questa rete verso l'interfaccia
null0 – tuttavia la rotta non viene annunciata sulla dorsale, cioè non
vengono creati per essa gli LSA Tipo 3.
Opzionale. Il costo per la rotta aggregata. Questo verrà usato per
cost costo calcolare la metrica verso quella rete. Il valore può essere un'intero
compreso tra 0 e 16777215

Il comando consente al router ABR di annunciare verso la dorsale, tramite LSA


Tipo 3 (Summary-LSA), la rotta aggregata specificata. Grazie al processo di
flooding tali rotte verranno propagate sul domino OSPF;
Il sistema operativo IOS di Cisco, quando viene aggregata una rete OSPF, crea
automaticamente, nella tabella di instradamento del router, una rotta per questa rete verso
l'interfaccia null0. Tale operazione è necessaria per impedire che si creino
accidentalmente percorsi di rete ciclici, quando il router cerca di instradare un pacchetto
verso una sotto-rete della rotta aggregata che in effetti non esiste. Senza tale rotta il router
potrebbe instradare il pacchetto verso la rotta predefinita, creando possibili percorsi ciclici.

AGGREGAZIONE DELLE ROTTE ESTERNE SUI ROUTER ASBR


Passo 1: configurare OSPF nel router ABR;
Passo 2: Specificare l'indirizzo della rete esterna aggregata con la rispettiva maschera,
tramite il comando:
Router(config-router)
summary-address indirizzo maschera [not-advertise]
[tag etichetta]

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.

not-advertise Opzionale. L'indirizzo di rete esterno non viene annunciato nel


dominio OSPF.

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:

Configurazione OSPF router A


A(config)#router ospf 100
A(config-router)#network 172.16.32.1 0.0.0.0 area 1
A(config-router)#network 172.16.96.1 0.0.0.0 area 0
A(config-router)#area 0 range 172.16.96.0 255.255.224.0
A(config-router)#area 1 range 172.16.32.0 255.255.224.0

Immagine 109: Configurazione OSPF del router A

I due comandi più importanti sono i seguenti:


area 0 range 172.16.96.0 255.255.224.0: indica al router che l'area 0
contiene l'insieme delle reti appartenenti alla rete aggregata 172.16.96.0/19. Tale
rete verrà annunciata su tutte le altre aree con cui confina il router, nel caso in oggetto
la sola area 1. Questo comando praticamente aggrega sul router ABR R1 le reti
dell'area 0 appartenenti all'intervallo 172.16.96.0/24 a 172.16.127.0/24 in
172.16.96.0/19;
area 1 range 172.16.32.0 255.255.224.0: indica al router che l'area 1
contiene l'insieme delle reti appartenenti alla rete aggregata 172.16.32.0/19. Tale
rete verrà annunciata su tutte le altre aree con cui confina il router, nel caso in oggetto
la sola dorsale. Questo comando praticamente aggrega sul router ABR R1 le reti
dell'area 1 appartenenti all'intervallo 172.16.32.0/24 a 172.16.63.0/24 in
172.16.96.0/19;

Configurazione OSPF router B


B(config)#router ospf 100
B(config-router)#network 172.16.64.1 0.0.0.0 area 2
B(config-router)#network 172.16.127.1 0.0.0.0 area 0
B(config-router)#area 0 range 172.16.96.0 255.255.224.0
B(config-router)#area 2 range 172.16.64.0 255.255.224.0

Immagine 110: Configurazione OSPF del router B

La configurazione del router B è simile a quella del router A


Si osservi che, in base alla topologia di rete, potrebbe non essere sempre la soluzione
migliore quella di aggregare le reti dell'area 0. Si pensi ad esempio a reti di grandi
dimensioni che dispongono di due o più ABR per ciascuna area. Quando l'aggregazione
non viene utilizzata, i router ABR annunciano separatamente ciascuna rete presente sulla
dorsale utilizzando un LSA Tipo 3, contenente tutte le informazioni sullo stato in modo
esplicito, incluso il costo. Questo consente ai router delle varie aree di calcolare la metrica
corretta verso ogni rete della dorsale, garantendo che venga scelto sempre il percorso
migliore per uscire dall'area. Qualora invece si usasse l'aggregazione, è possibile che i
pacchetti vengano instradati lungo percorsi non ottimali.
3.9.5 Configurare l'aggregazione delle rotte esterne sui router ASBR

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.

Rotta predefinita in OSPF


Per annunciare la rotta predefinita nel dominio OSPF vengono
utilizzati LSA Tipo 5 (External-LSA):
I router OSPF non ridistribuiscono automaticamente la rotta
predefinita nel dominio, tale operazione va attivata tramite il
comando default-information originate.
Immagine 112: Il router B, che ha connettività con Internet, annuncia sul dominio OSPF una
rotta predefinita.

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.

Configurazione OSPF router A


A(config)#router ospf 100
A(config-router)#network 10.1.1.1 0.0.0.0 area 0
A(config-router)#default-information originate metric 10
A(config-router)#exit
A(config)#ip route 0.0.0.0 0.0.0.0 198.1.1.1

Immagine 114: Configurazione rotta predefinita in OSPF sul router A

Configurazione OSPF router B


B(config)#router ospf 100
B(config-router)#network 10.2.1.1 0.0.0.0 area 0
B(config-router)#default-information originate metric 100
B(config-router)#exit
B(config)#ip route 0.0.0.0 0.0.0.0 198.2.1.1

Immagine 115: Configurazione rotta predefinita in OSPF sul router B

Il parametro opzionale metric è stato utilizzato per dare preferenza alla rotta predefinita
dell'ISP A, poiché è il collegamento Internet primario della società.

3.10 Autenticazione in OSPF


3.10.1 Meccanismi di autenticazione in OSPF

È 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;

Meccanismi di autenticazione OSPF


Il protocollo OSPF supporta due tipi di autenticazione:
◦ Autenticazione con password in chiaro;
◦ Autenticazione MD5;
Il router controlla ciascun pacchetto OSPF ricevuto in base alla chiave configurata,
così da autenticare le sorgenti dei messaggi di aggiornamento ricevuti;
È necessario che i vicini che utilizzano il meccanismo di autenticazione abbiano
configurato la medesima chiave o password;

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

In questo meccanismo, chiamato anche autenticazione con password semplice, i router


OSPF vicini sono confiurati con una password, questa viene allegata a ogni messaggio
OSPF che i router si scambiano, se le password coincidono il messaggio è autentico. La
configurazione di questo meccanismo sui router Cisco, consta dei seguenti passi:
Passo 1: scegliere una password da utilizzare su tutti i vicini ed assegnarla ai router
utilizzando il comando:
Router(config-if)#ip ospf authentication-key password

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.

La password impostata con il comando precedente viene inserita direttamente


nell'intestazione dei pacchetti OSPF. Per ciascuna interfaccia è possibile
utilizzare una password differente, tuttavia i vicini, presenti sullo stesso segmento
di rete, devono essere configurati con la stessa password.
Per impostazione predefinita le passoword impostate con il precedente comando
vengono memorizzate nei file di configurazione dei router 18 in chiaro. Se invece
viene utilizzato il comando service password-encryption le password
vengono codificate con un semplice algoritmo di codifica a due vie e quando
visualizzate, vengono precedute dal numero 7, che indica per l'appunto il tipo di
codifica adottato.
Passo 2: Attivare il meccanismo di autenticazione corretto per il processo OSPF
sull'interfaccia, utilizzando il comando:
Router(config-if)#
ip ospf authentication [message-digest | null]

18 I file running-config e startup-config.


Parametro Descrizione
message-digest Opzionale. Quando specificato attiva l'autenticazione MD5 per il
processo OSPF sull'interfaccia attiva.
null Opzionale. Specifica che non verrà utilizzato alcun meccanismo di
autenticazione. Utile per disattivare un eventuale meccanismo di
autenticazione impostato sull'interfaccia.

Quando il comando è specificato senza parametri, viene attivato il meccanimo di


di autenticazione con password in chiaro. Prima di utilizzare questo comando è
tuttavia necessario aver impostato sul router una password come specificato nel
Passo 1.
Il comando ip ospf authentication è stato introdotto dalla versione 12.0
del sistema operativo IOS, ed è diventato il metodo consigliato da Cisco per
attivare il meccanismo di autenticazione OSPF.
Nelle versioni precedenti di IOS si utilizzava invece un sistema differente che
consentiva di attivare l'autenticazione a livello di area e non di interfaccia. Il
comando è il seguente:
Router(config-if)#
area id-area authentication [message-digest]

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.

Questo comando è mantenuto per questioni di retro-compatibilità con i sistemi


precedenti. Si osservi che l'autenticazione a livello di interfaccia ha precedenza
su quella a livello dell'area, in pratica se su un router vengono utilizzati sia il
comando ip ospf authentication che il comando area id-area
authentication il primo avrà priorità sul secondo.
3.10.3 Esempio di configurazione del meccanismo di autenticazione OSPF con
password in chiaro

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.”

The configuration of router R2 is shown in Figure .

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.

Potrebbero piacerti anche