SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Downloaden Sie, um offline zu lesen
1
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Tema 2 – Algoritmos de encaminamiento
Ramón Agüero Calvo
ramon.agueroc@unican.es
2
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Contenidos
 Introducción
 Teoría de grafos
 Algoritmos de búsqueda de camino más corto
 Otros algoritmos en grafos
 Del algoritmo al protocolo
3
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Contenidos
 Introducción
 Teoría de grafos
 Algoritmos de búsqueda de camino más corto
 Otros algoritmos en grafos
 Del algoritmo al protocolo
4
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Introducción al encaminamiento en redes
 Objetivo del encaminamiento: Guiar la información entre los nodos origen y
destino
 Funciones básicas
 Forwarding o reenvío – un nodo (o router) determina la interfaz por la que
reenviar un paquete
 Routing o encaminamiento – establecimiento de la ruta (camino) más apropiada
entre origen y destino, actualizando las tablas de reenvío en los nodos
 Retos y características
 Necesidad de mensajes de señalización
 Coordinación entre los nodos que forman la red
 Reacción ante fallos en la red  robustez
 Adaptación a posibles cambios en las condiciones de los enlaces
5
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Elementos y clasificación
 Métricas de rendimiento
 # de saltos
 Coste
 Retardo
 Rendimiento (throughput)
 Fuentes de información
 Local
 Nodo contiguo (vecino)
 Nodos de la ruta
 Todos los nodos
 Dinamismo
 Estáticos
 Dinámicos o adaptativos
 Momento de la decisión
 Paquete (modo datagrama)
 Establecimiento sesión (modo
circuito virtual)
 Lugar de la decisión
 Cada nodo
 Nodo central
 Nodo origen/fuente
 Actualización de la información
 Continuo
 Periódico
 Cambio en la carga
 Cambio topológico
6
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Problemática del encaminamiento
 Rutas de menor #saltos
 S1  2  D
 S2  2  D
 Rutas con menor retardo
 S1  1  4  D
 S2  3  5  D
 S2 no puede encaminar todo su tráfico por un
único camino
 S2  3  5  D [7 unidades]
 S2  2  D [8 unidades]
 En consecuencia, S1 no empleará la ruta de
menor número de saltos
 S1  1  4  D
S1 y S2 quieren enviar 5 unidades a D
Capacidad de los enlaces: 10 unidades
S1 y S2 quieren enviar 5 y 15 unidades a D
Capacidad de los enlaces: 10 unidades
S1
1 3
2
4 5
D
5u@D
S2
15u@D
7
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Tipos de encaminamiento
 Broadcasting (difusión)
 Envío de información a todos los nodos
 Inundación [flooding]
 Procedimiento sencillo
 Mucha sobrecarga, por transmisiones y recepciones innecesarias
 Shortest Path (camino más corto)
 Una de las estrategias más empleadas
 Se minimiza el número de saltos entre origen y destino
 De manera genérica se podría hablar de coste  Establecimiento de alguna métrica
 Encaminamiento óptimo
 El camino más corto no siempre ofrece el mejor comportamiento
 Optimización matemática compleja
 Hot potato (Patata caliente)
 Un nodo manda cada paquete por la interfaz menos cargada
 Se deshace del mismo lo antes posible
8
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Clasificación de encaminamiento
No Adaptativo Adaptativo
Centralizado Distribuido
Cooperación No cooperación
Encaminamiento
Coste (métrica)
por canal fijo
Coste (métrica)
por canal fijo
Empleado en la
Internet: RIP y
OSPF
Hot-Potato
9
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Contenidos
 Introducción
 Teoría de grafos
 Algoritmos de búsqueda de camino más corto
 Otros algoritmos en grafos
 Del algoritmo al protocolo
10
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
¿Qué es un grafo?
 Los grafos son una herramienta matemática que se emplea para formular
problemas de encaminamiento
 Definición de un grafo G=(N, E)
 Conjunto de N nodos
 Colección de E enlaces (edges) – cada enlace consta de un par de nodos de N
11
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Los grafos y el encaminamiento
 Al trasladar un grafo a un problema de encaminamiento
 Los  nodos son los routers de la red
 Los  enlaces se corresponden con los enlaces físicos entre ellos
12
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Conceptos básicos de grafos
 Tipos de grafos
 Dirigidos: (u,v) ≠ (v,u)
 Los enlaces son pares dirigidos de nodos
 No dirigidos: (u,v) →(v,u)
 No es necesario establecer un criterio de ordenación a los nodos en cada enlace
 Concatenaciones de enlaces
 Walk (paseo): secuencia de nodos (n1,n2,…nl) tal que cada pareja (ni‐1,ni) es un
enlace del grafo
 Path (camino): es un walk en el que no hay nodos repetidos
 Cycle (ciclo o bucle): camino con más de un enlace y en el que n1 = nl
 Grafo conectado
 Se dice que un grafo está conectado si cualquier par de nodos está conectado por
un camino
 En algunas ocasiones puede resultar interesante/necesario asignar costes
c(u,v) a los enlaces
13
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Representación de grafos
 Lista adyacencia
 Consta de un array de N listas (una
por nodo de la red) con punteros a
cada nodo con el que tenga un
enlace
 Memoria necesaria
 En un grafo dirigido la suma de
punteros coincide con |E|
 En un grafo no dirigido será 2 |E|
 Ventajas
 Se pueden asignar costes a los
enlaces de manera sencilla
 Requiere una cantidad menor de
memoria, apropiada para grafos
sin muchos enlaces (sparse)
 Desventajas
 El proceso de búsqueda puede
ser lento
 Matriz de adyacencia
 Matriz  de dimensión N x N
 Con grafos no dirigidos, A es
simétrica: AT = A
 El tamaño de A es, para cualquier
red, N2
 Ventajas
 La búsqueda es muy rápida
 Si no se necesitan costes, se
puede usar un sólo bit para cada
elemento de la matriz
 Desventajas
 Suele requerir mayor memoria, se
usa en grafos más pequeños
 Si se requieren costes, se necesita
mayor capacidad por enlace









j)(i,
j)(i,
aij
si
si
0
1
14
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Representación de grafos

















011000
101100
110111
011011
001101
001110

1 → 2 → 3 → 4
2 → 1 → 3 → 4
3 → 1 → 2 → 4 → 5
4 → 1 → 2 → 3 → 5 → 6
5 → 3 → 4 → 6
6 → 4 → 5
 Grafo no dirigido
 El número de enlaces en la lista de
adyacencia es 2 |E|
 La matriz de adyacencia es simétrica
 Lista de adyacencia
 Matriz de adyacencia
15
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Representación de grafos

















000000
100000
110000
011010
001100
001110

1 → 2 → 3 → 4
2 → 3 → 4
3 → 2 → 4 → 5
4 → 5 → 6
5 → 6
6
 Grafo dirigido
 El número de enlaces en la lista de
adyacencia es |E|
 La matriz de adyacencia no es simétrica
 Lista de adyacencia
 Matriz de adyacencia
16
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Contenidos
 Introducción
 Teoría de grafos
 Algoritmos de búsqueda de camino más corto
 Otros algoritmos en grafos
 Del algoritmo al protocolo
17
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Búsqueda del camino más corto
 La idea principal es la de encontrar el camino con un coste mínimo entre
una fuente (S) y un destino (D)
 Si c(u,v) se mantiene constante para todos los enlaces, la solución es la ruta
de menor número de saltos
 Algoritmos con una única fuente: encuentran el camino más corto entre S y
el resto de nodos
 Dijkstra
 Bellman-Ford
 Algoritmos para toda la red: encuentran el camino más corto entre todas las
posibles parejas de nodos en la red
 Floyd-Warshall
 Johnson
18
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Coste de una ruta
 Métricas aditivas: distancia, tiempo de transferencia, etc
 Coste camino = c(l1) + c(l2) + c(l3)
 Interesa minimizar el coste total
 Métricas multiplicativas: probabilidad de no fallo, fiabilidad
 Coste camino = f(l1) · f(l2) · f(l3)
 Interesa maximizar el coste total
 Métricas cuello de botella: capacidad
 Coste camino = min { C(l1), C(l2), C(l3) }
 Interesa maximizar el coste total
19
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Algoritmo de Dijkstra
 Encuentra el camino de coste mínimo de una fuente S a todos los nodos en
un grafo con costes NO NEGATIVOS
 Definiciones previas
 Coste camino
 Coste camino mínimo
   

k
1i
i1i u,ucpc
    






vu:pcmin
vu,δ
p
si hay camino
entre u y v
en caso contrario
20
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Algoritmo de Dijkstra
 Variables
 Conjunto de nodos Q para los que no se ha encontrado el camino más corto
 Se mantiene una lista con las distancias a cada nodo d(u)
 Algoritmo
 Se busca en Q el nodo cuyo camino de coste mínimo sea el menor
 u se borra de Q
 Si Q es el conjunto vacío (Q=), se termina el algoritmo
 Para todos los nodos v de Q adyacentes a u
     uS,δudu  QN
   vd
min
ud
v Q

        vu,cud,vdminvd 
21
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Algoritmo de Dijkstra
INITIALIZATION
1. d(S) = 0
2. for all v in N but S
3. d(v) = ∞
4. Q = N
MAIN LOOP
5. while Q ≠ {Ø}
6. u vertex in Q with min{d(v)}
7. delete u from Q
8. for all v in Q adjacent to u
9. if d(v) > d(u) + c(u,v)
10. d(v) = d(u) + c(u,v)
11. prev(v) = u
22
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Ejemplo algoritmo de Dijkstra
Primera iteración
Q = {1, 2, 3, 4}
d = [0, 10, 5, ∞, ∞]
Inicialización
Q = {S, 1, 2, 3, 4}
d = [0, ∞, ∞, ∞, ∞]
23
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Ejemplo algoritmo de Dijkstra
Tercera iteración
Q = {1, 3}
d = [0, 8, 5, 13, 7]
Segunda iteración
Q = {1, 3, 4}
d = [0, 8, 5, 14, 7]
24
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Ejemplo algoritmo de Dijkstra
Cuarta iteración
Q = {3}
d = [0, 8, 5, 9, 7]
Quinta iteración
Q = {Ø}
d = [0, 8, 5, 9, 7]
25
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Algoritmo de Bellman-Ford
 Al igual que Dijkstra, encuentra el camino más corto de un nodo al resto
 Puede emplearse con redes que tengan enlaces con coste negativo
 Si hay un ciclo negativo en la fuente, Bellman-Ford lo detecta
 En este caso el camino de coste mínimo NO puede solucionarse
 Variables
 Una lista con los costes de las rutas de S a cualquier nodo d(u)
 Algoritmo
 Se recorre el grafo N -1 veces y se aplica la ecuación de Bellman para los
enlaces del grafo
        vu,cud,vdminvd 
26
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Algoritmo de Bellman-Ford
INITIALIZATION
1. d(S) = 0
2. for all v in N but S
3. d(v) = ∞
MAIN LOOP
4. for k = 1 to N-1
5. for each (u,v) in E
6. if d(v) > d(u) + c(u,v)
7. d(v) = d(u)+c(u,v)
8. prev(v) = u
27
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Ejemplo algoritmo de Bellman-Ford
Inicialización
d = [0, ∞, ∞, ∞, ∞]
Primera iteración
d = [0, 10, 5, ∞, ∞]
28
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Ejemplo algoritmo de Bellman-Ford
Segunda iteración
d = [0, 8, 5, 11, 7]
Tercera iteración
d = [0, 8, 5, 9, 7]
29
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Algoritmo de Floyd Warshall
 Se define dk[i,j] como el coste del camino más corto entre i y j con la
condición de que use únicamente los nodos 1, 2, … k‐1 como nodos
intermedios
 Así, dN+1[i,j] representa la distancia del camino más corto entre i y j
 El algoritmo de Floyd Warshall establece iterativamente dk[i,j] para todas
las parejas de nodos (i,j) para k = 1, 2, … N+1
 A partir de dk[i,j], el algoritmo calcula dk+1[i,j] a partir de la siguiente
propiedad
        jkki k
,, dd,ji,dminji,d kk1k

30
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Algoritmo de Floyd Warshall
INITIALIZATION
1. for all (u,v) in NxN
2. d(u,v) = ∞
3. pred(u,v) = NIL
4. for all nodes u in N
5. d(u,u) = 0
6. for each (u,v) in E
7. d(u,v) = c(u,v)
8. pred(u,v) = u
MAIN LOOP
9. for k = 1 to N
10. for u = 1 to N
11. for v = 1 to N
12. if d(u,v) > d(u,k) + d(k,v)
13. d(u,v) = d(u,k) + d(k,v)
14. pred(u,v) = pred(k,v)
31
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Ejemplo algoritmo de Floyd Warshall
 



















092
04
10
180
0
D  















nilnil
nilnilnil
nilnilnil
nilnil
44
3
2
11
0
 

















032
50124
10
1980
2
D  















nilnil
nil
nilnilnil
nil
24
113
2
121
2
 


















092
50124
10
180
1
D  















nilnil
nil
nilnilnil
nilnil
44
113
2
11
1
32
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Ejemplo algoritmo de Floyd Warshall
 















0327
50124
6105
1980
3
D
 















0327
5074
6105
1430
4
D  













nil
nil
nil
nil
243
143
123
124
4
 













nil
nil
nil
nil
243
113
123
121
3
33
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Contenidos
 Introducción
 Teoría de grafos
 Algoritmos de búsqueda de camino más corto
 Otros algoritmos en grafos
 Del algoritmo al protocolo
34
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
 Tree (árbol): es un grafo G, no dirigido, conectado y sin ciclos
 El número de enlaces es igual al número de nodos menos 1: |E| = |N| - 1
 Cualquier par de nodos están unidos por un único camino
 G está conectado, pero al eliminar cualquier enlace dejaría de estarlo
 G no tiene ciclos, pero al añadir un enlace cualquiera aparecería un ciclo
 Un Spanning Tree cubre (se expande por) todos los nodos de un grafo Q
 Entre los diferentes Spanning Tree de un grafo Q el Minimum Spanning Tree
(MST) es aquel que tiene un menor coste
Minimum Spanning Tree
No es un árbol Sí es un árbol Sí es un árbol
35
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Minimum Spanning Tree
 Aplicaciones: el MST cubre todos los nodos de una red
 Procesos de difusión (broadcast) de información
 Un mensaje para ser enviado a todos los nodos de la red
 Gran uso en Redes de Área Local: bridges (IEEE 802.1D)
 Se emplea para eliminar enlaces no necesarios
 Algoritmos
 Kruksal
 Prim
36
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Algoritmo de Kruksal
 Construye el MST incorporando paulatinamente enlaces que unan dos
componentes diferentes (dos subgrafos no conectados entre sí)
 Se puede ver como un proceso de búsqueda de componentes conectados en una
red
 Va recorriendo los enlaces (u,v) de E en orden creciente (por su coste)
 Añade el enlace actual (u,v) a un subgrafo A si u y v pertenecen a árboles
distintos
 Siempre se añade aquel que tenga un menor coste
 Variables
 A: Conjunto de enlaces que forman el MST
 L: lista con los enlaces de G, ordenados según su coste, en orden creciente
 Al recorrer todos los enlaces A contendrá el MST de G
37
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Algoritmo de Kruksal
INITIALIZATION
1. A = {Ø}
2. L = E
3. sort(L)
MAIN LOOP
4. for all (u,v) in L (in order)
5. if u & v belong to same tree
6. discard (u,v)
7. else
8. A = A U (u,v)
38
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Ejemplo algoritmo de Kruksal
Grafo original Iteración 1
Iteración 2 Iteración 3
39
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Ejemplo algoritmo de Kruksal
1
4
6
2 3
7 8
95
4
8 7
2
8
11
7 6
1 3
4
10
9
14
Iteración 4 Iteración 5
Iteración 6 Iteración 7
40
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Ejemplo algoritmo de Kruksal
Iteración 8 Iteración 9
Iteración 10 Iteración 11
41
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Ejemplo algoritmo de Kruksal
Iteración 12 Iteración 13
Iteración 14
42
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Algoritmo de Prim
 Opera de manera similar al algoritmo de Dijkstra
 Comienza con un nodo arbitrario (R), al que paulatinamente se añaden
enlaces, hasta que se cubren todos los nodos
 Variables
 Conjunto de nodos Q que quedan por incorporar al MST
 Se mantiene una lista con el ‘peso’ de cada nodo
43
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Algoritmo de Prim
INITIALIZATION
1. Q = N; Randomly select R
2. k(R) = 0
3. for all v in N but R
4. k(v) = ∞
MAIN LOOP
5. while Q ≠ {Ø}
6. u vertex in Q with min{k(v)}
7. delete u from Q
8. for all v adjacent to u AND v in Q
9. if k(v) > c(u,v)
10. k(v) = c(u,v)
11. prev(v) = u
44
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Ejemplo algoritmo de Prim
1
4
6
2 3
7 8
95
4
8 7
2
8
11
7 6
1 3
4
10
9
14
Grafo original
Iteración 1
Q = {2,3,4,5,6,7,8,9}
k = {0,4,∞,∞,∞,8,∞,∞,∞}
Iteración 2
Q = {3,4,5,6,7,8,9}
k = {0, 4,8,∞,∞,8,∞,∞,∞}
Iteración 3
Q = {4,5,6,7,8,9}
k = {0, 4,8,7,2,8,∞,4,∞}
45
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Ejemplo algoritmo de Prim
1
4
6
2 3
7 8
95
4
8
7
2
8
11
7 6
1 3
4
10
9
14
1
4
6
2 3
7 8
95
4
8 7
2
8
11
7 6
1 3
4
10
9
14
Iteración 5
Q = {4,6,7,9}
k = {0,4,8,7,2,7,3,4,10}
Iteración 6
Q = {4,6,9}
k = {0,4,8,7,2,1,3,4,10}
Iteración 7
Q = {4,9}
k = {0,4,8,7,2,1,3,4,10}
Iteración 4
Q = {4,6,7,8,9}
k = {0,4,8,7,2,7,6,4,∞}
46
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
MST: Ejemplo algoritmo de Prim
Iteración 8
Q = {9}
k = {0,4,8,7,2,1,3,4,9}
Iteración 9
Q = {Ø}
k = {0,4,8,7,2,1,3,4,9}
47
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Problema de máximo flujo
 Se trata de maximizar el flujo que se puede “enviar” entre S y D
 Cada enlace tiene una capacidad p(u,v) NO NEGATIVA
 Por un enlace (u,v) se tiene un flujo f(u,v) 
 Conservación de flujo
 Simetría
   vu,pvu,f 
   uv,‐fvu,f 
 
 


DS,vu,
0vu,f

48
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Problema de máximo flujo
10,10
10,10
10,10
10
1
10
1
1
Flujo = 10
Flujo = 11 Flujo = 12
(No es obvio)
49
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Máximo flujo: conceptos previos
 Red residual
 Enlaces que pueden admitir más flujo
 Capacidad residual
 La capacidad que queda disponible en un enlace
 Augmenting Path
 Es un camino entre S y D en el grafo con capacidades residuales
 La red residual puede tener enlaces nuevos
 Su capacidad residual es la menor de sus enlaces
     vu,f‐vu,pvu,pf 
50
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Máximo flujo: Algoritmo Ford-Fulkerson
 El algoritmo Ford-Fulkerson resuelve el problema del máximo flujo
 En cada iteración
 Encuentra un augmenting path P
 Incrementa el flujo entre S y D con la capacidad residual de P
51
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Máximo flujo: Algoritmo Ford-Fulkerson
INITIALIZATION
1. for all (u,v) in E
2. f(u,v) = 0
3. f(v,u) = 0
MAIN LOOP
4. while there exists a path p from S
to D in the residual network Gf
5. cf(p) = min{cf(u,v):(u,v) in p}
6. for each (u,v) in p
7. f(u,v) = f(u,v) + cf(p)
8. f(v,u) = -f(u,v)
52
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Ejemplo algoritmo Ford-Fulkerson
P = {(S,1) (1,2) (2,3) (3,4) (4,D)}
cf(P) = 4
Flujo = 4
P = {(S,1) (1,3) (3,4) (4,2) (2,D)}
cf(P) = 7
Flujo = 11
53
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Ejemplo algoritmo Ford-Fulkerson
15
5
8
11
D
11
115
5
5
3
4
1 2
43
S 4
3
7
12
15
5
8
11
D
11
115
5
5
3
4
1 2
43
S 4
3
7
12
P = {(S,3) (3,1) (1,2) (2,D)}
cf(P) = 8
Flujo = 19
 = {(S,3) (3,2) (2,D)}
cf(P) = 4
Flujo = 23
54
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Ejemplo algoritmo Ford-Fulkerson
 Como ya no existe un “augmenting path” en la red residual el algoritmo se
da por finalizado
 La eficiencia del algoritmo depende de la manera en la que se “busca” el
augmenting path en cada iteración
 Podría incluso no converger
Flujo = 23
55
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Contenidos
 Introducción
 Teoría de grafos
 Algoritmos de búsqueda de camino más corto
 Otros algoritmos en grafos
 Del algoritmo al protocolo
56
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Encaminamiento en redes
 Los nodos (routers) toman decisiones en base a cierta información
 Es necesario disponer de un protocolo de señalización
 Proporciona un método para transportar dicha información por la red
 Protocolos de encaminamiento
 Vector distancia (Distance vector, DV) – usado en la 1ª generación ARPANET
 Estado del enlace (Link state, LS) – usado en la 2ª generación ARPANET
 Jerarquía en la red
 Escalabilidad
 Autonomía administración de la red
 Sistemas Autónomos (Autonomous Systems, AS)
 Encaminamiento
 Intra-AS: dentro de un AS
 Inter-AS: entre varios AS
57
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Encaminamiento vector distancia
 Se basa en el algoritmo de Bellman-Ford
 Cada nodo de la red mantiene una tabla: una entrada por cada uno del
resto de nodos
 Distancia: “métrica o coste” del camino hacia dicho nodo
 Interfaz de salida necesaria para alcanzarle
 Periódicamente cada nodo intercambia la información de la tabla con sus
vecinos
 Problemas
 Convergencia lenta
 Propagación rápida de “buenas noticias” y lenta de las “malas”
 Count-to-infinity
 Protocolo RIP (Routing Information Protocol)
 Definido en los RFC 1058 y 2453 (RIP Version 2)
 Es un protocolo Intra-AS que, a pesar de que se sigue empleando, es obsoleto
58
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
DV: Count-to-infinity
 El enlace XY cambia a 1
 [t0] Y detecta el cambio
 [t1] Z modifica su tabla
 [t2] Y recibe la actualización de Z, pero
no necesita hacer ningún cambio
 El enlace XY cambia a 60
 [t0] Y detecta el cambio, pero actualiza a
6 (cree que puede ir a través de Z)
 [t1] Z modifica su tabla a 7 (6+1)
 [t2] Y recibe la actualización de Z, y
cambia su información a 8
 …
 Son necesarias 44 iteraciones
DY(X) DZ(X)
t0 1 5
t1 1 2
t2 1 2
DY(X) DZ(X)
t0 6 5
t1 6 7
t2 8 7
t3 8 9
59
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Encaminamiento estado de enlace
 Sustituye paulatinamente a DV a partir de 1980
 Se pueden establecer cinco elementos diferenciados
 Descubrimiento de vecinos: uso de paquetes HELLO
 Estimación del coste con los vecinos
 Por ejemplo, en base al retardo con cada uno de ellos: paquetes ECHO
 Construcción de un paquete con la información correspondiente
 ¿Cuándo se tiene que construir dicho paquete?
 Envío del paquete al resto de nodos (routers)
 Difusión [broadcast] de información: inundación
 Cálculo de la ruta
 Uso del algoritmo de Dijkstra – necesidad de disponer de información global
60
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Encaminamiento estado de enlace
 Desventajas
 Necesidad de información global
 Envío de un número mayor de mensajes: SOBRECARGA
 Un evento de “cambio” en la topología de la red se tiene que notificar a todos los nodos
 Protocolo OSPF (Open Shortest Path First)
 Está definido (en su segunda versión) en el RFC 2328
 Es un protocolo Intra-AS
61
Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento
Ramón Agüero Calvo
Encaminamiento jerárquico
 Los sistemas autónomos se comunican entre ellos a través de nodos
denominados Gateway
 Un AS puede tener más de un Gateway
 Actualmente el encaminamiento entre AS es soportado por el protocolo
BGP (Border Gateway Protocol)
 Está definido (en su versión 4) en el RFC 4271
 Es el protocolo de encaminamiento en el core de Internet, y es utilizado por los
proveedores de servicios (ISP)
 Funcionamiento básico de BGP
 Se basa en un encaminamiento basado en el estado del camino (path state)
 Cada Gateway obtiene la “alcanzabilidad” de los AS vecinos
 Propaga dicha información a los routers de su AS
 Determina las rutas “óptimas” en función de la información adquirida y de las
políticas y reglas establecidas

Weitere ähnliche Inhalte

Was ist angesagt?

Algoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminosAlgoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminosJeiner Gonzalez Blanco
 
Analisis de Redes - Investigacion de Operaciones
Analisis de Redes - Investigacion de OperacionesAnalisis de Redes - Investigacion de Operaciones
Analisis de Redes - Investigacion de OperacionesSergio Hernández Ortega
 
Cuantización de Coeficientes de Canal Basados en Teoría de Números Algebraicos
Cuantización de Coeficientes de Canal Basados en Teoría de Números AlgebraicosCuantización de Coeficientes de Canal Basados en Teoría de Números Algebraicos
Cuantización de Coeficientes de Canal Basados en Teoría de Números AlgebraicosTELCON UNI
 
Optimizacion De Redes
Optimizacion De RedesOptimizacion De Redes
Optimizacion De RedesHero Valrey
 
5.1 TERMINOLOGÍA DE OPTIMIZACIÓN DE REDES
5.1  TERMINOLOGÍA DE OPTIMIZACIÓN DE REDES5.1  TERMINOLOGÍA DE OPTIMIZACIÓN DE REDES
5.1 TERMINOLOGÍA DE OPTIMIZACIÓN DE REDESADRIANA NIETO
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Bryan Aguilar Yaguana
 
Funciones de base Radial
Funciones de base RadialFunciones de base Radial
Funciones de base Radialguestc50c2f
 
Redes neuronales artificiales de base radial
Redes neuronales artificiales de base radialRedes neuronales artificiales de base radial
Redes neuronales artificiales de base radialJefferson Guillen
 

Was ist angesagt? (18)

Modelo de redes
Modelo de redes Modelo de redes
Modelo de redes
 
Algoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminosAlgoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminos
 
Problemas redes
Problemas redesProblemas redes
Problemas redes
 
Optimizacion de redes
Optimizacion de redesOptimizacion de redes
Optimizacion de redes
 
Analisis de Redes - Investigacion de Operaciones
Analisis de Redes - Investigacion de OperacionesAnalisis de Redes - Investigacion de Operaciones
Analisis de Redes - Investigacion de Operaciones
 
Cuantización de Coeficientes de Canal Basados en Teoría de Números Algebraicos
Cuantización de Coeficientes de Canal Basados en Teoría de Números AlgebraicosCuantización de Coeficientes de Canal Basados en Teoría de Números Algebraicos
Cuantización de Coeficientes de Canal Basados en Teoría de Números Algebraicos
 
20 arbol de_extension_minima
20 arbol de_extension_minima20 arbol de_extension_minima
20 arbol de_extension_minima
 
Estructura de datos y recursión
Estructura de datos y recursiónEstructura de datos y recursión
Estructura de datos y recursión
 
Optimizacion De Redes
Optimizacion De RedesOptimizacion De Redes
Optimizacion De Redes
 
5.1 TERMINOLOGÍA DE OPTIMIZACIÓN DE REDES
5.1  TERMINOLOGÍA DE OPTIMIZACIÓN DE REDES5.1  TERMINOLOGÍA DE OPTIMIZACIÓN DE REDES
5.1 TERMINOLOGÍA DE OPTIMIZACIÓN DE REDES
 
Redes
RedesRedes
Redes
 
Modelo de redes
Modelo de redes Modelo de redes
Modelo de redes
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
 
Protocolo
ProtocoloProtocolo
Protocolo
 
Unidad iii
Unidad iiiUnidad iii
Unidad iii
 
Modelo de redes
Modelo de redesModelo de redes
Modelo de redes
 
Funciones de base Radial
Funciones de base RadialFunciones de base Radial
Funciones de base Radial
 
Redes neuronales artificiales de base radial
Redes neuronales artificiales de base radialRedes neuronales artificiales de base radial
Redes neuronales artificiales de base radial
 

Andere mochten auch

Flyd+Warshall
Flyd+WarshallFlyd+Warshall
Flyd+Warshallgrupo6tic
 
Presentación OR Problemas de Caminos Más Cortos
Presentación OR Problemas de Caminos Más CortosPresentación OR Problemas de Caminos Más Cortos
Presentación OR Problemas de Caminos Más CortosRosa E Padilla
 
Técnicas prácticas para la solución de algunos grafos 1
Técnicas prácticas para la solución de algunos grafos 1Técnicas prácticas para la solución de algunos grafos 1
Técnicas prácticas para la solución de algunos grafos 1Juan Velez
 
Arborescencia de ruta mas corta
Arborescencia de ruta mas cortaArborescencia de ruta mas corta
Arborescencia de ruta mas cortaeduardo307
 
Presentación curriculum
Presentación curriculumPresentación curriculum
Presentación curriculumchantalllorca
 
Spanish M3 asuntos culturales
Spanish M3 asuntos culturalesSpanish M3 asuntos culturales
Spanish M3 asuntos culturaleseLearningJa
 
Base de datos en sql
Base de datos en sql  Base de datos en sql
Base de datos en sql K-rlos Pac
 
Gosmartsite.com - Presentazione
Gosmartsite.com - PresentazioneGosmartsite.com - Presentazione
Gosmartsite.com - Presentazionegosmartsite
 
Webs interesantes cómo crear un cv impactante
Webs interesantes cómo crear un cv impactanteWebs interesantes cómo crear un cv impactante
Webs interesantes cómo crear un cv impactanteSalvador Guerrero Romero
 
Grupos mediáticos
Grupos mediáticosGrupos mediáticos
Grupos mediáticosleblay
 
Psicofisiología de la alimentación Christian Andrade
Psicofisiología de la alimentación Christian AndradePsicofisiología de la alimentación Christian Andrade
Psicofisiología de la alimentación Christian Andradechristian-andrade12
 
PFM - Pablo Garcia Auñon
PFM - Pablo Garcia AuñonPFM - Pablo Garcia Auñon
PFM - Pablo Garcia AuñonPablo Garcia Au
 
Luis Ragno En Prospectiva lo Humano es Capital
Luis  Ragno En Prospectiva lo Humano es CapitalLuis  Ragno En Prospectiva lo Humano es Capital
Luis Ragno En Prospectiva lo Humano es CapitalLuis Ragno
 
Maleta samsonite del futuro con gps
Maleta samsonite del futuro con gpsMaleta samsonite del futuro con gps
Maleta samsonite del futuro con gpsGiseliux Gasca
 
Mystery Shopping Report for UniKassel Bibliothek
Mystery Shopping Report for UniKassel BibliothekMystery Shopping Report for UniKassel Bibliothek
Mystery Shopping Report for UniKassel BibliothekDilara Adaylar
 
Running lean jci national congress 2015
Running lean jci national congress 2015Running lean jci national congress 2015
Running lean jci national congress 2015Peter Rutten
 

Andere mochten auch (20)

Flyd+Warshall
Flyd+WarshallFlyd+Warshall
Flyd+Warshall
 
Floyd Warshall (Real Problem)
Floyd Warshall (Real Problem)Floyd Warshall (Real Problem)
Floyd Warshall (Real Problem)
 
Grafos
GrafosGrafos
Grafos
 
Presentación OR Problemas de Caminos Más Cortos
Presentación OR Problemas de Caminos Más CortosPresentación OR Problemas de Caminos Más Cortos
Presentación OR Problemas de Caminos Más Cortos
 
Técnicas prácticas para la solución de algunos grafos 1
Técnicas prácticas para la solución de algunos grafos 1Técnicas prácticas para la solución de algunos grafos 1
Técnicas prácticas para la solución de algunos grafos 1
 
Arborescencia de ruta mas corta
Arborescencia de ruta mas cortaArborescencia de ruta mas corta
Arborescencia de ruta mas corta
 
Presentación curriculum
Presentación curriculumPresentación curriculum
Presentación curriculum
 
Spanish M3 asuntos culturales
Spanish M3 asuntos culturalesSpanish M3 asuntos culturales
Spanish M3 asuntos culturales
 
Revista nº 166 - Enero 2013
Revista nº 166 - Enero 2013Revista nº 166 - Enero 2013
Revista nº 166 - Enero 2013
 
Base de datos en sql
Base de datos en sql  Base de datos en sql
Base de datos en sql
 
Gosmartsite.com - Presentazione
Gosmartsite.com - PresentazioneGosmartsite.com - Presentazione
Gosmartsite.com - Presentazione
 
Webs interesantes cómo crear un cv impactante
Webs interesantes cómo crear un cv impactanteWebs interesantes cómo crear un cv impactante
Webs interesantes cómo crear un cv impactante
 
Grupos mediáticos
Grupos mediáticosGrupos mediáticos
Grupos mediáticos
 
Psicofisiología de la alimentación Christian Andrade
Psicofisiología de la alimentación Christian AndradePsicofisiología de la alimentación Christian Andrade
Psicofisiología de la alimentación Christian Andrade
 
PFM - Pablo Garcia Auñon
PFM - Pablo Garcia AuñonPFM - Pablo Garcia Auñon
PFM - Pablo Garcia Auñon
 
Luis Ragno En Prospectiva lo Humano es Capital
Luis  Ragno En Prospectiva lo Humano es CapitalLuis  Ragno En Prospectiva lo Humano es Capital
Luis Ragno En Prospectiva lo Humano es Capital
 
Maleta samsonite del futuro con gps
Maleta samsonite del futuro con gpsMaleta samsonite del futuro con gps
Maleta samsonite del futuro con gps
 
Memòria 2015
Memòria 2015Memòria 2015
Memòria 2015
 
Mystery Shopping Report for UniKassel Bibliothek
Mystery Shopping Report for UniKassel BibliothekMystery Shopping Report for UniKassel Bibliothek
Mystery Shopping Report for UniKassel Bibliothek
 
Running lean jci national congress 2015
Running lean jci national congress 2015Running lean jci national congress 2015
Running lean jci national congress 2015
 

Ähnlich wie 717

Minimización de Red
Minimización de RedMinimización de Red
Minimización de RedMilenaVelarde
 
Unidad_4_Teoría_de_Redes y sus subtemas.pptx
Unidad_4_Teoría_de_Redes y sus subtemas.pptxUnidad_4_Teoría_de_Redes y sus subtemas.pptx
Unidad_4_Teoría_de_Redes y sus subtemas.pptxIvnLopez8
 
Ul rc_cap4_capa de red - encaminamiento ruteo
 Ul rc_cap4_capa de red - encaminamiento ruteo Ul rc_cap4_capa de red - encaminamiento ruteo
Ul rc_cap4_capa de red - encaminamiento ruteoc09271
 
9 ingeniería de tráfico
9 ingeniería de tráfico9 ingeniería de tráfico
9 ingeniería de tráficoElier Escobedo
 
Análisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y RAnálisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y RRafael Nogueras
 
Algoritmo de dijkstra tutorial interactivo
Algoritmo de dijkstra tutorial interactivoAlgoritmo de dijkstra tutorial interactivo
Algoritmo de dijkstra tutorial interactivohubapla
 
Tema 2 protocolos de encaminamiento en internet
Tema 2  protocolos de encaminamiento en internetTema 2  protocolos de encaminamiento en internet
Tema 2 protocolos de encaminamiento en internetAna Bianculli
 
Primera y Segunda Parte Práctica: Teoría de Redes
Primera y Segunda Parte Práctica: Teoría de Redes Primera y Segunda Parte Práctica: Teoría de Redes
Primera y Segunda Parte Práctica: Teoría de Redes Metodos Cuantitativos II
 
Algoritmos de enrutamiento
Algoritmos de enrutamientoAlgoritmos de enrutamiento
Algoritmos de enrutamientoyeiko11
 

Ähnlich wie 717 (20)

Minimización de Red
Minimización de RedMinimización de Red
Minimización de Red
 
IO 2(REDES).pdf
IO 2(REDES).pdfIO 2(REDES).pdf
IO 2(REDES).pdf
 
Unidad_4_Teoría_de_Redes y sus subtemas.pptx
Unidad_4_Teoría_de_Redes y sus subtemas.pptxUnidad_4_Teoría_de_Redes y sus subtemas.pptx
Unidad_4_Teoría_de_Redes y sus subtemas.pptx
 
Ul rc_cap4_capa de red - encaminamiento ruteo
 Ul rc_cap4_capa de red - encaminamiento ruteo Ul rc_cap4_capa de red - encaminamiento ruteo
Ul rc_cap4_capa de red - encaminamiento ruteo
 
REDES.PPT
REDES.PPTREDES.PPT
REDES.PPT
 
Generación
GeneraciónGeneración
Generación
 
Dijkstra
DijkstraDijkstra
Dijkstra
 
9 ingeniería de tráfico
9 ingeniería de tráfico9 ingeniería de tráfico
9 ingeniería de tráfico
 
Opt redes logistica2
Opt redes logistica2Opt redes logistica2
Opt redes logistica2
 
Análisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y RAnálisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y R
 
Protocolos ruteo
Protocolos ruteoProtocolos ruteo
Protocolos ruteo
 
TransCAD Modulo IV
TransCAD Modulo IVTransCAD Modulo IV
TransCAD Modulo IV
 
u3
u3u3
u3
 
Algoritmo de dijkstra tutorial interactivo
Algoritmo de dijkstra tutorial interactivoAlgoritmo de dijkstra tutorial interactivo
Algoritmo de dijkstra tutorial interactivo
 
Tema 2 protocolos de encaminamiento en internet
Tema 2  protocolos de encaminamiento en internetTema 2  protocolos de encaminamiento en internet
Tema 2 protocolos de encaminamiento en internet
 
Redes wan
Redes wanRedes wan
Redes wan
 
Primera y Segunda Parte Práctica: Teoría de Redes
Primera y Segunda Parte Práctica: Teoría de Redes Primera y Segunda Parte Práctica: Teoría de Redes
Primera y Segunda Parte Práctica: Teoría de Redes
 
Algoritmos de enrutamiento
Algoritmos de enrutamientoAlgoritmos de enrutamiento
Algoritmos de enrutamiento
 
I Ounidad2
I Ounidad2I Ounidad2
I Ounidad2
 
I Ounidad2
I Ounidad2I Ounidad2
I Ounidad2
 

Kürzlich hochgeladen

Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...GuillermoRodriguez239462
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxjhorbycoralsanchez
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdfDavidTicona31
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologicaJUDITHYEMELINHUARIPA
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfalfredoivan1
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptReYMaStERHD
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
Suelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoSuelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoluishumbertoalvarezv1
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosisauVillalva
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potableFabricioMogroMantill
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosRamiroCruzSalazar
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfssuser202b79
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5juanjoelaytegonzales2
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 

Kürzlich hochgeladen (20)

Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.ppt
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Suelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoSuelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramiento
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 

717

  • 1. 1 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Tema 2 – Algoritmos de encaminamiento Ramón Agüero Calvo ramon.agueroc@unican.es
  • 2. 2 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Contenidos  Introducción  Teoría de grafos  Algoritmos de búsqueda de camino más corto  Otros algoritmos en grafos  Del algoritmo al protocolo
  • 3. 3 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Contenidos  Introducción  Teoría de grafos  Algoritmos de búsqueda de camino más corto  Otros algoritmos en grafos  Del algoritmo al protocolo
  • 4. 4 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Introducción al encaminamiento en redes  Objetivo del encaminamiento: Guiar la información entre los nodos origen y destino  Funciones básicas  Forwarding o reenvío – un nodo (o router) determina la interfaz por la que reenviar un paquete  Routing o encaminamiento – establecimiento de la ruta (camino) más apropiada entre origen y destino, actualizando las tablas de reenvío en los nodos  Retos y características  Necesidad de mensajes de señalización  Coordinación entre los nodos que forman la red  Reacción ante fallos en la red  robustez  Adaptación a posibles cambios en las condiciones de los enlaces
  • 5. 5 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Elementos y clasificación  Métricas de rendimiento  # de saltos  Coste  Retardo  Rendimiento (throughput)  Fuentes de información  Local  Nodo contiguo (vecino)  Nodos de la ruta  Todos los nodos  Dinamismo  Estáticos  Dinámicos o adaptativos  Momento de la decisión  Paquete (modo datagrama)  Establecimiento sesión (modo circuito virtual)  Lugar de la decisión  Cada nodo  Nodo central  Nodo origen/fuente  Actualización de la información  Continuo  Periódico  Cambio en la carga  Cambio topológico
  • 6. 6 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Problemática del encaminamiento  Rutas de menor #saltos  S1  2  D  S2  2  D  Rutas con menor retardo  S1  1  4  D  S2  3  5  D  S2 no puede encaminar todo su tráfico por un único camino  S2  3  5  D [7 unidades]  S2  2  D [8 unidades]  En consecuencia, S1 no empleará la ruta de menor número de saltos  S1  1  4  D S1 y S2 quieren enviar 5 unidades a D Capacidad de los enlaces: 10 unidades S1 y S2 quieren enviar 5 y 15 unidades a D Capacidad de los enlaces: 10 unidades S1 1 3 2 4 5 D 5u@D S2 15u@D
  • 7. 7 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Tipos de encaminamiento  Broadcasting (difusión)  Envío de información a todos los nodos  Inundación [flooding]  Procedimiento sencillo  Mucha sobrecarga, por transmisiones y recepciones innecesarias  Shortest Path (camino más corto)  Una de las estrategias más empleadas  Se minimiza el número de saltos entre origen y destino  De manera genérica se podría hablar de coste  Establecimiento de alguna métrica  Encaminamiento óptimo  El camino más corto no siempre ofrece el mejor comportamiento  Optimización matemática compleja  Hot potato (Patata caliente)  Un nodo manda cada paquete por la interfaz menos cargada  Se deshace del mismo lo antes posible
  • 8. 8 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Clasificación de encaminamiento No Adaptativo Adaptativo Centralizado Distribuido Cooperación No cooperación Encaminamiento Coste (métrica) por canal fijo Coste (métrica) por canal fijo Empleado en la Internet: RIP y OSPF Hot-Potato
  • 9. 9 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Contenidos  Introducción  Teoría de grafos  Algoritmos de búsqueda de camino más corto  Otros algoritmos en grafos  Del algoritmo al protocolo
  • 10. 10 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo ¿Qué es un grafo?  Los grafos son una herramienta matemática que se emplea para formular problemas de encaminamiento  Definición de un grafo G=(N, E)  Conjunto de N nodos  Colección de E enlaces (edges) – cada enlace consta de un par de nodos de N
  • 11. 11 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Los grafos y el encaminamiento  Al trasladar un grafo a un problema de encaminamiento  Los  nodos son los routers de la red  Los  enlaces se corresponden con los enlaces físicos entre ellos
  • 12. 12 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Conceptos básicos de grafos  Tipos de grafos  Dirigidos: (u,v) ≠ (v,u)  Los enlaces son pares dirigidos de nodos  No dirigidos: (u,v) →(v,u)  No es necesario establecer un criterio de ordenación a los nodos en cada enlace  Concatenaciones de enlaces  Walk (paseo): secuencia de nodos (n1,n2,…nl) tal que cada pareja (ni‐1,ni) es un enlace del grafo  Path (camino): es un walk en el que no hay nodos repetidos  Cycle (ciclo o bucle): camino con más de un enlace y en el que n1 = nl  Grafo conectado  Se dice que un grafo está conectado si cualquier par de nodos está conectado por un camino  En algunas ocasiones puede resultar interesante/necesario asignar costes c(u,v) a los enlaces
  • 13. 13 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Representación de grafos  Lista adyacencia  Consta de un array de N listas (una por nodo de la red) con punteros a cada nodo con el que tenga un enlace  Memoria necesaria  En un grafo dirigido la suma de punteros coincide con |E|  En un grafo no dirigido será 2 |E|  Ventajas  Se pueden asignar costes a los enlaces de manera sencilla  Requiere una cantidad menor de memoria, apropiada para grafos sin muchos enlaces (sparse)  Desventajas  El proceso de búsqueda puede ser lento  Matriz de adyacencia  Matriz  de dimensión N x N  Con grafos no dirigidos, A es simétrica: AT = A  El tamaño de A es, para cualquier red, N2  Ventajas  La búsqueda es muy rápida  Si no se necesitan costes, se puede usar un sólo bit para cada elemento de la matriz  Desventajas  Suele requerir mayor memoria, se usa en grafos más pequeños  Si se requieren costes, se necesita mayor capacidad por enlace          j)(i, j)(i, aij si si 0 1
  • 14. 14 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Representación de grafos                  011000 101100 110111 011011 001101 001110  1 → 2 → 3 → 4 2 → 1 → 3 → 4 3 → 1 → 2 → 4 → 5 4 → 1 → 2 → 3 → 5 → 6 5 → 3 → 4 → 6 6 → 4 → 5  Grafo no dirigido  El número de enlaces en la lista de adyacencia es 2 |E|  La matriz de adyacencia es simétrica  Lista de adyacencia  Matriz de adyacencia
  • 15. 15 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Representación de grafos                  000000 100000 110000 011010 001100 001110  1 → 2 → 3 → 4 2 → 3 → 4 3 → 2 → 4 → 5 4 → 5 → 6 5 → 6 6  Grafo dirigido  El número de enlaces en la lista de adyacencia es |E|  La matriz de adyacencia no es simétrica  Lista de adyacencia  Matriz de adyacencia
  • 16. 16 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Contenidos  Introducción  Teoría de grafos  Algoritmos de búsqueda de camino más corto  Otros algoritmos en grafos  Del algoritmo al protocolo
  • 17. 17 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Búsqueda del camino más corto  La idea principal es la de encontrar el camino con un coste mínimo entre una fuente (S) y un destino (D)  Si c(u,v) se mantiene constante para todos los enlaces, la solución es la ruta de menor número de saltos  Algoritmos con una única fuente: encuentran el camino más corto entre S y el resto de nodos  Dijkstra  Bellman-Ford  Algoritmos para toda la red: encuentran el camino más corto entre todas las posibles parejas de nodos en la red  Floyd-Warshall  Johnson
  • 18. 18 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Coste de una ruta  Métricas aditivas: distancia, tiempo de transferencia, etc  Coste camino = c(l1) + c(l2) + c(l3)  Interesa minimizar el coste total  Métricas multiplicativas: probabilidad de no fallo, fiabilidad  Coste camino = f(l1) · f(l2) · f(l3)  Interesa maximizar el coste total  Métricas cuello de botella: capacidad  Coste camino = min { C(l1), C(l2), C(l3) }  Interesa maximizar el coste total
  • 19. 19 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Algoritmo de Dijkstra  Encuentra el camino de coste mínimo de una fuente S a todos los nodos en un grafo con costes NO NEGATIVOS  Definiciones previas  Coste camino  Coste camino mínimo      k 1i i1i u,ucpc            vu:pcmin vu,δ p si hay camino entre u y v en caso contrario
  • 20. 20 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Algoritmo de Dijkstra  Variables  Conjunto de nodos Q para los que no se ha encontrado el camino más corto  Se mantiene una lista con las distancias a cada nodo d(u)  Algoritmo  Se busca en Q el nodo cuyo camino de coste mínimo sea el menor  u se borra de Q  Si Q es el conjunto vacío (Q=), se termina el algoritmo  Para todos los nodos v de Q adyacentes a u      uS,δudu  QN    vd min ud v Q          vu,cud,vdminvd 
  • 21. 21 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Algoritmo de Dijkstra INITIALIZATION 1. d(S) = 0 2. for all v in N but S 3. d(v) = ∞ 4. Q = N MAIN LOOP 5. while Q ≠ {Ø} 6. u vertex in Q with min{d(v)} 7. delete u from Q 8. for all v in Q adjacent to u 9. if d(v) > d(u) + c(u,v) 10. d(v) = d(u) + c(u,v) 11. prev(v) = u
  • 22. 22 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Ejemplo algoritmo de Dijkstra Primera iteración Q = {1, 2, 3, 4} d = [0, 10, 5, ∞, ∞] Inicialización Q = {S, 1, 2, 3, 4} d = [0, ∞, ∞, ∞, ∞]
  • 23. 23 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Ejemplo algoritmo de Dijkstra Tercera iteración Q = {1, 3} d = [0, 8, 5, 13, 7] Segunda iteración Q = {1, 3, 4} d = [0, 8, 5, 14, 7]
  • 24. 24 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Ejemplo algoritmo de Dijkstra Cuarta iteración Q = {3} d = [0, 8, 5, 9, 7] Quinta iteración Q = {Ø} d = [0, 8, 5, 9, 7]
  • 25. 25 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Algoritmo de Bellman-Ford  Al igual que Dijkstra, encuentra el camino más corto de un nodo al resto  Puede emplearse con redes que tengan enlaces con coste negativo  Si hay un ciclo negativo en la fuente, Bellman-Ford lo detecta  En este caso el camino de coste mínimo NO puede solucionarse  Variables  Una lista con los costes de las rutas de S a cualquier nodo d(u)  Algoritmo  Se recorre el grafo N -1 veces y se aplica la ecuación de Bellman para los enlaces del grafo         vu,cud,vdminvd 
  • 26. 26 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Algoritmo de Bellman-Ford INITIALIZATION 1. d(S) = 0 2. for all v in N but S 3. d(v) = ∞ MAIN LOOP 4. for k = 1 to N-1 5. for each (u,v) in E 6. if d(v) > d(u) + c(u,v) 7. d(v) = d(u)+c(u,v) 8. prev(v) = u
  • 27. 27 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Ejemplo algoritmo de Bellman-Ford Inicialización d = [0, ∞, ∞, ∞, ∞] Primera iteración d = [0, 10, 5, ∞, ∞]
  • 28. 28 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Ejemplo algoritmo de Bellman-Ford Segunda iteración d = [0, 8, 5, 11, 7] Tercera iteración d = [0, 8, 5, 9, 7]
  • 29. 29 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Algoritmo de Floyd Warshall  Se define dk[i,j] como el coste del camino más corto entre i y j con la condición de que use únicamente los nodos 1, 2, … k‐1 como nodos intermedios  Así, dN+1[i,j] representa la distancia del camino más corto entre i y j  El algoritmo de Floyd Warshall establece iterativamente dk[i,j] para todas las parejas de nodos (i,j) para k = 1, 2, … N+1  A partir de dk[i,j], el algoritmo calcula dk+1[i,j] a partir de la siguiente propiedad         jkki k ,, dd,ji,dminji,d kk1k 
  • 30. 30 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Algoritmo de Floyd Warshall INITIALIZATION 1. for all (u,v) in NxN 2. d(u,v) = ∞ 3. pred(u,v) = NIL 4. for all nodes u in N 5. d(u,u) = 0 6. for each (u,v) in E 7. d(u,v) = c(u,v) 8. pred(u,v) = u MAIN LOOP 9. for k = 1 to N 10. for u = 1 to N 11. for v = 1 to N 12. if d(u,v) > d(u,k) + d(k,v) 13. d(u,v) = d(u,k) + d(k,v) 14. pred(u,v) = pred(k,v)
  • 31. 31 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Ejemplo algoritmo de Floyd Warshall                      092 04 10 180 0 D                  nilnil nilnilnil nilnilnil nilnil 44 3 2 11 0                    032 50124 10 1980 2 D                  nilnil nil nilnilnil nil 24 113 2 121 2                     092 50124 10 180 1 D                  nilnil nil nilnilnil nilnil 44 113 2 11 1
  • 32. 32 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Ejemplo algoritmo de Floyd Warshall                  0327 50124 6105 1980 3 D                  0327 5074 6105 1430 4 D                nil nil nil nil 243 143 123 124 4                nil nil nil nil 243 113 123 121 3
  • 33. 33 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Contenidos  Introducción  Teoría de grafos  Algoritmos de búsqueda de camino más corto  Otros algoritmos en grafos  Del algoritmo al protocolo
  • 34. 34 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo  Tree (árbol): es un grafo G, no dirigido, conectado y sin ciclos  El número de enlaces es igual al número de nodos menos 1: |E| = |N| - 1  Cualquier par de nodos están unidos por un único camino  G está conectado, pero al eliminar cualquier enlace dejaría de estarlo  G no tiene ciclos, pero al añadir un enlace cualquiera aparecería un ciclo  Un Spanning Tree cubre (se expande por) todos los nodos de un grafo Q  Entre los diferentes Spanning Tree de un grafo Q el Minimum Spanning Tree (MST) es aquel que tiene un menor coste Minimum Spanning Tree No es un árbol Sí es un árbol Sí es un árbol
  • 35. 35 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Minimum Spanning Tree  Aplicaciones: el MST cubre todos los nodos de una red  Procesos de difusión (broadcast) de información  Un mensaje para ser enviado a todos los nodos de la red  Gran uso en Redes de Área Local: bridges (IEEE 802.1D)  Se emplea para eliminar enlaces no necesarios  Algoritmos  Kruksal  Prim
  • 36. 36 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Algoritmo de Kruksal  Construye el MST incorporando paulatinamente enlaces que unan dos componentes diferentes (dos subgrafos no conectados entre sí)  Se puede ver como un proceso de búsqueda de componentes conectados en una red  Va recorriendo los enlaces (u,v) de E en orden creciente (por su coste)  Añade el enlace actual (u,v) a un subgrafo A si u y v pertenecen a árboles distintos  Siempre se añade aquel que tenga un menor coste  Variables  A: Conjunto de enlaces que forman el MST  L: lista con los enlaces de G, ordenados según su coste, en orden creciente  Al recorrer todos los enlaces A contendrá el MST de G
  • 37. 37 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Algoritmo de Kruksal INITIALIZATION 1. A = {Ø} 2. L = E 3. sort(L) MAIN LOOP 4. for all (u,v) in L (in order) 5. if u & v belong to same tree 6. discard (u,v) 7. else 8. A = A U (u,v)
  • 38. 38 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Ejemplo algoritmo de Kruksal Grafo original Iteración 1 Iteración 2 Iteración 3
  • 39. 39 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Ejemplo algoritmo de Kruksal 1 4 6 2 3 7 8 95 4 8 7 2 8 11 7 6 1 3 4 10 9 14 Iteración 4 Iteración 5 Iteración 6 Iteración 7
  • 40. 40 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Ejemplo algoritmo de Kruksal Iteración 8 Iteración 9 Iteración 10 Iteración 11
  • 41. 41 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Ejemplo algoritmo de Kruksal Iteración 12 Iteración 13 Iteración 14
  • 42. 42 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Algoritmo de Prim  Opera de manera similar al algoritmo de Dijkstra  Comienza con un nodo arbitrario (R), al que paulatinamente se añaden enlaces, hasta que se cubren todos los nodos  Variables  Conjunto de nodos Q que quedan por incorporar al MST  Se mantiene una lista con el ‘peso’ de cada nodo
  • 43. 43 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Algoritmo de Prim INITIALIZATION 1. Q = N; Randomly select R 2. k(R) = 0 3. for all v in N but R 4. k(v) = ∞ MAIN LOOP 5. while Q ≠ {Ø} 6. u vertex in Q with min{k(v)} 7. delete u from Q 8. for all v adjacent to u AND v in Q 9. if k(v) > c(u,v) 10. k(v) = c(u,v) 11. prev(v) = u
  • 44. 44 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Ejemplo algoritmo de Prim 1 4 6 2 3 7 8 95 4 8 7 2 8 11 7 6 1 3 4 10 9 14 Grafo original Iteración 1 Q = {2,3,4,5,6,7,8,9} k = {0,4,∞,∞,∞,8,∞,∞,∞} Iteración 2 Q = {3,4,5,6,7,8,9} k = {0, 4,8,∞,∞,8,∞,∞,∞} Iteración 3 Q = {4,5,6,7,8,9} k = {0, 4,8,7,2,8,∞,4,∞}
  • 45. 45 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Ejemplo algoritmo de Prim 1 4 6 2 3 7 8 95 4 8 7 2 8 11 7 6 1 3 4 10 9 14 1 4 6 2 3 7 8 95 4 8 7 2 8 11 7 6 1 3 4 10 9 14 Iteración 5 Q = {4,6,7,9} k = {0,4,8,7,2,7,3,4,10} Iteración 6 Q = {4,6,9} k = {0,4,8,7,2,1,3,4,10} Iteración 7 Q = {4,9} k = {0,4,8,7,2,1,3,4,10} Iteración 4 Q = {4,6,7,8,9} k = {0,4,8,7,2,7,6,4,∞}
  • 46. 46 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo MST: Ejemplo algoritmo de Prim Iteración 8 Q = {9} k = {0,4,8,7,2,1,3,4,9} Iteración 9 Q = {Ø} k = {0,4,8,7,2,1,3,4,9}
  • 47. 47 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Problema de máximo flujo  Se trata de maximizar el flujo que se puede “enviar” entre S y D  Cada enlace tiene una capacidad p(u,v) NO NEGATIVA  Por un enlace (u,v) se tiene un flujo f(u,v)   Conservación de flujo  Simetría    vu,pvu,f     uv,‐fvu,f        DS,vu, 0vu,f 
  • 48. 48 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Problema de máximo flujo 10,10 10,10 10,10 10 1 10 1 1 Flujo = 10 Flujo = 11 Flujo = 12 (No es obvio)
  • 49. 49 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Máximo flujo: conceptos previos  Red residual  Enlaces que pueden admitir más flujo  Capacidad residual  La capacidad que queda disponible en un enlace  Augmenting Path  Es un camino entre S y D en el grafo con capacidades residuales  La red residual puede tener enlaces nuevos  Su capacidad residual es la menor de sus enlaces      vu,f‐vu,pvu,pf 
  • 50. 50 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Máximo flujo: Algoritmo Ford-Fulkerson  El algoritmo Ford-Fulkerson resuelve el problema del máximo flujo  En cada iteración  Encuentra un augmenting path P  Incrementa el flujo entre S y D con la capacidad residual de P
  • 51. 51 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Máximo flujo: Algoritmo Ford-Fulkerson INITIALIZATION 1. for all (u,v) in E 2. f(u,v) = 0 3. f(v,u) = 0 MAIN LOOP 4. while there exists a path p from S to D in the residual network Gf 5. cf(p) = min{cf(u,v):(u,v) in p} 6. for each (u,v) in p 7. f(u,v) = f(u,v) + cf(p) 8. f(v,u) = -f(u,v)
  • 52. 52 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Ejemplo algoritmo Ford-Fulkerson P = {(S,1) (1,2) (2,3) (3,4) (4,D)} cf(P) = 4 Flujo = 4 P = {(S,1) (1,3) (3,4) (4,2) (2,D)} cf(P) = 7 Flujo = 11
  • 53. 53 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Ejemplo algoritmo Ford-Fulkerson 15 5 8 11 D 11 115 5 5 3 4 1 2 43 S 4 3 7 12 15 5 8 11 D 11 115 5 5 3 4 1 2 43 S 4 3 7 12 P = {(S,3) (3,1) (1,2) (2,D)} cf(P) = 8 Flujo = 19  = {(S,3) (3,2) (2,D)} cf(P) = 4 Flujo = 23
  • 54. 54 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Ejemplo algoritmo Ford-Fulkerson  Como ya no existe un “augmenting path” en la red residual el algoritmo se da por finalizado  La eficiencia del algoritmo depende de la manera en la que se “busca” el augmenting path en cada iteración  Podría incluso no converger Flujo = 23
  • 55. 55 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Contenidos  Introducción  Teoría de grafos  Algoritmos de búsqueda de camino más corto  Otros algoritmos en grafos  Del algoritmo al protocolo
  • 56. 56 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Encaminamiento en redes  Los nodos (routers) toman decisiones en base a cierta información  Es necesario disponer de un protocolo de señalización  Proporciona un método para transportar dicha información por la red  Protocolos de encaminamiento  Vector distancia (Distance vector, DV) – usado en la 1ª generación ARPANET  Estado del enlace (Link state, LS) – usado en la 2ª generación ARPANET  Jerarquía en la red  Escalabilidad  Autonomía administración de la red  Sistemas Autónomos (Autonomous Systems, AS)  Encaminamiento  Intra-AS: dentro de un AS  Inter-AS: entre varios AS
  • 57. 57 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Encaminamiento vector distancia  Se basa en el algoritmo de Bellman-Ford  Cada nodo de la red mantiene una tabla: una entrada por cada uno del resto de nodos  Distancia: “métrica o coste” del camino hacia dicho nodo  Interfaz de salida necesaria para alcanzarle  Periódicamente cada nodo intercambia la información de la tabla con sus vecinos  Problemas  Convergencia lenta  Propagación rápida de “buenas noticias” y lenta de las “malas”  Count-to-infinity  Protocolo RIP (Routing Information Protocol)  Definido en los RFC 1058 y 2453 (RIP Version 2)  Es un protocolo Intra-AS que, a pesar de que se sigue empleando, es obsoleto
  • 58. 58 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo DV: Count-to-infinity  El enlace XY cambia a 1  [t0] Y detecta el cambio  [t1] Z modifica su tabla  [t2] Y recibe la actualización de Z, pero no necesita hacer ningún cambio  El enlace XY cambia a 60  [t0] Y detecta el cambio, pero actualiza a 6 (cree que puede ir a través de Z)  [t1] Z modifica su tabla a 7 (6+1)  [t2] Y recibe la actualización de Z, y cambia su información a 8  …  Son necesarias 44 iteraciones DY(X) DZ(X) t0 1 5 t1 1 2 t2 1 2 DY(X) DZ(X) t0 6 5 t1 6 7 t2 8 7 t3 8 9
  • 59. 59 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Encaminamiento estado de enlace  Sustituye paulatinamente a DV a partir de 1980  Se pueden establecer cinco elementos diferenciados  Descubrimiento de vecinos: uso de paquetes HELLO  Estimación del coste con los vecinos  Por ejemplo, en base al retardo con cada uno de ellos: paquetes ECHO  Construcción de un paquete con la información correspondiente  ¿Cuándo se tiene que construir dicho paquete?  Envío del paquete al resto de nodos (routers)  Difusión [broadcast] de información: inundación  Cálculo de la ruta  Uso del algoritmo de Dijkstra – necesidad de disponer de información global
  • 60. 60 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Encaminamiento estado de enlace  Desventajas  Necesidad de información global  Envío de un número mayor de mensajes: SOBRECARGA  Un evento de “cambio” en la topología de la red se tiene que notificar a todos los nodos  Protocolo OSPF (Open Shortest Path First)  Está definido (en su segunda versión) en el RFC 2328  Es un protocolo Intra-AS
  • 61. 61 Redes de Comunicaciones – Tema 2: Algoritmos de encaminamiento Ramón Agüero Calvo Encaminamiento jerárquico  Los sistemas autónomos se comunican entre ellos a través de nodos denominados Gateway  Un AS puede tener más de un Gateway  Actualmente el encaminamiento entre AS es soportado por el protocolo BGP (Border Gateway Protocol)  Está definido (en su versión 4) en el RFC 4271  Es el protocolo de encaminamiento en el core de Internet, y es utilizado por los proveedores de servicios (ISP)  Funcionamiento básico de BGP  Se basa en un encaminamiento basado en el estado del camino (path state)  Cada Gateway obtiene la “alcanzabilidad” de los AS vecinos  Propaga dicha información a los routers de su AS  Determina las rutas “óptimas” en función de la información adquirida y de las políticas y reglas establecidas