Está en la página 1de 27

Algoritmos de Enrutamiento

Guillen Luque Rygan Kenyo

Juli Yanarico Kevin Abel

Paredes Vilca Cristian Alex

Julio 2021.

Universidad Nacional del Altiplano

Escuela Profesional de Sistemas

Fundamentos de Redes de Computadores y Comunicaciones


Dedicatoria ii

Dedicamos este trabajo a todos los estudiantes y docentes de la escuela profesional de


ingeniería de sistemas, para una mejor labor en nuestros deberes.
Agradecimientos iii

Gracias todos los que hicieron posible este trabajo y a nuestro docente por enseñarnos el
camino del conocimiento.
Resumen iv

Este trabajo presenta un resumen de los algoritmos de enrutamiento como el algoritmo de


la ruta mas corta, inundación, enrutamiento por vector de distancia y enrutamiento por estado de
enlace.
Tabla de Contenidos v

Capítulo 1 Algoritmos de Enrutamiento............................................................. 1

Titulo 1 Principio de Optimización ..................................................................... 1

Enlaces “Inútiles”.................................................................................................. 1

Ruta Óptima en Carretera ................................................................................... 1

Ruta Óptima en Telemática ................................................................................. 2

Criterios de Cálculo de la Ruta Óptima ............................................................. 5

Titulo 2 Algoritmo del Camino mas Corto ......................................................... 6

¿Qué es el Algoritmo de Rutas mas Cortas? ...................................................... 8

Titulo 3 Inundación............................................................................................... 8

Aplicaciones del Algoritmo por Inundación ....................................................... 9

Titulo 4 Enrutamiento por Vector Distancia...................................................... 8

Protocolos de Enrutamiento por Vector Distancia ............................................ 8

RIP.......................................................................................................................... 8

IGRP....................................................................................................................... 8

EIRGP ................................................................................................................... 8

El Objetivo del Algoritmo .................................................................................... 8

Titulo 5 Enrutamiento por Estado de Enlace ..................................................... 8


Bucles de Enrutamiento ....................................................................................... 8 vi

Métrica Máxima .................................................................................................... 8

Horizonte Dividido ................................................................................................ 8

Envenenamiento de Rutas .................................................................................... 8

Temporizadores .................................................................................................... 8

Bibliografía ........................................................................................................... 8
1

Capítulo 1
Algoritmos de Enrutamiento

Título 1 Principio de Optimización

• El principio de optimización fue desarrollado por Bellman en 1957.


• No es un algoritmo de enrutamiento en sí.
• Es un postulado general sobre las rutas optimas donde no importa la
topología o el tráfico de la red.

Ejemplo:

• Si Juliaca está en la ruta óptima de Azángaro a Puno, entonces el camino


óptimo de Juliaca a Puno está incluido en la ruta óptima de Azángaro a Puno.
2

• Todas las rutas óptimas para llegar a Puno desde cualquier sitio forman un
árbol sin bucles con raíz en Puno.
• El objetivo de los algoritmos de ruta es encontrar lo que llamamos
(spanning tree) árbol sumidero o árbol divergente.

Enlaces “inútiles”

• En una red puede haber enlaces que no sean ruta óptima para ninguna
comunicación entre nodos. Eso puede tener sentido para enlaces de backup.
• Aun así esos enlaces “inútiles” (de backup) normalmente tienen algo de
tráfico porque el protocolo de routing necesita enviar paquetes para saber que están
operativos (sino cuando se quieran utilizar puede ser que no funcionen).
3

Ruta Óptima en Carretera

• Para elegir la ruta óptima en un viaje por carretera podemos aplicar


diversos criterios, por ejemplo:
• La que minimice la distancia.
• La que minimice el tiempo.
• La que minimice el consumo de gasolina.
• La que minimice los peajes.
• La que minimice el cansancio (preferible autopistas, pocas curvas, pocos
cambios de carretera, etc.)
• La que tenga mayor interés turístico o paisajístico.
• Una determinada combinación de todos los anteriores.
• La ruta óptima puede variar según el criterio elegido.
4

Ruta Óptima en Telemática

• Minimizar el número de routers o “saltos”.


• Maximizar la velocidad (ancho de banda) de los enlaces.
• Minimizar el caudal, nivel de ocupación o saturación de los enlaces.
• Minimizar el retardo de los enlaces.
• Maximizar la fiabilidad de los enlaces (minimizar la tasa de errores)
• Una determinada combinación de todos los anteriores.
• Los más utilizados son el número de saltos o el ancho de banda.

Criterios de Cálculo de la Ruta Óptima

• En la práctica la ruta óptima se elige casi siempre en base al número de


saltos o a la velocidad de los enlaces.
• Cuando se usa la velocidad a cada enlace se le asigna un valor (coste)
inversamente proporcional a su velocidad.
• El coste de una ruta es la suma de los costes de sus enlaces.
• Los criterios basados en caudal, retardo o fiabilidad tienen el problema de
que la ruta puede cambiar a menudo, dando lugar a situaciones oscilantes e inestables.
Además, resultan más difíciles de medir (sobre todo el retardo y la fiabilidad)
5

Título 2 Algoritmo del Camino más Corto

El algoritmo de rutas más cortas es en uno de los módulos de análisis más


importantes de los algoritmos de grafos Este se encarga de detectar dentro de un grafo cuál
es la ruta más eficiente o el recorrido de menor distancia entre un par de vértices que
conforman un grafo. Dentro de esta categoría destaca el conocido algoritmo de Dijkstra
por sus propiedades. Aunque existen otros como: Bellman-Ford, Algoritmo Kruskal, etc.

¿Qué es el Algoritmo de Rutas más Cortas?

El algoritmo de Dijkstra, también llamado algoritmo de caminos mínimos, es un


algoritmo para la determinación del camino más corto, dado un vértice origen, hacia el
resto de los vértices en un grafo que tiene pesos en cada arista. Su nombre alude a Edsger
Dijkstra, científico de la computación de los Países Bajos que lo concibió en 1956 y lo
publicó por primera vez en 1959.

Este algoritmo se encarga de estudiar cada una de las conexiones existente entre los
vértices que conforman un grafo para determinar la ruta más corta y eficiente. Este
algoritmo orientado a estudios de estructuras de grafos se ejecuta en tiempo real y puede
ser utilizado en diferentes casos.

El algoritmo de la ruta más corta, incluye un juego de nodos conectados, donde sólo
un nodo es considerado como el nodo origen y solo un nodo es considerado como nodo
destino.

El objetivo es determinar un camino de conexiones que minimizan la distancia total


del origen al destino.

Se trata de encontrarla ruta de menor distancia, o costo, entre el punto de partida y


el nodo terminal.
6

Un grafo, es una estructura matemática que permite modelar problemas de la vida


cotidiana, mediante, una representación gráfica formada por nodos o vértices que muestra
a los actores y aristas que sirven para representar los lazos o relaciones entre los actores.

Casos de Uso del Algoritmo de Ruta más Corta

El algoritmo de rutas más cortas tiene una importancia sustancial en el proceso de


encontrar ubicaciones físicas. Podemos interactuar de forma sencilla con un módulo de este
algoritmo en Google Maps, ya que con la ayuda de este algoritmo podemos conocer las
rutas más eficientes para llegar de un sitio a otro.
7

Aplicaciones para Sistemas de información geográficos: extracción de


características curvilíneas de imágenes usando técnicas de minimización del camino: La
imagen se representa como una matriz de puntos, cada uno con una intensidad. Cada nodo
es un punto (píxel) de la imagen. El peso de las aristas es la diferencia de color.

Reconocimiento de lenguaje hablado: Se puede construir un grafo cuyos vértices


correspondan a palabras posibles y las aristas unan palabras que pueden ir colocadas al
lado de las otras. Si el peso de las aristas corresponde a la probabilidad de que estén así
colocadas, el camino más corto en el grafo será la mejor interpretación de la frase.

Enrutamiento de aviones y tráfico aéreo: Consiste en un agente de solicitudes de


viaje software para hacer un programa de vuelos para los clientes. El agente tiene acceso a
una base de datos con todos los aeropuertos y los vuelos como el número de vuelo, el
aeropuerto de origen y destino y los horarios de salida y de llegada. La aplicación se usa
para determinar la hora de llegada más temprana para el destino dado un aeropuerto de
origen y hora de inicio.
8

Tratamiento de imágenes médicas.

Llegar a desde un punto de una ciudad hasta otro por el camino más rápido
9

Una de sus aplicaciones más importantes reside en el campo de la telemática.


Gracias a él, es posible resolver grafos con muchos nodos, lo que sería muy complicado
resolver sin dicho algoritmo, encontrando así las rutas más cortas entre un origen y todos
los destinos en una red.

Entonces, hablando específicamente en el tema de redes de computadoras, se puede


apreciar el uso del algoritmo de la ruta más corta en la capa 3, capa de red, del modelo
TCP/IP, en concreto:

IP (Internet Protocol): Se encarga del enrutamiento, de buscar la ruta más corta para
llegar a su destino. Por ejemplo: Cuando me conecto a una página web de Rusia, existen
muchísimos caminos para llegar a ese servidor. Este busca el camino más rápido a través
de los routers.

Encaminamiento de paquetes por los routers: En un momento dado, un mensaje


puede tardar cierta cantidad de tiempo en atravesar cada línea (por ejemplo, por efectos de
congestión). En este caso, tenemos una red con dos nodos especiales, el de inicio y el de
llegada. Los pesos de las aristas serían los costes. El objetivo del algoritmo es encontrar un
camino entre estos dos nodos cuyo coste total sea el mínimo.
10

La ruta óptima para ahorra la distancia del cableado.

Pasos del Algoritmo de Dijkstra

• Sea V un conjunto de vértices de un grafo.


• Sea C una matriz de costos de las aristas del grafo, donde en C[u,v] se
almacena el costo de la arista entre u y v.
• Sea S un conjunto que contendrá los vértices para los cuales ya se tiene
determinado el camino mínimo.
• Sea D un arreglo unidimensional tal que D[v] es el costo del camino mínimo
del vértice origen al vértice v.
• Sea P un arreglo unidimensional tal que P[v] es el vértice predecesor de v
en el camino mínimo que se tiene construido.
11

• Sea inicial el vértice origen. Recordar que el Algoritmo Dijkstra determina


los caminos mínimos que existen partiendo de un vértice origen al resto de los vértices.

Y ahora un pequeño ejemplo para explicar como funciona este algoritmo:

Veamos un ejemplo: consideremos el siguiente grafo:

Usaremos el algoritmo de Dijkstra para encontrar el camino más rápido entre los
nodos 1 y 6. A continuación figuran los pasos del algoritmo:

Vemos que la distancia mínima entre 1 y 6 es 7. Nótese que a cada paso añadimos
los nuevos arcos teniendo en cuenta la distancia al nodo origen.
12

Título 3 Inundación

• Cada paquete entrante se reenvía por todas las líneas de salida excepto por
aquella por la que se ha recibido.
• Ventajas:
• Robustez, seguridad de llegada al destino.
• Llegada por la ruta óptima de mínimo coste.
• Desventajas:
• Duplicación de paquetes.
• Exceso de tráfico en la red.
13

• Para frenar el crecimiento exponencial de los paquetes duplicados se


puede agregar un contador de saltos.
• Se inicia a un valor de la distancia en número de saltos al nodo destino.
• Cada vez que un paquete pasa por un modo el contador es decrementado.
• Cuando el contador llega a cero, el paquete es descartado y ya no se
reenvía.
• El nodo de origen coloca un numero de secuencia en cada paquete.
• Cada nodo necesita una lista por cada nodo de la red indicando los
números de secuencia de los paquetes que ya ha recibido.
• Cuando llega un paquete el nodo lo verifica en la lista del nodo origen.
• Si el paquete ya ha sido procesado anteriormente, se descartará.
• Cada paquete añade la dirección de los nodos que ha visitado.
• Cuando un paquete es recibido el nodo verifica que su propia dirección no
este en el paquete, si esto ocurre el paquete es descartado.

Aplicaciones del Algoritmo por Inundación

• Aplicaciones militares, donde un gran número de nodos o routers son


destruidos literalmente en cualquier instante, en este caso la robustez de la inundación es
necesaria.
• Aplicaciones de bases de datos distribuidas, en algunas ocasiones es
necesario replicar actualizando todas las bases de datos concurrentemente, en cuyo caso
la inundación es muy útil.
• Aplicación de métrica para compararlo con otros algoritmos.
14

Titulo 4 Enrutamiento vector distancia

Protocolos de enrutamiento vector distancia

Los protocolos de enrutamiento dinámico ayudan al administrador de red a


superar el proceso exigente y prolongado que implica configurar y mantener rutas
estáticas.

Entre los protocolos de enrutamiento vector distancia se incluyen los RIP, IGRP y
EIGRP.

RIP

El protocolo de información de enrutamiento (RIP), se mencionó originalmente


en el RFC 1058. Sus características principales son las siguientes:

● Utiliza el conteo de saltos como métrica para la selección de rutas.


● Si el conteo de saltos de una red es mayor de 15, el RIP no puede
suministrar una ruta para esa red.
● De manera predeterminada, se envía un broadcast o multicast de las
actualizaciones de enrutamiento cada 30 segundos.

IGRP

El protocolo de enrutamiento de gateway interior (IGRP) es un protocolo


patentado desarrollado por Cisco. Las características principales de diseño del IGRP son
las siguientes:

● Se considera el ancho de banda, el retardo, la carga y la confiabilidad


15

para crear una métrica compuesta.


● De manera predeterminada, se envía un broadcast de las actualizaciones
de enrutamiento cada 90 segundos.
● El IGRP es el antecesor de EIGRP y actualmente se considera obsoleto.

EIGRP

El IGRP mejorado (EIGRP) es un protocolo de enrutamiento vector distancia


patentado por Cisco. Las características principales del EIGRP son las siguientes:

● Puede realizar un balanceo de carga con distinto costo.


● Utiliza el Algoritmo de actualización por difusión (DUAL) para calcular
la ruta más corta.
● No existen actualizaciones periódicas, como sucede con el RIP y el
IGRP. Las actualizaciones de enrutamiento sólo se envían cuando se produce un cambio
en la topología.

El significado de Vector Distancia

Como su nombre lo indica, "vector distancia" significa que las rutas se publican
como vectores de distancia y dirección. La distancia se define en términos de una métrica
como el conteo de saltos y la dirección es simplemente el router del siguiente salto o la
interfaz de salida.

Un router que utiliza un protocolo de enrutamiento vector distancia no tiene la


información de la ruta completa hasta la red de destino. En cambio, el router sólo tiene la
siguiente información:

● La dirección o la interfaz en la que se deben reenviar los paquetes.


16

● La distancia o la lejanía con respecto a la red de destino.

Por ejemplo, en la figura, R1 tiene información de que la distancia para alcanzar


la red 172.16.3.0/24 es de un salto y que la dirección sale desde la interfaz S0/0/0 hacia
R2.

Funcionamiento de los Protocolos de Enrutamiento Vector Distancia

Algunos protocolos de enrutamiento vector distancia solicitan al router que envíe


periódicamente un broadcast de toda la tabla de enrutamiento a cada uno de los vecinos.
Este método no es eficiente porque las actualizaciones no sólo consumen ancho de banda
sino también los recursos de la CPU del router para procesar las actualizaciones

Los protocolos de enrutamiento vector distancia comparten ciertas características.

Las actualizaciones periódicas se envían a intervalos regulares (30 segundos para


RIP y 90 segundos para IGRP). Incluso si la topología no ha cambiado en varios días, las
actualizaciones periódicas continúan enviándole a todos los vecinos.

Los vecinos son routers que comparten un enlace y que están configurados para
usar el mismo protocolo de enrutamiento. El router sólo conoce las direcciones de red de
sus propias interfaces y las direcciones de red remota que puede alcanzar a través de sus
vecinos. No tiene un conocimiento más amplio de la topología de la red. Los routers que
utilizan el enrutamiento vector distancia no tienen información sobre la topología de la
red.

Las actualizaciones de broadcast se envían a 255.255.255.255. Los routers


vecinos que están configurados con el mismo protocolo de enrutamiento procesarán las
actualizaciones. Todos los demás dispositivos también procesarán la actualización hasta
la Capa 3 antes de descartarla. Algunos protocolos de enrutamiento vector distancia usan
direcciones de multicast en vez de direcciones de broadcast.
17

Las actualizaciones de toda la tabla de enrutamiento se envían periódicamente a


todos los vecinos, salvo algunas excepciones que analizaremos más adelante.

Los vecinos que reciban estas actualizaciones deben procesar toda la actualización
para encontrar información pertinente y descartar el resto. Algunos protocolos de
enrutamiento vector distancia, como el EIGRP, no envían actualizaciones periódicas de la
tabla de enrutamiento.

El objetivo del algoritmo

El algoritmo se encuentra en el centro del protocolo vector distancia. El algoritmo


se utiliza para calcular los mejores caminos y después enviar dicha información a los
vecinos.

Un algoritmo es un procedimiento para realizar una determinada tarea; comienza


en un estado inicial determinado y termina en un estado final definido. Los diferentes
protocolos de enrutamiento utilizan diversos algoritmos para instalar rutas en la tabla de
enrutamiento, enviar actualizaciones a los vecinos y determinar las rutas.

El algoritmo utilizado para los protocolos de enrutamiento define los siguientes


procesos:

● El mecanismo para enviar y recibir información de enrutamiento.


● El mecanismo para calcular los mejores caminos e instalar rutas en la
tabla de enrutamiento.
● El mecanismo para detectar y reaccionar ante cambios en la topología.

En la animación, R1 y R2 están configurados con un protocolo de enrutamiento.


El algoritmo envía y recibe actualizaciones. Tanto R1 como R2 obtienen información
nueva de la actualización. En este caso, cada router obtiene información acerca de una
18

red nueva. El algoritmo de cada router realiza los cálculos de manera independiente y
actualiza la tabla de enrutamiento con la información nueva.

Cuando la LAN de R2 deja de funcionar, el algoritmo construye un triggered


update y lo envía a R1. Luego, R1 elimina la red de la tabla de enrutamiento.

Titulo 5 Enrutamiento por estado de enlace

Los protocolos de estado de enlace construyen tablas de enrutamiento basándose


en una base de datos de la topología. Esta base de datos se elabora a partir de paquetes de
estado de enlace que se pasan entre todos los routers para describir el estado de una red.
El algoritmo SPF (primero la ruta libre más corta) usa la base de datos para construir la
tabla de enrutamiento. El enrutamiento por estado de enlace, utiliza paquetes de estado de
enlace (LSP), una base de datos topología, el algoritmo SPF, el árbol SPF resultantes y
por último, una tabla de enrutamiento con las rutas y puertos de cada red.

Los protocolos de enrutamiento por estado de enlace recopilan la información


necesaria de todos los routers de la red, cada uno de los routers calcula de forma
independiente su mejor ruta hacia un destino. De esta manera se producen muy pocos
errores al tener una visión independiente de la red por cada router.

Estos protocolos prácticamente no tienen limitaciones de saltos. Cuando se


produce un fallo en la red el router que detecta el error utiliza una dirección multicast
para enviar una tabla LSA, cada router recibe y la reenvía a sus vecinos. La métrica
utilizada se basa en el coste, que surge a partir del algoritmo de Dijkstra y se basa en la
velocidad del enlace.
19

Los protocolos de estado de enlace son protocolos de enrutamiento de gateway


interior, se utilizan dentro de un mismo AS (sistema autónomo) el que puede dividirse en
sectores más pequeños como divisiones lógicas llamadas Áreas. El Área 0 es el área
principal del AS.

Los protocolos de estado de enlace son más rápidos y más escalables que los de
vector distancia, algunas razones podrían ser:

● Los protocolos de estado de enlace solo envían actualizaciones cuando hay


cambios en la topología.
● Las actualizaciones periódicas son menos frecuentes que en los protocolos
por vector de distancia.
● Las redes que ejecutan protocolos de enrutamiento por estado de enlace
pueden ser segmentadas en distintas áreas jerárquicamente organizadas, limitando así el
alcance de los cambios de rutas.
● Las redes que ejecutan protocolos de enrutamiento por estado de enlace
soporta direccionamiento sin clase.
● Las redes con protocolos de enrutamiento por estado de enlace soportan
resúmenes de ruta.

Bucles de enrutamiento

El proceso de mantener la información de enrutamiento puede generar errores si


no existe una convergencia rápida y precisa entre los routers. En los diseños de redes
complejas pueden producirse bucles o loops de enrutamiento. Los routers transmiten a
sus vecinos actualizaciones constantes, si un router A recibe de B una actualización de
una red que ha caído, este transmitirá dicha información a todos sus vecinos incluido al
router B quien primeramente le informó de la novedad, a su vez el router B volverá a
comunicar que la red se a caído al router A formándose un bucle interminable.
20

Solución a los bucles de enrutamiento

Métrica máxima:

El protocolo de enrutamiento permite la repetición del bucle de enrutamiento


hasta que la métrica exceda del valor máximo permitido. En el caso de RIP el bucle solo
estará permitido hasta que la métrica llegue a 16 saltos.

Horizonte dividido (split horizont):

Resulta sin sentido volver a enviar información acerca de una ruta a la dirección
de donde ha venido la actualización original. A menos que el Router conozca otra ruta
viable al destino no devolverá información por la interfaz donde la recibió.

Envenenamiento de rutas:

El router crea una entrada en la tabla donde guarda el estado coherente de la red
en tanto que otros routers convergen gradualmente y de forma correcta después de un
cambio en la topología. La actualización inversa es una operación complementaria del
horizonte dividido. El objetivo es asegurarse de que todos los routers del segmento hayan
recibido información acerca de la ruta envenenada

Temporizadores:

Los temporizadores hacen que los routers no apliquen ningún cambio que pudiera
afectar a las rutas durante un periodo de tiempo determinado. Si llega una actualización
con una métrica mejor a la red inaccesible, el router se actualiza y elimina el
temporizador. Si no recibe cambios óptimos dará por caída la red al transcurrir el tiempo
de espera.
21

Bibliografía

Aulaclic. (16 de Julio de 2021). YOUTUBE. Obtenido de www.youtube.com:


https://www.youtube.com/watch?v=19iCHRX5Fbs

TANENBAUM, A. S., & WETHERALL, D. J. (2012). REDES DE


COMPUTADORAS. Mexico: Pearson Ecucación.

Valencia, U. P. (16 de Julio de 2021). YOUTUBE. Obtenido de


www.youtube.com: https://www.youtube.com/watch?v=ovo24jENgl8

https://sites.google.com/site/latexnine/aplicaciones-de-dijkstra

https://www.ingenieradeideas.com/2014/04/las-aplicaciones-del-algoritmo-
de.html

http://conociendoquesolosgrafos.blogspot.com/2015/10/ejemplos-de-utilizacion-
de-grafos-en-la.html

http://blogpresentaciontrabajosaedii2017.blogspot.com/2017/10/segundo-taller-
de-investigacion.html

https://app.emaze.com/@ALZTTTLT/lab-01---aplicacion-de-
grafospptx?_escaped_fragment_=

https://aprende.olimpiada-informatica.org/algoritmia-dijkstra-bellman-ford-floyd-
warshall

https://www.codingame.com/playgrounds/7656/los-caminos-mas-cortos-con-el-
algoritmo-de-dijkstra/el-algoritmo-de-dijkstra

También podría gustarte