Objetivo
Caractersticas de los algoritmos de enrutamiento tipos de
Contenido
Introduccin Algoritmos Link-State Algoritmos Distance-Vector
Descripcin Bellman-Ford
Algoritmos Path-Vector
Entre ASs:
EGP = Exterior Gateway Protocol
AS 2 AS 1
AS 3
Link State: Comunican qu vecinos tienen y el coste Inundan la red Cada nodo conoce la topologa entera
AS 2 AS 1
AS 3
B C
1 3
A: [B, 2], [C, 1] B: [A, 2], [D, 1] C: [A, 1], [D, 3] D: [B, 1], [C, 3] 1
2 1
B C
1 3
D
0
2 1
B
3
1 3
2 1
B C
1 3
B,D
2 1
B C
1 3
D
D
2 1
B C
C,D
1 3
No me gusta B
2 1
B C
1 3
Link State
Tres pasos
1. 2. Descubrir a los vecinos Diseminar la informacin sobre los enlaces
Flooding ( ) Todos conocen la topologa () Caminos de menor coste Todos calculan los mismos Algoritmo de Dijkstra
AS 2
3.
C A B E D
OSPF, IS-IS
Link State
Tres pasos
1. 2. Descubrir a los vecinos Diseminar la informacin sobre los enlaces
Flooding ( ) Todos conocen la topologa () Caminos de menor coste Todos calculan los mismos Algoritmo de Dijkstra
1 1 1 1 1 1 1 1 1 1 1 1
AS 2
3.
C B E
1
1 1
1 1 1 1
OSPF, IS-IS
1 1 1 1
(etc)
Distance Vector
Cada nodo llega a conocer la distancia desde l a todos los destinos
D(X,di)
Asncrono
X!
D(X,di)
Distance Vector
Cada nodo llega a conocer la distancia desde l a todos los destinos
D(X,di)
Asncrono
j! j!
c(X,j) D(X,j)=c(X,j)
X!
Distance Vector
Cada nodo llega a conocer la distancia desde l a todos los destinos
D(X,di)
Asncrono
d!
D(j,d)
j!
c(X,j)
D(j,d)
j!
c(X,j)
psst... D(j,d)
X!
Distance Vector
Cada nodo llega a conocer la distancia desde l a todos los destinos
D(X,di)
Asncrono
d!
D(j,d)
j!
c(X,j)
D(j,d)
j!
c(X,j) c(X,j)+D(j,d)
c(X,j)+D(j,d)
X!
Algoritmo de Bellman-Ford
Comienzo
Dest Next Cost Dest Next Cost
B C D E
B E
1 " " 1
A C D E
A C D E
1 1 3 4
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B -
A B C E
B E
" 3 " 1
A B C D
A B D
1 4 " 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
A enva
D(E,d)!mn{c(E,A)+D(A,d)} D(B,d)!mn{c(B,A)+D(A,d)} ()
Dest Next Cost Dest Next Cost
B C D E
B E
1 " " 1
A C D E
A C D E
1 1 3 4
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B -
A B C E
B E
" 3 " 1
A B C D
A B D
1 4 " 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
A enva
D(E,d)!mn{c(E,A)+D(A,d)} D(B,d)!mn{c(B,A)+D(A,d)}
Dest Next Cost Dest Next Cost
B C D E
B E
1 " " 1
A C D E
A C D A (E)
1 1 3 2 (4)
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B -
A B C E
B E
" 3 " 1
A B C D
A A (B) D
1 2 (4) " 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
D enva
D(E,d)!mn{c(E,D)+D(D,d)} D(B,d)!mn{c(B,D)+D(D,d)} No hay cambios
Dest Next Cost Dest Next Cost
B C D E
B E
1 " " 1
A C D E
A C D A
1 1 3 2
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B -
A B C E
B E
" 3 " 1
A B C D
A A D
1 2 " 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
B enva
D(A,d)!mn{c(A,B)+D(B,d)} D(C,d)!mn{c(C,B)+D(B,d)} D(D,d)!mn{c(D,B)+D(B,d)} D(E,d)!mn{c(E,B)+D(B,d)} ()
Dest Next Cost Dest Next Cost
B C D E
B E
1 " " 1
A C D E
A C D A
1 1 3 2
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B -
A B C E
B E
" 3 " 1
A B C D
A A D
1 2 " 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
B enva
D(A,d)!mn{c(A,B)+D(B,d)} D(C,d)!mn{c(C,B)+D(B,d)} D(D,d)!mn{c(D,B)+D(B,d)} D(E,d)!mn{c(E,B)+D(B,d)}
Dest Next Cost Dest Next Cost
B C D E
B B (-) B (-) E
1 2 (") 4 (") 1
A C D E
A C D A
1 1 3 2
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
A B C E
B (-) B B (-) E
4 (") 3 4 (") 1
A B C D
A A B (-) D
1 2 5 (") 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
C enva
D(B,d)!mn{c(B,C)+D(C,d)} No hay cambios
Dest Next Cost Dest Next Cost
B C D E
B B B E
1 2 4 1
A C D E
A C D A
1 1 3 2
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B B B B
2 1 4 3
A B C E
B B B E
4 3 4 1
A B C D
A A B D
1 2 5 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
E enva
D(A,d)!mn{c(A,E)+D(E,d)} D(B,d)!mn{c(B,E)+D(E,d)} D(D,d)!mn{c(D,E)+D(E,d)} ()
Dest Next Cost Dest Next Cost
B C D E
B B B E
1 2 4 1
A C D E
A C D A
1 1 3 2
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B B B B
2 1 4 3
A B C E
B B B E
4 3 4 1
A B C D
A A B D
1 2 5 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
E enva
D(A,d)!mn{c(A,E)+D(E,d)} D(B,d)!mn{c(B,E)+D(E,d)} D(D,d)!mn{c(D,E)+D(E,d)}
Dest Next Cost Dest Next Cost
B C D E
B B E (B) E
1 2 2 (4) 1
A C D E
A C D A
1 1 3 2
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B B B B
2 1 4 3
A B C E
E (B) B B E
2 (4) 3 4 1
A B C D
A A B D
1 2 5 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
A enva
D(E,d)!mn{c(E,A)+D(A,d)} D(B,d)!mn{c(B,A)+D(A,d)} ()
Dest Next Cost Dest Next Cost
B C D E
B B E E
1 2 2 1
A C D E
A C D A
1 1 3 2
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B B B B
2 1 4 3
A B C E
E B B E
2 3 4 1
A B C D
A A B D
1 2 5 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
A enva
D(E,d)!mn{c(E,A)+D(A,d)} D(B,d)!mn{c(B,A)+D(A,d)}
Dest Next Cost Dest Next Cost
B C D E
B B E E
1 2 2 1
A C D E
A C D A
1 1 3 2
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B B B B
2 1 4 3
A B C E
E B B E
2 3 4 1
A B C D
A A A (B) D
1 2 3 (5) 1
A!
1 1
B!
4
D!
D E
E!
Algoritmo de Bellman-Ford
D enva B enva
No hay cambios No hay cambios No hay cambios No hay cambios No hay cambios
Dest Next Cost Dest Next Cost
B C D E
B B E E
1 2 2 1
A C D E
A C D A
1 1 3 2
C!
1
Dest
Next
Cost
Dest
Next
Cost
Dest
Next
Cost
A 3 1 B
B B B B
2 1 4 3
A B C E
E B B E
2 3 4 1
A B C D
A A A D
1 2 3 1
A!
1 1
B!
4
D!
D E
E!
Distance Vector
Clculo distribuido Iterativo e incremental Asncrono Converge a los caminos de menor coste Protocolos: RIP, IPX-RIP, DECnet, IGRP, EIGRP, DSDV
Path Vector
Similar a Distance Vector Clculo distribuido Informan a sus vecinos de las rutas calculadas Incluyen todo el camino hasta el destino para cada ruta Protocolos: BGP
B,D 2
B! C!
1 3
No me gusta B
B! C!
C,D
B! C!
A!
1
D!
0
A!
1 3
D!
A!
1 3
D!