Ampliacion sobre OSPF

OSPF (Open Shortest Path First) es un protocolo de enrutamiento para redes IP, desarrollado por el IGP (Interior Gateway Protocol) working group del IETF (Internet Engineering Task Force). Este grupo fue creado en 1988 para diseñar un IGP basado en el algoritmo del camino mas corto. OSPF fue creado porque el protocolo RIP es incapaz de servir a un elevado numero de redes heterogeneas.

Este protocolo, es resultado del esfuerzo de Bolt, Beranek i Newman, creadores del algoritmo SPF (Shortest Path First) que en 1978 crearon para ARPANET.
Tiene dos caracteristicas principales: La primera es que el protocolo es abierto, lo que significa que sus especificaciones son de dominio publico. La segunda es que OSPF se sustenta sobre el algoritmo SPF conocido como el algoritmo de Dijkstra (es el nombre de su creador) que es un muy buen metodo para encontrar el camino mas corto.

OSPF propone el uso de rutas más cortas y accesibles mediante la construcción de un mapa de la red mediante bases de datos con información sobre sistemas locales y vecinos. De esta manera es capaz de calcular que distancia hay para cada posible ruta y luego escoge que ruta es la mas corta para acceder a su destino. Para calcular que ruta es la mas rapida tambien se tiene en cuenta por donde pasa y el estado de los enlaces, cosa que por ejemplo, en el caso de RIP se calcula sólo la distancia y no el trafico del enlace. Por esta causa OSPF es un protocolo de encaminamiento diseñado para redes con crecimiento constante y capaz de manejar una tabla de encaminamiento distribuida y de rapida propagación.

Entre las caracteristicas más resaltantes de OSPF estan:

- Rápida detección de cambios en la topología y restablecimiento muy rápido de rutas sin bucles.
- Poca sobrecarga, usa actualizaciones que informan de los cambios de rutas.
- División de tráfico por varias rutas equivalentes.
- Encaminamiento según el tipo de servicio.
- Uso de multienvio en las redes de área local.
- Mascaras de subred y superred.
- Autentificación.

Areas en OSPF

Un área es un conjunto de redes y host contiguos, con sus respectivos routers e interfaces. Un sistema autónomo que use OSPF está construido por una o más áreas. Cada área tiene asignado un número. El área 0 está conectada al Backbone que enlaza con el resto de áreas y agrupa al resto de sistemas autónomos.

El enrutamiento dentro de un área se basa en un mapa completo del estado de los enlaces del área ya que los routers solo necesitan conocer información del area a la que pertenecen. Eso permite (y es una de las ventajas de OSPF) un fácil crecimiento de la red.

Todos los routers que estan implementados con OSPF de una misma área, mantienen una base de datos de las rutas a traves de los nodos (routers) de esa área. La base de datos se usa para construir el mapa de esa área y contiene el estado de todas las rutas, interfaces útiles de los routers, las redes conectadas y sus routers adyacentes. Siempre que ocurre un cambio, la información se propaga por toda el área. De esta forma en un periodo de tiempo muy corto, todos los routers tienen la información acutalizada y estan en un estado óptimo para cualquier petición. Asi, si se produce un problema, por ejemplo que un router tiene demasiada faena o se estropea, el router vecino informará a todos los demas routers que ese camino se encuentra inaccesible. La cosa seguira asi hasta que el router con el problema se recupere. En estos casos es donde se ve la importancia de una de las características del método: La velocidad en la que se propaga la base de datos. Si el tiempo en que se propaga la información fuese mas lento, haria que se perdiera un monton de información ya que hasta que no le llegase el cambio en el estado, daria tiempo a enviar un monton de mensaje que quedarian atrapados en ese router.
Cuando un router se conecta a la red, obtiene una copia de la base de datos actual, tras esto, solo se comunicaran los cambios. Esto hace más óptimo a OSPF, ya que no tiene que enviar toda la base de datos entera.

Fronteras y limites de OSPF

El backbone contiene todos los routers que pertenecen a múltiples áreas, así como las redes y los routers que no estan asignados a ninguna área. Uno de estos casos especiales es el router frontera (RF) que pertenece a una o más áreas y al backbone. Si el sistema autónomo está conectado el mundo exterior, los RF pueden aprender rutas a redes que son externas al sistema autónomo. Los RF tiene información completa de las áreas a las que esta conectado ya sea la del Backbone o las de otros sistemas autonomos. Los RF indican a otros routers del backbone lo lejos que están de las redes dentro de su propia área. De esta forma todos los RF pueden calcular las distancias a destinos fuera de sus propias áreas y transmitir esta información dentro de sus propias áreas. Los resúmenes incluyen un identificador de red, subred o superred, una máscara de red y la distancia desde el router a la red externa. Para diferenciar entre la información de la red própia de la de la red externa hay dos tipos de formato: El formato 1 es el que describe el estado de los enlaces de la propia area y el formato 2 que son para describir el estado de areas que estan a larga distancia y se calculan con un mayor orden de magnitud.

Mensajes de Saludo

Cada router incluido en el protocolo OSPF tiene un identificador único que lo utiliza en los mensajes que envia. Normalmente corresponde con la parte menor de la direccion IP del router. Los routers, enviar de forma periodica, mensajes de saludo (Hello) para que el resto de los routers sepan que todavia siguen activos. Una de las rezones por la que funcionan los mensajes de saludo es que un mensaje contiene la lista de todos los identificadores de los saludos cuyos vecinos escucharan el emisor, así los routers conocen si se les está escuchando en la red.
En una red multiacceso, los mensajes de saludo también se usan para identificar a un router designado. El router designado cumple dos funciones:
. Es responsable de la actualización fiable de sus vecinos adyacentes con la información más reciente de la topología de la red y
. Crea avisos de enlaces de red con la lista de todos los routers conectados a la red multiacceso.

El router designado A actúa como experto local y mantiene actualizada la topología local completa. Después comunica a los routers adyacentes la información. B, C y D mantienen sus propias bases de datos sincronizadas hablando con A. No tienen que hablar con los otros, así se reduce drásticamente el tráfico de información. Dos encaminadores que sincronizan sus bases de datos uno con otro se llaman adyacentes. B y C son vecinos, pero no son adyacentes el uno del otro debido a que consultan con A. La perdida de un encaminador designado podría ser muy perjudicial. Por eso, siempre se elige un encaminador designado de respaldo y siempre está listo para reemplazarle inmediatamente.

Inicialización de una Base de Datos de encaminamiento

Utilizando el dibujo anterior vamos a explicar como funciona la inicializacion de la base de datos de un router que se acaba de conectar. Supongamos que el router B acaba de arrancar .Lo primero que hace B es escuchar los mensajes de saludo, descubrir quienes son sus vecinos y descubrir que el router A es el router designado. A partir de aqui, se establece un dialogo constante entre A y B. Los mensajes que se intercambian son mensajes de descripción de bases de datos. Estos mensajes contienen una lista de lo que tiene cada uno en su base de datos. Cada elemento tiene un número de secuencia que se usa para establecer qué router tiene la información más reciente sobre dicho elemento. El número de secuencia de una entrada se incrementa siempre que se produce una actualizaciónde, asi se puede saber si la información que tiene un router hace falta que se actualice o si esa información es recien actualizada y hay que actualizar la información del router designado. Una vez finalizada el intercambio de información, ambos conoceran:
. Qué elementos no están todavía en su base de datos local.
. Qué elementos presentes son antiguos y necesitan que se actualicen.

Se usan mensajes de petición de estado del enlace (Link State Request) para solicitar todas las entradas que necesiten una actualización. Los mensajes de actualización del estado del enlace (Links State Update) son las respuestas a las peticiones. Tras un intercambio de información, con confirmaciones del estado del enlace, también se usan para informar de los cambios en la topología del área. La actualización de la topología se expande por el área de manera que todas las bases de datos se mantengan sincronizadas.

Tipos de mensajes OSPF

Para finalizar comentaré los tipos de mensajes del protocolo OSPF que se han descrito:

. Saludo: Se usa para identificar a los vecinos, es decir, routers adyacentes en un área para elegir un router designado para una red multienvio, para encontrar un router designado existente y para enviar señales de "Estoy aquí".
. Descripción de la base de datos Durante la inicialización: Se usa para intercambiar información de manera que un router puede descubrir los datos que le faltan en la base de datos.
. Petición del estado del enlace: Se usa para pedir datos que un router se ha dado cuenta que le faltan en su base de datos o que están obsoletos.
. Actualización del estado del enlace: Se usa como respuesta a los mensajes de Petición del estado del enlace y también para informar dinámicamente de los cambios en la topología de la red.
. ACK de estado del enlace Se usa para confirmar la recepción de una Actualización del estado del enlace. El emisor retransmitirá hasta que se confirme.

Fonts:
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ospf.htm