Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(EIGRP)
Introduzione
Enhanced Interior Gateway Routing Protocol (EIGRP) è un protocollo di instradamento
proprietario Cisco, basato sul protocollo IGRP. Tuttavia, mentre IGRP è un protocollo che
si basa sull'indirizzamento IP a classi (classful), EIGRP ha pieno supporto per CIDR e
VLSM (classless), consentendo così di massimizzare lo spazio di indirizzamento. Inoltre
rispetto al protocollo IGRP, EIGRP è stato notevolmente migliorato, sia sotto l'aspetto della
velocità di convergenza, sia sotto l'aspetto della gestione delle rotte.
Cisco rilasciò il protocollo EIGRP nel 1994, come versione perfezionata del proprio
protocollo di instradamento IGRP. Entrambi i protocolli sono compatibili, tranne quando
vengono utilizzate alcune caratteristiche specifiche di EIGRP, come l'instradamento
multi-protocollo, che su IGRP non sono supportate.
A dispetto dell'elevata compatibilità con IGRP, EIGRP utilizza un metodo differente per il
calcolo della metrica. Praticamente EIGRP utilizza un fattore di scala di 256 rispetto alla
metrica di IGRP, questo perché mentre EIGRP calcola la metrica come valore a 32 bit, il
protocollo IGRP esegue lo stesso calcolo ma come valore a 24 bit. Comunque si può
passare semplicemente da un valore di metrica all'altro, semplicemente moltiplicando o
dividendo per 256
Metrica di EIGRP
Sia EIGRP che IGRP utilizzano la seguente espressione per calcolare la metrica di un percorso di rete:
K2⋅banda K5
metrica= K1⋅banda
256−carico
K3⋅ritardo ⋅
affidabilitàk4
Metrica di EIGRP
K1 = 1 K2 = 0 K3 = 1 K4 = 0 K5 = 0
K5
affidabilitàk5
non viene fattorizzata nel calcolo del valore di metrica. Quindi, quanto tutte le costanti K assumono i valori
predefiniti, il calcolo della metrica per i protocolli EIGRP e IGRP, diventa:
metrica=bandaritardo
Tra la metrica IGRP e e quella EIGRP c'è un fattore di scala pari a 256. Questa differenza viene introdotta
nel momento in cui i valori di banda e ritardo vengono adattati per il calcolo della metrica. Il valore di banda
utilizzato viene calcolato rispettivamente dai due protocolli secondo queste espressioni:
10000000
bandaIGRP =
larghezza di banda
10000000
bandaEIGRP = ⋅256
larghezza di banda
stesso discorso vale per il ritardo:
ritardo reale
ritardoIGRP =
10
ritardo reale
ritardoEIGRP = ⋅256
10
Inoltre i due protocolli hanno limiti differenti sul numero massimo di nodi intermedi che
possono esserci tra due percorsi di rete. Mentre IGRP ha un limite di 255 nodi intermedi,
tale valore per EIGRP scende a 224. Tale valore è tuttavia più che sufficiente a supportare
la stragrande maggioranza delle infrastrutture di rete.
Configurare un router in modo che due protocolli di instradamento come OSPF e RIP
condividano alcune informazioni, è un'operazione abbastanza complessa e richiede
un'adeguata preparazione e conoscenza dei comandi. Questo non è vero invece tra i
protocolli EIGRP e IGRP, questi infatti ridistribuiscono automaticamente, all'interno dello
stesso sistema autonomo (AS autonomous system), i percorsi di rete appresi. La figura
precedente, mostra infatti, come il router RTB ridistribuisca automaticamente le rotte
apprese con il protocollo EIGRP verso il sistema autonomo IGRP, e viceversa.
<omissis>
C 10.1.1.0 is directly connected, Serial0
D 172.16.1.0 [90/2681856] via 10.1.1.1, Serial0
D EX 192.168.1.0 [170/2681856] via 10.1.1.1, 00:00:04, Serial0
<omissis>
C 192.168.1.0 is directly connected, Serial0
I 10.0.0.0 [100/10476] via 192.168.1.1, 00:00:04, Serial0
I 172.16.0.0 [100/10476] via 192.168.1.1, 00:00:04, Serial0
Questo perché sul router RTC è in esecuzione solo il protocollo IGRP. E nonostante il fatto
che le reti 10.1.1.0 e 172.16.0.0 siano annunciata dal protocollo EIGRP, il router le
consideri provenienti da un router con IGRP.
Sebbene il protocollo EIGRP abbia un grado di compatibilità molto elevato con IGRP, il
suo funzionamento interno è molto differente. EIGRP è un protocollo vettore-distanza
avanzato, e sotto certi aspetti funziona allo stesso modo dei protocolli a stato del
collegamento (link-state), ad esempio nel il modo in cui vengono gestiti i messaggi di
aggiornamento o amministrate le informazioni di instradamento. Rispetto ai semplici
protocolli basati su algoritmi vettore-distanza, EIGRP offre i seguenti vantaggi:
Vantaggi di EIGRP
Tempi di convergenza ridotti;
Uso efficiente della larghezza di banda;
Supporto per VLSM e CIDR;
Supporto per differenti protocolli di livello rete;
Indipendenza dal protocollo di livello rete;
Neighbor table (Tabella delle adiacenze o dei vicini): Ogni router EIGRP utilizza una
tabella in cui viene memorizzato l'elenco dei router vicini o adiacenti, similmente a quanto
avviene con la base di dati della adiacenze nel protocollo OSPF. Per ognuno dei protocolli
di livello rete impostato con EIGRP il router utilizza una tabella dei vicini differente;
Topology table (Tabella topologica): Questa tabella contiene l'elenco di tutti i percorsi di
rete che il router ha appreso verso ogni destinazione. Se esistenti, tale tabella contiene
anche tutti i percorsi che il router ha appreso verso la stessa destinazione. Anche in
questo caso, per ogni protocollo di livello rete configurato con EIGRP, viene utilizzata una
tabella topologica differente;
Successor (Successore): Questo è il nome che viene usato in EIGRP per identificare la
rotta primaria o principale che verrà utilizzata per raggiungere una particolare
destinazione. Le rotte successor vengono memorizzate nella tabella di instradamento del
router. Se esistono più rotte successor verso una stessa destinazione, il router può
inserirle tutte nella tabella di instradamento.
Per l'implementazione del protocollo EIGRP sono state impiegate tutta una serie di
tecnologie all'avanguardia. Ognuna di queste ha consentito di migliorare il protocollo
EIGRP in termini di efficienza operativa, velocità di convergenza e funzionalità sia rispetto
al protocollo IGRP che ad altri protocolli di instradamento. L'implementazione di EIGRP si
basa sulle seguenti tecnologie:
Come più volte detto nei moduli precedenti, i protocolli di instradamento più semplici, non
prevedono che tra i router adiacenti venga stabilità alcun tipo di relazione di vicinanza. Per
esempio, RIP e IGRP, prevedono semplicemente che i router inviino, per intero, la propria
tabella di instradamento verso un indirizzo multicast o broadcast. Invece i protocolli di
instradamento più sofisticati, come EIGRP o OSPF, prevedono che ogni router stabilisca
una cosiddetta relazione di vicinanza con i router adiacenti.
Il protocollo RTP fornisce due tipi di servizi di trasporto delle informazioni: affidabile e
inaffidabile. Il protocollo EIGRP utilizza il servizio RTP corretto a seconda il caso. Per
esempio, per l'invio dei pacchetti di hello viene utilizzato il servizio non affidabile, questo
perché tali pacchetti vengono inviati con frequenza e devono essere di dimensioni
estremamente ridotte. Il servizio di trasporto affidabile viene invece utilizzato per l'invio di
altre informazioni di instradamento, in modo da accelerare il processo di convergenza.
Inoltre RTP, consente a EIGRP di inviare a seconda dei casi, simultaneamente messaggi
unicast o multicast ai router vicini, massimizzando così l'efficienza nell'utilizzo della banda.
Con il termine automa o macchina a numero di stati finiti si indica un'entità o sistema
dinamico1, invariante, discreto nell'avanzamento e nelle interazioni nel quale gli insiemi dei
possibili valori di ingresso, uscita e stato sono insiemi finiti. Le proprietà di una macchina a
numero di stati finiti sono quindi:
dinamico: evolve nel tempo passando da uno stato all'altro in funzione dei segnali
d'ingresso e dello stato precedente;
invariante: a parità di condizioni iniziali il comportamento del sistema è sempre lo
stesso;
discreto: le variabili d'ingresso, di stato, d'uscita, possono assumere solo valori
discreti.
Una macchina a numero di stati finiti è un modello di calcolo, un'entità astratta, non fisica,
1 Un sistema dinamico è un ente che risponde ad una azione, esercitata tramite un ingresso, con una
reazione, detta uscita. Un sistema è detto dinamico perché evolve nel tempo, indicando con questo
termine che, sia l'ingresso, sua l'uscita si sviluppano nel tempo. In generale l'uscita all'istante t di un
sistema dinamico non dipende solo dall'ingresso del sistema allo stesso istante, ma da una grandezza,
detta stato, che rappresenta la storia passata degli ingressi del sistema.
semplice rappresentabile, come un piccolo dispositivo, che mediante una testina legge
una stringa di input su un nastro e la elabora, facendo uso di un meccanismo molto
semplice di calcolo e di una memoria limitata. L'esame della stringa avviene un carattere
alla volta attraverso precisi passi computazionali che comportano l'avanzamento della
testina. In tale modello vengono definite:
Un insieme finito di possibili stati in cui FSM può evolvere nel tempo;
Un insieme finito di possibili eventi risultato dei vari stati, e che possono causare il
passaggio da uno stato all'altro;
Le macchine a di stati finiti FSM (Finite state machine) vengono utilizzate per descrivere il
comportamento di un dispositivo o di un programma in base a una serie di eventi.
L'algoritmo DUAL, cuore del protocollo EIGRP, che si basa appunto sui principi delle
macchine a numero di stati finiti, calcola e confronta i possibili percorsi attraverso la rete,
in reazione agli aggiornamenti ricevuti, cioè gli eventi in ingresso.
L'algoritmo DUAL elabora tutti i percorsi di rete dalle informazioni topologiche ricevute
tramite i messaggi di aggiornamento, inviati dai router adiacenti. Tali percorsi vengono
confrontati gli uni agli altri utilizzando una metrica composita, calcolata in base a differenti
parametri. L'algoritmo DUAL, garantisce inoltre, che i percorsi di rete siano privi di anelli. I
percorsi di rete o rotte aventi metrica migliore vengono inseriti nella tabella di
instradamento.
Il termine successor identifica un router adiacente al quale inoltrare i pacchetti diretti verso
una determinata rete. Il percorso di rete dei pacchetti instradati verso il router successor
corrisponde alla rotta di metrica migliore verso quella destinazione, che non genera un
percorso con anelli. Gli eventuali router feasible successor sono invece quelli per cui
passa la rotta alternativa, o dalla seconda metrica migliore, senza che vengano generati
anelli o loop. Le rotte feasible successor sono immediatamente disponibili e utilizzabili nel
caso in cui la rotta successor dovesse per un qualsiasi motivo andare in avaria. In questo
caso la rotta feasible successor verrebbe promossa allo stato di successor.
Si ricoda che, affinché un percorso sia eletto a feasible successor deve essere annunciato
dai router limitrofi, quindi avere distanza annunciata o advertised distance2 (AD), inferiore
a quella dell'attuale rotta successor. L'immagine seguente chiarisce quanto detto:
Nel caso particolare consideriamo il router D, che non disporre di rotta feasible successor:
Tuttavia né il percorso che passa per il router C né quello che passa per il router E hanno
distanza riportata o advertised distance (AD) tale da essere inferiore alla feasible distance
della rotta successor, pertanto nessuno dei due router può essere considerato feasible
successor dal router D. Per il router C, invece le cose sono differenti, in questo caso infatti:
Dispone di una rotta successor verso il router A, con feasible distance pari a 3,
tramite il router B, che gli annuncia tale rotta con advertised distance pari a 1;
Il router D gli annuncia una rotta verso il router A, con distanza riportata pari a 2.
Pertanto la feasible distance sarà pari a 4;
Il router E gli annuncia una rotta verso il router A, con distanza riportata pari a 3.
Come nel caso precedente la feasible distance sarà pari a 4;
La rotta verso il router A, tramite il router D, proprio perché ha una distanza riportata
inferiore alla feasible distance della rotta successor, verrà eletta come rotta feasible
successor.
2 Questo valore viene anche chiamato distanza riportata o reported distance (RD)
3 Feasible Distance (distanza ammissibile), indica il valore di metrica più basso, calcolato per una certa
destinazione.
Per gli stessi motivi neanche il router E, dispone di feasible successor verso il router A, in
questo caso infatti la distanza riportata dal router C è uguale alla feasible distance della
rotta successor.
5.2.5 PDM – Protocol Dependent Module
Ogni modulo PDM è responsabile di svolgere tutte le funzioni specifiche del protocollo di
livello rete (routed). Per esempio il modulo IP-EIGRP è responsabile di eseguire le
seguenti funzioni:
Come il OSPF, anche il protocollo EIGRP utilizza differenti tipi di pacchetti che servono sia
a popolare e mantenere le varie strutture dati utilizzate, sia per stabilire e mantenere
relazioni di adiacenza con i nodi vicini. In particolare il protocollo EIGRP prevede l'utilizzo
di 5 tipi di pacchetti differenti:
Pacchetti di Hello
Il protocollo EIGRP utilizza i pacchetti di hello per trovare, verificare e ritrovare i nodi
adiacenti. Il termine ritrovare si riferisce a quella situazione in cui un nodo EIGRP perde la
comunicazione con un nodo adiacente, non ricevendo da questo messaggi di hello per un
periodo superiore a quello impostato nel contatore hold time, per poi ristabilirla
successivamente.
I pacchetti di hello sono messaggi multicast. Sulle reti IP, i nodi EIGRP inviano i pacchetti
di hello verso l'indirizzo IP multicast 224.0.0.10.
Un router EIGRP memorizza le informazioni sui router adiacenti nella tabella dei vicini
(neighbor table), tali informazioni includono l'orario in cui è stato ricevuto l'ultimo pacchetto
EIGRP valido dal router adiacente. Quest'orario viene aggiornato ogni volta che viene
ricevuto un qualsiasi pacchetto EIGRP valido dal router adiacente, sia esso un pacchetto
di hello che di altro tipo. Quando non vengono ricevuti pacchetti EIGRP da un router
adiacente per un periodo di tempo superiore all'intervallo hold time (validità), il
collegamento di rete con quel router viene considerato non più attivo (down), pertanto
dovrà essere invocato DUAL affinché riesegua i calcoli necessari per aggiornare la tabella
di instradamento. L'impostazione predefinita dell'intervallo di hold time è tre volte
l'intervallo di hello. Entrambi gli intervalli sono liberamente configurabili dall'amministratore
di rete.
Affinché si possano stabilire relazioni di adiacenza, il protocollo OSPF richiede che i router
adiacenti all'interno dell'area OSPF abbiano valori uguali sia per l'intervallo di hello che per
dead time (analogo dell'intervallo hold down di EIGRP). Tale restrizione non si applica
invece al protocollo EIGRP. Il formato del pacchetto di hello di EIGRP prevede infatti i
campi necessari affinché i router adiacenti possano apprendere i valori impostati per i
rispettivi intervalli. Questi valori vengono utilizzati per formare relazioni di adiacenza stabili
e indipendenti dagli intervalli impostati.
Questi pacchetti vengono utilizzati dai nodi EIGRP per confermare la ricezione di un
qualsiasi pacchetto EIGRP, durante una comunicazione affidabile. Il protocollo RTP
(Reliable Transport Protocol) consente, a due nodi EIGRP, di instaurare una
comunicazione affidabile utilizzando appunto i pacchetti di acknowledgment per
confermare l'avvenuta ricezione. I pacchetti di acknowledgment hanno un formato molto
simile a quello dei pacchetti di hello con l'unica differenza che non trasportano dati. Inoltre,
tali pacchetti, sono unicast, a differenza dei normali pacchetti di hello che invece sono
multicast. Il protocollo EIGRP prevede inoltre la possibilità di utilizzare il piggybacking per
inviare i pacchetti di acknowledgment; tale tecnica consente di inglobare in altri tipi di
pacchetto EIGRP, come ad esempio quelli di reply (risposta), un pacchetto di
acknowledgment, consentendo di aumentare l'efficienza del protocollo.
I pacchetti di hello vengono inviati sempre in modalità non affidabile, pertanto non
richiedono riscontro.
Pacchetti di Update (Aggiornamento)
Tali pacchetti vengono utilizzati quando un nodo EIGRP scopre l'esistenza di un router
adiacente. In questo caso il nodo EIGRP utilizza i pacchetti di update inviandoli verso
l'indirizzo unicast del nuovo vicino, in modo tale che questo possa aggiornare la sua
tabella topologica. Potrebbero essere necessari più pacchetti di update per trasferire al
nuovo router tutte le informazioni topologiche.
I pacchetti di update vengono anche utilizzati nel caso in cui un nodo rilevi una modifica
topologica. In questi casi il nodo che ha rilevato la modifica, invia pacchetti di update verso
un indirizzo multicast in modo tale che tutti i nodi adiacenti siano informati della variazione.
Ogni volta che un nodo EIGRP necessita di specifiche informazioni da uno o più nodi
adiacenti, utilizza pacchetti di query. I nodi che ricevono un pacchetto di query rispondono
utilizzando un pacchetto di reply.
Per esempio quando la rotta successor di un router EIGRP non dovesse essere più
disponibile, e non esiste una rotta feasible successor, DUAL pone questa rotta in stato di
attivo (active). A questo punto il router invia in multicast un messaggio di query a tutti i suoi
vicini, ricercando una nuova rotta successor. I router adiacenti devono rispondere alla
richiesta con un messaggio di reply, indicando che dispongono di informazioni sulla rotta
successor, oppure che non dispongono di nessuna informazione al riguardo.
I pacchetti di Query possono essere sia unicast che multicast, mentre i pacchetti di reply
sono sempre unicast. Entrambi i pacchetti vengono inviati in modalità affidabile.
Questa è sicuramente la struttura dati più importante del protocollo EIGRP. In questa
tabella vengono memorizzate tutte le relazioni di adiacenza che un determinato router
crea con i suoi vicini. Tali informazioni costituiscono il punto di partenza di tutte le attività di
aggiornamento e di convergenza del protocollo EIGRP.
La tabella delle adiacenze contiene informazioni sui router EIGRP vicini. Ogni volta che
viene rilevato un nuovo router, l'indirizzo e l'interfaccia usato per raggiungerlo vengono
aggiunti a questa tabella.
L'indirizzo del router adiacente – Address: l'indirizzo di livello rete del router
vicino;
Hold time (intervallo di validità) – Hold Uptime: L'intervallo di tempo che deve
trascorre senza che il router riceva pacchetti dal quel particolare vicino, prima di
considerare il collegamento non funzionante. La versione originaria di EIGRP
prevedeva che tale contatore venisse azzerato solo alla ricezione di un pacchetto di
hello. Nelle versioni più recenti del protocollo EIGRP tale comportamento è stato
variato, e il contatore hold time viene azzerato alla ricezione di qualsiasi pacchetto
EIGRP valido;
si osservi che un router EIGRP può utilizzare più tabelle delle adiacente, una per ogni
modulo PDM (Protocol Dependent Module) in esecuzione. In pratica se il router è
configurato per instradare tramite EIGRP i protocolli IP, IPX e Apple-Talk, utilizzerà tre
tabelle delle adiacenze. Inoltre per ogni protocollo instradato sul router dovrà essere
configurato un processo EIGRP separato.
Oltre ai precedenti campi per ogni voce della tabella topologica vengono riportati anche
l'interfaccia sulla quale inoltrare i pacchetti per raggiungere le reti di destinazione.
Il protocollo EIGRP ordina le voci della tabella topologica cosicché per ognuna delle
destinazioni vengano elencate per prime le rotte successor, seguite dalle rotte feasible
successor. Le rotte elencate alla fine sono quelle che secondo le elaborazioni effettuate
dall'algoritmo DUAL hanno elevata probabilità di generare percorsi con anelli o loop .
Ma in che maniera un router EIGRP determina quali vicini sono successor e quali feasible
successor. Supponiamo che la tabella di instradamento del router RTA includa una rotta
verso la rete Z tramite RTB. Dal punto di vista del router RTA, il router RTB è il successor
verso la rete Z. Pertanto il router RTA inoltrerà i pacchetti diretti alla rete Z verso il router
RTB. Il router RTA deve avere almeno un successor per la rete Z affinché l'algoritmo
DUAL possa inserire una rotta per tale rete nella tabella di instradamento.
Il router RTA può avere inoltre più di una rotta successor verso la rete Z. Supponiamo
infatti che anche il router C annunci una rotta verso la rete Z con la stessa metrica del
router RTB. In questo caso il router RTA considera il router RTC come un altro router
successor. L'algoritmo DUAL inserirà una seconda rotta per la rete Z, attraverso il router
C.
Qualsiasi altro vicino del router RTA, che annuncia una rotta priva di anelli (loop) verso la
rete Z, con distanza riportata (reported distance) inferiore a quella della rotta successor,
ma che ha una metrica superiore, verrà identificato come feasible successor ed inserito
nella tabella topologica.
Un router considera il feasible successor come quel router adiacente più vicino di quanto
non lo sia lui stesso a una determinata rete. Se la rotta successor dovesse fallire, DUAL, è
in grado di identificare un feasible successor dalla tabella topologica, ed installare una
nuova rotta verso quella destinazione. Se non esiste alcun feasible successor, DUAL pone
quel determinato percorso in stato attivo e interroga i router vicini per ricercare nuove
informazioni. Le voci della tabella topologica possono essere in uno dei seguenti stati:
attivo o passivo. Questi due stati identificano la condizione in cui si trova una certa rotta, e
vengono indicate come voci piuttosto che come lo stato della voce stessa.
Una rotta è passiva quando è stabile e disponibile per essere utilizzata. Una rotta è invece
attiva quando è bloccata da DUAL affinché la rielabori. L'algoritmo DUAL deve rielaborare
una rotta ogni volta che avviene un cambiamento lungo il percorso di rete, e non esiste un
feasible successor. In queste circostanze, il router deve interrogare i suoi vicini per trovare
una rotta alternativa, priva di anelli (loop). I router adiacenti sono obbligati a rispondere a
un messaggio di reply (richiesta), sia se disponga o meno delle informazioni sul percorso
di rete richiesto Nel primo caso il router adiacente risponderà con un messaggio di reply
contenente le informazioni sul router successor per quella rotta. Nel secondo caso sempre
utilizzando un messaggio di reply risponderà che non dispone delle informazioni richieste.
Se uno o più router a cui viene inviato un messaggio di query, non risponde con un
mesaggio di reply entro 180 secondi (3 minuti), la rotta o le rotte, in questione vengono
poste in stato "stuck in active". Quando ciò capita, EIGRP cancella i router adiacenti che
non hanno inviato il messaggio di reply e aggiorna il log registrando lo stato d'errore "stuck
in active" per le rispettive rotte.
Le rotte interne sono quelle che si originano all'interno del sistema autonomo (AS) EIGRP.
Le rotte esterne invece sono quelle che si originano al di fuori dell'AS EIGRP. Le rotte
apprese (ridistribuite) da altri protocolli di instradamento, come RIP, OSPF o IGRP sono
rotte esterne. Le rotte statiche che si originano al di fuori dell'AS EIGRP sono anch'esse
esterne.
Tutte le rotte esterne (external routes) vengono inserite nella tabella topologica (topology
table) e vengono contrassegnate (tagged) con le seguenti informazioni:
La seguente tabella mostra una specifica voce riguardante una rotta esterna di una
tabella topologica.
Vector metric:
Minimum bandwidth is 1544 Kbit
Total delay is 25000 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
External data:
Originating router is 192.168.1.1
AS number of route is 0
External protocol is Connected, external metric is 0
Administrator tag is 0 (0x00000000)
In virtù minor costo calcolato, il router RTY è per quello RTA il successor verso la rete 24.
Il valore di metrica più basso calcolato dal router RTA verso la rete 24 è 31. Questo valore
rappresenta la FD distanza ammissibile (feasible distance) per la rete 24.
Ma cosa avviene nel momento in cui il router successor di RTA verso la rete 24 non
dovesse più essere disponibile?
In questo caso il router RTA segue un processo che consta di tre passi per selezionare
una rotta feasible successor (FS) affinché diventi la nuova rotta successor per la rete 24.
1. Viene determinato quale dei router adiacenti ancora attivi abbia una distanza
riportata (reported distances – RD) verso la rete 24, inferiore all'attuale FD (feasible
distance). Nell'esempio il router RTA ha una FD verso la rete 24 pari a 31. La RD
dal router RTX è pari a 30, mentre quella dal router RTZ è 220. Pertanto la RD dal
router RTX è inferiore all'attuale FD, ciò non è vero per quella dal router RTZ.
3. Viene determinato se esiste un altro router che, soddisfando i requisiti del punto
uno, soddisfi anche i requisiti del punto due. Poiché il router RTX li soddisfa
entrambi, diventa il nuovo FS feasible successor (successore ammissibile).
In questo caso, nel momento in cui il router RTY non fosse più disponibile, il router RTA è
in grado di utilizzare immediatamente il router RTX come nuovo feasible successor; su
tale nuova rotta verranno immediatamente instradati i pacchetti diretti verso la rete24. La
caratteristica di utilizzare immediatamente una rotta alternativa, nel caso di problemi alla
rotta principale, rende il protocollo EIGRP estremamente rapido nel convergere.
Osservando ancora l'esempio, è possibile domandarsi cosa accadrebbe se, anche la rotta
tramite il router RTX, non fosse più disponibile. In questo caso, potrebbe essere il router
RTZ il feasible successor (successore ammissibile) per la rete 24?
Usando lo stesso processo visto in precedenza, il router RTA esaminando la rotta verso la
rete 24, tramite il router RTZ, osserverebbe che il valore della reported distance (RD) è
pari a 220, superiore all'attuale feasible distance (FD) pari a 31. Pertanto al momento, il
router RTZ, non può essere un feasible successor. Il valore della feasible distance viene
variato esclusivamente quando una rotta subisce una transizione dallo stato di attivo a
passivo (cioè nel momento in cui DUAL ha terminato le elaborazioni su una rotta e la
rende nuovamente disponibile). Al momento la rotta in questione è ancora in stato passivo
e pertanto la sua FD è ancora pari a 31. Nel momento in cui la rotta verso la rete 24
tramite il router RTX non è più disponibile, prima che la rotta venga messa in stato attivo,
viene invocato l'algoritmo DUAL affinché, con una computazione locale (local
computation), cioè il processo visto in precedenza, provi a trovare un feasible successor.
Come detto, nell'esempio in oggetto, non esiste alcun router, nella tabella topologica che
possa diventare un successore ammissibile. In questa condizione DUAL è costretto a
porre la rotta per la rete 24 in stato attivo (quindi viene eseguita la transizione
passivo/attivo), e a inviare verso tutti i router adiacenti messaggi di query per ottenere
nuove informazioni sulla rete 24. Tale processo è chiamato diffusing computation (calcolo
diffusivo). Nel momento in cui la rotta verso la rete 24 è in stato attivo il rispettivo valore
della FD distanza ammissibile (feasible distance) viene azzerato. Ciò consente al router
RTA di accettare, in ultima analisi, il router RTA come successor per la rete 24.
2. Indicare quali reti all'interno del sistema autonomo sono direttamente collegate al
router locale:
Che consente al router di generare le informazioni di log ogni volta che vengono rilevati
cambiamenti sulle relazioni di adiacenza con i router limitrofi, che permettono di verificare
e controllare la stabilità del processo di instradamento aiutando così a risolvere eventuali
problemi.
Quando è necessario configurare il protocollo EIGRP su una rete NBMA (non broadcast
multi accesso) come ad esempio nel caso di una nuvola Frame Relay è necessario
seguire le seguenti regole:
● Il traffico EIGRP non deve superare il valore CIR Committed Information Rate4
stabilito per il circuito virtuale (VC);
● Il traffico aggregato che il protocollo EIGRP genera sul circuito virtuale, non deve
4 CIR (Committed Information Rate) rappresenta la quantità di dati che il fornitore del servizio si impegna a
trasferire nell'unità di tempo (throughput) e che la rete si impegna a servire. Il CIR si misura in bit/s (o in
un suo multiplo, comunemente kbit/s). A ogni Circuito Virtuale è associato un CIR. Nel caso di un PVC,
circuito virtuale permanente, questo valore è stabilito all'atto del contratto.
eccedere la velocità della linea di accesso dell'interfaccia;
● La larghezza di banda allocata per EIGRP su ogni circuito virtuale, deve essere
uguale per ogni direzione.
La configurazione del corretto valore di larghezza di banda nel comando bandwidth, nel
caso di una nuvola NBMA (non broadcast multi accesso) dipende dal tipo di circuito
dall'architettura dei VC stessi. Se sulla stessa linea seriale sono presenti differenti VC, in
una configurazione multi-punto, e tutti i circuiti virtuali condividono equamente la stessa
larghezza di banda, è necessario impostare come larghezza di banda il valore dato dalla
somma di tutti i CIR di ogni singolo VC. Nella figura seguente, il valore di CIR di ognuno
dei circuiti virtuali è pari a 56 Kbps. Pertanto il valore di larghezza di banda per l'interfaccia
del router C deve essere impostato a 224 (4 x 56).
Nel caso precedente si era nella situazione in cui ogni circuito virtuale condivide
equamente la stessa larghezza di banda, tale configurazione prende il nome di rete
multi-punto pura. Nel caso in cui invece le velocità dei singoli circuiti virtuali vengono
allocate in modo differente, è necessario utilizzare una soluzione più complessa. Per
risolvere il problema è possibile utilizzare due approcci differenti:
● Prendere il valore più piccolo del CIR, moltiplicarlo per il numero dei circuiti virtuali e
usare il valore risultante come parametro del comando bandwidth sull'interfaccia
fisica. Questa soluzione è certamente molto semplice, tuttavia ha lo svantaggio di
sotto-utilizzare i circuiti virtuali con velocità più elevate,
L'immagine mostra come fare in modo che il il traffico dovuto allo scambio di messaggi di
instradamento del protocollo EIGRP, non superi il 50% della banda reale del
collegamento. Utilizzando il comando bandwidth-percent viene impostato un utilizzo
della banda pari al 100% sull'interfaccia serial0/0 per il processo EIGRP sull'AS 24.
Giacché il 100% di 32 kbps è 32, tale impostazione consente di utilizzare al protocollo
EIGRP fino a 32Kbps, che è appunto la metà di 64 Kbps, cioè la banda reale
dell'interfaccia.
Router(config-router)# no auto-summary
Il router RTC nella figura precedente, è stato configurato utilizzando i seguenti comandi:
La precedente configurazione farà in modo che il router RTC aggiunga alla propria tabella
di instradamento la seguente voce:
Si osservi che la rotta aggregata ha come sorgente Null0, che sta ad indicare che viene
utilizzata unicamente per essere annunciata, sull'interfaccia specificata, agli altri router.
Per il router RTC, non rappresenta un percorso di rete utilizzabile, e ha una distanza
amministrativa paria a 5. Null0, non rappresenta alcuna interfaccia.
Sempre nella figura precedente, il router RTD accettando i messaggi di aggiornamento dal
router RTC è del tutto inconsapevole che la rotta verso 2.1.0.0/16 rappresenta un
insieme di rotte aggregate, e assegna a tale rotta la distanza amministrativa di una
"normale" rotta EIGRP, cioè 90. Si osservi inoltre Nella configurazione del router RTC,
l'aggregazione automatica è stata disattivata con il comando no auto-summary. In
questo modo si impedisce al router RTC di annunciare sull'interfaccia due rotte; una,
quella aggregata manualmente, verso la rete 2.1.0.0/16 e l'altra, quella aggregata
automaticamente al prefisso di classe A, verso la rete 2.0.0.0/8.
Nella maggior parte dei casi, quando viene utilizzata l'aggregazione manuale, è
necessario disattivare l'aggregazione automatica, con il comando no auto-summary.
Per tutto questo modulo abbiamo già usato alcuni comandi show per verificare il
funzionamento del protocollo EIGRP. La tabella seguente mostra un riepilogo di tali
comandi, seguiti da una breve descrizione sul loro funzionamento:
Comando Descrizione
show ip eigrp neighbors Visualizza la tabella delle adiacenze (neighbor table). Utilizzare i
[tipo numero] [details] parametri tipo e numero per specificare un'interfaccia. La parola
chiave details visualizza un numero maggiore di informazioni.
show ip eigrp interfaces Visualizza informazioni sulle interfacce del router utilizzate dal
[tipo numero] [numero-as] protocollo EIGRP. I parametri consentono di limitare il risultato a una
[details] specifica interfaccia o sistema autonomo. La parola chiave details
visualizza un numero maggiore di informazioni.
show ip eigrp topology Visualizza tutti i router alternativi (feasible successor) presenti nella
[numero-as | tabella topologica. I parametri opzionali consentono di limitare il risulato
[[indirizzo-ip] in base al sistema autonomo, o indirizzo di rete.
maschera]]
show ip eigrp topology In base alla parola chiave specificata, il comando consente di
[active | pending | visualizzate tutti i percorsi di rete, nella tabella topologica, che sono
zero-successors] rispettivamente: attivi (active), in attesa (pending) o senza
successori (zero-successors).
show ip eigrp topology Visualizza tutti i percorsi di rete, non solo quelli alternativi o successori
all-links ammissibili (feasible successor) presenti nella tabella topologica
EIGRP
show ip eigrp traffic Visualizza il numero di pacchetti EIGRP inviati e ricevuti. Usando il
Comando Descrizione
[numero-as] parametro opzionale è possibile limitare il risultato ad uno specifico
sistema autonomo.
Il sistema operativo IOS presente nei router Cisco dispone anche di tutta una serie di
comandi debug per una verifica più approfondita del protocollo EIGRP.
Comando Descrizione
debug eigrp fsm Questo comando consente di osservare con maggior comodità, l'attività dei
router EIGRP alternativi o feasible successor, e quindi di determinare se gli
aggiornamenti vengono correttamente interpretati dal processo di
instradamento.
debug eigrp packet Questo comando visualizza l'invio e la ricezione dei pacchetti EIGRP. I
pacchetti possono essere hello, update, request, query o reply. Viene anche
visualizzati i numeri di sequenza e di riscontro (acknowledgment) utilizzati dal
protocollo RTP reliable transport protocol.
Scenario
In questa esercitazione configureremo il protocollo EIGRP sui collegamenti WAN di tre router Cisco presenti
nella rete dell'ITA Agenzia Turistica Internazionale. Osserveremo tra l'altro il comportamento di base del
protocollo.
L'ITA, Agenzia Turistica Internazionale, ha la necessità di implementare tra le sue filiali d'oltre oceano e le
sedi principale nel Nord America, il protocollo EIGRP. E' necessario che la configurazione venga fatta nelle
tre locazioni, in modo tale che le due sedi principali, di SanJose1 e SanJose2, possano comunicare tra loro.
Passo 1. Costruire la rete come in figura, senza configurare il protocollo EIGRP, verificare usando il
comando ping, la connettività tra le interfacce seriali dei router. Tra i router SanJose1 e
SanJose2, non saranno in grado di comunicare prima che il protocollo EIGRP sia correttamente
configurato.
Passo 2. Configurare il protocollo EIGRP, in modo tale che venga utilizzato il sistema autonomo AS 100
su tutti i router, utilizzando i seguenti comandi:
Passo 3. Dopo aver configurato il protocollo EIGRP sui router, verificarne il funzionamento, sul router
Westasman, visualizzando la tabella di instradamento con il comando show ip route. Il
router Westasman dovrebbe avere le rotte verso tutte le destinazioni della rete.
1. In particolare il router Westasman dovrebbe aver appreso i percorsi verso le reti interne al
dominio EIGRP, cioè le reti 192.168.100.0 e 192.168.200.0. Tali rotte vengono
indicate con la lettera D, che denota appunto il protocollo EIGRP;
2. La distanza amministrativa delle rotte EIGRP esterne è pari a 170 mentre quella delle rotte
EIGRP interne è 90.
Passo 4. Adesso che il protocollo EIGRP è configurato e funzionante, utilizziamo i comandi show per
visualizzare la tabella delle adiacenze (neighbors table) e la tabella topologica (topology table)
del router Westasman.
Una rotta viene indicata come passiva (passive) quando è stabile e disponibile per essere
impiegata. In questo caso le quattro rotte sono tutte in stato passivo.
Nella precedente tabella la prima e l'ultima voce rappresentano gli indirizzi delle reti LAN
(indirizzi di loopback) appresi dai router SanJose1 e SanJose2. Osservando queste voci i
numeri tra parantesi rappresentano la coppia CD/RD cioè il valore di metrica calcolato dal
router Westasman (computed distance) e il valore di metrica riportato dal router adiacente per
quella rotta (reported distance).
Per visualizzare informazioni più specifiche su una particolare voce della tabella topologica,
usare il comando show ip eigrp topology seguito dall'indirizzo della rotta per la quale si
vogliono ottenere altre informazioni:
Usiamo ora i comandi show per visualizzare le statistiche principali disponibili per il protocollo
EIGRP. Sempre sul router Westasman, eseguire il comando show ip eigrp traffic per
visualizzare i tipi di pacchetti EIGRP.
Scenario
In questa esercitazione dovrà essere configurato e verificato, su una rete WAN magliata chiusa (full mesh), il
protocollo EIGRP. Si dovrà inoltre osservare, simulando un guasto ad uno dei collegamenti, come l'algoritmo
DUAL rimpiazza il router successor con il feasible successor.
L'ITA, agenzia turistica internazionale, vuole che il protocollo EIGRP venga configurato, a livello Core, tra i
collegamenti WAN dei router di filiale e regionali. Il protocollo EIRRP dovrà essere configurato e verificato in
modo tale che installi un percorso alternativo in caso di problemi a un collegamento.
Passo 1. Costruire la rete come in figura. Impostare su ogni interfaccia seriale, usando il comando
bandwidth la corretta larghezza di banda in modo da riflettere lo schema precedente.
Utilizzare il comando show interface per verificare la corretta configurazione. Usare quindi il
comando ping, per verificare la connettività tra le interfacce seriali e ethernet dei router.
Passo 2. Configurare il protocollo EIGRP per il sistema autonomo 100 come visto nella precedente
configurazione.
Passo 3. Verificare che il protollo EIGRP mantenga tutti i percorsi di rete nella tabella topologica.
Dal router SandJose2, eseguire il comando show ip eigrp topology all-links:
La tabella topologica del router SanJose2 include due percorsi verso la rete 192.168.72.0.
Ovviamente il percorso con distanza calcolata uguale alla distanza ammissibile (CD = FD) è
anche quello successor, e quindi quello che verrà installato nella tabella di instradamento. Per
verificare quanto detto usare il comando show ip route per determinare quale dei due
percorsi è stato installato nella tabella di instradamento:
SanJose2# show ip route
Si osservi come il router SanJose2, instradi i pacchetti diretti verso la LAN del router
Westasman tramite la propria interfaccia seriale, questo perché la metrica calcolata è inferiore a
quella dell'altra rotta. In questo caso la FD è pari a 21956 che è lo stesso valore di CD (distanza
calcolata) vista nella tabella topologica per la rotta verso la rete 192.168.72.0 via 192.168.64.6,
cioè il router Westamastan, adiacente all'interfaccia seriale del router SanJose2.
Passo 4. Per visualizzare le informazioni di debug sulla metrica del router feasible successor (FSM -
feasible successor metrics) e osservare come il protocollo EIGRP reagisce alla perdita di
comunicazione con un router successor, utilizzare il comando debug eigrp fsm sul router
SanJose2; quindi simulare un problema di collegamento tra i router SanJose2 e Westasman
disattivando la seriale di uno dei due router con il comando shut oppure staccare il
collegamento fisico tra questi. Questo causerà sul router SanJose2 la perdita della rotta
preferita verso 192.168.72.0 tramite 192.168.64.6. Esaminare adesso le informazioni
visualizzate dal comando debug eigrp fsm sulla rotta 192.168.72.0, come mostrato nel
seguente esempio:
Passo 5. Le porzioni evidenziate, mostrano come DUAL cerchi di localizzare un feasible successor per la
rete 192.168.72.0. Nel caso in oggetto, DUAL non riesce a trovare un feasible successor,
pertanto pone la rotta in stato di attivo. Dopo aver inviato verso i router adiacenti messaggi di
query, il router SanJose2 trova e installa una rotta per la rete 192.168.72.0/24 tramite
192.168.1.1.
Passo 6. Verificare infine che la nuova rotta sia stata installata correttamente nella tabella di
instradamento, utilizzando il comando show ip route:
Scenario
L'ITA, utilizza la tecnica delle maschere di sottorete a lunghezza variabile, VLSM, per minimizzare lo spreco
di indirizzi IP. Tutte le reti LAN vengono indirizzate utilizzando sottoreti contigue; tuttavia, per avere dei
riferimenti utili in futuro, la società vuole esaminare il comportamento della rete, e nel caso particolare del
protocollo EIGRP, nel caso in cui venissero utilizzate sottoreti discontinue.
Poiché lo schema in questione crea sottoreti discontinue, la caratteristica del protocollo EIGRP di aggregare
automaticamente i percorsi di rete, crea problemi, portando alla creazione di tabelle di instradamento non
complete. Questo problema viene risolto disabilitando l'aggregazione automatica su tutti i router e
aggregando manualmente sul router Westasman.
Passo 1. Costruire la rete come in figura. Aggiungere le necessarie interfacce di loopback. Questa
configurazione richiede l'utilizzo della sottorete 0, pertanto è necessario accertarsi che il
comando ip subnet-zero sia presente nella configurazione dei router (in base alla verisione
di IOS utilizzata). Configurare quindi il router Westasman con le otto interfacce di loopback, e i
rispettivi indirizzi IP, come nel diagramma. Queste interfacce servono, come detto, per simulare
la presenza di sottoreti differenti sottoreti, collegate al router Westasman. Fatta questa
operazione, attivare il protocollo EIGRP sui router utilizzando come numero di AS 100. Usare il
comando ping, per verificare la connettività tra le interfacce dei router.
Passo 2. Si osservi che fino a quando non verrà configurata correttamente l'aggregazione delle rotte, le
tabelle di instradamento dei router saranno incomplete, nel senso che alcune reti non saranno
visualizzate. Per verificare quanto detto, utilizzare il comando show ip route sia sul router
SanJose1 che su SanJose2.
Passo 3. Come si può osservare, il router Westasman ha aggregato tutte le rotte delle interfacce di
loopback in un unica rete di classe B 172.16.0.0/16, stessa cosa ha fatto per la rete
192.168.64.0. Anche sui router SanJose1 e SanJose2 sono avvenuti comportamenti simili.
Poiché le rotte aggregate non hanno indirizzo di salto successivo (next hop) tale informazione
viene associata all'interfaccia nulla cioè null0. Si osservi che mentre sul router Westasman
tutte le rotte sono presenti, sui router SanJose1 e SanJose1, non sono state installate le rotte
verso le rispettive interfacce ethernet, a conferma di questo, le rotte marcate in rosso verso la
rete 192.168.64.0, sono dirette verso le rispettive interfacce seriali del router Westasman.
Affinché tutte le sottoreti siano raggiungibili correttamente è necessario disabilitare
l'aggregazione automatica delle rotte di EIGRP.
Per dare migliore descrittività e chiarezza ai comandi network, quando si usa il protocollo
EIGRP senza aggregazione automatica, le sottoreti da annunciare possono essere specificate
utilizzando la wildcardmask (maschera jolly). Utilizzando questo tipo di sintassi, tutte le sottoreti
che partecipano al processo di instradamento (quindi che verranno annunciate) e che
appartengono ad una certa classe, vanno necessariamente specificate tutte utilizzando la
corretta maschera di sottorete, attraverso la rispettiva wildcardmask. Se per qualche motivo una
di queste sottoreti viene specificata senza l'opportuna wildcardmask, allora verranno annunciate
anche tutte le altre sottoreti. Per comprendere meglio quanto detto, disabilitiamo sul router
Westasman il processo di instradamento sula rete di classe B 172.16.0.0, che rappresenta
l'indirizzo aggregato dell'insieme delle interfacce di loopback configurate. E aggiungiamo al
processo solo la sottorete 172.16.8.0:
Vediamo come le sottoreti appartenenti alle interfacce di loopback, sono di nuovo annunciate
tutte; eseguiamo il comando show ip route sul router SanJose1:
Pertanto la wildcard mask consente maggior precisione e chiarezza nel specificare le reti da
annunciare con il protocollo EIGRP, ovviamente se tutte le sottoreti specificate sono seguite
dalla maschera corretta. Prima di procedere al passo successivo annullare i comandi
network 172.16.8.0 0.0.0.255 e network 172.16.9.0 negandoli con la clausola no.
Adesso che l'auto aggregazione è disattivata, l'ITA desidera che le tabelle di instradamento
vengano completate correttamente. Sfortunatamente ciò implica che il router Westasman,
annunci 8 rotte che potrebbero invece essere aggregate per migliorare l'efficienza. É possibile
utilizzare l'aggregazione manuale per aggregare questi indirizzi. Il router Westasman annuncia
otto sottoreti, i cui primi 21 bit più significativi sono in comune ad ognuna di esse:
É possibile, quindi, creare una rotta aggregata per tutte le sottoreti assegnate alle interfacce di
loopback usando un prefisso di 21 bit, cioè una maschera di sottorete, in notazione decimale
puntata, pari a 255.255.248.0.
Il router Westasman dovrà annunciare questa rotta aggregata ai router SanJose1 e SanJose2,
quindi l'aggregazione manuale dovrà essere configurata sulle sue interfacce seriali:
I precedenti comandi consentono al protocollo EIGRP di annunciare una rotta aggregata per il
sistema autonomo 100 sulle sue interfacce serial0/0 e serial0/1. Verificare quanto è
stato configurato utilizzando, sul router Westasman, il comando show ip protocols
command.
La rotta aggregata è annunciata con metrica pari a 128256. Inoltre sui router SanJose1 e
SanJose2 la tabella di instradamento è variata di conseguenza, è presente adesso una rotta
verso la rete 172.16.8.0/21 tramite le rispettive interfacce seriali.