Este documento describe diferentes algoritmos de enrutamiento, incluyendo algoritmos estáticos y dinámicos. También cubre temas como enrutamiento jerárquico, para hosts móviles, por difusión y multitransmisión.
0 calificaciones0% encontró este documento útil (0 votos)
12 vistas18 páginas
Este documento describe diferentes algoritmos de enrutamiento, incluyendo algoritmos estáticos y dinámicos. También cubre temas como enrutamiento jerárquico, para hosts móviles, por difusión y multitransmisión.
Este documento describe diferentes algoritmos de enrutamiento, incluyendo algoritmos estáticos y dinámicos. También cubre temas como enrutamiento jerárquico, para hosts móviles, por difusión y multitransmisión.
Este documento describe diferentes algoritmos de enrutamiento, incluyendo algoritmos estáticos y dinámicos. También cubre temas como enrutamiento jerárquico, para hosts móviles, por difusión y multitransmisión.
Descargue como ODP, PDF, TXT o lea en línea desde Scribd
Descargar como odp, pdf o txt
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.