IGRP ed EIGRP

woonsocketpoliticalΔίκτυα και Επικοινωνίες

28 Οκτ 2013 (πριν από 3 χρόνια και 11 μήνες)

237 εμφανίσεις

1
IGRP ed EIGRP
Mario Baldi
http://staff.polito.it/mario.baldi/
Giorgio Valent
SSGRR
Fulvio RISSO
http://staff.polito.it/fulvio.risso/
2
Nota di Copyright

Questo
insieme
di
trasparenze
(detto
nel
seguito
slides)
è
protetto
dalle
leggi
sul
copyright
e
dalle
disposizioni
dei
trattati
internazionali
.
Il
titolo
ed
i
copyright
relativi
alle
slides
(ivi
inclusi,
ma
non
limitatamente,
ogni
immagine,
fotografia,
animazione,
video,
audio,
musica
e
testo)
sono
di
proprietà
degli
autori
indicati
a
pag
.
1
.

Le
slides
possono
essere
riprodotte
ed
utilizzate
liberamente
dagli
istituti
di
ricerca,
scolastici
ed
universitari
afferenti
al
Ministero
della
Pubblica
Istruzione
e
al
Ministero
dell‟Università
e
Ricerca
Scientifica
e
Tecnologica,
per
scopi
istituzionali,
non
a
fine
di
lucro
.
In
tal
caso
non
è
richiesta
alcuna
autorizzazione
.

Ogni
altra
utilizzazione
o
riproduzione
(ivi
incluse,
ma
non
limitatamente,
le
riproduzioni
su
supporti
magnetici,
su
reti
di
calcolatori
e
stampate)
in
toto
o
in
parte
è
vietata,
se
non
esplicitamente
autorizzata
per
iscritto,
a
priori,
da
parte
degli
autori
.

L‟informazione
contenuta
in
queste
slides
è
ritenuta
essere
accurata
alla
data
della
pubblicazione
.
Essa
è
fornita
per
scopi
meramente
didattici
e
non
per
essere
utilizzata
in
progetti
di
impianti,
prodotti,
reti,
ecc
.
In
ogni
caso
essa
è
soggetta
a
cambiamenti
senza
preavviso
.
Gli
autori
non
assumono
alcuna
responsabilità
per
il
contenuto
di
queste
slides
(ivi
incluse,
ma
non
limitatamente,
la
correttezza,
completezza,
applicabilità,
aggiornamento
dell‟informazione)
.

In
ogni
caso
non
può
essere
dichiarata
conformità
all‟informazione
contenuta
in
queste
slides
.

In
ogni
caso
questa
nota
di
copyright
non
deve
mai
essere
rimossa
e
deve
essere
riportata
anche
in
utilizzi
parziali
.
3
Protocolli di routing: IGRP

Distance
vector
più
efficiente
del
RIP

Metriche
più
sofisticate

Sviluppato
dalla
CISCO
a
metà

80

Non
è
standard
Internet

Routing
all‟interno
dell‟Autonomous
System
(l‟AS
è
identificato
da
un
intero
su
16
bit)

Utilizza
una
frequenza
di
update
delle
route
inferiore
(
90
s)

Problema
della
netmask
(come
RIP)

Versione
“Enhanced

inizi

90
4
IGRP: Metriche

RIP

„HOP
count‟
come
unica
metrica
possibile

Limite
massimo
a
15
hop

IGRP
:
la
metrica
si
basa
su
4
parametri

B
-
bandwidth
(
1
-
2
24
)
(
1
=
1
.
2
kbit/s)

In
effetti
il
valore
è
“numero
di
slot
temporali
da
10
ms
necessari
per
trasmettere
10000
bits”

D
-
delay
(
1
-
2
24
)
(
1
=
10
ms)

R
-
reliability
(
1
-
255
)
(
255
=
100
%
)

L
-
load
(
1
-
255
)
(
255
=
100
%
)

La
variazione
dei
coefficienti
permette
di
privilegiare
determinati
parametri
a
scapito
di
altri
(banda
piuttosto
che
ritardo)
5
IGRP: Metriche

Bandwidth
e
Delay
sono
per
default
associati
al
tipo
di
portante
fisico
.
Es
.:

Ethernet
-
>
B=
10000
,
D=
100

CDN
64
kbit/s
-
>
B=
64
,
D=
2000

Per
ciascun
link
B
e
D
possono
comunque
essere
impostati
dal
gestore

I
parametri
R
e
L
possono
essere
difficili
da
quantificare,
e
possono
variare
con
una
frequenza
piuttosto
elevata
6
IGRP: impostazione delle metriche

Il
gestore
può
impostare
5
parametri
di
peso
per
la
metrica
associata
a
ciascun
TOS
:

k
1
,
k
2
,
k
3
,
k
4
,
k
5

La
metrica
è
calcolata
come
:

Se
k
5
=
0
:

Metrica
=
(
10
7
/
B)
[k
1
+
k
2
/
(
256
-
L)]
+
k
3
D

Se
k
5
<>
0
:

Metrica
=
Metrica
x
[
k
5
/
(R
+
k
4
)
]

Per
default
:
k
1
=k
3
=
1
;
k
2
=k
4
=k
5
=
0

Nelle
implementazioni
di
IP
correnti
TOS
deve
essere
=
0
7
IGRP: multipath routing

Permette
più
entry
nella
routing
table
per
la
stessa
destinazione
(il
RIP
permette
una
sola
entry
per
ogni
destinazione)

Il
carico
può
essere
ripartito
tra
le
diverse
route
in
funzione
della
metrica
associata

Sono
usati
per
il
multipath
routing
solo
le
route
con
metrica
che
rientra
nel
range
definito
dal
gestore

Costo
Route
secondaria
<=
(V
*
Costo
Route
primaria
)

La
varianza
V
è
personalizzabile
dal
gestore

Questo
può
portare
a
loop
:
nelle
ultime
versioni
di
IGRP,
V
viene
sempre
fissato
a
1
(permette
la
selezione
di
due
path
solo
se
hanno
lo
stesso
costo)
8
Multipath routing

Non
equal
-
cost
:
possibili
problemi
di
loop

In
ogni
caso
:
problemi
con
TCP
reordering

Implementazioni
non
ottimizzate
con
reordering

TCP
Fast
Retransmit

È
necessario
uno
splitting
del
traffico
opportuno

Semplicità
(scelta
del
percorso
per
ogni
pacchetto)
vs
efficienza
(massimizzare
l‟efficienza
d‟uso
dei
percorsi)

Esempi

Basato
su
IP
source
oppure
IP
destination

Semplice,
ma
load
balancing
non
ottimale

Per
sessione
(IP
src/dst,
Port
src/dst,
Protocol)

Molto
flessibile,
ma
costoso
(lookup
table
per
memorizzare
le
sessioni)

Altro

9
Stabilità (1)

Utilizza
sostanzialmente
le
tecniche
del
RIP

Triggered
Updates

Sono
inviate
ogni
volta
che
la
metrica
associata
ad
una
route
varia
di
almeno
il
10
%

Evita
che
variazioni
di
poco
conto
(ad
esempio
nel
carico
di
un
link)
provochino
dei
cambi
di
route

Split
Horizon,
ma
senza
Poisonous
Reverse
10
Stabilità (2)

Hold
Downs
:
utilizzato
nelle
prime
versioni

Route
Poisoning
:
utilizzato
nelle
versioni
successive
al
posto
dell‟Hold
Downs

È
più
veloce

Si
basa
sull‟osservazione
che
se
si
forma
un
loop,
il
costo
tende
ad
aumentare
ad
ogni
giro
del
loop

Il
path
su
cui
si
è
verificato
un
aumento
della
metrica
viene
marcato
come
inusabile

Viene
utilizzato
solo
se
un
successivo
annuncio
conferma
il
costo
precedente

È
da
notare
che
l‟aumento
di
costo
potrebbe
essere
legittimo
e
non
dovuto
ad
un
loop
:
in
ogni
caso,
per
misura
precauzionale,
la
route
viene
mantenuta
“sospesa”
fino
ad
un
successivo
annuncio
identico
di
“conferma”
della
bontà
della
route
11
IGRP: timer

I
timer
in
IGRP
hanno
lo
stesso
significato
che
nel
RIP
ma
con
i
seguenti
valori
di
default
:

update
timer
90
s

invalid
timer
3
x
update

flush
timer
7
x
update

hold
down
timer
(
3
x
update)
+
10
s
12
Enhanced IGRP

Sviluppato
da
CISCO
a
partire
dalla
release
software
9
.
21

Miglioramenti
rispetto
ad
IGRP
:

Convergenza
più
rapida

Maschere
a
lunghezza
variabile

Minore
traffico
di
routing

Trasferimento
di
dati
affidabile
(Reliable
Transfer
Protocol)

Supporto
multiprotocollo

Loop
Free
(ma
si
possono
verificare
dei
Black
Hole)
13
E
-
IGRP: Principi generali

Non
prevede
updates
periodici

Ogni
router
mantiene
una
copia
delle
routing
table
di
tutti
i
router
adiacenti

I
messaggi
di
scambi
delle
route
devono
quindi
essere
di
tipo
affidabile

In
caso
di
cambio
di
una
route
si
attiva
il
“Diffusing
Update
ALgorithm”
(DUAL)

il
tutto
è
basato
sull‟idea
che
non
si
può
creare
un
loop
scegliendo
un
percorso
migliore
per
giungere
a
destinazione,
mentre
è
vero
il
viceversa
14
Principi generali dell‟algoritmo (1)

È
composto
da
due
parti

selezione
del
“vicino
accettabile”

attivazione
del
“processo
di
diffusione”

Algoritmo
:
quando
un
router
riceve
un
routing
update
:

Verifica
se
il
nuovo
costo
è
minore
del
precedente

in
questo
caso
aggiorna
la
route,
propaga
la
nuove
informazione
ai
vicini,
e
termina
15
Principi generali dell‟algoritmo (2)

Completa
fiducia
in
quello
che
dice
il
proprio
next
hop
per
una
certa
route

Il
principio
generale
è
che
un
cambio
di
route
di
tipo
“peggiorativo”
viene
preso
in
considerazione
solo
se
proviene
dallo
stesso
router
che
attualmente
viene
usato
per
raggiungere
quella
destinazione

Se
il
nuovo
costo
è
maggiore
:

Verifica
se
esiste
un
“Vicino
Accettabile”

Se
non
esiste
un
“vicino
accettabile”
attiva
il
processo
di
diffusione

Questo
consiste
nel
propagare
l‟informazione
“ho
dei
problemi
di
connettività
su
un
link”
ai
vicini,
fino
a
quando
qualcuno
è
in
grado
di
segnalare
un
cammino
16
DUAL
-
Vicino Accettabile (1)

Ogni
router
R
mantiene
per
ogni
destinazione
D
e
per
ogni
suo
router
adiacente
A
le
seguenti
informazioni
:

d(A,
D)
:
distanza
tra
ogni
router
adiacente
e
la
destinazione

l(R,
A)
:
costo
del
link
tra
R
ed
A
R
B
E
C
d(R,D)
X
D
l(R,X)
d(X,D)
17
DUAL
-
Vicino Accettabile (2)

Il
router
sceglie
come
percorso
migliore
quello
che
soddisfa
la
relazione
min [ l(R,X) + d(X,D) ]

X
è
il
particolare
router
adiacente
che
minimizza
la
relazione

Un
router
in
Passive
State
è
un
router
che
ha
una
versione
stabile
della
routing
table

Si
supponga
che
il
router
R
riceva
da
un
router
adiacente
K
un
messaggio
indicante

che
il
costo
del
link
l(K,A)
è
cambiato

(oppure)
che
il
costo
verso
una
destinazione
d(K,D)
è
cambiato
18
DUAL
-
Vicino Accettabile (3)

Per
la
regola
del
“costo
minore
verso
una
destinazione”
:

se
il
nuovo
costo
verso
la
destinazione
è
minore
del
precedente
in
possesso
di
R
si
adotta
come
next
hop
il
router
K
e
aggiorna
le
route

se
il
nuovo
costo
è
superiore
a
quello
in
possesso
di
R
:

Se
K
non
è
il
router
X
(che
era
il
precedente
next
hop
verso
D)
scarta
l‟informazione

Se
K
è
il
router
X
applica
la
regola
del
“vicino
accettabile”

Per
essere
sicuri
che
ci
sia
stato
un
cambio
di
route
si
aspetta
quindi
che
il
precedente
next
hop
verso
la
destinazione
si
sia
aggiornato
.
Solo
a
questo
punto
R
decide
di
aggiornarsi
applicando
la
regola
del
“vicino
accettabile”
19
DUAL
-
Vicino Accettabile (4)

Regola
del

vicino
accettabile


Cerca
tra
tutti
i
router
adiacenti
A
se
esiste
un
router
K
tale
che
la
sua
distanza
dalla
destinazione
D
sia
minore
della
distanza
precedentemente
in
possesso
di
R
:
d(K,D) < d(R,D)

Questo
vuol
dire
che
il
nuovo
router
K
è
in
grado
di
raggiungere
la
destinazione
D
attraverso
un
percorso
alternativo
senza
passare
da
R

Il
costo
d(K,D)
non
dipende
dal
costo
d(R,D)

Se
non
esiste
alcun
vicino
adiacente
che
soddisfa
la
relazione
il
router
R
deve
attivare
il
processo
di

Diffusione

20
Vicino Accettabile: esempio
R
B
E
C
X
D
5
20
10
20
10
10
40
(40)
(5)

Si
supponga
venga
interrotto
il
link
C
-
D

B
è
vicino
accettabile

Se
ha
i
costi
in
verde,
è
un
vicino
accettabile

Se
invece
X
riporta
i
costi
in
blu,
non
è
vicino
accettabile
21
DUAL
-
Diffusione (1)

Il
router
R
“congela”
la
sua
routing
table
(e
passa
ad
uno
stato
“attivo”)

Se
prima
del
guasto
non
vi
erano
loop,
congelando
la
routing
table
ci
si
assicura
che
la
situazione
delle
route
non
cambia
e
quindi
non
potranno
esserci
loop

Potrebbero
esserci
però
delle
perdite
di
connettività
(black
hole)
momentanee

R
imposta
come
attuale
distanza
da
D
il
valore
in
base
al
nuovo
costo
di
X
l(R,X) + d(X,D)

Il
router
R
emette
una
speciale
forma
di
update
(“query”)
verso
tutti
i
suoi
vicini
(tranne
X),
“comunicando”
questa
nuova
distanza
da
D
22
DUAL
-
Diffusione (2)

Il
router
Y
che
riceve
l‟update
:

se
il
suo
costo
per
raggiungere
D
è
inferiore
a
quello
comunicatogli
da
R

(oppure)
se
ha
un
“Vicino
Accettabile”

rimane
in
stato
passivo
e
comunica
la
propria
routing
table
a
R
(messaggio
di
Reply)

Altrimenti
entra
anche
lui
in
stato
attivo
ed
inizia
ad
emettere
anche
lui
la
query
di
update
verso
tutti
i
vicini
tranne
quello
da
cui
ha
ricevuto
la
query

Quando
un
router
riceve
le
risposte
(“Reply”)
alla
sua
query
da
parte
di
tutti
i
vicini
a
cui
l‟aveva
mandata
si
crea
la
nuova
routing
table
e
provvede
eventualmente
a
generare
a
sua
volta
il
Reply
al
router
precedente
.
23
E
-
IGRP: Tipi di pacchetti

Hello
-
multicast
,
non
riscontrati
;
permettono
di
mantenere
nota
dei
vicini
attivi
e
di
scoprire
il
down
di
un
router

Acknowledgement
-
unicast
,
come
hello
senza
dati,
con
un
numero
di
ack

Update
-
unicast
ad
ogni
vicino
scoperto,
multicast
in
caso
di
modifiche
di
topologia
;
trasporta
un
messaggio
di
aggiornamento
delle
route
da
parte
di
un
router
“passivo”

Query
-
multicast/unicast
:
viene
inviata
da
un
router
in
stato
“attivo”
e
fa
iniziare
l‟algoritmo
di
diffusione

Reply
-
multicast/unicast
:
viene
inviata
in
risposta
ad
una
query

Request
-
per
ottenere
informazioni
specifiche
dai
vicini
(come
in
RIP)
24
E
-
IGRP: Neighbor Table

Per
ogni
entry
contiene
:

indirizzo
del
vicino
(ricevuto
con
l‟hello)

hold
time
(ricevuto
con
l‟hello)

interfaccia

round
-
trip
-
timer

informazioni
per
il
Reliable
Transfer
Protocol
25
E
-
IGRP: Topology Table

Contiene
tutte
le
destinazioni
annunciate
dai
router
vicini

Per
ogni
entry
contiene
:

destination
address

lista
di
:

vicino
che
annuncia
la
destinazione

metrica
associata
26
E
-
IGRP: Route State

Ogni
entry
della
topology
table
può
essere
in
due
stati
:

Passive
:
quando
il
router
non
sta
ricalcolando
la
destinazione

Active
:
durante
l‟aggiornamento

Quando
una
destinazione
è
active,
la
corrispondente
entry
sulla
routing
table
non
può
essere
aggiornata
27
E
-
IGRP:Route Tagging

Una
route
sulla
tabella
di
routing
può
essere
:

interna
-
originata
dal
processo
E
-
IGRP

esterna
-
originata
da
un
altro
routing
protocol
oppure
statica

Le
route
esterne
sono
taggate
con
:

Router
ID,
AS
di
destinazione,
ID
del
protocollo
esterno,
Metrica
di
importazione,
Tag
definita
dall‟amministratore,
bit
di
flag
per
il
default
route
28
E
-
IGRP: compatibilità con IGRP

Le
route
di
IGRP
sono
automaticamente
trasportate
in
E
-
IGRP
e
viceversa

E
-
IGRP
tratta
le
route
apprese
da
IGRP
come
route
esterne
che
possono
essere
facilmente
“customizzate”
dal
gestore

E‟
pertanto
possibile
fare
un
upgrade
graduale
da
IGRP
a
E
-
IGRP