1. UNIVERSIDAD AUTÓNOMA DE COLOMBIA
TRABAJO DE GRADO:
DISEÑO DE UNA INTERFAZ GRÁFICA PARA EL ANÁLISIS DE
ALGORITMOS DE ENRUTAMIENTO UTLIZANDO EL PROTOCOLO
RIP v2, POR MEDIO DE LA PLATAFORMA JAVA.
ALGORITMOS DE ENRUTAMIENTO
2. ALGORITMOSDEENRUTAMIENTO
La función principal de la capa de red es enrutar paquetes de un punto a otro
(de un equipo a otro), y esta utiliza algoritmos que eligen las rutas por donde
transitan los diferentes paquetes, así como las estructuras de datos que usan
estos, estos anteriores se conocen como algoritmos de enrutamiento.
Una definición sencilla de los algoritmos de enrutamiento es que son los
encargados de decidir la línea de salida y camino por la que se transmitirá un
paquete de información determinado en la capa de red. Estos algoritmos
utilizan tablas en donde se encuentra la información de sus vecinos (otros
equipos o puntos de la red) pesos de los caminos y otros datos de importancia
para la red.
El enrutamiento esel proceso que consiste en tomar la decisión de cualesrutas
utilizar para dirigir un paquete de información. Se puede considerar entonces
que un enrutador realiza dos procesos internos. Uno de ellos maneja cada
paquete conforme llega, buscando en las tablas de enrutamiento la línea de
salida por la cual se enviará. Este proceso se conoce como reenvío. El otro
proceso es responsable de llenar y actualizar las tablas de enrutamiento, es allí
donde entra en acción el algoritmo de enrutamiento.
A continuación estudiaremos brevemente algunos algoritmos de enrutamiento
y sus formas básicas de funcionamiento. Los anteriores son:
Enrutamiento por la ruta más corta.
Inundación.
Enrutamiento por vector de distancia.
Enrutamiento por estado del enlace.
Enrutamiento jerárquico.
Enrutamiento por difusión.
Enrutamiento por multidifusión.
Enrutamiento para hosts móviles.
Enrutamiento en redes ad hoc.
Búsqueda en nodos de redes de igual a igual.
7.1.1 Enrutamiento por la ruta más corta.
Esta forma de enrutamiento consiste en 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 (con frecuencia llamada enlace). Para elegir una ruta entre un
par dado de enrutadores, el algoritmo simplemente encuentra en el grafo la
ruta más corta entre ellos.
Ej. Algoritmo de Dijkstra.
3. 7.1.2 Inundación.
Este es un algoritmo de tipo estático el cual consiste en que cada paquete de
entrada se envía por cada una de las líneas de salida, excepto aquella por la que
llegó (en forma de difusión (hacia todas las direcciones posibles desde un
nodo)).
Existe una variación de la inundación, llamada inundación selectiva, que
consiste en un algoritmo en el que los enrutadores no envían cada paquete de
entrada por todas las líneas, sino solo por aquellas que van aproximadamente
en la dirección correcta.
7.1.3 Enrutamiento por vector de distancia.
Este tipo de algoritmo de enrutamiento es dinámico, el cual opera haciendo
que cada enrutador mantenga una tabla (es decir, un vector) que da la mejor
distancia conocida a cada destino y la línea que se puede usar para llegar ahí.
Estas tablas se actualizan intercambiando información con los vecinos. 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.
7.1.4 Enrutamiento por estado del enlace.
Este tipo de enrutamiento es dinámico y es una evolución del enrutamiento por
vector de distancia puesto que el anterior tiene un bajo rendimiento y falencias
respecto a los retardos, ancho de banda entre otros, dado lo anterior se
modelo un algoritmo en donde los enrutadores deberían cumplir cinco
características específicas, estas son:
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 ruta más corta a todos los demás enrutadores.
4. CARACTERISTICASDELOS
ALGORITMOSDEENRUTAMIENTO
Un algoritmo de enrutamiento debe tener en cuenta HO cinco características
generales, debe ser óptimo, sencillo, robusto, de rápida convergencia y flexible.
Óptimo. Hace referencia a la habilidad del algoritmo de seleccionar la mejor
ruta, donde la mejor ruta depende de la métrica que se use para calcularla.
Cada protocolo define y sigue en forma estricta su algoritmo y su métrica
para cálculos de rutas.
Sencillez. Los algoritmos de enrutamiento debe ser definidos de la forma
mas sencilla posible, esta sencillez es realmente importante cuando éste se
desarrolla en software. El software debe ser eficiente y funcional, también
es necesario tener en cuenta que el tiempo de procesamiento en cada nodo
debe ser lo mas corto posible.
Robusto. Los algoritmos deben estar diseñados para solucionar problemas
imprevistos, especialmente cambiostopológicospor daño en losenlaces. Es
necesario que trabajen de forma apropiada frente a sobrecargas en la red,
así como de forma estable y adaptarse dinámica a las condiciones de la red.
Rápida convergencia. La convergencia en un algoritmo se dicta por la
rapidez con la cual los enrutadores (router) establecen sus rutas y de una
manera estable. Ante los cambios o problemas en la red, el algoritmo debe
percatarse rápidamente y reaccionar con agilidad. Si el algoritmo posee una
convergencia lenta generalmente produce loops y caídas de la red.
Flexibles. Losalgoritmo se deben acomodar de una forma rápida y eficiente
a una gran variedad de eventos en la red, como:
o Ancho de banda del canal.
o Tamaño de las colas del enrutador.
o Retardos en la red.
Los algoritmos de enrutamiento pueden agruparse básicamente en dos clases
principales: no adaptivos y adaptivos.
GRÁFICA 1. CATEGORIAS DE LOS ALGORITMOS DE ENRUTAMIENTO
5. No adaptivos: Estosalgoritmosno basan susdecisionesde enrutamiento en
mediciones o estimaciones del tráfico y la topología actual, su decisión
acerca de que ruta usar para llegar de un punto a otro, se toma por
adelantado, fuera de línea, y se carga en los enrutadores al arrancar la red.
Este procedimiento se conoce como enrutamiento estático.
Adaptivos: Estos algoritmos a diferencia de los anteriores cambian sus
decisiones de enrutamiento para reflejar los cambios de topología, tráfico,
entre otros cambios de la red.
Sin embargo, la clasificación de los algoritmos de enrutamiento puede hacerse
de la siguiente manera:
Dinámicos Estáticos
Single Path Multi Path
Planos Jerárquicos.
Inter-dominio Intra-dominio
De estado de Enlace De vector distancia.
A continuación se dan unas tablas en donde se muestran las características de
los diferentes algoritmos de enrutamiento.
Algoritmos Estáticos Algoritmos Dinámicos
Las tablas de enrutamiento son
establecidas por el administrador de la
red.
Estas solo se modifican por el
administrador de la red y no se adaptan a
cambios dinámicos en la red.
Es muy simple de diseñar e implementar
Aplicada en redes pequeñas, de diseño
simple y con alto tráfico.
Los sistemas estáticos no operan bien en
un ambiente de rápido crecimiento o
cambios rápidos.
Las tablas de enrutamiento no responden
completamente en caso de fallas, ya que
los enrutadores de respaldo usan los
recursos del dispositivo o de red con
problemas.
Un cambio físico de la topología hace que
todos los enrutadores de la red deban ser
modificados manualmente.
Los errores de configuración en las tablas
estáticas puede que no sean fáciles de
encontrar o arreglar.
Estos se adaptan en forma
dinámica y en tiempo real a las
distintas circunstancias de la red.
Utilizan información de
actualización de recibidos.
El software de enrutamiento
recalcula rutas y envía mensajes
de actualización.
Los enrutadores se comunican
entre si e intercambian
información de enrutamiento.
Sus esquemas incorporan un
nuevo cambio de la red por medio
de adición o retiro de las entradas
en sus tablas de enrutamiento.
Estos algoritmos responden
automáticamente a la congestión
de la red o cambios de la topología
física.
Existen dos tipos de algoritmos de
enrutamiento dinámicos que
calculan el camino al más corto
nodo destino. Uno esta basado en
el concepto de vector distancia
Distance Vector , el otro esta
basado en el estado del enlace
Link State .
6. Todos los algoritmos usan métricas
para escoger el mejor camino a su
destino. De acuerdo a cual de
estos caminos posea la métrica
mas baja, para lo cual se usa:
Número de saltos.
Retardo en la transmisión.
La capacidad de la línea.
Tabla 1. Algoritmo Estático vs. Dinámico
Algoritmos Single Path Algoritmos Multi- Path
Solo definen una ruta para comunicar un
nodo origen con un nodo destino.
Soportan múltiples rutas entre un
nodo fuente y un nodo destino.
Permiten distribuir y balancear el
tráfico entre las múltiples líneas.
Proveen a la red con
características de mejor
desempeño y mayor disponibilidad
Tabla 2. Algoritmo Single-Path vs. Multi-Path
Algoritmos Planos Algoritmos Jerárquicos
Estos algoritmos estructuran a la red en
forma plana.
Todos los nodos o enrutadores están en el
mismo nivel de jerarquía.
Todos intercambian información de
enrutamiento.
Se establecen grupos jerárquicos
alrededor del Backbone.
Designan grupos lógicos llamados
dominios, sistemas autónomos o
áreas.
Algunos enrutadores pueden
comunicarse entre dominios y
otros solo en su dominio.
Se adapta a la estructura de la
empresa.
Tabla 3. Algoritmo Plano vs. Jerárquico
Algoritmos Intra-dominio Algoritmos Inter-dominio
Solo trabajan dentro de cada dominio. Están diseñados para conectar
dominios.
Tabla 4. Algoritmo Intra-dominio vs. Inter-dominio
7. Algoritmos de Estado de Enlace Algoritmos de Vector Distancia
Cada enrutador envía a todoslos nodos en
la red información del estado de enlace
con sus vecinos.
Los mensajes de actualización son
pequeños pero se replican por toda la red.
Requieren más maquina.
Tienen mejor convergencia.
En este tipo de algoritmo el enrutador
debe conocer la topología total de la red
para calcular el camino mas corto a cada
una de las redes de destino.
Cada enrutador hace un Broadcast a cada
uno de los otros enrutadores de la red.
Estos mensajes contienen el estado de
cada uno de los enlaces directamente
conectados a cada puerto.
Las rutas son consistentes, porque cada
nodo esta usando exactamente el mismo
algoritmo de enrutamiento y la misma
base de datos. Cada nodo tiene la
información necesaria para calcular la ruta
con el costo mínimo.
Usa excesiva cantidad de memoria y
sobrecarga de comunicaciones es
requerida para que redes grandes puedan
trabajar. Ya que cada enrutador debe
mantener una base de datos conteniendo
el total de la topología de la red.
Este algoritmo requiere una gran cantidad
de tiempo de CPU.
Cada enrutador mantiene una vista
consciente de la red eliminando el
problema de los ciclos y convergencia
lenta.
Enrutadores con información errónea son
fáciles de detectar, porque cada uno
mantiene una base de datos idéntica.
Para redes muy grandes este sistema
permite crear sistemas autónomos y el
estado de la red es calculado solo para el
sistema local.
Cada enrutador envía toda su tabla de
enrutamiento (incluye a sus vecinos y a
todos los nodos de la red que conozca)
Los mensajes de actualización son de gran
tamaño pero solo los envía a sus vecinos.
Requiere menos máquina.
Son un poco más lentos.
Un problema es el de la transmisión de
malas noticias por la red tales como la
ruptura de un enlace o la desaparición de
un nodo. Este algoritmo converge
lentamente en estos casos. Aunque el
principal inconveniente de este algoritmo
es el de la cuenta a infinito.
El problema masfrecuente en este tipo de
algoritmo es la cuenta a infinito, donde se
hace que los costes o distancias se
incrementen indefinidamente sin que el
algoritmo llegue a converger nunca.
Tabla 5. Algoritmo Estado de Enlace vs. Vector distancia
8. This document was created with Win2PDF available at http://www.win2pdf.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
This page will not be added after purchasing Win2PDF.