lunes, 9 de marzo de 2015

Algoritmos de protocolos de enrutamiento vector distancia y estado enlace.


Algoritmo de Bellman-Ford

El Vector de distancias es un método de enrutamiento. Se trata de uno de los más importantes junto con el de estado de enlace. Utiliza el algoritmo de Bellman-Ford para calcular las rutas. Fue el algoritmo original de ARPANET. Se usó en DECNET, IPX y Appletalk. Lo usa el protocolo RIP (Routing Information Protocol), que hasta 1988 era el único utilizado en Internet. También se utiliza en los protocolos propietarios ampliamente extendidos IGRP y EIGRP de Cisco.
El enrutamiento de un protocolo basado en vector de distancias requiere que un router informe a sus vecinos de los cambios en la topología periódicamente y en algunos casos cuando se detecta un cambio en la topología de la red. Comparado a los protocolos de estado de enlace, que necesitan que un router informe a todos los nodos de una red acerca de los cambios en su topología, los algoritmos de vector de distancias tienen mucha menos complejidad computacional.

El algoritmo es distribuido porque envuelve una serie de nodos (routers) dentro de un Sistema autónomo(AS), un conjunto de redes y dispositivos router IP administrados típicamente por un Proveedor de Servicio de Internet (ISP). Se compone de los siguientes pasos:
  1. Cada nodo calcula la distancia entre él mismo y todos los demás dentro de un AS y almacena esta información en una tabla.
  2. Cada nodo envía su tabla a todos los nodos vecinos.
  3. Cuando un nodo recibe las tablas de distancias de sus vecinos, éste calcula la ruta más corta a los demás nodos y actualiza su tabla para reflejar los cambios.
Las desventajas principales del algoritmo de Bellman-Ford en este ajuste son:
  • No escala bien
  • Los cambios en la topología de red no se reflejan rápidamente ya que las actualizaciones se distribuyen nodo por nodo.
  • Contando hasta el infinito(si un fallo de enlace o nodo hace que un nodo sea inalcanzable desde un conjunto de otros nodos, éstos pueden estar siempre aumentando gradualmente sus cálculos de distancia a él, y mientras tanto puede haber bucles de enrutamiento).

Algoritmo de actualización difusa-DUAL


EIGRP utiliza DUAL para seleccionar y mantener la mejor ruta hacia cada red remota. Este algoritmo permite:

Determinar una ruta de respaldo si hay una disponible.
Soportar máscaras de subred de longitud variable (VLSM).

Recuperar rutas dinámicamente.
Enviar consultas por una ruta alterna si no puede encontrarse ninguna ruta. DUAL provee a EIGRP con el tiempo de convergencia más rápido.
La clave de una rápida convergencia está soportada en dos funciones: primero, los routers mantienen una copia de todas las rutas de los vecinos, las cuales utilizan para calcular su propio costo a cada red remota. Si la mejor ruta se cae, simplemente se examina el contenido de la tabla de topologías para seleccionar la mejor ruta de reemplazo. Segundo, si no hay una alternativa buena, los routers lanzan una consulta rápida a sus vecino para encontrar una.


Conceptos de DUAL
 
•Sucesor
–La  mejor ruta con  menor costo a un  destino que se
encuentra en la tabla  de enrutamiento
 

•Distancia factible:
–La  métrica calculada  más baja a lo largo de  una ruta a la red de  destino.

 

•FSM DUAL:
–Selecciona la mejor ruta sin bucles a un destino.
–Selecciona las rutas alternativas por medio de la información de las tablas de EIGRP.


Algoritmo de Dijkstra


Definición: El algoritmo de caminos mínimos o algoritmo de Dijkstra, es un algoritmo para la determinación del camino más corto dado un vértice origen al resto de vértices en un grafo dirigido y con pesos en cada arista.
 

Los algoritmos basados en el estado de enlace son muy utilizados en las redes actuales. Uno de los protocolos más importantes que lo usan es el OSPF. 


Otro a destacar es el IS-IS (Intermediate System-Intermediate System o sistema intermedio-sistema intermedio) diseñado por DECnet y adoptado por la ISO. IS-IS se usa en varios backbone de Internet como el antiguo NSFNET.
A continuación vamos a enunciar el teorema sobre la complejidad computacional que nos plantea el uso de este algoritmo: “El Algoritmo de Dijkstra realiza O(n2) operaciones (sumas y comparaciones) para determinar la longitud del camino más corto entre dos vértices de un grafo ponderado simple, conexo y no dirigido con n vértices.”
 
Uso: La idea subyacente en este algoritmo consiste en ir explorando todos los caminos más cortos que parten del vértice origen y que llevan a todos los demás vértices; cuando se obtiene el camino más corto desde el vértice origen, al resto de vértices que componen el grafo, el algoritmo se detiene.
 
Este algoritmo es una especialización de la búsqueda de costo uniforme, por tanto no funciona en grafos con aristas de costo con valor negativo.
 
Teniendo un grafo dirigido ponderado de N nodos no aislados, sea x el nodo inicial, un vector V de tamaño N guardará al final del algoritmo las distancias desde x al resto de los nodos.
  1. Inicializar todas las distancias en V con un valor infinito relativo ya que son desconocidas al principio, exceptuando la de x que se debe colocar en 0 debido a que la distancia de x a x sería 0.
  2. Sea a = x (tomamos a como nodo actual).
  3. Recorremos todos los nodos adyacentes de a, excepto los nodos marcados, llamaremos a estos vi.
  4. Si la distancia desde x hasta vi guardada en V es mayor que la distancia desde x hasta a sumada a la distancia desde a hasta vi; esta se sustituye con la segunda nombrada, esto es:
    si (Vi > Va + d(a, vi)) entonces Vi = Va + d(a, vi)
  5. Marcamos como completo el nodo a.
  6. Tomamos como próximo nodo actual el de menor valor en V (puede hacerse almacenando los valores en una cola de prioridad) y volvemos al paso 3 mientras existan nodos no marcados.
Una vez terminado al algoritmo, V estará completamente lleno.

domingo, 8 de marzo de 2015

RESUMEN DEL CAPITULO 3 A PARTIR DE METRICA

En algunos casos, un protocolo de enrutamiento aprende sobre más de una ruta hacia el mismo destino. Para seleccionar la mejor ruta, el protocolo de enrutamiento debe poder evaluar y diferenciar entre las rutas disponibles. Para tal fin, se usa una métrica. Una métrica es un valor utilizado por los protocolos de enrutamiento para asignar costos a fin de alcanzar las redes remotas. La métrica se utiliza para determinar qué ruta es más preferible cuando existen múltiples rutas hacia la misma red remota.

Parámetros de las métricas

Diferentes protocolos de enrutamiento usan diferentes métricas. Dos protocolos de enrutamiento diferentes pueden elegir diferentes rutas hacia el mismo destino debido al uso de diferentes métricas.

El RIP elegirá la ruta con la menor cantidad de saltos, mientras que OSPF elegirá la ruta con el ancho de banda más alto.

Las métricas utilizadas en los protocolos de enrutamiento IP incluyen:

Conteo de saltos,Ancho de banda,Carga,Retardo,Confiabilidad Y Costo.

El campo Métrica en la tabla de enrutamiento

La métrica para cada protocolo de enrutamiento es:


RIP: conteo de saltos: la mejor ruta se elige según la ruta con el menor conteo de saltos.
IGRP e EIGRP: ancho de banda, retardo, confiabilidad y carga; la mejor ruta se elige según la ruta con el valor de métrica compuesto más bajo. Por defecto, sólo se usan el ancho de banda y el retardo.
IS-IS y OSPF: costo; la mejor ruta se elige según la ruta con el costo más bajo. . La implementación de OSPF de Cisco usa el ancho de banda. IS-IS es desarrollado en CCNP.


¿Qué sucede cuando dos o más rutas hacia el mismo destino tienen valores de métrica idénticos?  En este caso, el router no elige sólo una ruta. En cambio, el router realiza un "balanceo de carga" entre estas dos rutas del mismo costo. Los paquetes se envían utilizando todas las rutas del mismo costo. 
 El balanceo de carga puede realizarse ya sea por paquete o por destino. El modo en que un router realiza realmente el balanceo de carga de los paquetes entre rutas del mismo costo depende del proceso de conmutación. 
Por defecto, todos los protocolos de enrutamiento analizados en este curso son capaces de realizar un balanceo de carga del tráfico en forma automática para un máximo de cuatro rutas del mismo costo por defecto. 


Múltiples orígenes de enrutamiento
En realidad, un router puede aprender sobre una ruta hacia la misma red a través de más de un origen. Por ejemplo, una ruta estática puede haber sido configurada para la misma red/máscara de subred que se aprendió en forma dinámica mediante un protocolo de enrutamiento dinámico, como RIP.

Aunque es menos común, puede implementarse más de un protocolo de enrutamiento dinámico en la misma red. En algunas situaciones, posiblemente sea necesario enrutar la misma dirección de red utilizando múltiples protocolos de enrutamiento como RIP y OSPF. Debido a que diferentes protocolos de enrutamiento usan diferentes métricas.


El propósito de la distancia administrativa

La distancia administrativa (AD) define la preferencia de un origen de enrutamiento. A cada origen de enrutamiento, entre ellas protocolos de enrutamiento específicos, rutas estáticas e incluso redes conectadas directamente, se le asigna un orden de preferencia de la más preferible a la menos preferible utilizando el valor de distancia administrativa.

La distancia administrativa es un valor entero entre 0 y 255. Cuanto menor es el valor, mayor es la preferencia del origen de ruta. Una distancia administrativa de 0 es la más preferida. Solamente una red conectada directamente tiene una distancia administrativa igual a 0 que no puede cambiarse. 


El valor de AD es el primer valor en los corchetes para una entrada de la tabla de enrutamiento.  puede verificar estos valores de AD con el comando show ip route.

El valor de AD también puede verificarse con el comando show ip protocols. Este comando muestra toda la información pertinente sobre los protocolos de enrutamiento que funcionan en el router.


Las rutas estáticas son ingresadas por un administrador que desea configurar en forma manual la mejor ruta hacia el destino. Por ese motivo, las rutas estáticas tienen un valor de AD por defecto igual a 1. Esto significa que después de las redes conectadas directamente, que tienen un valor de AD por defecto igual a 0, las rutas estáticas son el origen de ruta de mayor preferencia.


Existen situaciones en las que un administrador configurará una ruta estática al mismo destino que se aprendió utilizando un protocolo de enrutamiento dinámico pero utilizando una ruta diferente. La ruta estática se configurará con una AD mayor que la del protocolo de enrutamiento. Si ocurre una falla de enlace en la ruta utilizada por el protocolo de enrutamiento dinámico, la ruta ingresada por el protocolo de enrutamiento se elimina de la tabla de enrutamiento. La ruta estática se convertirá entonces en el único origen y se agregará automáticamente a la tabla de enrutamiento. Esto se conoce como ruta estática flotante y se analiza en CCNP.
 

El valor de AD de las redes conectadas directamente es igual a 0, lo cual significa que éste es el origen de enrutamiento de mayor preferencia. No existe una ruta mejor para un router que tener una de sus interfaces conectadas directamente a esa red. 


Cuadro comparativo Protocolos de enrutamiento


Los protocolos de enrutamiento mantienen tablas de enrutamiento dinámicas por medio de mensajes de actualización del enrutamiento, que contienen información acerca de los cambios sufridos en la red, y que indican al software del router que actualice la tabla de enrutamiento en consecuencia. Intentar utilizar el enrutamiento dinámico sobre situaciones que no lo requieren es una pérdida de ancho de banda, esfuerzo, y en consecuencia de dinero.

El protocolo RIP1 es un protocolo de encaminamiento dinámico de tipo IGP (Internal Gateway Protocol), mediante el cuál los router pertenecientes a un mismo Sistema Autónomo intercambian y actualizan sus correspondientes tablas de rutas.



El fundamento de dicho protocolo radica en el empleo del algoritmo vector distancia, que determina las redes que son alcanzables por un router mediante el cálculo del número de saltos existentes (mínimo 1, máximo 16). Es decir, que si el número de saltos necesarios para llegar a una determinada red es igual a 16, se dice que dicha red es inalcanzable.


La adaptación de rutas se hace a través del puerto 520 y el protocolo UDP mediante difusión de tablas cada 30 segundos (1 ciclo), o antes si ha habido algún cambio en las mismas. Si una ruta no es confirmada en 6 ciclos, se pone como inalcanzable (a 16 saltos) y si ésta permanece 2 ciclos más sin confirmar, se borra.


Es importante destacar, del mismo modo, que el protocolo RIP lleva asociadas ciertas limitaciones como son el reducido diámetro de red en el que opera, el excesivo tráfico de control y consumo de recursos de red que conlleva, la lenta convergencia y la elección de una ruta no siempre óptima (sólo tiene en cuenta el número de saltos existentes y no el estado de cada enlace). 


RIPv2 es un protocolo de vector distancia de tipo estándar, basado en los RFC 1388, 1723 y 2453. Su principal limitación está impuesta por la cantidad máxima de saltos que soporta: 15. RIP asume que todo lo que se encuentra a más de 15 saltos, está a una distancia infinita, y por lo tanto no tiene ruta válida. Como contrapartida, es quizás el protocolo más implementado. Muchos dispositivos (algunos routers para pequeñas oficinas, por ejemplo) tienen activado RIP por defecto. También puede ocurrir encontrarse con firewalls que soportan RIP pero no OSPF o EIGRP. Algunas de sus características son:
  • La distancia administrativa para RIPv1 y RIPv2 es 120.
  • RIPv2 envía actualizaciones de enrutamiento a través de la dirección de multicast 224.0.0.9.
  • En los routers Cisco, la versión 2 no se activa por defecto. Es necesario utilizar el comando versión 2 en el modo de configuración de RIP.
  • RIPv2 sumariza actualizaciones de enrutamiento automáticamente.
  • Su métrica es la cuenta de saltos.
¿Cómo trabaja RIP?
El dispositio envía su tabla de enrutamiento completa a todos los vecinos conectados cada 30 segundos. Puede haber actualizaciones disparadas por eventos si, por ejemplo, una interfaz cae antes de que expire el timer de 30 segundos.
Por ser un protocolo de vector distancia, es sensible a la aparición de bucles de enrutamiento. Esto es consecuencia de la inexistencia de relaciones de vecindad o recálculos de la topología de la red, como ocurre con los protocolos de estado de enlace. Esto afecta directamente la calidad de la información de enrutamiento que proporciona RIP.
¿Cuáles son los avances de RIPv2?
Las principales mejoras son:

  • Soporte para VLSM.
  • Actualizaciones de enrutamiento por multicast.
  • Actualizaciones de enrutamiento con autenticación con clave encriptada.






IGRP es un protocolo de enrutamiento de gateway interior (IGP)
es un protocolo de enrutamiento de vector-distancia desarrollado por Cisco. IGRP envía actualizaciones de enrutamiento a intervalos de 90 segundos, las cuales publican las redes de un sistema autónomo en particular. Las características claves de IGRP son las siguientes:
  • La versatilidad para manejar automáticamente topologías indefinidas y complejas.
  • La flexibilidad necesaria para segmentarse con distintas características de ancho de banda y de retardo.
  • La escalabilidad para operar en redes de gran tamaño
Por defecto, el protocolo IGRP de enrutamiento usa el ancho de banda y el retardo como métrica. Además, IGRP puede configurarse para utilizar una combinación de variables para calcular una métrica compuesta. Estas variables incluyen:
  • Ancho de banda
  • Retardo
  • Carga
  • Confiabilidad
EIGRP (Enhanced Interior Gateway Routing Protocol, Protocolo de enrutamiento de gateway interior mejorado) es un protocolo de encaminamiento vector distancia avanzado, propiedad de Cisco Systems, que ofrece lo mejor de los algoritmos de vector de distancias y del estado de enlace. Se considera un protocolo avanzado que se basa en las características normalmente asociadas con los protocolos del estado de enlace. Algunas de las mejores funciones de OSPF, como las actualizaciones parciales y la detección de vecinos, se usan de forma similar con EIGRP. Aunque no garantiza el uso de la mejor ruta, es bastante usado porque EIGRP es algo más fácil de configurar que OSPF. EIGRP mejora las propiedades de convergencia y opera con mayor eficiencia que IGRP. Esto permite que una red tenga una arquitectura mejorada y pueda mantener las inversiones actuales en IGRP.

El protocolo OSPF, cuya traducción al castellano es "Abre Primero la Ruta Más corta", es un protocolo de estado de enlace. Esto significa que en memoria guarda un esquema de toda la topología de red y calcula la ruta más rápida para ir de un punto a otro. Es un protocolo sin clase, es decir, que en sus actualizaciones de enrutamiento no adjunta la máscara de red.
El protocolo OSPF establece relación con sus vecinos de una forma similar que EIGRP, envía paquetes HELLO periódicamente para descubrir los vecinos y mantener la relación con ellos y una vez caduca un temporizador la relación se rompe. 

El proceso OSPF guarda tres tablas en memoria:
  • Tabla de vecinos: guarda los routers directamente conectados. OSPF usa paquetes "HELLO" como EIGRP para descubrir los vecinos, usa la IP de multicast 224.0.0.5
  • LSDB: Del inglés "Link State DataBase", en la cual guarda un esquema jerárquico de toda la topología de la red. La cual se propaga periódicamente a todos los enrutadores de la red.
  • Tabla de enrutamiento: guarda las mejores rutas a cada red.



A continuación se muestra un cuadro comparativo de algunos distintos Protocolos de enrutamiento dinámico:


CARACTERÍSTICAS RIP RIPv2 IGRP EIGRP OSPF
Tipo VECTOR DISTANCIA VECTOR DISTANCIA VECTOR DISTANCIA VECTOR DISTANCIA ESTADO DE ENLACE
Tipo de Convergencia LENTO LENTO LENTO RAPIDO RAPIDO
Consumo de ancho de banda ALTO ALTO ALTO BAJO BAJO
Consumo de Recursos BAJO BAJO BAJO BAJO ALTO
Mejor escalamiento NO NO SI SI SI
Libre uso o Propietario LIBRE LIBRE PROPIETARIO PROPIETARIO LIBRE
VLSM NO SI NO SI SI