Consulenze presso Eunet srl, via dell'Artigianato 15, 09122 Cagliari 070 753609 Lun - Ven 08:30-13:00 / 14.30-17.00

EIGRP - Enhanced Interior Gateway Routing Protocol

EIGRP è un protocollo di routing di tipo Distance Vector. E' proprietario Cisco, non è quindi uno standard aperto. Si adatta a reti medio grandi, che utilizzano principalmente dispositivi Cisco. E' considerato da molti un protocollo ibrido, in quanto utilizza caratteristiche sia degli algoritmi Distance Vector che Link State. Tuttavia la stessa Cisco ribadisce che si tratta di un protocollo Distance Vector perché scambia la tabella di routing e le metriche con i soli router vicini.

Le caratteristiche che lo rendono simile ai protocolli Link State sono:

  • scambio di pacchetti di piccole dimensioni, detti hello packets, con cui mantenere la conoscenza dei router vicini;
  • invio di aggiornamenti (update) solo su evento e non periodici come nel RIP (Distance Vector);
  • uso di un algoritmo per il calcolo delle rotte migliori. L'algoritmo usato da EIGRP è chiamato DUAL, Diffusing Update Algorithm, che garantisce un funzionamento del routing privo di loop. Se si verifica un cambiamento nella topologia di rete, DUAL sincronizza contemporaneamente tutti i router interessati;
  • metrica principalmente basata sulla larghezza di banda e sui ritardi presenti nei link: è una metrica più accurata rispetto al semplice conteggio degli hop che si ha nel RIP.

EIGRP non invia intere tabelle nei suoi aggiornamenti, ma spedisce in multicast aggiornamenti parziali a quei soli router direttamente connessi che hanno bisogno di informazioni. Il conteggio degli hop arriva ad un massimo di 224 router; sono inoltre supportati diversi protocolli routed, quali IP, IPX ed Apple Talk. A livello di trasporto (livello 4) usa il protocollo proprietario RTP, Reliable Transport Protocol.

La distanza amministrativa di EIGRP è di 90, mentre quella del RIP è di 120: il numero inferiore riflette la maggior affidabilità di EIGRP e una maggior accuratezza della metrica. Pertanto se un router apprende rotte verso la stessa destinazione da entrambi i protocolli RIP e EIGRP, prevarrà il percorso appreso tramite EIGRP. Le rotte apprese da altri protocolli di routing vengono identificate da EIGRP come esterne.

 

Messaggi tra router EIGRP

EIGRP utilizza diversi tipi di pacchetti per scambiare ed aggiornare le informazioni della routing table:

  1. Hello Packets: prima che un router EIGRP possa procedere allo scambio di pacchetti con altri router, deve innanzitutto scoprire i suoi vicini tramite gli Hello Packets. Per impostazione predefinita, sono inviati in multicast (224.0.0.10 sulle reti IP) ogni 5 secondi sui link maggiori di un T1 e ogni 60 secondi nei collegamenti T1 o più lenti; non richiedono conferma, nessun ACK viene restituito al mittente. Le informazioni contenute riguardano le interfacce dei router e gli indirizzi di quelle interfacce. Un router EIGRP, fintanto che riceve gli hello packets dai router vicini, considera questi ultimi come raggiungibili. Il tempo di attesa (hold time) oltre il quale un router vicino non viene più considerato raggiungibile è di circa 3 volte l’intervallo del multicast, quindi 15 secondi sui link maggiori di un T1 e 180 secondi nei collegamenti T1 o più lenti.
  2. Update: servono ad aggiornare le informazioni relative alle rotte. Vengono inviati solo su evento, per la caduta o la ripresa di un link. Vengono inoltrati in multicast se spediti spontaneamente, in unicast se richiesti da un router vicino. Richiedono ACK e numero di sequenza.
  3. Query: vengono inviati ai router vicini nel caso in cui non si conosca né la successor route né la  feasible successor route verso una data destinazione. Richiedono ACK e numero di sequenza.
  4. Reply: sono la risposta alle query. Vengono sempre inviati in unicast al router che ha generato la query stessa.
  5. ACK: sono dei pacchetti hello (senza campi TLV nell’header) inviati in unicast in risposta ai messaggi di update, query e reply.

 

Le tabelle utilizzate da EIGRP

Per salvare le informazioni di rete ricevute tramite gli aggiornamenti, EIGRP gestisce più tabelle, mantenute dal router in memoria RAM:

Neighbor table (tabella dei vicini): fornisce le informazioni riguardanti i router vicini direttamente connessi (neighbor routers), costituite dall’indirizzo IP dei router vicini e dall’interfaccia che permette il collegamento ad essi. Quando un router invia un hello packet, parte un tempo detto hold time, ossia un tempo di attesa entro il quale un neighbor router viene considerato raggiungibile. Se un hello packet non viene ricevuto entro l’hold time, alla scadenza del timer l’algoritmo DUAL ricalcola la tabella.

 

Topology table (tabella della topologia): elenca tutte le rotte apprese dai router vicini, ma non contiene la topologia dell’intera rete, come invece potrebbe far pensare il nome, bensì una raccolta di metriche. Facendo riferimento all’immagine sottostante, che mostra le informazioni tratte da un router Cisco, vediamo che sono indicati:

  • lo stato dell’algoritmo DUAL: la P indica che DUAL è in uno stato passivo, ossia non è in esecuzione, quindi si tratta di una condizione di stabilità; sarebbe A (active) se DUAL stesse ricalcolando le rotte;
  • l’indirizzo delle reti di destinazione con il numero di rotte che verranno inserite nella routing table (Successor Routes);
  • la metrica con il minor costo, detta FD (Feasible Distance), ricavata dalla rotta migliore;
  • le rotte con l'IP del router vicino e la metrica associata (primo valore tra le parentesi); la rotta con il minor costo è detta Successor Route, le rotte con metrica maggiore sono chiamate Feasible Successors; ovviamente, se una Successor Route fallisce, la Feasible Successors diventa una Successor Route. Il secondo valore tra le parentesi rappresenta la metrica, detta Advertised Distance, così come riportata dal router vicino .

 

Routing table: mentre la topology table contiene informazioni su molti percorsi possibili verso una rete di destinazione, la routing table visualizza solo i percorsi migliori, indicati dalle successor routes. Nella tabella di routing le rotte apprese tramite EIGRP sono indicate da una “D” iniziale, che rappresenta l’algoritmo DUAL. Le rotte dinamiche o statiche apprese da altri protocolli di routing vengono indicate come “D EX” o esterne, perché non provengono da router EIGRP all'interno dello stesso AS.

 

La metrica di EIGRP

La metrica di EIGRP è determinata dai seguenti valori:

  • Larghezza di banda (bandwidth), espressa in Kbps. Molte interfacce seriali usano una larghezza di banda predefinita di 1544 Kbps, corrispondente alla larghezza delle connessioni T1;
  • Ritardo (delay) espresso in microsecondi basato sul tipo di interfaccia, secondo la tabella seguente

  • Affidabilità (reliability), misura quanto spesso si verificano errori in un collegamento. Ha valori compresi tra 0 e 255.
  • Carico (load) fa riferimento al traffico complessivo che grava sul collegamento. Ad esempio, 1/255 è il valore relativo ad un link carico al minimo, mentre 255/255 è il valore di un link carico al 100%.

Il calcolo della metrica è dato dalla formula seguente:

metric = [K1*bandwidth+(K2*bandwidth)/(256-load)+K3*delay]*[K5/(reliability+K4)]

Di tutta la formula, val la pena ricordare solamente il concetto seguente: la metrica avrà un costo minore al crescere della larghezza di banda e al diminuire del ritardo.

Ad esempio, considerando lo schema in figura, possiamo dire che per raggiungere la rete 10.10.10.0/24 partendo dal router R1, la rotta utilizzata sarà quella che passa per il router R3, poiché la larghezza di banda dei link tra R1 e R3 e tra R3 ed R2 genera un costo minore rispetto a quello del collegamento tra R1 e R2, che ha un link di soli 64Kbps.

 

Aggregazione delle rotte

EIGRP, così come RIPv2, effettua automaticamente l'aggregazione delle rotte (route summarization), creando nella tabella di routing una voce unica che riassume tutte le sottoreti. Questa summary route è chiamata parent route: EIGRP crea la summary route su un'interfaccia virtuale Null0. Nell’esempio sottostante, con la funzione “auto summary” attiva, le reti comunicate da R3 verso R1 e R2 si riducono alla 192.168.0.0/22, che ingloba le varie sottoreti 192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24. Se la funzione “auto summary” venisse disattivata, sarebbero annunciate tutte le sottoreti.

(0 Votes)