EIGRP : Fondamenti
admin
Comments (0)
30 dicembre 2009
Appunti & Laboratori
Un saluto a tutti i lettori, di seguito iniziamo un breve viaggio nel protocollo di routing EIGRP, protocollo IGP sviluppato da Cisco che introduce diverse migliorie rispetto al predecessore IGRP.
Le migliorie introdotte da EIGRP includono :
- Supporto per i protocolli livello 3 Apple Talk, IP ed IPX di Novell
- Supporto per variable-lenght subnet mask (VLSM)
- Discovery dinamico via multicast 224.0.0.10
- Convergenza veloce in seguito a cambiamenti di topologia. Attualmente la convergenza di EIGRP è più rapida del protocollo standard OSPF.
EIGRP a differenza di altri protocolli, non inoltra pacchetti di update ad intervalli regolari, questa caratteristica gli consente di consumare meno banda rispetto a RIP o IGRP. Gli update EIGRP non contengono l’intera tabella di routing, ma riflettono solo le route che hanno sbuito un cambiamento.
L’algoritmo di routing Diffusing Update Algoritm (DUAL) non solo calcola le rotte e assicura una topologia logica priva di loop, ma calcola anche delle backup route. Le backup route denominate “feasible successors,” sono presenti nella topology table. Le route primarie, “the successors”, sono presenti sia nella tabella topologia che nella tabella di routing. La terza tabella utilizzata da EIGRP è la tabella che contiene i “vicini”, la neighbors. La neighbors table è l’equivalente della tabella LSA di OSPF.
EIGRP è un protocollo “classless”, esso supporta VLSM e come tale, include nei pacchetti di routing update anche il prefisso della subnet mask. Vediamo ora la terminologia utilizzata in EIGRP :
- Successor route : sta ad indicare il router adiacente caratterizzato dal minor costo per il raggiungimento di una determinata network. Possono coesistere più successor route per la stessa destinazione (4 di default in load balancing che possono estendersi fino a 16).
- Feasible Successor : come suggerisce il termine, indica il secondo path con con il minor costo (subito dopo il successor route). Possiamo intendere il FS come un back up in caso di failure del successor.
- Advertised Distance : indica il costo del path tra due router adiacenti ad una determinata destinazione.
- Feasible Distance : costo del path che connette un router al suo vicino sommato al link esistente tra il router adiacente, considerata la rete di destinazione.
Tipi di pacchetti EIGRP e trasporto RTP.
EIGRP utilizza il protocollo Reliable Transport Protocol (RTP) per gestire e garantire il trasporto del traffico ai propri vicini. Tuttavia non tutti i pacchetti EIGRP sono spediti con “affidabilità RTP”, ovvero non tutti hanno bisogno di essere recapitati con conferma.
EIGRP utilizza cinque tipi di pacchetti : Hello, Ack, Update, Query e Reply. I pacchetti Hello sono utilizzati per la scoperta dei vicini e mantiene la relazione tra essi con keepalive, il pacchetto Hello utilizza l’indirizzo riservato in classe multicast 224.0.0.10.
Il pacchetto Acknowledgement (Ack), è sostanzialmente un pacchetto Hello che non contiene dati. Hello ed Ack non utilizzano RTP per il transporto livello 4, e vengono considerati inaffidabili quindi non c’e’ certezza del recapito. La ragione è lampante, i pacchetti Hello devono infatti non solo garantire il discovery in multicast ma anche il keepalive.
I pacchetti Update sono spediti ai nuovi vicini per consentire al vicino di costruire le tabelle topologia e routing, e sono inoltre spediti quando avviene un cambiamento nella rete (guasti di link, cambio di topologia ecc.).
I pacchetti Query sono inoltrati quando il router perde il successor route e non dispone neanche del feasibile successor di backup. Reply è utilizzato per rispondere ai pacchetti Query, indicando le route richieste dal vicino. Questi ultimi tre tipi di pacchetti utulizzano RTP.
Il processo di adiacenza tra due router in ambito EIGRP prevede che il router A invi in multicast il pacchetto Hello, che sostanzialmente chiede “c’e’ nessuno qui ?” il vicino B risponde con un Update unicast “si ci sono io”, A risponde di nuovo con un ACK e trasferendo i propri dati con un unicast Update, ed il router B di nuovo replica con un “grazie” attraverso un pacchetto ACK. Detto in parole molto semplici, questo è di base quanto avviene per il discovery dei vicini e lo scambio delle tabelle di routing e topologia.
Non sempre il processo di associazione va a buon fine, EIGRP infatti non richiede una conferma del pacchetto Hello. Allo scadere dell’hold time (di default il valore è tre volte superiore rispetto quello dell’intervallo Hello), l’hold time di EIGRP è paragonabile al dead time di OSPF. Il timer può essere modificato con il seguente comando di livello interfaccia :
- - Router(config-if)ip hello eigrp 100 ? <1 – 65535> Seconds between hello transmissions
Il pacchetto Hello viene inoltrato ogni 5 secondi (quindi dopo 15 secondi, ovvero tre inoltri non corrisposti, il router perde il vicino). Nei link “lenti” (ISDN PRI, Frame Relay e ATM PtP, il pacchetto Hello viene inoltrato ogni 60 secondi, hold time di 180 secondi).
Altro problema può verificarsi in caso di “K-Value mismatch”. Consideriamo prima di tutto la formula utilizzata da EIGRP per il calcolo della metrica :
- Metrica [K1 X Banda + (K2 x Banda)/(256 - Carico) + K3 x Ritardo] x [K5/(affidabilità + K4)] x 256
La formula fa riferimento a cinque costanti K che possono essere configurate per modificare il comportamento del protocollo. Ovviamente nella maggior parte dei casi, Cisco consiglia di non modificare i valori che, di default, sono impostati come K1=K3=1 e K2=K4=K5=0. Questa configurazione riduce la formula a Bandwidth+Dealy.
L’errore di mismtach dei valori K può verificarsi in due casi :
- Il primo è che i due router connessi e che partecipano allo stesso processo EIGRP siano configurati con metriche differenti, questa la sh run del router al quale sono stati modificati i parametri di metria con il comando “metric weights”
- Il secondo caso può verificarsi nel momento in cui uno dei due router transmetta un messaggio “goodbye” all’altro, il quale non supporta tale messaggio. In questo caso il destinatario interpreterà il pacchetto come un K-Value mismatch.
Possiamo modificare la metrica (attenzione!!) con il comando “metrics weights” dal prompt R(config-router)#.
Detto questo, diamo un rapido sguardo alle tre tabelle utilizzate da EIGRP : Topology, neighbors e route.
R#sh ip eigrp topology :
IP-EIGRP Topology Table for process 100
Codes: P – Passive, A – Active, U – Update, Q – Query, R – Reply,
r – Reply status
P 172.16.90.0 255.255.255.0, 2 successors, FD is 46251776
via 172.16.80.28 (46251776/46226176), Ethernet0
via 172.16.81.28 (46251776/46226176), Ethernet1
via 172.16.80.31 (46277376/45251776), Serial0
P 172.16.81.0 255.255.255.0, 1 successors, FD is 307200
via Connected, Ethernet1
via 172.16.81.28 (307200/281600), Ethernet1
via 172.16.80.28 (317200/281600), Ethernet0
Piccolo chiarimento, con la lettera P (Passive) non si intende che la network non sia utilizzata correttamente, bensì significa che è correttamente utilizzata. Con la A la network risulta inutilizzabile e che è in stato di ricalcolo, generalmente lo stato Active dura pochissimo.. Se il ricalcolo non va a buon fine, la rotta si definisce SIA (Stuck in Active). La route può diventare SIA per i seguenti motivi :
- Il link è unidirezionale, quindi non risulta possibile la risposta da parte del vicino.
- Il router non ha abbastanza risorse di memoria o CPU
- Il link tra i due router è di bassa qualità e non garanstisce ai pacchetti Hello di mantenere lo stato di neigbor tra i router.
R#sh ip eigrp neighbors :
IP-EIGRP Neighbors for process 100
H Address Interface Holdtime Uptime Q Seq SRTT RTO
1 (secs) (h:m:s) Count Num (ms) (ms)
2 160.89.81.28 Ethernet1 13 0:00:41 0 11 4 20
3 160.89.80.28 Ethernet0 14 0:02:01 0 10 12 24
4 160.89.80.31 Ethernet0 12 0:02:02 0 4 5 20
R#sh 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, * – candidate default
Gateway of last resort is not set
172.16.0.0/24 is subnetted, 6 subnets
D 172.16.252.0 [90/2681856] via 172.16.250.2, 00:18:54, Ethernet0/0
C 172.16.250.0 is directly connected, Ethernet0/0
C 172.16.251.0 is directly connected, Ethernet0/1
D 172.16.50.0 [90/2195456] via 172.16.250.2, 00:18:54, Ethernet0/0
C 172.16.1.0 is directly connected, Loopback0
D 172.16.100.0 [90/2707456] via 172.16.250.2, 00:18:54, Ethernet0/0
C 192.168.1.0/24 is directly connected, Loopback1
Con la lettera D viene indicata una rotta appresa dal protocollo EIGRP. Dentro la parentesi quadra abbiamo la distanza amministrativa di EIGRP (90) seguita dal costo calcolato dall’algoritmo DUAL.
Finisce qui la prima parte di introduzione ad EIGRP. A breve seguirà la seconda parte, focalizzata soprattutto sulla configurazione di summarization route, ridistribuzione e configurazione avanzata.
« Laboratorio CCDP / CCNP : Configurare EtherChannel Next Post
EIGRP : Configurazione EIGRP »



Blog Feed
TOP