Encaminamiento

Revisión del 19:33 10 ago 2016 de Venezuela1 jc (discusión | contribuciones) (Adaptativos o dinámicos)
Encaminamiento ó Ruteo
Información sobre la plantilla
OpenStreetMap routing service.png
Cálculo de ruta óptima para vehículos entre un punto de origen y un punto de destino a partir de cartografía del proyecto OpenStreetMap.

El encaminamiento, enrutamiento o ruteo es la función de buscar un camino entre todos los posibles en una red de paquetes cuyas topologías poseen una gran conectividad. Dado que se trata de encontrar la mejor ruta posible, lo primero será definir qué se entiende por "mejor ruta" y en consecuencia cuál es la "métrica" que se debe utilizar para medirla.

Parámetros

Métrica de la red

Puede ser, por ejemplo, el número de saltos necesarios para ir de un punto a otro. Aunque ésta no es una métrica óptima ya que supone “1” para todos los enlaces, es sencilla y suele ofrecer buenos resultados.

Otro tipo de métrica es la medición del retardo de tránsito entre nodos vecinos, en la que la métrica se expresa en unidades de tiempo y sus valores no son constantes sino que dependen del tráfico de la red.

La métrica simplemente es un valor que toman los diferentes protocolos de enrutamiento para poder determinar cual es la mejor ruta hacia una red de destino. No es difícil encontrarse con situaciones donde un router tenga más de un único camino hacia una red de destino y, por lo tanto, deberá emplear algún método para determinar cual de esos caminos le conviene más. En algunos casos el router determinará que el mejor camino es aquel cuya distancia es menor o en otros casos determinará que la mejor ruta es aquella que tiene mejor ancho de banda. Esto va a depender de cual sea el protocolo de enrutamiento que se esté utilizando, ya que cada uno usa una métrica diferente.

Mejor ruta

Entendemos por mejor ruta aquella que cumple las siguientes condiciones:

  • Consigue mantener acotado el retardo entre pares de nodos de la red.
  • Consigue ofrecer altas cadencias efectivas independientemente del retardo medio de tránsito.
  • Permite ofrecer el menor costo.

El criterio más sencillo es elegir el camino más corto, es decir la ruta que pasa por el menor número de nodos. Una generalización de este criterio es el de “coste mínimo”. En general, el concepto de distancia o coste de un canal es una medida de la calidad del enlace basado en la métrica que se haya definido. En la práctica se utilizan varias métricas simultáneamente.

Encaminamiento en redes de circuitos virtuales y de datagramas

Cuando la red de conmutación de paquetes funciona en modo circuito virtual, generalmente la función de encaminamiento establece una ruta que no cambia durante el tiempo de vida de ese circuito virtual. En este caso el encaminamiento se decide por sesión.

Una red que funciona en modo datagrama no tiene el compromiso de garantizar la entrega ordenada de los paquetes, por lo que los nodos pueden cambiar el criterio de encaminamiento para cada paquete que ha de mandar. Cualquier cambio en la topología de la red tiene fácil solución en cuanto a encaminamiento se refiere, una vez que el algoritmo correspondiente haya descubierto el nuevo camino óptimo.

Clasificación de los métodos de encaminamiento

Los algoritmos de encaminamiento pueden agruparse en:

Deterministas o estáticos

No tienen en cuenta el estado de la subred al tomar las decisiones de encaminamiento. Las tablas de encaminamiento de los nodos se configuran de forma manual y permanecen inalterables hasta que no se vuelve a actuar sobre ellas. Por tanto, la adaptación en tiempo real a los cambios de las condiciones de la red es nula.

El cálculo de la ruta óptima es también fuera de línea (off-line) por lo que no importa ni la complejidad del algoritmo ni el tiempo requerido para su convergencia. Ej: algoritmo de Dijkstra.

Estos algoritmos son rígidos, rápidos y de diseño simple, sin embargo son los que peores decisiones toman en general...

Adaptativos o dinámicos

Pueden hacer más tolerantes a cambios en la subred tales como variaciones en el tráfico, incremento del retardo o fallas en la topología. El encaminamiento dinámico o adaptativo se puede clasificar a su vez en tres categorías, dependiendo de donde se tomen las decisiones y del origen de la información intercambiada:

  • Adaptativo centralizado: todos los nodos de la red son iguales excepto un nodo central que es quien recoge la información de control y los datos de los demás nodos para calcular con ellos la tabla de encaminamiento. Este método tiene el inconveniente de que consume abundantes recursos de la propia red.
  • Adaptativo distribuido: este tipo de encaminamiento se caracteriza porque el algoritmo correspondiente se ejecuta por igual en todos los nodos de la subred. Cada nodo recalcula continuamente la tabla de encaminamiento a partir de dicha información y de la que contiene en su propia base de datos. A este tipo pertenecen dos de los más utilizados en Internet que son los algoritmos por vector de distancias y los de estado de enlace.
  • Adaptativo aislado: se caracterizan por la sencillez del método que utilizan para adaptarse al estado cambiante de la red. Su respuesta a los cambios de tráfico o de topología se obtiene a partir de la información propia y local de cada nodo. Un caso típico es el encaminamiento “por inundación” cuyo mecanismo consiste en reenviar cada paquete recibido con destino a otros nodos, por todos los enlaces excepto por el que llegó.

Encaminamiento adaptativo con algoritmos distribuidos

El encaminamiento mediante algoritmos distribuidos constituye el prototipo de modelo de encaminamiento adaptativo. Los algoritmos se ejecutan en los nodos de la red con los últimos datos que han recibido sobre su estado y convergen rápidamente optimizando sus nuevas rutas.

El resultado es que las tablas de encaminamiento se adaptan automáticamente a los cambios de la red y a las sobrecargas de tráfico. A cambio, los algoritmos tienen una mayor complejidad. Existen dos tipos principales de algoritmos de encaminamiento adaptativo distribuido.

Algoritmos por “vector de distancias”

Estos métodos utilizan el algoritmo de Bellman-Ford. Busca la ruta de menor coste por el método de búsqueda indirecta El vector de distancias asociado al nodo de una red, es un paquete de control que contiene la distancia a los nodos de la red conocidos hasta el momento.

Cada nodo envía a sus vecinos las distancias que conoce a través de este paquete. Los nodos vecinos examinan esta información y la comparan con la que ya tienen, actualizando su tabla de encaminamiento.

Ejemplos de protocolos por vector de distancias: RIP (versión 1 y 2), IGRP.

Algoritmos de “estado de enlace”

Este tipo de encaminamiento se basa en que cada nodo llegue a conocer la topología de la red y los costes (retardos) asociados a los enlaces, para que a partir de estos datos, pueda obtener el árbol y la tabla de encaminamiento tras aplicar el algoritmo de coste mínimo (algoritmo de Dijkstra) al grafo de la red

Los protocolos estado de enlace incluyen OSPF e IS-IS.

Protocolos de encaminamiento y sistemas autónomos

En Internet, un sistema autónomo (AS) se trata de un conjunto de redes IP y routers que se encuentran bajo el control de una misma entidad (en ocasiones varias) y que poseen una política de encaminamiento similar a Internet. Dependiendo de la relación de un router con un sistema autónomo (AS), encontramos diferentes clasificaciones de protocolos:

  • Protocolos de encaminamiento Ad hoc. Se encuentran en aquellas redes que tienen poca o ninguna infraestructura.
  • IGP (Interior Gateway Protocols): intercambian información de encaminamiento dentro de un único sistema autónomo. Los ejemplos más comunes son:
  • IGRP (Interior Gateway Routing Protocol): la diferencia con la RIP es la métrica de enrutamiento.
  • EIGRP (Enhanced Interior Gateway Routing Protocol): es un protocolo de enrutamiento vector-distancia y estado de enlace.
  • OSPF (Open Shortest Path First): enrutamiento jerárquico de pasarela interior.
  • RIPv2T (Routing Information Protocol): no soporta conceptos de sistemas autónomos.
  • IS-IS (Intermediate System to Intermediate System): protocolo de intercambio enrutador de sistema intermedio a sistema intermedio.
  • EGP (Exterior Gateway Protocol): intercambian rutas entre diferentes sistemas autónomos. Encontramos:
  • EGP: utilizado para conectar la red de backbones de la antigua Internet.
  • BGP (Border Gateway Protocol): la actual versión, BGPv4 data de 1995.

Fuentes