Está en la página 1de 18

Algoritmos

de enrutamiento
Algoritmos
de enrutamiento
La función principal de la capa de red es la de
enrutar paquetes de la máquina de origen a la
máquina destino.

En la mayoría de las subredes los paquetes


requerirán varias escalas para completar el viaje.

El algoritmo de enrutamiento es aquella parte del


software encargada de decidir la línea de salida
por la que se transmitirá un paquete de entrada.
Algoritmos de enrutamiento

El algoritmo de enrutamiento debe ser capaz de


manejar los cambios de topología y tráfico sin
requerir el aborto de todas las actividades en
todos los hosts y el rearranque de la red con
cada caida de un enrutador.

Muchas redes intentan minimizar el número de


escalas que tiene que hacer un paquete, puesto
que la reducción de la cantidad de escalas tiende
a reducir el retardo y también el consumo de
ancho de banda, lo que tiende a mejorar el
rendimiento.
algoritmos de enrutamiento
(estáticos) y (dinámicos).
Los algoritmos no adaptables basan sus decisiones de
enrutamiento en La decisión de que ruta se usará para
llegar de I a J (para todas las I y J) se calcula por
adelantado fuera de línea, y se carga en los enrutadores
al iniciar la red. Este procedimiento se llama
enrutamiento estático.

Los algoritmos adaptables, en contraste, cambian


sus decisiones de enrutamiento para reflejar los
cambios de topología, y generalmente también el
tráfico.

Estos difieren en el lugar de obtención de su


información (por ejemplo, localmente, de los
enrutadores adyacentes o de todos los
enrutadores), el momento de cambio de sus rutas
(por ejemplo, cada variación de tiempo, cuando
cambia la carga o cuando cambia la topología).
Principio de optimación
Principio de optimación

Es posible hacer un postulado general sobre las


rutas óptimas sin importar la topología o el tráfico
de la red, llamado principio de óptimación y
establece que si el enrutador J está en la
trayectoria
Óptima del enrutador I al enrutador K, entonces la
trayectoria óptima de J a K también esta en la
misma ruta.
Enrutamiento estático
Enrutamiento por la
trayectoria más corta
Es una técnica de amplio uso sencilla y fácil de
entender. La idea es armar un grafo de la subred, en el
que cada nodo representa un enrutador y cada arco del
grafo una línea de comunicación (llamada con
frecuencia enlace). Para escoger una ruta entre un par
dado de enrutadores el algoritmo simplemente
encuentra en el grafo la trayectoria más corta entre
ellos.
Enrutamiento estático
(camino más corto)
Algoritmo estático
(de inundación)
En este algoritmo cada paquete de entrada se
envía por cada una de las líneas de salida, excepto
aquella por la que llegó.

Evidentemente se generan grandes cantidades de


paquetes duplicados; de hecho una cantidad
infinita a menos que se tomen medidas para
limitar el proceso. Una de estas medidas puede ser
un contador de escalas contenido en la cabecera
de cada paquete.

Idealmente el contador debe inicializarse a la


longitud de la trayectoria entre el origen y el
destino. Si el transmisor no conoce el tamaño de la
trayectoria, puede inicializarse el contador al peor
caso, es decir, el diámetro total de la subred.
Algoritmo estático
(basado en flujo)
Los algoritmos estudiados hasta ahora sólo toman
en cuenta la topología; no consideran la carga. Si
por ejemplo, siempre hay una gran cantidad de
tráfico entre A y B en la figura anterior.

Entonces podría ser mejor enrutar el tráfico de A a


C a través de AGEFC, aun cuando esta trayectoria
es mucho más larga que ABC. El algoritmo estático
toma en cuenta la topología como la carga para el
enrutamiento.
Algoritmo dinámico
(por vector de distancia)
Las computadoras modernas generalmente usan
algoritmos de enrutamiento dinámico en lugar de
los estáticos antes descritos. En particular, dos
algoritmos dinámicos, el enrutamiento por vector
de distancia y el enrutamiento por estado de
enlace son los más comunes.

En éste algoritmo cada enrutador mantiene una


tabla de enrutamiento indizada por, y conteniendo
un registro de, cada enrutador de la subred.

Esta entrada comprende dos partes; la línea


preferida de salida hacia ese destino y una
estimación del tiempo o distancia a ese destino. La
métrica usada podría ser la cantidad de escalas, el
retardo de tiempo en mlsg, el número total de
paquetes encolados por ese destino.
Algoritmo dinámico
(por vector de distancia)
Problema de conteo a infinito

El enrutamiento por vector a distancia funciona en


teoría, pero tiene un problema serio en la práctica;
aunque converge en la respuesta correcta, puede
hacerlo lentamente. En particular, reacciona con
rapidez a las buenas noticias, pero con lentitud
ante las malas.
Algoritmo dinámico
(por estado de enlace)
Este surgió como mejora del algoritmo de
enrutamiento por vector de distancia. Hoy en día se
usan ampliamente variantes del enrutamiento por
estado de enlace.
Este enrutamiento se basa en cinco funciones:

Descubrir a sus vecinos y conocer sus direcciones de


red.

Medir el retardo o costo para cada uno de sus vecinos.

Construir un paquete que indique todo lo que acaba de


aprender.

Enviar este paquete a todos los demás enrutadores.

Calcular la trayectoria más corta


Enrutamiento
(jerárquico)
A medida que crecen en tamaño las redes, crecen
proporcionalmente las tablas de enrutamiento del
enrutador.

Las tablas que siempre crecen no sólo consumen


memoria del enrutador, si no que también se
necesita más tiempo de procesamiento para
examinarlas y más ancho de banda para enviar
informes de estado entre enrutadores.

Llegará un punto en el que la red pueda crecer y ya


no ser factible que cada enrutador tenga una
entrada para cada uno de los demás enrutadores,
por lo que el enrutamiento tendrá que hacerse
jerárquicamente, como ocurre en la red telefónica.
Enrutamiento
(para hosts móviles)

Hoy en día, millones de personas tienen


computadoras portátiles, y generalmente
quieren leer su correo electrónico y
acceder a sus sistemas de archivo
normales desde cualquier lugar del mundo.

Estos hosts móviles generan una nueva


complicación: para enrutar un paqueta a
un hosts móvil, la red primero tiene que
encontrarlo. Este tema de incorporación de
hosts móvil en una red es muy nuevo.
Enrutamiento
(por difusión)

En algunas aplicaciones, los hosts


necesitan enviar mensajes a varios otros
hosts o a todos los demás. Por ejemplo, el
servidor de distribución de informes
ambientales, los programas de radio en
vivo, podrían funcionar mejor
difundiendolos a todas las máquinas y
dejando que aquellas interesadas lean los
datos.
Enrutamiento
(por difusión)
Un método es que el origen simplemente envíe copias
del paquete a todos los destinos. Este método no sólo
desperdicia ancho de banda, si no que también requiere
que el origen tenga una lista completa de todos los
destinos.
La inundación es otro candidato obvio. Aunque la
inundación es poco adecuada para la comunicación punto a
punto ordinaria, para difusión puede merecer
consideración seria

Un tercer algoritmo es el enrutamiento multidestino. Con


este método cada paquete contiene una lista de destinos o
un mapa de bits que indica los destinos deseados. Al llegar
un paquete al enrutador, este revisa todos los destinos
para determinar el grupo de líneas de salida que
necesitará.
Enrutamiento
(por multitransmisión)

En algunas aplicaciones, procesos muy separados


trabajan juntos en grupos: por ejemplo, un grupo
de procesos que implementa una base de datos
distribuida. Con frecuencia es necesario que un
proceso envíe un mensaje a todos los demás
miembros del grupo.

Lo que le concierne al algoritmo es que, cuando un


proceso se una a un grupo, informe a sus host del
hecho. Los hosts deben informar a sus enrutadores
de los cambios en los miembros del grupo. De
cualquier manera los enrutadores aprenden qué los
hosts pertenecen a cuáles grupos.

También podría gustarte