Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Transp. 1
ENCAMINAMIENTO EN REDES DE
CONMUTACIN DE PAQUETES
El problema del encaminamiento
Consiste en cmo establecer una ruta ptima para una instancia de comunicacin desde una fuente a un destino. La ruta elegida debe optimizar en
lo posible algn parmetro o conjunto de parmetros, como el retardo de
trnsito, el nmero de saltos, el tamao de las colas, el caudal de salida. . .
En general, las decisiones de encaminamiento son incrementales. Cada
nodo de conmutacin slo debe decidir a qu nodo adyacente debe transmitir los datos, quedando as establecida la parte correspondiente de la ruta.
Para calcular las rutas se usa un algoritmo de encaminamiento, que
dado un destino decide la lnea de salida adecuada. Es necesario adems una
estructura de informacin donde almacenar localmente los pares (destinolnea de salida) resultantes, que recibe el nombre de tabla de encaminamiento. Asmismo, los nodos deben coordinar el clculo de las rutas e informarse entre s de los cambios que se produzcan por ejemplo en la topologa de
la red, tarea que es llevada a cabo por un protocolo de encaminamiento.
Propiedades exigibles a los algoritmos de encaminamiento:
Deben ser robustos, capaces de adaptarse a los posibles cambios de topologa (fallos, bajas o altas en enlaces y nodos) sin necesidad de abortar
y reinicializar toda la red.
Deben ser estables, en el sentido de converger a un resultado de la forma
ms rpida posible.
No deben generar bucles en el encaminamiento.
Si no hay ningn motivo no deben favorecer a algunos usuarios frente a
otros.
SC: Encaminamiento
Transp. 2
SC: Encaminamiento
Transp. 3
Principio de optimizacin
Si modelamos la red como un grafo etiquetado, esto es, como
una coleccin de nodos y enlaces punto a punto y a cada enlace le
asignamos un valor que representa el coste de enviar un paquete
por dicho enlace, que ser funcin de uno o ms parmetros segn
lo que interese optimizar, el coste de una ruta se obtiene a partir
de la suma del coste de cada uno de sus enlaces.
Principio de optimizacin: Cualquier subcamino dentro de
un camino ptimo es, a su vez, ptimo.
Como consecuencia del principio de optimizacin:
El conjunto de rutas ptimas a un destino dado desde cualquier nodo forma un rbol, que puede no ser nico, cuya raz
es el nodo destino, y que se conoce como rbol sumidero
(sink tree).
Las decisiones de encaminamiento se pueden tomar localmente.
El clculo de los caminos ptimos puede llevarse a cabo de
manera distribuida.
Los algoritmos de encaminamiento intentarn obtener rutas lo
ms aproximadas a las del rbol sumidero.
A continuacin se muestra una red de ejemplo y el rbol sumidero para el nodo B, tomando como mtrica el nmero de saltos.
SC: Encaminamiento
Transp. 4
B
C
A
E
F
I
H
N
L
K
B
C
A
E
F
I
H
N
L
K
SC: Encaminamiento
Transp. 5
SC: Encaminamiento
Transp. 6
Aleatorio
En este algoritmo cada nodo elige de forma aleatoria una lnea
de salida de entre las posibles.
Si la red es rica en conexiones, el algoritmo aleatorio hace un
excelente uso de las rutas alternativas, conviertindolo en un algoritmo muy robusto, aunque en general muy poco eficiente y de
bajas prestaciones.
Flooding
Es un sencillo algoritmo de encaminamiento esttico, donde cada paquete recibido en un nodo es reenviado por todas las lneas,
excepto por la que lleg. Obviamente, si no se toman medidas
para parar la explosin de paquetes, el nmero de duplicados
crece indefinidamente. Una forma de hacerlo consiste en incluir
un contador que se decrementa en cada salto, y cuando llega a
cero, el paquete se descarta. Este contador debe inicializarse al
nmero de saltos entre fuente y destino. Si ste no fuese conocido, debe ser inicializado a la distancia mayor (en saltos) entre
cualesquiera dos nodos de la red.
Aplicaciones del Flooding:
Aplicaciones sensibles a prdidas, dada su enorme robustez,
ya que es prcticamnete imposible que un paquete no llegue
a su destino.
Aplicaciones de difusin (broadcast).
Evaluacin de otros otros algoritmos, ya que al elegir todos
los caminos, tambin elige el ms corto.
SC: Encaminamiento
Transp. 7
Hot Potato
Un sencillo algoritmo dinmico aislado es el Hot Potato, que
consiste en reenviar cada paquete hacia la lnea que posee menos
paquetes en cola, independientemente de cul sea su destino.
Una posible variacin consiste en asignar costes a las lneas de
salida, y basar la decisin en los tamaos de las colas y en los
costes.
Aprendizaje hacia atrs
Es tambin un algoritmo dinmico aislado, que consiste en que
cada nodo atravesado por un paquete aprenda de ste donde est
su nodo fuente, para cuando tenga que encaminar un paquete
hacia l. Para ello, debe incluirse en los paquetes la direccin del
nodo fuente y un contador que se incrementa en cada salto. Los
nodos irn registrando en una tabla la informacin obtenida de
los paquetes vistos, descubriendo tras cierto tiempo la ruta de
menor nmero de saltos a cada nodo.
SC: Encaminamiento
Transp. 8
Algoritmos centralizados
Cada cierto tiempo cada nodo enva a un nodo central, RCC
(Routing Control Center), la informacin de estado que ha podido recoger localmente, como una lista de nodos adyacentes,
longitudes actuales de sus colas, trfico procesado por lnea, etc.
Basado en toda la informacin, el RCC calcula la mejor ruta
para cada par de nodos, por ejemplo con un algoritmo Shortest
Path, construye las tablas de encaminamiento y las enva a los
nodos.
Ventajas:
El RCC posee una informacin muy completa, por lo que sus
decisiones son casi perfectas.
Se libera a los nodos de tener que ejecutar algoritmos de encaminamiento.
Inconvenientes:
Si el trfico y la topologa son muy cambiantes son necesarios
clculos muy frecuentes con el consiguiente exceso de carga
en la red.
Vulnerabilidad del RCC: Problemas si se cae el RCC o si
algn nodo no puede comunicarse con el RCC, por cadas en
la ruta usada para tal efecto.
Los nodos prximos al RCC pueden sufrir un peor servicio al
estar las lneas ms cargadas con trfico de control.
Los nodos prximos al RCC conocen las nuevas tablas antes
que los ms alejados, lo que puede dar lugar a inconsistencias
en el encaminamiento.
SC: Encaminamiento
Transp. 9
Vector de Distancias
Es un algoritmo de encaminamiento iterativo, asncrono y distribuido. Es distribuido porque cada nodo recibe cierta informacin de sus vecinos, recalcula las tablas de encaminamiento
y distribuye los resultados de vuelta a sus vecinos. Es iterativo
porque este proceso contina hasta que no se intercambia ms
informacin entre los vecinos (se detiene a s mismo). Y es asncrono porque no precisa que todos los nodos operen al unsono.
Estas tres caractersticas lo convierten en un algoritmo muy interesante.
La estructura de datos principal del algoritmo es la tabla de
distancias que se mantiene en cada nodo, que contiene una fila
para cada destino de la red y una columna para cada vecino
directo del nodo.
La entrada (i, j) de la tabla para un nodo X da la distancia
estimada de X a i a travs del vecino j, y se calcula como:
DX (i, j) = c(X, j) + mnw Dj(i, w)
siendo w cualquier vecino de j.
Cada cierto tiempo, cada nodo recibe de (y enva a) sus vecinos
una lista de la distancia estimada a cada nodo de la red (distancia
= si sta es desconocida). Esta lista recibe el nombre de vector
de distancias. Suponiendo que cada nodo conoce la distancia a
sus vecinos, el clculo de las tablas de encaminamiento con las
lneas de salida de la mejor ruta a cada nodo destino es inmediato.
Cabe resaltar que en el clculo de las nuevas tablas no intervienen
las tablas antiguas.
SC: Encaminamiento
Transp. 10
D
C
C D
4 6
9 3
0 3
6 0
7 5
SC: Encaminamiento
Transp. 11
Este algoritmo tiene un serio inconveniente: aunque las buenas noticias (como que un nodo que haba cado se recupera) se
extienden rpidamente, las malas noticias (como la cada de un
nodo) se propagan ms lentamente. Este hecho se conoce como el
problema de cuenta hasta infinito, ya que infinito (nodo inalcanzable) es el valor que debera hallarse en las tablas para dicho
nodo cado. Obviamente, depender del valor numrico elegido
para representar infinito, el nmero de intercambios necesarios
para alcanzar dicho valor. En el caso del nmero de saltos, debe
elegirse la longitud del camino ms largo ms uno. Ms problemtico es, por ejemplo, el caso del retardo, pues un retardo grande
hacia un nodo podra inducir a error al considerar al nodo en
cuestin cado.
A
Inf.
1
1
1
1
Inf.
Inf.
2
2
2
Inf.
Inf.
Inf.
3
3
Inf.
Inf.
Inf.
Inf.
4
Inicialmente
Tras 1 intercambio
Tras 2 intercambios
Tras 3 intercambios
Tras 4 intercambios
1
3
3
5
5
7
...
Inf.
2
2
4
4
6
6
...
Inf.
3
3
3
5
5
7
...
Inf.
4 Inicialmente
4 Tras 1 intercambio
4 Tras 2 intercambios
4 Tras 3 intercambios
6 Tras 4 intercambios
6 Tras 5 intercambios
...
Inf.
SC: Encaminamiento
Transp. 12
1
Inf.
Inf.
Inf.
Inf.
2
2
Inf.
Inf.
Inf.
3
3
3
Inf.
Inf.
4
4
4
4
Inf.
A
Inicialmente
Tras 1 intercambio
Tras 2 intercambios
Tras 3 intercambios
Tras 4 intercambios
C
Caida enlace C-D
D
Por ltimo sealar que el encaminamiento Vector de Distancias, ideado por Bellman y mejorado por Ford y Flukerson, tambin recibe el nombre de Bellman-Ford distribuido en honor
a sus inventores. Fue el algoritmo inicial de ARPANET y desde
entonces se ha utilizado en muchos protocolos, entre ellos el RIP
(Routing Information Protocol) de Internet y el BGP (Border
Gateway Protocol).
SC: Encaminamiento
Transp. 13
Estado de Enlace
Es tambin un algoritmo de encaminamiento distribuido e iterativo, cuyo funcionamiento puede resumirse en cinco partes. Cada nodo debe:
1. Descubrir a sus vecinos y aprender sus direcciones de red.
2. Medir el coste a cada vecino.
3. Construir un paquete con esa informacin.
4. Enviar ese paquete a todos los nodos de la red.
5. Calcular el camino ms corto a cada nodo.
Construccin de los paquetes de estado del enlace
Los paquetes de estado del enlace deben llevar la direccin del
emisor, un nmero de secuencia y una lista de vecinos con los
retardos estimados hasta ellos. La construccin y distribucin de
estos paquetes puede hacerse peridicamente, o cuando ocurre
algn hecho significativo, como la cada o recuperacin de una
lnea o de un nodo.
Distribucin de los paquetes de estado del enlace
Es una parte complicada del algoritmo, ya que el hecho de que
algunos nodos reciban los paquetes primero, y por tanto tambin
cambien su forma de encaminar, puede llevar a inconsistencias.
Para distribuir los paquetes de estado se puede usar el algoritmo Flooding, usando un nmero de secuencia en cada paquete
para controlar la explosin de paquetes.
SC: Encaminamiento
Transp. 14
C
5
2
2
1
D
F
2
SC: Encaminamiento
Transp. 15
Consideramos la notacin:
c(i, j): coste del enlace del nodo i al nodo j. Si los nodos i
y j no estn conectados directamente, entonces c(i, j) = .
Suponemos que c(i, j) = c(j, i), aunque el algoritmo funciona
igual aunque no sean iguales.
D(v): coste del camino menos costoso desde el nodo fuente al
destino v, en esta iteracin del algoritmo.
p(v): nodo previo (vecino a v) a lo largo del camino de coste
mnimo desde la fuente a v.
N: conjunto de nodos para los que se conoce definitivamente
el camino de coste mnimo desde la fuente.
El pseudocdigo sera de la forma:
Inicializacin:
N={A}
para cada nodo v,
si v es adyacente a A, entonces D(v) = c(A,v)
si no, D(v) = inf
Bucle (hasta que todos los nodos estn en N):
buscar w no en N tal que D(w) sea mnimo
aadir w a N
actualizar D(v) para cada v adyacente a w
que todava no est en N:
D(v) = mn(D(v),D(w)+c(w,v))
SC: Encaminamiento
Transp. 16
SC: Encaminamiento
Transp. 17
SC: Encaminamiento
Transp. 18
Encaminamiento jerrquico
Hasta ahora hemos considerado una red como un conjunto de
routers interconectados que ejecutan el mismo algoritmo para
calcular las rutas. En la prctica no es as, por dos motivos fundamentalmente:
Escala: Segn crece la red lo hace el nmero de routers y la
sobrecarga debida al clculo, almacenamiento y distribucin
de la informacin de encaminamiento se hace prohibitiva.
Autonoma administrativa: Deseo de cada compaa de administrar su red de forma autnoma, aunque pueda seguir
accediendo a y ser accesible por el exterior.
Estos problemas pueden solventarse organizando los routers en
regiones o sistemas autnomos (SA).Todos los routers dentro
de un SA ejecutan el mismo algoritmo de encaminamiento intradominio y tienen informacin unos de otros. Para conectar los SA
entre s, uno o ms routers de cada SA, conocidos como routers
frontera, tendrn que responsabilizarse del encaminamiento de
paquetes hacia fuera, utilizando un algoritmo de encaminamiento interdominio.
El problema de escala est resuelto, ya que cada router intra
SA slo necesita conocer los routers de su SA. El de autoridad
administrativa tambin, porque dentro de cada SA se puede usar
cualquier algoritmo intradominio, siempre que los routers frontera sean capaces de ejecutar algoritmos interdominio que conecten
ese SA con los dems.
SC: Encaminamiento
Transp. 19
La figura muestra una red formada por tres SA. Se destaca la ruta utilizada
para encaminar los datos de H1 a H2 , resultado de la combinacin de las rutas
obtenidas por los algoritmos de encaminamiento inter e intradominio.
B.a
C.b
SA B
A.a
c
A.c
a
SA C
H2
a
c
H1
d
b
SA A
Protocolo de encaminamiento
interSA
Protocolo de encaminamiento
intraSA
Tabla de encaminamiento
SC: Encaminamiento
Transp. 20
SC: Encaminamiento
Transp. 21
Spanning Tree
A
4
3
B
2
C
2
B
2
C
2
F
1
SC: Encaminamiento
Transp. 22
Encaminamiento multicast
Ciertas aplicaciones precisan la entrega de paquetes provenientes de uno o
ms emisores a un grupo de receptores.
En lugar de un paquete para cada destino, la fuente enva un nico paquete
a una direccin multicast, que es conocida por todos los nodos que intervienen
en la comunicacin (grupo multicast) y el algoritmo de encaminamiento debe
encargarse de que dicho paquete llegue a todos los miembros del grupo.
G1
G1
7
2
G1
G1
FUENTE
6
G2
3
G2
G3
SC: Encaminamiento
Transp. 23
SC: Encaminamiento
Transp. 24
A
4
3
B
2
C
2
G
centro
fuente
A
3
B
2
C
2
F
1
SC: Encaminamiento
Transp. 25