Sie sind auf Seite 1von 17
4. Algoritmos de encaminamiento  Definiciones  Propiedades  Principio de optimalidad 
4. Algoritmos de encaminamiento
4. Algoritmos de encaminamiento
4. Algoritmos de encaminamiento  Definiciones  Propiedades  Principio de optimalidad  Clasificación 

Definiciones

Propiedades

Principio de optimalidad

Clasificación

Algoritmos estáticos

Algoritmos dinámicos

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Definiciones
Definiciones

Encaminamiento

Definiciones  Encaminamiento  Función de seleccionar el conjunto de nodos y enlaces que mejor unen

Función de seleccionar el conjunto de nodos y enlaces que mejor unen a dos usuarios

Algoritmo de encaminamiento

Operaciones que se llevan a cabo en un nodo para transferir un paquete de una entrada a una salida siguiendo la función de encaminamiento, con los nodos origen y destino como parámetros

El software del nivel de red de las distintas entidades converge

Se establecen rutas

Para paquetes (datagramas)

Para circuitos virtuales

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Propiedades  Exigibles-deseables para el ALGORITMO y la FUNCIÓN  Correcto  Simple (rápido) 
Propiedades
Propiedades
Propiedades  Exigibles-deseables para el ALGORITMO y la FUNCIÓN  Correcto  Simple (rápido)  Estable

Exigibles-deseables para el ALGORITMO y la FUNCIÓN

Correcto

Simple (rápido)

Estable (debe llevar a una solución que converja en una ruta en un tiempo eficiente)

Justo (debe tratar de manera semejante a todas las fuentes por igual)

Eficiente

Optimalidad

todas las fuentes por igual)  Eficiente  Optimalidad compromiso  Retardo (mínimo)  Máximo caudal

compromiso

Retardo (mínimo)

Máximo caudal en la red

Mínimo número de saltos (elegir la ruta que pasa por menor número de routers)

(elegir la ruta que pasa por menor número de routers) compromiso Tema 1. La capa de

compromiso

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Principio de optimalidad
Principio de optimalidad
Principio de optimalidad  Si un nodo j está en la ruta óptima entre los nodos

Si un nodo j está en la ruta óptima entre los nodos i y k, la ruta óptima desde j hasta k es el segmento correspondiente de la ruta de i a k

r r 1 2 i j k r   i , , j ,
r
r
1
2
i
j
k
r
 
i
,
, j
,
k
r
 
r
,
j r
,
1
2
r
'
 Si existe
mejor que
r
de j a k, la ruta
2
2
¡más óptima! que
r
 r
1
2

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

r

1

r

2

' sería

Tema 1. La capa de red

Árbol de confluencia  Las rutas óptimas para llegar a un nodo desde los demás
Árbol de confluencia
Árbol de confluencia
Árbol de confluencia  Las rutas óptimas para llegar a un nodo desde los demás forman

Las rutas óptimas para llegar a un nodo desde los demás forman un árbol (sink-tree árbol de confluencia)

Ejemplo:

( sink-tree  árbol de confluencia)  Ejemplo: Tema 1. La capa de red Redes Rutas

Tema 1. La capa de red

Redes

Rutas óptimas basándonos en el número de saltos

Andrés Navarro Guillén

Árbol de confluencia
Árbol de confluencia
Árbol de confluencia Si la ruta óptima para ir de A a L contiene a F,
Árbol de confluencia Si la ruta óptima para ir de A a L contiene a F,

Si la ruta óptima para ir de A a L contiene a F, la ruta óptima para ir de F a L está en la de A a L

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Árbol de confluencia  Tareas del algoritmo de encaminamiento  Coger información de los costes
Árbol de confluencia
Árbol de confluencia
Árbol de confluencia  Tareas del algoritmo de encaminamiento  Coger información de los costes de

Tareas del algoritmo de encaminamiento

Coger información de los costes de A (un nodo cualquiera) a los demás nodos

Construir los árboles de confluencia

Aplicarlos para encaminar y:

Construir las tablas de rutas o

Hacer el encaminamiento en cada nodo

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Clasificación
Clasificación
Clasificación  Algoritmos estáticos o no adaptativos  Toman la decisión de encaminamiento de antemano 

Algoritmos estáticos o no adaptativos

Toman la decisión de encaminamiento de antemano

Algoritmos dinámicos o adaptativos

Toman la decisión de encaminamiento acorde con la situación de la red en un momento dado

Aspectos a tener en cuenta:

Lugar de obtención de la información (localmente, de todos los nodos, …)

Momento de actualización (cada ΔT, al cambiar la carga en la red, …)

Métrica usada para la optimalidad (distancia, número de saltos, …)

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Algoritmos estáticos  Algoritmo del camino más corto  Algoritmo de Dijkstra  Algoritmo de
Algoritmos estáticos
Algoritmos estáticos
Algoritmos estáticos  Algoritmo del camino más corto  Algoritmo de Dijkstra  Algoritmo de inundación

Algoritmo del camino más corto

Algoritmo de Dijkstra

Algoritmo de inundación

Algoritmo basado en flujo

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Algoritmo del camino más corto
Algoritmo del camino más corto
Algoritmo del camino más corto  “Corto” ≡ en términos de COSTE de cada enlace, siendo

“Corto” en términos de COSTE de cada enlace, siendo el COSTE:

Distancia geográfica

Precio del ancho de banda

Retardo

Algoritmo de Dijkstra (1959)

Red representada a través de un GRAFO

Vértices nodos, identificados con nombre único

Arcos enlaces, con su coste

A

1 2 B D 4 3
1
2
B
D
4
3

C

Objetivo Buscamos el camino “más corto” entre 2 nodos

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Algoritmo de Dijkstra Procedimiento  En cada nodo:  1 etiqueta de EVALUACIÓN:  Coste
Algoritmo de Dijkstra
Algoritmo de Dijkstra

Procedimiento

En cada nodo:

1 etiqueta de EVALUACIÓN:

Coste desde el nodo origen

Nombre del nodo desde el que se llega

2 identificadores de su evaluación:

el que se llega  2 identificadores de su evaluación:  PROVISIONAL. Aún se puede cambiar

PROVISIONAL. Aún se puede cambiar (estamos en proceso de cálculo)

PERMANENTE. Contiene la evaluación definitiva del coste y del camino

A

(1, A) 1 B 2
(1, A)
1
B 2

C

Desde el origen y nodo a nodo:

Se analizan las distancias desde el origen a los nodos contiguos

Se pasa a PERMANENTE la etiqueta más baja de las PROVISIONALES

Se continúa el análisis partiendo de la nueva etiqueta PERMANENTE

Al llegar al final, el camino se obtiene retrocediendo de etiqueta a etiqueta

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Algoritmo de Dijkstra
Algoritmo de Dijkstra
Algoritmo de Dijkstra  Cada etiqueta va representando el camino más corto para llegar del origen

Cada etiqueta va representando el camino más corto para llegar del origen al nodo etiquetado

El algoritmo proporciona una de las rutas más cortas pero podría haber otras iguales en coste

Se va seleccionando cada nodo de la red como origen y se repite el proceso anterior hasta crear la matriz de encaminamiento

Origen

Destino A B C A B C
Destino
A
B C
A
B
C

Se aplica el principio de optimalidad a cada ruta óptima encontrada para simplificar el proceso de creación de la matriz

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Algoritmo de Dijkstra  Ejemplo: ¿Ruta óptima A-D? A-D  A B E F H
Algoritmo de Dijkstra
Algoritmo de Dijkstra
Algoritmo de Dijkstra  Ejemplo: ¿Ruta óptima A-D? A-D  A B E F H D

Ejemplo: ¿Ruta óptima A-D?

A-D A B E F H D Coste 10

Ejemplo: ¿Ruta óptima A-D? A-D  A B E F H D Coste 10 (2, A)
(2, A) (9, F) (9, B) (4, B) (6, E) (6, A) (9, G)
(2, A)
(9, F)
(9, B)
(4, B)
(6, E)
(6, A)
(9, G)

(5, E)

(8, F)

(12, C)

(10, H)

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Algoritmo de inundación
Algoritmo de inundación
Algoritmo de inundación  Mecanismo (no algoritmo) para obtener la ruta “más corta” (de menor coste,

Mecanismo (no algoritmo) para obtener la ruta “más corta” (de menor coste, dada una métrica)

Procedimiento

El origen envía un paquete por todas las líneas

Cada nodo añade a los paquetes recibidos el enlace seguido y su coste, y lo envía por todos los enlaces salvo por el que llegaron

Al llegar al destino, el nodo elige el paquete de menor coste total y extrae de él la ruta

Problemas

Si hay bucles en la red repeticiones indefinidas

Solución:

Limitar en los paquetes el número de saltos

Identificar los paquetes con un número de secuencia para no transmitirlo 2 veces

Muy costoso en cuanto al ancho de banda que consume

Utilidad:

Comprobación de la calidad de la red

Redes de alta fiabilidad (militares)

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Algoritmo basado en flujo  Considera la CARGA de tráfico que circula por la red,
Algoritmo basado en flujo
Algoritmo basado en flujo
Algoritmo basado en flujo  Considera la CARGA de tráfico que circula por la red, además

Considera la CARGA de tráfico que circula por la red, además de la topología

Útil en redes corporativas (redes grandes con cargas bien conocidas) en las que el conocimiento previo de los flujos y el que estos sean constantes permite optimizar el encaminamiento en base a los flujos

Objetivo determinar la opción de encaminamiento que minimiza el retardo medio de un paquete en atravesar la red

NO proporciona una solución de encaminamiento, sino que evalúa la bondad de cada propuesta de encaminamiento

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Algoritmo basado en flujo
Algoritmo basado en flujo
Algoritmo basado en flujo  Tiempo de propagación [seg]:  t r = d  Dependiendo

Tiempo de propagación [seg]:

t r = d

Dependiendo del medio físico y la tecnología de transmisión, tiempo que tarda en desplazarse la señal (eléctrica, óptica, etc.)

/ V p

Tiempo de transmisión [seg]:

X p = L m / R b

Tiempo que tarda la información en alcanzar el destino. Depende del

tamaño de la información a transmitir

(L

de información del medio (R )

) y de la capacidad de transporte

m

b

Tiempo medio de espera en cola [seg]:

E[w]

Valor estadístico de tiempo que debe esperarse a NIVEL de RED antes de realizar la transmisión de la información sobre un enlace. Depende de la carga del enlace

A B E[w] t r L m X p Tiempo d=30 Km, Vp=c, Lm=1024 bytes,
A
B
E[w]
t r
L m
X p
Tiempo
d=30 Km, Vp=c, Lm=1024 bytes,
Rb=16 Kbps
t r = d
/ V p 

30 Km/300.000 Km/s = 0,1 mseg

X p = L m / R b 1024·8 bits/16 Kbps = 0,512 seg

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Algoritmo basado en flujo  Cálculo del retardo medio E[T]:  Definiciones:  Tasa de
Algoritmo basado en flujo
Algoritmo basado en flujo

Cálculo del retardo medio E[T]:

Definiciones:

Tasa de llegadas λ [paq/seg]

 Definiciones:  Tasa de llegadas λ [paq/seg]  Número de llegadas de paquetes a la

Número de llegadas de paquetes a la cola del enlace por unidad de tiempo (“lo que entra a la cola del enlace”)

Tasa de servicio µ [paq/seg]

Número de paquetes que se transmiten por el enlace por unidad de tiempo (“lo que sale por el enlace”)

1

X

p

Tiempo de servcio

Factor de ocupación ρ [adim]

E[T]=E[w]+1/µ

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Algoritmo basado en flujo
Algoritmo basado en flujo
Algoritmo basado en flujo  En modelos de conmutación de paquetes los enlaces son bidireccionales A

En modelos de conmutación de paquetes los enlaces son bidireccionales

A
A

R

b

B
B

R

b

A
A
 
B
B

R

b

Cola µ ≡ tasa de salida λ A ≡ tasa de entrada µ ≡ tasa
Cola
µ ≡ tasa de salida
λ A ≡ tasa de entrada
µ ≡ tasa de salida
Cola
λ A ≡ tasa de entrada µ ≡ tasa de salida Cola λ B ≡ tasa

λ B tasa de entrada

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Algoritmo basado en flujo Retardo de tránsito E[T] en un enlace  ET  1
Algoritmo basado en flujo
Algoritmo basado en flujo
Algoritmo basado en flujo Retardo de tránsito E[T] en un enlace  ET  1 

Retardo de tránsito E[T] en un enlace



ET

1  1  1     
1
1
1 
  

Retardo medio E[T] en atravesar la red Caudal γ [paq/seg]

Número de llegadas de paquetes a los nodos de la red por unidad de tiempo

γ γ k colas/enlaces Tema 1. La capa de red
γ
γ
k colas/enlaces
Tema 1. La capa de red

Redes

ET

k

1

i

1

k

 

i

i

1

1

i

 

i

1

i

i

Andrés Navarro Guillén

Algoritmo basado en flujo
Algoritmo basado en flujo

Procedimiento

Se parte de:

GRAFO:

Topología de la red

Capacidad de cada enlace

MATRIZ:

Tráfico a cursar entre cada par de nodos

Opción de encaminamiento para EVALUAR

Longitud media de los paquetes a transmitir

EVALUAR  Longitud media de los paquetes a transmitir  Se calcula el E[T] total de
 Se calcula el E[T] total de la red para distintas opciones de encaminamiento y
 Se calcula el E[T] total de la red para distintas opciones de encaminamiento y se
escoge como solución de encaminamiento aquella de menor E[T]
NOTA: En Tanenbaum
1  L
Tamaño medio de paquete (bits)
p
T
C  R
Capacidad del enlace
b
1
1
· C
T

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Algoritmo basado en flujo Ejemplo: L p  100 octetos Tema 1. La capa de
Algoritmo basado en flujo
Algoritmo basado en flujo
Algoritmo basado en flujo Ejemplo: L p  100 octetos Tema 1. La capa de red

Ejemplo:

Algoritmo basado en flujo Ejemplo: L p  100 octetos Tema 1. La capa de red

L

p

100

octetos

Tema 1. La capa de red

Redes

Algoritmo basado en flujo Ejemplo: L p  100 octetos Tema 1. La capa de red

Andrés Navarro Guillén

Algoritmos dinámicos
Algoritmos dinámicos
Algoritmos dinámicos  Encaminamiento por vector distancia  Encaminamiento por vector de trayectos 

Encaminamiento por vector distancia

Encaminamiento por vector de trayectos

Encaminamiento basado en estado de enlaces

Encaminamiento jerárquico

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Encaminamiento por vector distancia  Distribuido (todos los routers participan en el algoritmo)  Se
Encaminamiento por vector distancia
Encaminamiento por vector distancia
Encaminamiento por vector distancia  Distribuido (todos los routers participan en el algoritmo)  Se empleó

Distribuido (todos los routers participan en el algoritmo)

Se empleó en ARPANET e Internet (RIP, Routing Information Protocol – 1970, Xerox)

Conocido también como algoritmos de:

Bellman-Ford

Ford-Fulkerson

Procedimiento

En cada router se construye y se mantiene una TABLA (Vector) con:

1 entrada por cada router en la red

2 campos en cada entrada:

Línea de salida a usar para llegar al router

Distancia estimada hasta ese router

Métricas utilizables:

Número de saltos

Retardo

Número de paquetes en la cola

Etc.

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Encaminamiento por vector distancia
Encaminamiento por vector distancia
Encaminamiento por vector distancia  Se asume que cada router conoce perfectamente la distancia a sus

Se asume que cada router conoce perfectamente la distancia a sus vecinos

Ejemplo:

Número de saltos 1

Retardo medido con E[T]

Etc.

Periódicamente cada router envía a sus vecinos su versión de la TABLA (con los valores de distancia óptima a todos los nodos)

Construye una nueva TABLA combinando:

Distancias a los vecinos

Distancias óptimas de los vecinos al resto

Elige a través de qué vecino se obtiene la distancia más corta para llegar a cada router (como la suma de distancias)

Inicialmente se dan como ∞ las distancias desconocidas

El proceso converge a la solución óptima

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Encaminamiento por vector distancia Ejemplo: Tema 1. La capa de red Redes Andrés Navarro Guillén
Encaminamiento por vector distancia
Encaminamiento por vector distancia

Ejemplo:

Encaminamiento por vector distancia Ejemplo: Tema 1. La capa de red Redes Andrés Navarro Guillén

Tema 1. La capa de red

Redes

Andrés Navarro Guillén
Andrés Navarro Guillén
Encaminamiento por vector distancia
Encaminamiento por vector distancia

Problema: La cuenta hasta ∞

por vector distancia  Problema: La cuenta hasta ∞  La propagación de noticias es muy

La propagación de noticias es muy asimétrica:

Buenas noticias se propagan rápido

Malas noticias se propagan lento

Solución: Corte por horizonte partido (Split Horizon Hack)

Difunde coste infinito por la línea para la que tiene asociada la distancia

Difunde el coste real por las demás líneas

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Encaminamiento por vector de trayectos  Sustituye el NODO anterior al actual (siguiendo origen 
Encaminamiento por vector de trayectos
Encaminamiento por vector de trayectos
Encaminamiento por vector de trayectos  Sustituye el NODO anterior al actual (siguiendo origen  destino)

Sustituye el NODO anterior al actual (siguiendo origen destino) por el CAMINO COMPLETO hasta llegar al nodo actual en las entradas de la tabla de rutas del encaminamiento por vector distancia

Ejemplo: BGP (Border Gateway Protocol)

 Se emplea en la interconexión de Internet R 1 R 3 BGP R 2
 Se emplea en la interconexión de Internet
R
1
R
3
BGP
R
2

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Encaminamiento basado en estado de enlaces
Encaminamiento basado en estado de enlaces
Encaminamiento basado en estado de enlaces  También es distribuido  Sustituye al de vector distancia

También es distribuido

Sustituye al de vector distancia en ARPANET (1979)

Problemas:

Tiempo de convergencia

No consideraba en el cálculo el ancho de banda de los enlaces (sólo el retardo, medido desde la cola)

Procedimiento Cada router debe:

1. Descubrir a sus VECINOS y aprender sus direcciones

Al arrancar se envían paquetes HOLA por cada enlace de salida

Se responde a los HOLA’s recibidos identificándose

2. Medir el retardo (coste a cada vecino)

Se envían paquetes ECO y se promedia el tiempo entre el envío y la respuesta

Para medir el retardo:

Puede usarse el tamaño de la cola, la capacidad del enlace, etc.

Problema: genera posibles oscilaciones

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Encaminamiento basado en estado de enlaces 3. Construir el paquete de estado de los enlaces
Encaminamiento basado en estado de enlaces
Encaminamiento basado en estado de enlaces
Encaminamiento basado en estado de enlaces 3. Construir el paquete de estado de los enlaces 

3. Construir el paquete de estado de los enlaces

Contenido:

Nodo de origen

Número de secuencia

Edad

Entradas por cada nodo vecino con la distancia

A Nº Sec Edad B 7 C 2 E 4
A
Nº Sec
Edad
B
7
C
2
E
4

4. Distribuir el paquete a todos los nodos (a través de inundación)

Problema: fiabilidad todos intercambian la misma información a la vez, o no funciona

Solución: inundación controlada

Número de secuencia: se conserva el paquete con número más alto en cada nodo (información más reciente)

Edad: los paquetes “envejecen” por:

Saltos dados en la red

Tiempo de espera en las colas

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Encaminamiento basado en estado de enlaces
Encaminamiento basado en estado de enlaces
Encaminamiento basado en estado de enlaces 5. Con la información recibida de otros nodos determinamos: 

5. Con la información recibida de otros nodos determinamos:

Grafo de la red (por ejemplo, aplicando un algoritmo estático que emplee información de la topología y el coste: Dijkstra)

Nuevas rutas óptimas aplicando algoritmo de camino más corto

6. Se repite el proceso periódicamente

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Encaminamiento basado en estado de enlaces Ejemplo Tema 1. La capa de red Redes Andrés
Encaminamiento basado en estado de enlaces
Encaminamiento basado en estado de enlaces
Encaminamiento basado en estado de enlaces Ejemplo Tema 1. La capa de red Redes Andrés Navarro
Ejemplo
Ejemplo

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Encaminamiento jerárquico
Encaminamiento jerárquico
Encaminamiento jerárquico  Con muchos NODOS en la red  tablas de rutas enormes  tiempos

Con muchos NODOS en la red tablas de rutas enormes tiempos de proceso grandes solución inviable

Solución: aplicar al encaminamiento el modelo de jerarquías del sistema telefónico

Terminología:

Región: agrupa un conjunto de NODOS y cada uno de ellos sabe cómo encaminar paquetes a estos destinos, pero no los detalles de cómo lo hacen otras regiones

Clúster: agrupa regiones

Zona: agrupa clústeres

Grupo: agrupa zonas

Tablas de rutas:

Una entrada por cada nodo de MI REGIÓN

Una entrada por REGIÓN de MI CLÚSTER

Una entrada por CLÚSTER de MI ZONA

Una entrada por ZONA de MI GRUPO

Entradas pareja (línea de salida; métrica)

Ejemplo: métrica retardo T = tn + tr + tc + tz + …

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Tema 1. La capa de red

Encaminamiento jerárquico  Dimensionamiento:  Dados N nodos, determinar el número L óptimo de niveles
Encaminamiento jerárquico
Encaminamiento jerárquico

Dimensionamiento:

Encaminamiento jerárquico  Dimensionamiento:  Dados N nodos, determinar el número L óptimo de niveles 

Dados N nodos, determinar el número L óptimo de niveles

Fórmulas de Kamoun-Kleinrock:

Número de niveles óptimo

L lnN

Número de entradas en tablas de rutas

Criterios reales

T e·lnN

Geográficos, políticos, topológicos (ejemplo, Islas Canarias)

Tema 1. La capa de red

Redes

Andrés Navarro Guillén

Encaminamiento jerárquico
Encaminamiento jerárquico
Encaminamiento jerárquico Ejemplo: Tema 1. La capa de red Redes Andrés Navarro Guillén

Ejemplo:

Encaminamiento jerárquico Ejemplo: Tema 1. La capa de red Redes Andrés Navarro Guillén

Tema 1. La capa de red

Redes

Encaminamiento jerárquico Ejemplo: Tema 1. La capa de red Redes Andrés Navarro Guillén

Andrés Navarro Guillén

Tema 1. La capa de red