Sei sulla pagina 1di 35

Modulo 3 – L'Instradamento (Routing)

Introduzione

Nei due precedenti moduli abbiamo ampiamente trattato alcune delle caratteristiche che
possono rendere una rete estremamente scalabile e affidabile, come il bilanciamento del
carico e l'aggregazione, ognuna delle quali comunque funziona in maniera differente in
base al protocollo di instradamento utilizzato. Un protocollo di instradamento è
quell'insieme di regole che governano lo scambio delle informazioni di instradamento dei
pacchetti tra i router. Grazie alla popolarità e all'architettura aperta, la suite di protocolli
TCO/IP ha consentito lo sviluppo di una decina di ottimi protocolli di instradamento,
ognuno dei quali ha tutta una serie di vantaggi e svantaggi. Poiché la scelta del protocollo
di instradamento è fondamentale per ottenere buone prestazioni dalla rete, è necessario
comprendere le caratteristiche di ognuno di essi in base ai seguenti parametri:

Tempi di convergenza;
Caratteristiche che aumentano la scalabilità;
Risorse impiegate (Overhead);

3.1 Instradamento (Routing)


3.1.1 I principi dell'instradamento

Uno dei compiti principali di un router è quello di determinare qual'è il miglior percorso
verso una specifica destinazione. I router possono apprendere un percorso o una rotta in
due modi diversi: tramite la configurazione diretta oppure tramite i protocolli di
instradamento dinamico. Tutti i percorsi appresi vengono memorizzati in una struttura dati
tabellare, detta tabella di instradamento (routing table), che viene memorizzata in RAM. La
tabella di instradamento contiene l'elenco di tutti i percorsi migliori verso le destinazioni
conosciute, e viene utilizzata dai router per prendere le decisioni di inoltro in base
all'intestazione di livello 3 dei pacchetti. Il comando per visualizzare la tabella di
instradamento per il protocollo IP, sui router Cisco è show ip route.

RTA# show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M – mobile


B - BGP, D – EIGRP, EX - EIGRP external, O – OSPF
IA - OSPF inter area, Nl - OSPF NSSA external type 1
N2 - OSPF NSSA external type 2, El - OSPF external type 1
E2 - OSPF external type 2, E - EGP, i - IS-IS
LI - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o – ODR
P - periodic download static route

Gateway of last resort is not set

C 192.168.4.0/24 is directly connected, EthernetO


10.0.0.0/16 is subnetted, 3 subnets
C 10.3.0.0 is directly connected, SerialO
C 10.4.0.0 is directly connected, Seriall
C 10.5.0.0 is directly connected, Ethernetl

Nella tabella di instradamento sono elencati tutti i prefissi delle reti conosciute dal router
associati all'interfaccia di uscita (outbound). L'esempio precedente riporta la tabella di
instradamento del router RTA. L'instradamento di un pacchetto destinato ad esempio,
all'host 192.168.4.46, comporta l'estrazione del prefisso di rete dall'indirizzo, in questo
caso 192.168.4.0/24, quindi la ricerca nella tabella di instradamento per ricavarne
l'interfaccia di inoltro. Nell'esempio il pacchetto verrà inoltrato sull'interfaccia ethernet0.
Nel caso in vece di un pacchetto destinato all'host 10.3.21.5, questo verrà inoltrato
sull'interfaccia Serial0 (S0).

Oltre a visualizzare la tabella di instradamento il comando show ip route visualizza


anche le informazioni su come il router ha appreso la rotta. Nel caso in esempio vengono
riportate quattro rotte contrassegnata con la lettera C ciò sta a indicare che le rotte in
questione indicano reti direttamente collegate alle interfacce del router.

I router scartano i pacchetti destinati a reti non presenti nella tabella di instradamento.
Esistono due metodi per popolare la tabella di instradamento di un router con altre rotte:

Tramite configurazione manuale di rotte statiche (Static routing) verso una o più
destinazioni;
Attivando sul router un protocollo di instradamento dinamico; in questo caso il
router scambiando informazioni con i vicini, riesce automaticamente a risalire ai
percorsi attraverso la rete

Le rotte configurate manualmente vengono definite statiche perché rimangono invariate, a


meno che il router non venga riconfigurato. Le rotte apprese utilizzando protocolli
instradamento, vengono invece definite dinamiche perché possono variare in base alle
informazioni che via via vengono ricevute dai router vicini. Entrambi i metodi hanno
vantaggi e svantaggi, come mostratto nella tabella seguente:

Instradamento Vantaggi Svantaggi


Bassa richiesta di potenza di calcolo Elevate richiesta di tempo uomo:
e memoria: I router non devono l'amministratore deve configurare e
calcolare alcuna rotta, considerando verificare manualmente tutte le rotte verso
che queste vengono impostate le differenti reti. Reti particolarmente
manualmente. complesse possono richiedere verifiche e
riconfigurazioni periodiche;
Nessuno utilizzo di banda: Poiché i
router non scambiano alcuna Non adattabili: le rotte configurate
informazione, non viene utilizzata staticamente non si adeguano
banda digitale; automaticamente ai cambiamenti topologici
della rete;
Statico Maggiore sicurezza: non inviando
aggiornamenti, non è possibile che un
router possa erroneamente annunciare
un percorso non valido. D'altra parte i
router configurati con rotte statiche non
ricevono aggiornamenti, pertanto sono
meno vulnerabili ad attacchi all'integrità
delle tabelle di instradamento;

Predicibilità: le rotte statiche


consentono di avere un controllo molto
accurato sulla selezione del percorso.
Dinamico Adattabilità: grazie agli scambi periodici di Elevate richieste di potenza di calcolo e
informazioni i router possono comunicarsi a memoria: Il processo di instradamento
vicenda eventuali variazioni alla topologia dinamico richiede una significativa quantità
di rete. Apprendere nuovi percorsi o di potenza di calcolo e spazio in memoria;
eliminare percorsi non funzionanti. I router
possono quindi apprendere dinamicamente Utilizzo della banda digitale: I router si
Instradamento Vantaggi Svantaggi
la topologia di rete selezionado di volta in scambiano periodicamente informazioni
volta il cammino migliore; topologiche sulla rete, questo può influire
negativamente sulle prestazioni della rete,
Bassa richiesta di tempo uomo: dopo soprattutto nei collegamenti WAN seriali a
l'iniziale configurazione e impostazione dei bassa velocità;
parametri, l'intervanto dell'amministratore di
rete non è praticamente più richiesto, se
non per interventi di amministrazione
straordinaria;

3.1.2 Le rotte statiche

Nel caso di reti che non necessitano di un numero elevato di rotte verso le diverse
destinazioni diventa conveniente utilizzare rotte statiche. In realtà le rotte statiche
vengono utilizzate anche in reti di grandi dimensioni; come ad esempio nei router di livello
accesso di una rete di tipo stub. Nelle reti di tipo stub infatti tutto il traffico in ingresso e in
uscita passa attraverso un unico punto. La figura successiva mostra il router RTZ,
configurato con una rotta statica verso la rete 172.24.4.0/24.

Per configurare una rotta statica su un router Cisco, viene utilizzato il comando
ip route, con la seguente sintassi:

Router(config)#
ip route destination-prefix destination-prefix-mask
{address | interface} [distance] [tag tag] [permanent]

Parametro Descrizione
destination-prefix L'indirizzo IP della rete o sottorete di destinazione.
destination-prefix-mask La maschera di sottorete della rete o sottorete di destinazione.

address L'indirizzo IP dell'interfaccia del router del router successivo lungo il


cammino del pacchetto.
interface L'interfaccia del router da utilizzare per inoltrare i pacchetti.
distance (Opzionale) Valore che rappresenta la distanza amministrativa.

tag tag (Opzionale) E' un parametro che può essere utilizzato come valore di
confronto per controllare la ridistribuzione delle rotte.
(Opzionale). Se specificato impedisce che la rotta venga rimossa dalla
permanent tabella di instradamento anche se l'interfaccia di inoltro venisse
disattivata.
Per aggiungere una rotta manualmente alla tabella di instradamento è possibile utilizzare
una delle due forme del comando ip route command:
RTA(config)# ip route 10.6.0.0 255.255.0.0 s1
o
RTA(config)# ip route 10.7.0.0 255.255.0.0 10.4.0.2

Entrambi i comandi aggiungono una rotta statica nella tabella di instradamento del router
RTA; Nella prima forma viene dichiarato esplicitamente che tutti i pacchetti destinati alla
rete 10.6.0.0/16 dovranno essere inoltrati sull'interfaccia s1; la seconda forma invece
dichiara che i pacchetti diretti verso la rete 10.7.0.0/16 dovranno essere instradati
verso l'indirizzo 10.4.0.2, appartenente all'interfaccia del router successivo lungo il
cammino del pacchetto. Sebbene entrambe le forme siano perfettamente valide, sono
concettualmente differenti. Si osservi a tal proposito il risultato del comando show ip
route del router RTA:

RTA# show ip route


Codes: C - connected, S - static, I - IGRP, R - RIP, M – mobile
B - BGP, D - EIGRP, EX - EIGRP external, 0 – OSPF
IA - OSPF inter area, Nl - OSPF NSSA external type 1
N2 - OSPF NSSA external type 2, El - OSPF external type 1
E2 - OSPF external type 2, E - EGP, i - IS-IS
LI - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o – ODR
P - periodic download static route

Gateway of last resort is not set

C 192.168.4.0/24 is directly connected, EthernetO


10.0.0,0/16 is subnetted, 3 subnets
C 10.3.0.0 is directly connected, SerialO
C 10.4.0,0 is directly connected, Seriall
C 10.5.0.0 is directly connected, Ethernetl
S 10.6.0.0 is directly connected, Seriall
S 10.7.0.0 [1/0] via 10.4.0.2

Si può notare come entrambe le rotte, sia quella verso 10.6.0.0, che quella verso
10.7.0.0/16 vengano contrassegnate con la lettera S, ciò a sottolineare che si tratta di
rotte statiche. Tuttavia, mentre la prima viene visualizzata a video con la stessa
formattazione usata per le rotte direttamente collegate. L'altra viene invece visualizzata
con una formattazione simile a quella delle rotte acquisite dinamicamente. La differenza
principale tra i due tipi di comandi sta nel modo in cui le rotte definite vengono trattate
quando si utilizzano protocolli di instradamento dinamico:

Le rotte statiche definite esplicitando direttamente l'interfaccia, cioè quelle che


vengono visualizzate come direttamente collegate, qualora venissero correttamente
configurate usando il comando network, verrebbero automaticamente annunciate
agli altri router senza ricorrere ad ulteriori configurazioni;

Le rotte statiche definite utilizzando l'indirizzo dell'interfaccia del router successivo


(o router di next hop), cioè quelle che vengono visualizzate con il formato delle rotte
dinamiche, anche usando il comando network, non vengono in ogni caso
annunciate. E' possibile far annunciare tali tipi di rotte statiche solo configurando il
router in modo tale da ridistribuirle come se provenissero da un altro protocollo di
instradamento.
Quando un interfaccia si disattiva, va giù, tutte le rotte statiche che erano state definite
esplicitando direttamente quell'interfaccia, vengono rimosse dalla tabella di instradamento.

Stessa cosa succede per l'altro tipo di rotte statiche, quando il router non riesce a trovare,
per l'indirizzo specificato, un percorso valido per inoltrare i pacchetti.

In metodo alternativo per evitare che le rotte statiche vengano rimosse dalla tabella di
instradamento è quella di definirle su un'interfaccia di loopback.

Di regola, le rotte statiche definite utilizzando l'indirizzo del router successivo del percorso
(il router di next-hop), dovrebbero sempre essere impiegate nel caso di reti di tipo
multi-accesso (multi-access), come ad esempio le reti ethernet. Questo perché nelle reti
multi-accesso, su ogni segmento di rete possono essere presenti più di due router, in
questi casi è necessario specificare esattamente quale dei router vicini deve ricevere il
traffico per una certa rete, e l'unico modo per farlo è usare l'indirizzo della sua interfaccia.

Su reti molto complesse a topologia magliata, con collegamenti ridondanti o protocolli


multipli, utilizzare rotte statiche può diventare un impresa. Oltre tutto, in tali reti è
essenziale che i router si adattino rapidamente agli eventuali cambiamenti topologici,
selezionando di volta in volta il percorso migliore tra differenti possibilità. In questi casi
l'utilizzo di protocolli di instradamento dinamico costituisce la scelta migliore.

3.1.3 Configurare i protocolli di instradamento dinamico

Esistono diversi protocolli di instradamento dinamico progettati per essere utilizzati su reti
TCP/IP. In genere vengono classificati per ambito di funzionamento. I protocolli progettati
per essere utilizzati all'interno di un'organizzazione o sistema autonomo prendono il nome
di protocolli di instradamento interni o IGP interior gateway protocols, mentre quelli
progettati per instradare il traffico tra sistemi autonomi prendono il nome di protocolli di
instradamento esterni o EGP exterior gateway protocols. La tabella seguente visualizza i
protocolli più utilizzati per reti TCP/IP:

Protocolli Esterni EGP Protocolli Interni IGP


EGP3 Exterior Gateway Protocol RIPv1 e RIPv2 Routing Information Protocol
BGP3 Border Gateway Protocol IGRP Interior Gateway Protocol
OSPF Open Short Path First
EIGRP Enhanced Interior Gateway Protocol
IS-IS Intermediate-System-to-Intermediate-System

In questo modulo concentreremo la nostra attenzione sui protocolli IGP. Nei moduli
successivi invece analizzeremo a fondo i protocolli EGP, con particolare riferimento a
BGP4.

Un altro metodo di classificazione spesso utilizzato per i protocolli di instradamento è quello


di raggrupparli per metodo di funzionamento; in particolare in base al tipo di algoritmo
utilizzato per calcolare i percorsi migliori. Praticamente tutti i protocolli di instradamento si
basano su due algoritmi differenti o su loro varianti:

algoritmi vettore-distanza
algoritmi sullo stato del collegamento.

Protocolli Vettore Distanza Protocolli a Stato del Collegamento


IGRP Interior Gateway Protocol OSPF Open Short Path First
RIPv1 e RIPv2 Routing Information Protocol IS-IS Intermediate-System-to-Intermediate-System
EIGRP Enhanced Interior Gateway Protocol
Protocolli di Instradamento per IPX e AppleTalk

La maggior parte dei protocolli citati in precedenza possono essere utilizzati


esclusivamente su reti TCP/IP. Oggi, la stragrande maggioranza delle installazioni di rete
utilizza i protocolli TCP/IP come unico mezzo per trasportare le informazioni. Tuttavia un
numero significativo di organizzazioni continua a utilizzare sistemi informatici basati su
architetture di rete ormai desuete, chiamate anche legacy, come Novel IPX o AppleTalk.
Semplicemente perché hanno, in passato, investito notevoli capitali per l'acquisto di
dispositivi come stampanti, software e server interamente basati su tali protocolli proprietari,
ed è ovvio che, piuttosto che eliminare completamente la vecchia infrastruttura,
preferiscano continuare a mantenere la vecchia, integrandola all'occorrenza con tecnologia
di nuova generazione. Sebbene il protocollo EIGRP di Cisco, consenta di instradare i
protocolli IPX e AppleTalk, è importante avere quanto meno una certa familiarità con i
protocolli di instradamento proprietari che vengono utilizzati in queste infrastrutture di rete.
In particolare si tratta di tre protocolli: IPX o Novell RIP, NLSP NetWare Link Services
Protocol e RTMP AppleTalk Routing Table Maintenance Protocol.

Protocolli Vettore Distanza Protocolli a Stato del Collegamento


IPX Internetwork Packet Exchange o Novell RIP NLSP NetWare Link Services Protocol
RTMP AppleTalk Routing Table Maintenance Protocol

I protocolli di instradamento IP e le tabelle di instradamento

I comandi dell'IOS Cisco consentono di abilitare il processo di instradamento dinamico in


base al protocollo di instradamento da utilizzare. Di seguito è mostrata la tabella di
instradamento di un router configurato per instradare pacchetti IP tramite i quatto protocolli,
RIP, IGRP, EIGRP e OSPF. In realtà le organizzazioni non utilizzano mai più di uno o due
protocolli di instradamento differenti.

RTA# show ip route


Codes: C - connected, S - static, I - IGRP, R - RIP, M – mobile
B - BGP, D - EIGRP, EX - EIGRP external, 0 – OSPF
IA - OSPF inter area, Nl - OSPF NSSA external type 1
N2 - OSPF NSSA external type 2, El - OSPF external type 1
E2 - OSPF external type 2, E - EGP, i - IS-IS
LI - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o – ODR
P - periodic download static route

Gateway of last resort is not set

C 192.168.4.0/24 is directly connected, Ethernet0


R 192.168.5.0/24 [120/1] via 10.4.0.2, 00:00:07, Seriall

10.0.0.0/16 is subnetted, 6 subnets


D 10.2.0.0 [90/2681856] via 10.3.0.1, 00:26:12, Serial0
C 10.3.0.0 is directly connected, Serial0
D 10.1.0.0 [90/3193856] via 10.3.0.1, 00:25:44, Serial0
S 10.6.0.0 is directly connected, Serial1
S 10.7.0.0 [1/0] via 10.4.0.2
C 10.4.0.0 is directly connected, Serial1
C 10.5.0.0 is directly connected, Ethernet1

R 192.168.1.0/24 [120/3] via 10.3.0.1, 00:00:06, Serial0


I 192.168.2.0/24 [100/10576] via 10.3.0.1, 00:01:07, Serial0
O 192.168.3.0/24 [110/74] via 10.3.0.1, 00:31:34, Serial0

L'immagine precedente mette in risalto una particolare voce della tabella di instradamento
vista in precedenza. Nella fattispecie il percorso verso la rete 192.168.1.0/24. Nelle voci
nella tabella di instradamento che si riferiscono a rotte non direttamente connesse vengono
visualizzati due numeri tra parentesi quadre: [distanza amministrativa/metrica].
Nell'esempio, [120/3] significa che la distanza amministrativa per quella particolare rotta
è 120 mentre la sua metrica è 3. I router valutano la bontà di un percorso di rete in base a
questi due numeri.

I router utilizzano la metrica per valutare o misurare una rotta. Quando una rete è
raggiungibile tramite differenti percorsi e questi sono stati annunciati tramite lo stesso
protocollo di instradamento, il router considera il percorso con metrica inferiore quello
migliore per raggiungere quella rete. L'esempio precedente mostra che il percorso è stato
appreso tramite il protocollo RIP, è infatti contrassegnato con la lettera R, la metrica
utilizzata dal protocollo RIP si basa sul numero di nodi intermedi o salti (hop), che il
pacchetto deve attraversare prima di arrivare a destinazione. L'esempio in questione riporta
una metrica pari a 3, che sta a indicare che per raggiungere la di destinazione il pacchetto
dovrà ancora attraversare altri tre router. Il valore di metrica viene calcolato in maniera
differente da ogni protocollo di instradamento. Per esempio il protocollo EIGRP utilizza
un'espressione matematica abbastanza complessa, parametrizzata su differenti variabili tra
le quali, larghezza di banda e affidabilità del collegamento.

Quando, invece, un router riceve aggiornamenti sulla stessa rete, provenienti da differenti
protocolli di instradamento, non può utilizzare la metrica per confrontare le due rotte.
Questa come detto, dipende dal tipo di protocollo di instradamento, e metriche differenti
non possono essere confrontate. In questo caso il router utilizza la distanza amministrativa,
in particolare sceglie la rotta annunciata con il protocollo di instradamento con distanza
amministrativa inferiore. La distanza amministrativa è praticamente una misura
dell'affidabilità delle rotte annunciate da un certo protocollo di instradamento. Per esempio,
nel caso i cui il router ricevesse due annunci su una stessa rotta, uno proveniente dal
protocollo RIP, l'altro dal protocollo EIGRP, verrebbe scelta la rotta annunciata dal
protocollo EIGRP, perchè ha una metrica pari a 90, mentre il protocollo RIP ha metrica 120.
Il sistema operativo Cisco IOS, assegna ad ogni protocollo di instradamento dei valori di
distanza amministrativa preimpostati. Piccoli valori indicano un protocollo di instradamento
più affidabile.

3.1.4 Protocolli di instradamento vettore-distanza (distance-vector)


Come detto in precedenza, uno dei possibili modi di classificare i protocolli di instradamento
dinamico, è in base al tipo di algoritmo sul quale usato per il calcolo dei percorsi di rete. In
particolare distinguiamo: protocolli vettore-distanza e protocolli a stato del collegamento. I
protocolli di instradamento vettore-distanza sono basati sull'algoritmo Bellman-Ford.

Generalmente gli algoritmi vettore-distanza, prevedono che i router vicini si scambino per
intero la loro tabella di instradamento a intervalli regolari. Inoltre, i protocolli
vettore-distanza più semplici, come RIP e IGRP, non prevedono che tra i router vicini la
comunicazione avvenga in maniera diretta, le informazioni di instradamento vengono
pertanto inviate verso indirizzi broadcast o multicast.

Un router vicino, quando riceve un aggiornamento broadcast, lo esamina confrontandolo


con le informazioni al momento memorizzate nella tabella di instradamento. Rotte verso reti
sconosciute o rotte verso reti conosciute ma con metrica migliore, vengono inserite nella
tabella di instradamento. Il router invierà, nell'aggiornamento successivo, l'intera tabella di
instradamento comprese le eventuali variazioni, utilizzando sempre l'indirizzo di broadcast.

Il termine vettore-distanza deriva dall'osservazione che l'algoritmo calcola il percorso


migliore verso la rete di destinazione basandosi su distanza e direzione. Praticamente, il
router, prima di inviare gli aggiornamenti, aggiunge alla metrica di ogni rotta un valore che
rappresenta la propria distanza da ognuna delle rotte conosciute. Quando invece gli
aggiornamenti sono ricevuti, ad ognuna delle rotte viene associata l'interfaccia sulla quale
le informazioni sono state ricevute. L'interfaccia di ricezione viene quindi utilizzata per
raggiungere la destinazione, e rappresenta a tutti gli effetti una direzione.

I vantaggi dei protocolli vettore-distanza, rispetto ai protocolli a stato del collegamento sono
due, e cioè sono relativamente più semplici da configurare e richiedono meno risorse in
termini di potenza di calcolo e memoria. Inoltre il protocollo RIPv1 ha anche il vantaggio di
essere universalmente implementato e supportato in qualsiasi dispositivo di instradamento.
E' spesso utilizzato come denominatore comune nelle reti che utilizzano dispositivi meno
recenti (legacy) o di differenti produttori.

In generale, i protocolli vettore-distanza, rispetto a quelli a stato del collegamento non


scalano altrettanto bene. Per esempio, RIPv1 e IGRP per instradare i pacchetti, utilizzano il
sistema a classi originario di IP, pertanto gli aggiornamenti non includono le informazioni
sulle sottoreti. Le caratteristiche che aumentano la scalabilità di una rete, come le
maschere di sottorete a lunghezza variabile VLSM Variable Length Subnet Masking o
supernetting, non sono supportate. Inoltre la maggior parte dei protocolli vettore-distanza
converge molto lentamente. Reti molto complesse richiedono che i protocolli di
instradamento, convergano rapidamente, cioè che ogni router all'interno della rete abbia la
stessa visione d'insieme di tutti i percorsi. In questo tipo di reti i protocolli vettore-distanza
sono poco appropriati. Il protocollo RIP, tra l'altro, impone che il numero massimo di nodi
intermedi tra due destinazioni possa essere al massimo 15, tale valore è troppo limitativo
per reti di grandi dimensioni. Sebbene il protocollo IGPR superi la limitazione intrinseca di
RIP, portando a 255 il numero massimo di nodi intermedi tra due reti, ha lo svantaggio di
essere un protocollo proprietario Cisco, e non può essere utilizzato in infrastrutture di rete
che prevedono l'utilizzo di dispositivi di produttori differenti.

A causa di queste limitazioni, l'utilizzo di protocolli di tipo vettore-distanza è consigliabile


solo per le reti di dimensioni limitate. Per reti più complesse l'utilizzo di protocolli di
instradamento più avanzati, come quelli basati sullo stato del collegamento, se non
obbligatorio è fortemente consigliato.

Le immagini seguenti mostrano la sequanza di aggiornamento di tre router che utilizzano


un protocollo vettore distanza:
I protocolli che si basano su algoritmi vettore-distanza apprendono le rotte per così dire
per passa parola. In realtà i router che utilizzano tali protocolli non hanno alcuna
conoscenza della topologia della rete, le uniche informazioni disponibili sono l'interfaccia
sulla quale inoltrare il pacchetto e la distanza dalla destinazione. Per chiarire meglio
quanto detto, osservando l'ultima immagine, il router A viene a conoscenza della rotta
verso la rete 10.10.5.0/24 tramite il router B, le sue conoscenze della rete terminano
qui, non sa ad esempio che tale rotta è stata annunciata dal router C, e che è una rete
direttamente collegata a tale router.

3.1.5 Protocolli di instradamento a stato del collegamento (link -state)

I protocolli di instradamento a stato del collegamento (link-state) rispetto a quelli


vettore-distanza permettono alla rete di scalare con più semplicità e efficacia. Tuttavia
richiedono maggiori risorse in termini di potenza di calcolo e memoria, inoltre la loro
implementazione e configurazione richiede l'impiego di personale qualificato.

I protocolli a stato del collegamento sono basati sull'algoritmo di Dijkstra, chiamato anche
SPF shortest path first. Il protocollo a stato del collegamento più utilizzato è OSPF Open
Shortest Path First, che verrà esaminato in dettaglio nei moduli successivi.

I router che utilizzano protocolli a stato del collegamento hanno un esplicita e diretta
visione dello stato di tutte le interfacce dei router della rete. In pratica ogni router
costruisce una base di dati contenente lo stato di tutti i collegamenti tra ogni router in una
determinata area. In altre parole ogni router acquisisce le informazioni necessarie a creare
una mappa topologica della rete. Utilizzando questa mappa, o base di dati dello stato dei
collegamenti (link-state database), il router esegue l'algoritmo SPF per poter identificare i
percorsi migliori da inserire nella tabella di instradamento. L'algoritmo SPF per ognuno dei
percorsi di rete calcola un albero di attraversamento avente come nodo radice il router
locale.

Piuttosto che apprendere i percorsi inviando l'intera tabella di instradamento, i router che
utilizzano protocolli a stato del collegamento, annunciano, tramite messaggi chiamati LSA
link-state advertisements, lo stato dei propri collegamenti direttamente a tutti gli altri router
dell'area interessata, cosicché ognuno di essi possa popolare la propria base di dati dei
collegamenti. A differenza dei protocolli vettore-distanza, i protocolli a stato del
collegamento (link-state) prevedono che tra i router adiacenti o vicini si formi una speciale
relazione, in modo tale da assicurare che i messaggi LSA vengano scambiati
correttamente ed efficientemente.
Lo scambio dei messaggi LSA avviene con il metodo del flood1 letteralmente inondazione.
All'inizio quando tutti i router necessitano di popolare la propria base di dati dello stato dei
collegamenti (link-state database), ognuno di essi, usando i messaggi LSA, si scambia le
informazioni sullo stato del collegamento. Durante il funzionamento a regime, cioè quando
tutti i router hanno raggiunto la convergenza, è previsto lo scambio dei messaggi LSA a
intervalli regolari, oppure quando un router rileva una variazione alla topologia di rete. In
quest'ultimo caso, il router invia immediatamente un messaggio LSA contenente un
aggiornamento parziale. Gli aggiornamenti parziali contengono esclusivamente le
informazioni sui collegamenti che sono cambiati e non l'intera tabella di instradamento,
come avviene invece con i protocolli vettore-distanza. Gli aggiornamenti parziali,
consentono un utilizzo più efficiente della banda, soprattutto in caso di collegamenti WAN
relativamente lenti. Grazie ai messaggi LSA di aggiornamento immediato, i router che
utilizzano protocolli a stato del collegamento vengono immediatamente informati delle
variazioni alla topologia di rete. Con i protocolli vettore-distanza invece un router apprende
le eventuali variazioni alla topologia di rete dal suo vicino solo dopo la scadenza degli
intervalli di aggiornamento impostati.

Oltre ad avere tempi di convergenza estremamente ridotti e un miglior utilizzo della banda
passante rispetto ai protcolli vettore-distanza, i protocolli a stato del collegamento
supportano: CIDR classless intedomain routing (instradamento senza classi), VLSM
variable-length subnet mask (maschere di sottorete a lunghezza variabile) e supernetting
(l'aggregazione delle rotte). Questo li rende un ottima scelta per infrastrutture di rete di
grandi dimensioni. Nei fatti comunque, i protocolli a stato del collegamento, si rivelano
superiori ai protocolli vettore-distanza, in reti di qualsiasi dimensione. Tuttavia, i limiti di
utilizzo dei protocolli a stato del collegamento sono dettati dai quelli che sono i due loro
principali svantaggi:

Poiché richiedono notevoli risorse di potenza di calcolo e memoria, in genere non


sono supportati dai dispositivi di rete economici. Comunque anche se lo fossero, il
dispositivo stesso potrebbe non riuscire a gestire il carico di lavoro imposto. E' ovvio
quindi che per piccole aziende il costo per implementare protocolli a stato del
collegamento potrebbe essere proibitivo;

Installazione, messa in opera e amministrazione, richiedono notevoli capacità e


competenze, presenti solo in personale qualificato. La configurazione e
l'amministrazione di un protocollo a stato del collegamento si può rivelare
un'operazione abbastanza difficoltosa, tale da scoraggiare gli amministratori di rete
che non possiedono sufficienti competenze, o da annullare gli eventuali vantaggi
nel caso di reti di piccole dimensioni.

In tutti questi casi si preferisce implementare un protocollo vettore-distanza.

3.1.6 Protocolli di instradamento ibridi: EIGRP

EIGRP è un protocollo di instradamento vettore-distanza avanzato, proprietario Cisco.


Questo utilizza alcune caratteristiche proprie dei protocolli a stato del collegamento.
Sebbene la configurazione di EIGRP sia semplice come quella dei protocolli
vettore-dstanza, come nei protocolli a stato del collegamento vengono utilizzate tecniche
avanzate per garantire la massima rapidità di convergenza, come i messaggi di
aggiornamento parziale, le relazioni di adiacenza con i router vicini, e l'utilizzo di una base
di dati topologica. Proprio per tutte queste caratteristiche, EIGRP, è spesso identificato
come un protocollo di instradamento ibrido. EIGRP verrà discusso in maniera più
1 Questa tecnica prevede che ogni dispositivo di rete che riceve un messaggio lo ritrasmetta su tutte le sue
interfacce ad esclusione di quella su cui il messaggio è stato ricevuto.
approfondita nei prossimi moduli.

Caratteristiche principali di EIGRP


Rapidità di convergenza;
Aggiornamenti immediati;
Calcolo di percorsi privi di anelli;
Supporto multi-protocollo;

3.2 Le rotte predefinite (default routing)


3.2.1 Introduzione alle rotte predefinite

Non è ne fattibile ne desiderabile che ogni router mantenga nella sua tabella di
instradamento le rotte verso ogni possibile destinazione. Sarebbe più logico utilizzare una
rotta predefinita o gateway di ultima risorsa (last resort). Tale rotta verrebbe utilizzata dal
router esclusivamente per inoltrare i pacchetti cui indirizzi di destinazione non sono inclusi
tra le voci della tabella di instradamento. Il router potrebbe utilizzare la rotta predefinita per
instradare il pacchetto verso un altro router che a sua volta potrebbe conosce una rotta
verso quella destinazione o utilizzare a sua volta una rotta predefinita verso un altro router,
e così via, fino a quando o il pacchetto raggiunge la destinazione o viene scartato per
inesistenza della rotta.

I router utilizzano la rotta predefinita se nella tabella di instradamento non ci


sono altre rotte esplicitamente definite

L'utilizzo delle rotte predefinite consente di mantenere le tabelle di instradamento su


dimensioni accettabili; caratteristica fondamentale per la scalabilità di una rete. Le rotte
predefinite consentendo ai router di inoltrare i pacchetti diretti verso una qualsiasi rete di
destinazione, senza dover mantenere nella tabella di instradamento una voce per ognuna
di esse. La rotta predefinita può essere configurare manualmente su ogni router
dell'azienda, oppure, tramite un protocollo di instradamento dinamico, è possibile fare in
modo che si propaghi dinamicamente ad ogni router. In quest'ultimo caso è necessario
che, almeno su un router, venga impostata manualmente una rotta predefinita.

Per configurare una rotta predefinita sui router Cisco è possibile utilizzare due differenti
comandi: ip route 0.0.0.0 0.0.0.0 o ip default-network.

3.2.2 Configurazione di una rotta predefinita statica

Il modo più semplice per definire su un router una rotta predefinita è quello di creare una
rotta statica usando come rete di riferimento 0.0.0.0/0:

Router(config)#
ip route 0.0.0.0 0.0.0.0 [next-hop-ip-address | exit-interface]

La rete 0.0.0.0/0 sui router Cisco ha un significato particolare. Significa qualsiasi rete,
in pratica qualsiasi indirizzo di destinazione corrisponde con essa. Questo perché, la
sequenza di 32 bit a zero, significa che nessun bit dell'indirizzo di destinazione deve avere
esatto corrispondente.

La rotta per 0.0.0.0/0 è spesso chiamata anche quad-zero. In reti di dimensioni limitate
è possibile configurare manualmente su ogni router la rotta predefinita utilizzando questo
sistema. Tuttavia, in reti particolarmente complesse, è auspicabile che i router si scambino
dinamicamente tra loro questa informazione. Il modo in cui avviene questo scambio varia
in base al tipo di protocollo di instradamento utilizzato; una cattiva configurazione può
causare problemi di difficile individuazione. Generalmente una rotta predefinita punta
verso una rete al di fuori di quella aziendale, pertanto non è possibile per i router interni
rilevarne eventuali problemi.

Quando viene utilizzato il protocollo RIP, la rotta statica 0.0.0.0/0 viene propagata
automaticamente a tutti i router. L'unico modo per evitare che venga inclusa negli
aggiornamenti RIP, è quello di utilizzare un filtro che la blocchi, un tale sistema sarà
analizzato più avanti nel corso.

Dalla versione 12.1 del sistema operativo IOS Cisco, il protocollo RIP non propaga più in
maniera automatica la rotta predefinita. In questo caso, affinché la propagazione possa
avvenire è necessario abilitarla esplicitamente con il comando: network 0.0.0.0.

Alternativamente è possibile utilizzare i comandi: default-information originate o


redistribute static. Indipendentemente dalla versione dell'IOS Cisco, quando si
utilizza il protocollo OSPF, per annunciare agli altri router la rotta predefinita è necessario
utilizzare il comando default-information originate. L'esempio seguente illustra
la configurazione di un router con il protocollo RIP, in modo tale che propaghi la rotta
predefinita anche agli altri router:

RTY(config)# ip route 0.0.0.0 0.0.0.0 172.16.1.2


RTY(config)# router rip
RTY(config-router)# default-information originate

Utilizzando il comando default-information originate è possibile configurare un


singolo router con protocollo RIP e la rotta 0.0.0.0/0, in modo tale che la rotta
predefinita venga propagata agli altri router. Il comando default-information
originate può essere utilizzato con il protocollo OSPF, con il medesimo effetto.

3.2.3 Utilizzo della rotta predefinita cone il protocollo IGRP


Il protocollo IGRP (Interior Gateway Routing Protocol), tratta la rotta 0.0.0.0/0 in
maniera differente dal protocollo RIP. Nei fatti il protocollo IGRP non riconosce le rete
0.0.0.0/0 e non la include nei messaggi di aggiornamento. Per configurare il protocollo
IGRP affinché annunci la rotta predefinita, è necessario utilizzare il comando
ip default-network. Tale comando può essere utilizzato per impostare più di una
rotta predefinita verso una qualsiasi rete. Pertanto nel caso di IGRP è più opportuno
parlare di rotta candidata piuttosto che di rotta predefinita, ciò anche per evitare confusioni
con la rotta 0.0.0.0/0. Il formato del comando è il seguente:

Router(config)# ip default-network ip-network-address

Tra tutte le rotte candidate il router sceglierà quella con metrica più vantaggiosa come
rotta candidata predefinita. Tale rotta viene identificata nella tabella di instradamento
tramite un asterisco.

Osservando l'immagine precedente, poiché il router RTB è quello di confine, deve essere
configurato manualmente in modo tale da inviare ai router della rete aziendale le
informazioni sulla rotta predefinita, nella fattispecie quella verso il router dell'ISP. Sebbene
sul router RTP sia possibile configurare una rotta statica 0.0.0.0/0 verso il router
dell'ISP, questa non verrebbe annunciata dal protocollo IGRP. Per evitare di dover
configurare manualmente la rotta statica 0.0.0.0/0 per ogni router dell'azienda, è
possibile configurare il router RTB impostando una rotta candidata verso
207.21.20.0/24:

RTB(config)# ip default-network 207.21.20.0

La rete 207.21.20.0/24 è adesso una rete esterna (exterior network) con proprietà
particolari. Le reti esterne, sono appunto reti che si trovano al di fuori della rete aziendale
e che servono come gateway di ultima risorsa. Il router RTB invierà le informazioni su
questa rotta negli aggiornamenti IGRP, ai router RTA e RTC, che apprenderanno
dinamicamente che le rete 207.21.20.0/24 è una rete esterna,facendo del router RTB il
loro gateway di ultima risorsa. Sia il router RTA che RTC propagheranno a loro volta
questa rotta, denotandola come candidata predefinita, a tutti gli altri router IGRP, se
presenti.
Il comando ip default-network offre un grado di flessibilità più elevato della semplice
configurazione di una rotta statica 0.0.0.0/0. Con tale comando è infatti possibile
denotare diverse rotte come candidate predefinite. E in reti particolarmente complesse ciò
permette ai router di scegliere la migliore rotta predefinita su cui instradare un pacchetto,
in base al miglior valore di metrica .

Il comando ip default-network deve essere utilizzato sui router IGRP affinché


propaghino le informazioni sulla rotta predefinita. Utilizzando il protocollo RIP
generalmente è sufficiente definire una rotta statica 0.0.0.0/0. Tuttavia è possibile
utilizzare il comando ip default-network anche su un router configurato con il
protocollo RIP router, sebbene il router continuerà comunque ad annunciare una rotta
predefinita e non una rotta candidata. In altre parole se si configurasse un router con
protocollo RIP e con il comando ip default-network 192.168.1.0, questo
annuncerebbe agli altri router una rotta 0.0.0.0/0, verso la rete 192.168.1.0 e non
una rotta candidata verso 192.168.1.0.

Si osservi che il comando ip default-network si aspetta indirizzi IP con il sistema a


classi (cioè classful), ciò significa che anche specificando un indirizzo di sottorete, il router
aggiunge comunque nella sua tabella di instradamento una rotta statica verso l'indirizzo
allineato alla classe della rete e non la sottorete.

3.2.4 Possibili problemi sull'utilizzo delle rotte predefinite

L'insieme di tutte le sottoreti di un'azienda formano il cosiddetto dominio locale. Quando


un router deve instradare un pacchetto all'interno di questo dominio non utilizza mai la
rotta predefinita (o gateway of last resort). La figura seguente mostra il router RTX con due
interfacce configurate su due sottoreti differenti: 172.16.3.0/24 e 172.16.2.0/24,
tuttavia entrambe appartengono alla stessa rete di classe B 17.16.0.0/16.

Entrambe le interfacce del router RTX sono sulla stessa rete


principale

Se i router della rete dell'esempio precedente, utilizzassero il protocollo IGRP, il router


RTX non apprenderà mai dell'esistenza della sottorete 172.16.1.1/30, questo perché
IGRP è un protocollo a classi e non supporta le maschere di sottorete a lunghezza
variabile VLSM. Configuriamo adesso sul router la rotta statica predefinita 0.0.0.0/0
verso il router RTZ il cui indirizzo è 172.16.3.1:

RTX(config)# ip route 0.0.0.0 0.0.0.0 172.16.3.1

Eseguendo adesso, sul router RTX, il comando ping sull'indirizzo 172.16.1.1, ci si


aspetterebbe che il router usando la rotta predefinita instradi il traffico verso il router RTZ.
Tuttavia il router RTX ha entrambe le interfacce collegate alla rete principale
172.16.0.0/16, e l'indirizzo 172.16.1.1 viene considerato appartenente al dominio
locale, pertanto il router non utilizza la rotta predefinita. In conclusione senza ulteriori
configurazioni il ping fallisce.

Il precedente problema può essere risolto in diversi modi. Un approccio potrebbe essere
quello di configurare il router con il comando ip classless, in modalità di
configurazione globale. Tale comando è abilitato per impostazione predefinita su tutte le
versioni dell'IOS dalla 11.3 in poi, e consente al router di instradare un pacchetto
utilizzando il miglio prefisso di rete disponibile. Nell'esempio precedente, utilizzando il
comando ip classless sul router RTX, per raggiungere sottoreti sconosciute nel
dominio locale 172.16.0.0/16, questo utilizzerebbe la rotta 0.0.0.0/0.

Un altro approccio protrebbe essere invece quello di configurare RTX con una rotta
esplicita verso la rete principale 172.16.0.0/16 :

RTX(config)# ip route 172.16.0.0 255.255.0.0 172.16.3.1

In questo caso, nell'assenza di una rotta più specifica verso l'indirizzo 172.16.1.1, il
router RTX utilizzerebbe la rotta statica verso la rete principale 172.16.0.0/16
riuscendo così a instradare correttamente il pacchetto destinato all'indirizzo 172.16.1.1.

3.3 Rotte statiche mobili (floating static route)


3.3.1 Configurazione delle rotte statiche mobili (floating static route)

Lo svantaggio principale di utilizzare le rotte statiche è quello che non si adattano ai


cambiamenti topologici della rete. Tuttavia è possibile utilizzare una tecnica particolare che
consente di configurare rotte statiche che, sebbene in maniera limitata, possono adattarsi
ai cambiamenti topologici della rete, tali rotte prendono il nome di rotte statiche mobili o
floating static routes.

Una rotta statica mobile, non è altro che una semplice rotta statica con una distanza
amministrativa superiore a quella delle rotte principali. In pratica si tratta di una rotta
alternativa o di emergenza (backup), che non viene inserita nella tabella di instradamento
del router fino a quando una rotta verso la stessa destinazione diviene irraggiungibile. Per
chiarire meglio il concetto si osservi l'esempio nell'immagine seguente:
Supponiamo che dal router RTB si possa raggiungere la rete 10.0.0.0/8 tramite due
differenti percorsi. Supponiamo anche, che il percorso principale per la rete 10.0.0.0/8
sia quello attraverso il router RTC, e che sia stato inserito nella tabella di instradamento
del router RTB tramite un protocollo di instradamento dinamico, per esempio RIP. E'
tuttavia auspicabile che il router RTB, in caso di problemi al percorso principale, utilizzi
quello di backup, tramite il router RTA. Il problema in questo caso è che spesso i
collegamenti di backup vengono realizzati utilizzando tecnologie a commutazione di
circuito come ISDN o collegamenti analogici (Dial-up); su tali collegamenti per ovvie
ragioni non vengono mai utilizzati i protocolli di instradamento dinamico. In questo caso è
necessario configurare sul router RTB una rotta statica mobile, che si attivi quando quella
principale dovesse, per un qualsiasi motivo, smettere di funzionare.

RTB(config)# ip route 10.0.0.0 255.0.0.0 1.1.1.1 130

Il comando precedente imposta una rotta statica verso la rete 10.0.0.0/8 tramite il
router RTA, ma in questo caso è stato esplicitamente impostato un valore per la distanza
amministrativa pari a 130. Per impostazione predefinita la distanza amministrativa delle
rotte statiche è pari a 1. Specificando esplicitamente un valore per la distanza
amministrativa che sia più elevato di quello della rotta principale, si crea una rotta statica
mobile (floating static route). Nell'esempio in questione il percorso principale è stato
installato nella tabella di instradamento del router RTB, tramite il protocollo RIP, le cui rotte
hanno una distanza amministrativa pari a 120. Configurando la rotta statica con una
distanza amministrativa superiore, nella fattispecie 130, la si rende meno desiderabile di
quella appresa con il protocollo RIP; pertanto il router utilizzerà quest'ultima tutte le volte
che dovrà instradare un pacchetto verso la rete 10.0.0.0. Comunque se il percorso
attraverso il router RTC non dovesse essere più disponibile, il router RTB installerebbe
automaticamente nella sua tabella di instradamento la rotta statica mobile che è stata
definita.

E' possibile utilizzare le rotte statiche mobili insieme ad altre rotte statiche per poter creare
uno schema di instradamento semi-adattabile alle mutazioni della topologia di rete.

RTZ(config)# ip route 0.0.0.0 0.0.0.0 s0


RTZ(config)# ip route 0.0.0.0 0.0.0.0 s1 5
RTZ(config)# ip route 4.0.0.0 255.0.0.0 s2
RTZ(config)# ip route 4.0.0.0 255.0.0.0 s3 5
RTZ(config)# ip route 4.0.0.0 255.0.0.0 s4 10

In questo caso il router RTZ popolerebbe la sua tabella di instradamento con una rotta
predefinita verso l'interfaccia s0 e una rotta per la rete 4.0.0.0/8 verso l'interfaccia s2.
Nel caso in cui la rotta predefinita dovesse fallire, verrebbe sostituita con la rotta
predefinita verso l'interfaccia s1. Se invece dovesse fallire la rotta principale verso
l'interfaccia s1, il router la sostituirebbe prima con la rotta verso l'interfaccia s3, e in caso
di ulteriore fallimento di quest'ultima, con quella verso l'interfaccia s4.

3.4 Instradamento su richiesta – ODR On-Demand Routing


3.4.1 Introduzione all'instradamento su richiesta – ODR On -demand routing

RTA(config)# ip route 10.1.1.0 255.255.255.0 10.1.0.1


RTA(config)# ip route 10.1.2.0 255.255.255.0 10.1.0.2
RTA(config)# ip route 10.1.3.0 255.255.255.0 10.1.0.3

La configurazione delle rotte statiche in reti a topologia hub-and-spoke come quella


mostrata nell'immagine precedente, è un processo relativamente semplice. Tuttavia molti
amministratori di rete preferiscono non utilizzare le rotte statiche, perché le ritengono
troppo laboriose da manutenere. Infatti ogni volta che la rete subisce cambiamenti
topologici è necessario rimuovere i percorsi non più esistenti e configurare quelli nuovi.
Dalla versione 11.2 dell'IOS, Cisco ha implementato una caratteristica proprietaria per
chiamata ODR On Demand Routing (instradamento a richiesta) che consente di
semplificare l'instradamento in reti di tipo hub-and-spoke.

RTA(config)# router odr


Mentre sui router delle reti secondarie (stub) vengono utilizzate rotte statiche verso il
router centrale (hub), su quest'ultimo viene utilizzato l'ODR, che gli consente di recuperare
automaticamente i prefissi (la porzione dell'indirizzo IP che rappresenta la rete) delle reti
secondarie (stub) ad esso collegate, in modo tale da inserili nella propria tabella di
instradamento. L'ODR, come meccanismo di trasporto, utilizza il protocollo CDP Cisco
Discovery Protocol.

CDP, Cisco Discovery Protocol, è un protocollo di livello collegamento (data-link)


proprietario Cisco, che viene utilizzato su dispositivi quali router, server di accesso, bridge
e switch. E' indipendente dal mezzo trasmissivo, e consente di rilevare la presenza di altri
dispositivi Cisco sulla rete. In pratica utilizzando il protocollo CDP, un dispositivo è in
grado di annunciare la propria esistenza agli altri dispositivi, e di ricevere da questi
informazioni. Poiché il protocollo CDP è di livello collegamento (data-link), i dispositivi
devono trovarsi sulla stessa rete o essere i punti terminali di un collegamento WAN. E'
possibile utilizzare CDP su tutte quelle tecnologie che supportano SNAP 2 Subnetwork
Access Protocol, come le tutte le LAN, Frame Relay, e ATM. Pertanto ODR dipende
anche dal supporto della rete al protocollo SNAP.

Per quanto detto quindi si capisce come ODR non sia un protocollo di instradamento.
Semplicemente il router che utilizza tale caratteristica può apprendere automaticamente le
informazioni riguardo le reti stub ad esso collegate, ma non vale il viceversa, cioè i router
delle reti stub non possono apprendere i percorsi verso il router della rete hub. Questo
dipende appunto dal fatto che le informazioni vengono trasportate dal protocollo CDP, che
è di livello collegamento (data-link), pertanto il loro ambito di validità è limitato al tratto tra il
router centrale (hub) e il router della rete stub. Tuttavia utilizzando un protocollo di
instradamento dinamico è possibile ridistribuire le rotte apprese con ODR.

RTA# show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M – mobile,


B - BGP, D - EIGRP, EX - EIGRP external, O -OSPF,
IA - OSPF inter area, Nl - OSPF NSSA external type 1,
N2 - OSPF NSSA external type 2, El - OSPF external type 1,
E2 - OSPF external type 2, E - EGP i - IS-IS, LI - IS-IS level-1,
L2 - IS-IS level-2, ia - IS-IS inter area, * - candidate default,
U - per user static route, o – ODR,
P - periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/8 is subnetted, 4 subnets, 1 mask


C 10.1.0.0/24 is directly connected, Serial 0/0
o 10.1.1.0/24 [180/1] via 10.1.0.1, 00:00:32, Serial 0/0
o 10.1.2.0/24 [160/1] via 10.1.0.2, 00:00:32, Serial 0/0
o 10.1.3.0/24 [160/1]
via 10.1.0.3, 00:00:32, Serial 0/0

RTA#

La la tabella di instradamento precedente, contiene le voci apprese con ODR. Si può


osservare come la distanza amministrativa di tali rotte sia paria 160 con metrica pari a 1.
Questo valore rappresenta il numero di nodi intermedi (hop-count), ed è ovviamente
sempre 1, perché le rotte ODR sono sempre tra il router della rete hub e quello della rete

2 SNAP Subnetwork Access Protocol, è un protocollo Internet che opera tra due entità a livello rete. Il
protocollo SNAP specifica un metodo standard per incapsulare un datagramma IP o un messaggio ARP
Address Resolution Protocol su reti IEEE. L'entità SNAP nel sistema terminale (end-system) utilizza i
servizi della sottorete per eseguire tre funzioni chiave: trasferimento dati, controllo della connessione e
selezione del QoS, servizio di qualità.
sub. Si osservi anche che ODR supporta VLSM le maschere di sottorete a lunghezza
variabile, pertanto non è necessario utilizzare indirizzi allineati al prefisso della classe.
Inoltre, poiché vengono scambiate le informazioni strettamente necessarie, l'utilizzo della
larghezza di banda è minimo.

Il protocollo CDP è abilitato per opzione predefinita su tutti i dispositivi Cisco con sistema
operativo ISO 10.3 e superiori; la caratteristica ODR tuttavia è stata introdotta a partire
dalla versione 11.2 dell'IOS. Sebbene ODR venga utilizzato esclusivamente sui router
della rete hub, è tuttavia necessario che anche i router della rete stub abbiano IOS con
versione 11.2 o successiva.

Sicuramente ODR rappresenta una soluzione più scalabile dell'utilizzo di sole rotte
statiche.

3.4.2 Configurazione di ODR (On-Demand Routing)

La funzionalità di ODR viene abilitata sui router Cisco con un singolo comando in modalità
globale router odr. Disabilitando qualsiasi protocollo di instradamento dinamico sui
router delle reti spoke, questi cominceranno automaticamente ad annunciare reti e
sottoreti direttamente collegate usando CDP. Sul router hub, comunque ODR può essere
utilizzato in congiunzione con un protocollo di instradamento dinamico. Il protocollo CDP è
abilitato per impostazione predefinita, tuttavia, se disabilitato, è necessario abilitarlo con il
comando cdp run. Per abilitare il protocollo CDP su un'interfaccia specifica è possibile
utilizzare il comando cdp enable.

RTA(config)# router odr

L'immagine precedente mostra una tipica rete a topologia hub-and-spoke. Per configurare
ODR è necessario utilizzare il comando router odr nel router hub. Se tutti i router
utilizzano IOS 11.2 o superiore e la tecnologia di rete utilizzata supporta il protocollo SNAP
(come Frame Relay), il router hub apprenderà automaticamente gli indirizzi delle reti stub
grazie a ODR. E' necessario comunque configurare sui router delle reti stub una rotta
statica predefinita verso il router della rete hub. A partire dalla versione 12.0.5.T nell'IOS
Cisco è stata introdotta una nuova caratteristica che consente al router della rete hub di
inviare automaticamente una rotta predefinita ai router delle reti spoke.

Le rotte che il router hub ha appreso tramite ODR, possono essere ridistribuite usando un
protocollo di instradamento dinamico. Rifacendoci all'esempio dell'immagine precedente,
se sul router della rete hub RTA nasce l'esigenza di annunciare le rotte apprese con ODR
usando ad esempio il protocollo OSPF, la configurazione del router RTA diventa:
RTA(config)# router odr
RTA(config)# router ospf 1
RTA(config-router)# redistribute odr metric 100 subnets
RTA(config-router)# network 10.2.0.0 0.0.255.255 area 1

3.5 La Convergenza
3.5.1 Problemi legati alla convergenza

Il con il termine convergenza si identifica la proprietà dei router che utilizzano un


protocollo di instradamento dinamico di raggiungere nel più breve tempo possibile lo stato
in cui ognuno di essi ha la stessa visione comune della topologia di rete.

Il processo è in parte indipendente, cioè portato avanti singolarmente da ogni router, in


parte collaborativo, cioè dovuto all'interazione di tutti i router. Ogni router condivide alcune
informazioni con tutti gli altri nella rete, ma individualmente ognuno di essi deve ricalcolare
le proprie tabelle di instradamento. E, affinche il processo di instradamento sia accurato,
ogni router deve avere una visione topologica della rete uguale a quella degli altri.
Quando tutti i router di una rete hanno una tale visione si dice che convergono. I protocolli
di instradamento e il progetto di una rete vengono giudicati esclusivamente in base alla
rapidità con la quale viene raggiunto lo stato di convergenza.

La fase che precede la convergenza, quella cioè in cui i router non hanno ancora
raggiunto una visione omogenea della topologia di rete, è quella in cui la rete è più
suscettibile a problemi di instradamento. Infatti, mentre alcuni router potrebbero per
esempio già essere a conoscenza del fatto che un collegamento di rete non è più
disponibile, su altri tale informazione potrebbe non essere ancora giunta. In questa fase
quindi, le tabelle di instradamento di ogni singolo router potrebbero contenere informazioni
contraddittorie, e ciò potrebbe portare alla perdita di pacchetti o anelli (loop) nei percorsi di
rete.
E' ovvio che è impossibile che tutti i router di una rete rilevino simultaneamente una
variazione alla topologia. Il tempo che trascorre dal momento in cui un router rileva una
variazione topologica, al momento in cui i router convergono dipende principalmente dal
protocollo di instradamento utilizzato. In generale i principali fattori che determinano il
tempo di convergenza sono:

Il protocollo di instradamento utilizzato;


La distanza, o il numero di nodi intermedi dal router che ha rilevato la variazione;
Il numero di router che utilizzano protocolli di instradamento dinamico;
La larghezza di banda e il grado di congestione dei collegamenti di rete;
Il carico di lavoro del router;
Il grado di congestione della rete in base alla variazione topologica;

L'influenza di alcuni di questi fattori può essere minimizzata grazie ad un'attenta


progettazione della rete. Altri fattori come ad esempio il numero di router intermedi
dipende dalla dimensione della rete, e deve essere accettata come un rischio calcolato,
inerente alla progettazione della rete stessa. Su reti di grandi dimensioni è possibile ridurre
il numero di router che devono convergere, usando rotte statiche.

E' chiaro quindi che il tempo di convergenza di una rete dipende sia da una buona
progettazione, sia dal modo in cui i protocolli di instradamento utilizzato, quindi dal modo
in cui vengono ricalcolati i percorsi e in cui vengono distribuiti gli aggiornamenti.

3.6 Il calcolo dei percorsi (rotte) di rete


3.6.1 Nozioni fondamentali sul calcolo delle rotte

La capacità di un protocollo di instradamento di calcolare e mantenere aggiornati in


maniera efficiente ed efficace i percorsi di rete, dipende da diversi fattori:

1) Se per ciascuna destinazione il protocollo è in grado di gestire più percorsi;


2) La modalità in cui vengono effettuati gli aggiornamenti dei percorsi di rete;
3) La metrica utilizzata per calcolare la distanza o il costo di un percorso;

Percorsi differenti per singole destinazioni : Alcuni protocolli di instradamento prevedono


che il router installi nella propria tabella di instradamento esclusivamente un solo percorso
verso una rete di destinazione. Altri protocolli invece prevedono che, quando disponibili, il
router gestisca più percorsi verso la stessa rete. Sebbene ciò aggiunga ulteriore
complessità alla gestione dei percorsi, e comporti quindi più lavoro per il router, consente
di bilanciare il carico tra i differenti percorsi. Un altro vantaggio di avere a disposizione
differenti percorsi verso la stessa destinazione è quello che, se uno di questi dovesse per
un qualsiasi motivo, non essere più disponibile, il router potrà comunque, continuare ad
instradare i pacchetti sull'altro percorso.
Per esempio osservando l'immagine precedente, il router ha due differenti percorsi verso
la rete 10.0.0.0 e se uno dei due dovesse fallire potrà continuare a instradare pacchetti
verso la rete tramite l'altro percorso senza aspettare che l'informazione su tale rete venga
propagata tramite il protocollo di instradamento. Gestire più percorsi verso una
determinata destinazione non riduce i tempi di convergenza, ma migliora l'immunità della
rete ai guasti, ed isola i problemi che possono nascere durante il processo di
convergenza.

3.6.2 I messaggi di aggiornamento dei protocolli di instradamento

I protocolli di instradamento prevedono che ogni router invii dei messaggi per aggiornare i
router adiacenti o a intervalli regolari o all'accadere di un evento, come ad esempio la
variazione della topologia di rete. A tal proposito, distinguiamo i protocolli di instradamento
ad intervalli di tempo o Time-driven che attendono che intercorra un determinato periodo
di tempo prima di inviare aggiornamenti, e protocolli ad eventi o event-driven che invece
inviano gli aggiornamenti solo quando è necessario, nella fattispecie quando viene rilevata
una variazione alla topologia di rete. Un classico esempio di protocollo time-driven è RIP,
che prevede che la tabella di instradamento venga inviata per intero ogni 30 secondi,
anche se la topologia di rete non è cambiata. I protocolli a stato del collegamento
(link-state) e EIGRP, sono invece event-driven, e prevedono che i messaggi di
aggiornamento vengano inviati solo quando avviene una variazione alla topologia di rete;
tali messaggi possono contenere o l'intera tabella di instradamento incluse le variazioni,
oppure le sole variazioni dall'ultimo aggiornamento.

I protocolli di instradamento che si basano esclusivamente sugli intervalli di tempo


(time-driven) non reagiscono prontamente alle variazioni della topologia di rete. Infatti se
un router rileva una variazione alla topologia, deve comunque attendere che trascorra
l'intervallo impostato prima di inviare aggiornamenti ai router adiacenti, in questi casi
possono anche trascorrere diversi minuti prima che i router convergano nuovamente. Più
è lungo il tempo richiesto dai router per convergere, più è alta la possibilità che i pacchetti
vengano instradati in modo errato o addirittura che entrino in anelli di instradamento.
D'altra parte neanche i protocolli che si basano esclusivamente sugli eventi
(envent-driven) possono funzionare correttamente; su alcuni tipi di rete infatti non esiste
alcuna possibilità di rilevare l'interruzione di un percorso se non quella di inviare
esplicitamente e dei messaggi.

Per queste ragioni la maggior parte dei protocolli utilizza una combinazione di entrambi i
sistemi. Una delle eccezioni è il protocollo RIP, le cui specifiche standard non
prevedevano alcun tipo di aggiornamento immediato in base a variazioni topologiche.
Tuttavia l'implementazione sui router Cisco prevede che il protocollo RIP invii un
aggiornamento immediato ogni volta che avviene una variazione alla topologia di rete.
Anche il protocollo IGRP prevede aggiornamenti immediati. Senza tale occorgimento ne
RIP ne IGRP sarebbero protocolli efficienti.

I protocolli che si basano principalmente sugli eventi, prevedono che i router si scambino
periodicamente messaggi di dimensioni contenute per verificare la connettività di un
segmento di rete. Ad esempio il protocollo OSPF utilizza un contatore chiamato MaxAge,
che indica il periodo di validità di una determinata informazione, scaduto questo periodo è
necessario che questa informazione venga rinnovata altrimenti non sarà più considerata
valida.

3.6.3 La metrica

In un protocollo di instradamento la metrica rappresenta il valore di bontà di una rotta.


Ogni protocollo di instradamento calcola il valore di metrica in base a differenti parametri. Il
protocollo RIP ad esempio utilizza il numero di nodi intermedi come unico fattore per
determinare la metrica di una rotta. Altri protocolli invece basano il calcolo della metrica in
base a differenti parametri, ad esempio: numero di nodi intermedi, larghezza di banda,
ritardo, carico, affidabilità e unità massima di trasmissione MTU Maximum Transmission
Unit.

Parametro Tipo
Numero di nodi intermedi (hop-count) Statico
Larghezza di banda (bandwidth) Statico
Ritardo (delay) Statico
Carico (load) Dinamico
Affidabilità (reliability) Dinamico
Unità massima di trasferimento (MTU – Maximum trasmission unit) Statico

Parametri quali ritardo e larghezza di banda sono valori statici che dipendono dal tipo di
mezzo trasmissivo e non variano nel tempo, invece carico e affidabilità sono parametri
dinamici che possono variare nel tempo e vengono calcolati in tempo reale su ogni
interfaccia dal router.

In genere più sono i parametri sui quali viene effettuato il calcolo della metrica, migliore è
la capacità di adattamento del protocollo di adattarsi a specifiche esigenze. Per esempio il
protocollo IGRP utilizza per impostazione predefinita due parametri statici, larghezza di
banda e ritardo. Entrambi possono essere configurati manualmente consentendo massima
precisione nel controllare le rotte che vengono scelte. Inoltre il protocollo IGRP può anche
essere configurato per includere nel calcolo della metrica due parametri dinamici, carico e
affidabilità. Grazie a questi due parametri dinamici il protocollo IGRP consente ai router di
poter prendere decisioni di instradamento in base a condiziono che mutano di volta in
volta. Per esempio se un certo collegamento diventa troppo congestionato o poco
affidabile, la metrica della rotta aumenta, in questo caso se presente può essere utilizzata
una rotta alternativa con metrica inferiore.

2.1 Esercizi di configurazione dei protocolli di instradamento


2.1.1 Migrare da RIP a EGRP

Scenario
L'Agenzia Turistica Internazionale, utilizza attualmente, come protocollo di instradamento dinamico
interno, RIP v2. E' intenzionata adesso a migrare al protocollo EIGRP.
Passo 1. Su tutti i router configurare il protocollo RIPv2 e abilitare gli aggiornamenti su tutte le interfacce di
rete attive. Si seguito, come esempio di riporta la configurazione di SanJose1:

SanJose1(config)# router rip


SanJose1(config-router)# version 2
SanJose1(config-router)# network 192.168.1.0
SanJose1(config-router)# network 10.0.0.0

Usare i comandi ping e show ip route per verificare la piena connettività della rete.

Passo 2. Per evitare che la connettività venga perduta è bene prima di tutto configurare e attivare il
protocollo EIGRP, prima di disattivare il protocollo RIP. Sui router SanJose1 e SanJose2,
configurare il protocollo EIGRP con sistema autonomo 24. Non configurare per adesso il router
Vista:

SanJose1(config)# router eigrp 24


SanJose1(config-router)# network 192.168.1.0
SanJose1(config-router)# network 10.0.0.0

SanJose2(config)# router eigrp 24


SanJose2(config-router)# network 192.168.2.0
SanJose2(config-router)# network 10.0.0.0

Passo 3. Dal router Vista utilizzare il comando show ip route. Si osservi che The EIGRP non è stato
ancora configurato su tale router, tuttavia grazie al fatto che sugli altri router è ancora è attivo il
protocollo RIPv2 riceve aggiornamenti da questi sulla rotta verso la rete 10.0.0.0/8 con
distanza amministrativa pari a 120 e metrica pari a 1. A questo punto abilitare il debug così da
osservare i cambiamenti alla tabella di instradamento:

Vista# debug ip routing

Passo 4. Se la connessione al router avviene tramite telnet usare il comando terminal monitor in
modo da poter visualizzare i log del comando debug. Quindi abilitiamo il protocollo EIGRP sul
router Vista:

Vista(config)#router eigrp 24
Vista(config-router)#network 192.168.1.0
Vista(config-router)#network 192.168.2.0
Vista(config-router)#network 192.168.3.0
Adesso il comando show ip route sul router Vista riporterà la rotta EIGRP verso la rete
10.0.0.0 /8. Sebbene la metrica di tale rotta sia più elevata rispetto a quella del protocollo
RIP, nella tabella di instradamento del router Vista è stata installata proprio la rotta EIGRP per
via della distanza amministrativa più bassa (90). Per visualizzare maggiori informazioni
dall'output del comando debug utilizzare il comando

Vista# clear ip route *

per cancellare la tabella di instradamento del router e forzandolo a fargliela ricostruire. Di


seguito sono riportate tutte le distanze amministrative per protocollo di instradamento:

Sorgente della rotta Distanza amministrativa


Interfaccia Direttamente connessa (Connected interface) 0
Rotta Statica (Static route) 1
Enhanced Interior Gateway Routing Protocol (EIGRP) summary route 5
External Border Gateway Protocol (BGP) 20
EIGRP interno 90
IGRP 100
OSPF 110
Intermediate System-to-Intermediate System (IS-IS) 115
Routing Information Protocol (RIP) 120
Exterior Gateway Protocol (EGP) 140
On Demand Routing (ODR) 160
EIGRP Esterno 170
BGP Interno 200
Sconosciuta* 255

Se la distanza amministrativa è pari a 255, il router non ritiene affidabile la sorgente della rotta e
non la installa nella tabella di instradamento.

Passo 5. Infine per completare la migrazione a EIGRP, è necessario disattivare il protocollo RIP sui tre
router con il comando: no router rip. Utilizzare sul router Vista il comando show ip
route:

Vista# show ip route


Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B – BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia – IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route

Gateway of last resort is not set

D 10.0.0.0/8 [90/20514560] via 192.168.1.2, 00:00:59, Serial0/0


[90/20514560] via 192.168.2.2, 00:00:59, Serial0/1
C 192.168.1.0/24 is directly connected, Serial0/0
C 192.168.2.0/24 is directly connected, Serial0/1
C 192.168.3.0/24 is directly connected, FastEthernet0/0

Per concludere disabilitare il debug sul router Vista:

Vista# no debug all


2.1.2 Configurare EIGRP

Scenario

L'Agenzia Turistica Internazionale, richiede che venga implementato il protocollo IGRP per i suoi
collegamenti WAN, utilizzando il bilanciamento del carico su percorsi di differente metrica.

Passo 1. Su tutti i tre router configurare il protocollo IGRP utilizzando il sistema autonomo 24, e
abilitare gli aggiornamenti sulle interfacce attive con il comando network. Il calcolo della
metrica di IGRP per impostazione predefinita include la larghezza di banda (bandwidth), è
pertanto necessario, configurare tale valore sulle interfacce seriali, affinché il calcolo della
metrica sia accurato. La configurazione nel caso in esempio dovrebbe essere eseguita come
segue:

SanJose1(config)# interface serial 0/0


SanJose1(config-if)# bandwidth 256

Vista(config)# interface serial 0/0


Vista(config-if)# bandwidth 256
Vista(config-if)# interface serial 0/1
Vista(config-if)# bandwidth 384

SanJose2(config-if)# interface serial 0/0


SanJose2(config-if)# bandwidth 384

Utilizzare il comando show interface per verificare la corretta configurazione della


larghezza di banda. Utilizzare invece i comandi ping e show ip route per verificare la
connettività della rete.

Passo 2. A questo punto sul router Vista, configurare il bilanciamento del carico su percorsi di costo
differente, utilizzando il comando variance. Il valore di varianza predefinito è 1:

Vista(config)# router igrp 24


Vista(config-router)# variance 5

Usare il comando show ip route per verificare che il router installi le due rotte di costo
differente verso la stessa destinazione nella tabella di instradamento:

Vista#show ip route
<omissis>
I 10.0.0.0/8 [100/41072] via 192.168.1.2, 00:00:01, Serial0/0
[100/28051] via 192.168.2.2, 00:00:00, Serial0/1
C 192.168.1.0/24 is directly connected, Serial0/0
C 192.168.2.0/24 is directly connected, Serial0/1
C 192.168.3.0/24 is directly connected, FastEthernet0/0

Passo 3. Su qualsiasi router eseguire il comando show ip protocols per controllare i contatori
IGRP invalid, holddown, e flush. Si osservi che una rotta viene invalidata dopo 270 secondi, e
che viene eliminata dalla tabella di instradamento dopo 10 minuti o 630 secondi. Anche il
numero massimo di nodi intermedi è impostato come valore predefinito a 100. In reti di
piccole dimensioni è opportuno variare i contatori IGRP in modo da migliorare i tempi di
convergenza. L'impostazione Fast IGRP è una specifica configurazione dei contatori studiata
per milorare la convergenza. Questa prevede che i contatori vengano modificati secondo
questi valori:

15 secondi tra l'invio dei messaggi di aggiornamento;


45 secondi per invalidare una rotta;
0 secondi il contatore di holddown;
60 secondi per eliminare la rotta dalla tabella di instradamento;

Questa configurazione prevede che il contatore holddown venga completamente disabilitato.


In questo modo quando una rotta per una data rete viene rimossa dalla tabella di
instradamento, una nuova rotta per quella rete potrà essere accettata immediatamente.
Infine, è opportuno ridurre il numero di nodi intermedi attraversabili, in modo da adattarlo alle
dimensioni della rete. Configurare Fast IGRP utilizzando i seguenti comandi su tutti e tre i
router:

SanJose1(config-router)# timers basic 15 45 0 60


SanJose1(config-router)# no metric holddown
SanJose1(config-router)# metric maximum-hops 10

Verificare le impostazioni usando il comando show ip protocols.

Passo 4. In quest'ultimo passo, verificheremo le impostazioni fatte in precedenza simulando un'avaria


su di un collegamento. Abilitare il debug sul router SanJose1, così da visualizzare quelsiasi
cambiamento nella tabella di instradamento:

SanJose1# debug ip routing

Se il collegamento al router è effettuato tramite telnet usare il comando terminal monitor


così da reindirizzare i messaggi di debug sul collegamento telnet.

Parallelamente al collegamento con il router SanJose1, aprire un nuovo collegamento con il


router Vista, in una finestra separata, e disattivarne l'interfaccia Fast Ethernet, in modo
che la rotta verso 192.168.3.0/24 venga rimossa:

Vista(config)# interface fastethernet 0/0


Vista(config-if)# shutdown

Usare il comando show ip route per verificare che sul router Vista non esista più una rotta
per 192.168.3.0/24.

Ritornare adesso sul router SanJose1 ed eseguire il comando show ip route. Si osserci
che la rotta verso 192.168.3.0 è ancora presente, ma è contrassegnata come “possibly
down”.

2.1.3 Configurare le rotte predefinite in RIP e IGRP


Scenario

L'agenzia turistica internazionale ITA, richiede che venga configurata una rotta predefinita sul router
SanJose2, e che venga utilizzato il protocollo RIP per propagarla a tutti gli altri router. Verificata la
funzionalità di tale configurazione, ITA richiede inoltre la migrazione dal protocollo RIP a quello IGRP per
poter verificarne la funzionalità, mantenendo comunque la rotta predefinita.

Passo 1. Configurare tutti gli indirizzi delle interfacce dei router, ma per il momento evitare di
configurare l'indirizzo 172.16.1.1/16 sul router SanJose2, trasmite questa rete verrà
successivamente impostato il collegamento dell'ITA verso l'ISP e quindi Internet.
Configurare il protocollo RIP su tutti i router, accertarsi di non includere nel processo di
aggiornamento RIP del router SanJose2 la rete 172.16.0.0/16. Utilizzare i comandi ping
e show ip route per verificarela connettività di tutta la rete, escluso per l'appunto la rete
172.16.0.0/16.

Passo 2. Configuriamo il router SanJose2 per simulare l'esistenza di una rete esterna. Nel caso in
oggetto è possibile simulare il collegamento tra l'ITA e l'ISP tramite un'interfaccia di loopback.
Allo scopo utilizzare i seguenti comandi:

SanJose2(config)# interface loopback0


SanJose2(config-if)# ip address 172.16.1.1 255.255.0.0

Si osservi che se viene eseguito un ping sull'indirizzo 172.16.1.1 dal collegamento


console del router SanJose2, tale comando va a buon fine. Fallirà invece da tutti gli altri
router, questo perché abbiamo scelto di non annunciare tale rete.

Passo 3. Configuriamo adesso il router SanJose2 con una rotta predefinita 0.0.0.0/0 che punta
verso l'ISP simulato:

SanJose2(config)# ip route 0.0.0.0 0.0.0.0 loopback0

Il precedente comando serve a configurare una rotta predefinita statica, sulla quale il router
instraderà tutto il traffico diretto verso reti che non si trovano nella propria tabella di
instradamento; nel caso in oggetto tutto il traffico sarà instradato verso l'interfaccia WAN
simulata con loopback 0.

In base alla versione dell'IOS, potrebbe essere necessario configurare appositamente il


protocollo RIP per propagare questa rotta. La configurazione in questione è la seguente:

SanJose2(config)# router rip


SanJose2(config-router)# default-information originate
Passo 4. Controlliamo adesso con il comando show ip route che i router Vista e SanJose1 abbiano
correttamente ricevuto ed installato la rotta 0.0.0.0/0.

E' ovvio che sebbene né SanJose1 né Vista abbiano esplicitamente una rotta verso
172.16.0.0/16 il comando ping verso l'indirizzo 172.16.1.1 da entrambi i router ha
comunque esito positivo in quanto questi utilizzano la rotta predefinita.

Passo 5. Adesso che è stato verificato il funzionamento della rotta predefinita, è necessario migrare da
RIP a IGRP. E' necessario rimuovere RIP dai tre router, con il comando:

SanJose1(config)# no router rip

Con il protocollo RIP disabilitato, configurare il protocollo IGRP su tutti i router utilizzando 24
come identificativo per l'AS (sistema autonomo):

SanJose1(config)# router igrp 24


SanJose1(config-router)# network 192.168.1.0

Vista(config)# router igrp 24


Vista(config-router)# network 192.168.1.0
Vista(config-router)# network 192.168.2.0

SanJose2(config)# router igrp 24


SanJose2(config-router)# network 192.168.2.0

Usare i comandi ping e show ip route per verificare che il protocollo IGRP sia
funzionante. Non preoccuparsi al momento che si sta' ancora utilizzando un l'indirizzo virtuale
172.16.1.1 sull'interfaccia loopback0.

Passo 6. Controllare la tabella di instradamento del router SanJose2. La rotta statica predefinita
dovrebbe essere ancora presente. Mentre per quanto riguarda RIP, a volte è necessario il
comando default-information originate per propagare tale rotta, come visto in
precedenza; per il protocollo IGRP, il comando default-information originate non è
disponibile, e a posto di questo è necessario utilizzare ip default-network per propagare
le rotte predefinite. Pertanto sul router SanJose2, è necessario usare i seguenti comandi:

SanJose2(config)# router igrp 24


SanJose2(config-router)# network 172.16.0.0
SanJose2(config-router)# exit
SanJose2(config)# ip default-network 172.16.0.0

I primi due comandi consentono di configurare il router SanJose2 in modo da inviare ai router
adiacenti, le informazioni riguardanti la rete 172.16.0.0/16 (il collegamento simulato con
l'ISP sull'interfaccia loopback0), negli aggiornamenti del protocollo IGRP. L'ultimo comando
ip default-network indica inoltre al router di contrassegnare la rete indicata come rotta
candidata predefinita (candidate default route). Tale rotta viene indicata nella tabella di
instradamento usando un asterisco (*). Quando una rete è contrassegnata come predefinita,
tale attributo viene specificato anche nei messaggi di aggiornamento, e rimane immutato per
tutto il processo di propagazione della rotta all'interno della rete.

Controllare la tabella di instradamento dei router SanJose1 e Vista. Dovrebbero anch'essi


contrassegnare la rotta verso la rete 172.16.0.0/16 con un asterisco (*). A volte è
necessario attendere circa 90 secondi affinchè tale informazione si propaghi su tali router.
Quando la rotta 172.16.0.0/16 viene correttamente contrassegnata come candidata
predefinita su tutti i router procedere al prossimo punto.

Passo 7. La rete 172.16.0.0/16 dovrebbe essere adesso conosciuta sia dal router SanJose1 che da
quello Vista. Per verificare la funzionalità di tale rotta predefinita, è necessario creare una
seconda interfaccia di loopback sul router SanJose2. Impartire i seguenti comandi sul router
SanJose2:

SanJose2(config)# interface loopback1


SanJose2(config-if)# ip address 10.0.0.1 255.0.0.0

Questa interfaccia di loopback simula una seconda rete esterna, ma non è esplicitamente
identificata nella tabella di instradamento dei router SanJose1 e Vista. Verificare quanto detto
impartendo sui tali router il comando show ip route. Sebbene non esista una tale rotta il
comando ping 10.0.0.1. su questi due router da comunque esisto positivo per via della
rotta predefinita candidata.

2.1.4 Configurare le rotte statiche mobili (floating static routes)

Scenario

L'ITA, l'Agenzia Turistica Internazionale, al livello core della sua rete, per l'instradamento dei pacchetti
utilizza sia il protocollo RIP che rotte statiche mobili (floating static routes). Uno dei router principali di
confine, Vista, ha due rotte verso la rete 10.0.0.0/8. Solo una di queste viene annunciata negli
aggiornamenti RIP. Se l'altro percorso venisse configurato con una rotta statica e distanza amministrativa
predefinita, questo sarebbe preferito al percorso annunciato con il protocollo RIP. Questo perché il router
dovendo scegliere tra percorsi di natura differente verso la stessa destinazione, preferisce quelli con
distanza amministrativa. Tuttavia, poiché la larghezza di banda sul collegamento verso il percorso che
annuncia il protocollo RIP è superiore a quella del percorso definito staticamente, l'ITA, desidera che la
prima rotta sia preferita alla seconda. Pertanto è necessario modificare il valore predefinito della distanza
amministrativa della rotta statica, creando una rotta statica mobile.

Passo 1. Costruire la rete in figura e accertarsi, con il comando ping, senza attivare nessun protocollo
di instradamento che i dispositivi direttamente connessi riescano a comunicare l'un l'altro.

Passo 2. Adesso è necessario configurare l'instradamenrto. I router Vista e SanJose1 utilizzeranno il


protocollo RIP, che andrà configurato come segue:

SanJose1(config)# router rip


SanJose1(config-router)# network 192.168.1.0
SanJose1(config-router)# network 10.0.0.0

Vista(config)# router rip


Vista(config-router)# network 192.168.1.0
Vista(config-router)# network 192.168.3.0

Consentiamo al router SanJose2 di raggiungere la rete 192.168.3.0 della LAN del router
Vista tramite una rotta statica:
SanJose2(config)# ip route 192.168.3.0 255.255.255.0 192.168.2.1

Verificare con il comando ping che l'host B riesca a raggiungere l'interfaccia seriale sia del
router SanJose1, 192.168.1.2, che SanJose2, 192.168.2.2.

Passo 3. Grazie al protocollo RIP, il router Vista dovrebbe avere installato nella propria tabella di
instradamento una rotta verso la rete 10.0.0.0/8 tramite l'interfaccia serial0/0.

Verificato il funzionamento del protocollo RIP è ora necessario configurare la rotta statica dal
router Vista verso SanJose2 per raggiungere la rete 10.0.0.0/8, usare il comando:

Vista(config)# ip route 10.0.0.0 255.0.0.0 192.168.2.2

Configurato il router Vista con questo comando, la rotta dinamica annunciata dal protocollo
RIP viene disinstallata dalla tabella di instradamento, e al suo posto viene installata la rotta
statica. Per verificare quanto detto utilizzare il comando sh ip route sul router Vista.

Lasciando una tale configurazione, il router Vista utilizzerà il collegamento verso SanJose2,
per raggiungere la rete 10.0.0.0/8. Tuttavia l'ITA, desiderava che tale rotta venisse
utilizzata solo in caso di malfunzionamento di quella annunciata con il protocollo RIP.
Pertanto è necessario riconfigurare la precedente rotta statica in modo da renderla mobile
(float). In modo che questa rimanga nella configurazione del router, ma sia comunque inattiva
e non venga installata nella tabella di instradamento, questo fino a quando la rotta principale
non vada in avaria. Prima di configurare la rotta statica mobile, è necessario rimuovere dalla
configurazione del router Vista, la precedente rotta statica configurata, usando il comando:

Vista(config)# no ip route 10.0.0.0 255.0.0.0 192.168.2.2

Verificato che la rotta statica non faccia più parte della configurazione del router Vista, creare
la rotta statica mobile con il seguente comando:

Vista(config)# ip route 10.0.0.0 255.0.0.0 192.168.2.2 130

Il numero 130 alla fine del comando rappresenta la distanza amministrativa per la rotta. Per
impostazione predefinita, quando non viene specificato alcun valore, le rotte statiche, hanno
distanza amministrativa pari a 1. In questo caso, poiché le rotte installate dinamicamente dal
protocollo RIP, hanno distanza amministrativa paria a 120, è stato necessario usare un
valore più grande, 130, per fare in modo che il router Vista continuasse ad utilizzare la rotta
RIP. Il router Vista utilizzerà la rotta statica mobile se e quando, quella dinamica andrà in
avaria. In caso di fallimento della rotta principale, anche il router SanJose1 dovrà essere in
grado di instradare i pacchetti verso Vista. Per consentire questo, è possibile utilizzare anche
sul router SanJose1, una rotta statica mobile:

SanJose1(config)# ip route 192.168.3.0 255.255.255.0 10.0.0.2 130

Passo 4. Durante il normale funzionamento, sul router Vista, deve essere presente solo la rotta
dinamica annunciata da RIP, verso la rete 10.0.0.0/8.
Le rotte statiche mobili non essendo installate nella tabella di instradamento dei router non
possono essere viste con il comando sh ip route, tuttavia rimangono memorizzate nella
loro configurazione, e possono essere rintracciate con il comando sh run.

Osserviamo come il router Vista reagisce ad un avaria sul collegamento; eseguire il seguente
comando:

Vista# debug ip routing

e disconnettere il collegamento ethernet con SanJose1. Dopo qualche secondo nella finestra
di collegamento del router Vista dovrebbero essere visualizzati i seguenti messaggi:

RT: del 10.0.0.0 via 192.168.1.2, rip metric [120/1]


RT: delete network route to 10.0.0.0
RT: add 10.0.0.0/8 via 192.168.2.2, static metric [130/0]
Passo 5. Come verifica finale eseguire un ping dall'host B verso 10.0.0.1 e 10.0.0.2.

Potrebbero piacerti anche