Características de OSPF

Las principales características de OSPF son:

           Respuesta rápida y sin bucles ante cambios.
La algoritmia SPF sobre la que se basa OSPF permite con la tecnología actual que existe en los nodos un tiempo de respuesta en cuanto tiempo de computación para el calculo del mapa local de la red mucho más rápido que dicho calculo en el protocolo RIP. Además como todos los nodos de la red calculan el mapa de manera idéntica y poseen el mismo mapa se genera sin bucles ni nodos que se encuentren contando en infinito; principal problema sufrido por los protocolos basados en la algoritmia de vector distancia como RIP.
          
Seguridad ante los cambios.
Para que el algoritmo de routing funcione adecuadamente debe existir una copia idéntica de la topología de la red en cada nodo de esta.
Existen diversos fallos que pueden ocurrir en la red como fallos de los protocolos de sincronización o inundación, errores de memoria, introducción de información errónea.
    El protocolo OSPF especifica que todos los intercambios entre routers deben ser autentificados. El OSPF permite una variedad de esquemas de autentificación y también permite seleccionar un esquema para un área diferente al esquena de otra área. La idea detrás de la autentificación es garantizar que sólo los routers confiables difundan información de routing.
Soporte de múltiples métricas.
          
La tecnología actual hace que sea posible soportar varias métricas en paralelo.
Evaluando el camino entre dos nodos en base a diferentes métricas es tener distintos mejores caminos según la métrica utilizada en cada caso, pero surge la duda de cual es el mejor. Esta elección se realizara en base a los requisitos que existan en la comunicación.
Diferentes métricas utilizadas pueden ser:   
             Mayor rendimiento
          Menor retardo
          Menor coste
          Mayor fiabilidad
La posibilidad de utilizar varias métricas para el calculo de una ruta, implica que OSPF provea de un mecanismo para que una vez elegida una métrica en un paquete para realizar su routing esta sea la misma siempre para ese paquete, esta característica dota a OSPF de un routing de servicio de tipo en base a la métrica.
Balanceado de carga en múltiples caminos.

OSPF permite el balanceado de carga entre los nodos que exista más de un camino. Para realizar este balanceo aplica:
Una versión de SPF con una modificación que impide la creación de bucles parciales.
Un algoritmo que permite calcular la cantidad de trafico que debe ser enviado por cada camino.
          
Escalabilidad en el crecimiento de rutas externas.

El continuo crecimiento de Internet es debido a que cada vez son más los sistemas autónomos que se conectan entre si a través de routers externos. Además de tener en cuenta la posibilidad de acceder al exterior del sistema autónomo a través de un determinado router externo u otro se debe tener en cuenta que se tiene varios proveedores de servicios y es más versátil elegir en cada momento el router exterior y servicio requerido que establecer una ruta y servicio por defecto cuando se trata de routing externo como se tenia hasta ahora.
OSPF soluciona este problema permitiendo tener en la base de datos del mapa local los denominados “gateway link state records”.Estos registros nos permiten almacenar el valor de las métricas calculadas y hacen más fácil el calculo de la ruta óptima para el exterior. Por cada entrada externa existirá una nueva entrada de tipo “gateway link state records” en la base de datos, es decir, la base de datos crecerá linealmente con el número de entradas externas tal como ocurre con los protocolos de vector distancia, pero el coste del calculo de las rutas crecerá en función de N*log*N para OSPF y no en función de N^2 como ocurre en los protocolos de vector distancia.

Implantación en nuevas tecnologias

Una de las grandes ventajas de OSPF es que este ha sido diseñado para adaptarse al máximo a los protocolos TCP/IP.

Redes Locales

                       La existencia de redes locales formadas por host que se conectaban a un router para acceder al exterior era un hecho patente cuando se creo OSPF y siguiendo la procedimiento explicado anteriormente cada nodo hubiese tenido que especificar su enlace con el router.
                       OSPF introduce un nuevo enlace el “link to a stub network” que es una variante del “router link” que basándose en el concepto de subred del modelo IP permite asignar a la red local un número de subred y especificar solamente un enlace entre el router y la subred.
                       El enlace hacia un vecino es identificado por la dirección IP de su vecino y el enlace hacia la red local es identificado por su red o número de subred.
                      
Redes Broadcast
OSPF da soporte a los servicios broadcast para ello implementa un mecanismo que simula el funcionamiento broadcast que se basa en la elección de un router como maestro a través del cual se pasaran todas las comunicaciones entre dos routers, es decir se establece el “designated router” y se crea un “virtual node”.
Para realizar el mapa local cada router tendrá dos enlaces:
Un enlace de él hacia su propia red broadcast cuyo enlace conocerá el propio router.
Un enlace de él hacia el “virtual node”, que será identificado por el router designado o”designated router”

Si el “designated router” tiene problemas de funcionamiento todo este procedimiento fallará, por ello cuando se elige al “designated router” OSPF también elige al mismo tiempo al“backup designated router” con el cual también mantienen enlaces virtuales todos los routers, que en caso de fallo asumirá el rol de router designado y otro router será elegido como backup.
El router de backup permanece siempre en escucha de todos los mensajes cuya dirección multicast es “all-designated-router” a la espera del fallo del “designated router”, que es detectado por el protocolo HELLO del OSPF.
Redes No Broadcast.
En la documentación de OSPF este tipo de redes son aquellas que ofrecen conectividad entre todos sus miembros pero no permiten un servicio broadcast o multicast como pueden ser redes “frame-relay o”ATM”.
OSPF trata este tipo de redes con un mecanismo parecido al explicado en redes broadcast , eligiendo al “designated router” y al “backup router”, pero estableciendo los circuitos virtuales entre routers solo bajo demanda.
En estas redes los mensajes son enviados punto a punto, del “designated  router”  a cada uno de los routers. De igual modo cuando un router envía un mensaje al “designated router” lo envía también al “backup designated”.
Routing Jerarquico:
                      
El routing jerarquico surge de la necesidad de resolver el problema debido al aumento del tamaño de las redes que implica un mayor coste en calculo de rutas, tiempo de transmisión de datos, memoria.
OSPF establece una jerarquía en la red y la parte en “areas”, existiendo una área especial denominada “backbone area”.
En un “área” se aplica el protocolo OSPF de manera independiente como si de una red aislada se tratase, es decir, los routers del area solo contiene en su mapa local la topología del área, así que el coste en calculo es proporcional al tamaño del área y no de la totalidad de la red.
Cada área incluye un conjunto de subredes IP. La comunicación entre routers de un área se resuelve directamente a través del mapa local de área que cada router posee.
Estas áreas se conectan entre si a través del “backbone area”, mediante routers que pertenecen normalmente a una “area”  y al “backbone area”.Estos routers se denominan “area-border routers” y como mínimo existe uno entre una área y el backbone.
Los “area-border routers” mantiene varios mapas locales de estado de enlaces, uno por cada área a las cuales pertenecen. Estos emiten unos registros de estados de enlaces para anunciar que conjunto de suredes IP son accesibles a través de ellos. Cuando un router de un área quiere intercambiar tráfico con un router de otra área, estos deben realizarlo a través de los “area-border routers”.Estas se denominan “inward routes”.  
Existe otro tipo de router el que realiza el intercambio de tráfico con routers de otro sistemas autónomos. La información almacenada en cada  router externo es idéntica para cada una de ellos
La sumarización de registros representa los enlaces entre un “area-border router” y una red en el “backbone area” o en otra área. La métrica utilizada  es la longitud del camino entre el “area-border router” y la red. Este mecanismo va a permitir que diferentes “area-border router” establezcan para un destino diferentes caminos, según el resultado de su métrica pero con la salvedad de que no producirán bucles, debido a que la estricta jerarquía de OSPF solo permite que se conecten áreas a través del backbone.
OSPF provee en su jerarquía de routing la posibilidad de que un área se divida en dos a causa de algún fallo en los enlaces o en los routers pero siempre se quedan los fragmentos conectados directamente al “backbone area”  a través de dos condiciones:
Los “area-border router” solo se guarda los enlaces de las redes y subredes que son alcanzables por ese router en un momento determinado.
El “backbone area” se guarde información de las redes que componen cada área aunque no de su topología.
El mecanismo OSPF para solucionar el caso de una partición del “area backbone” está un poco  sujeto a por donde se realiza está partición ya que este podrá ser cubierto siempre y cuando existan “area-border router” que sean capaces de establecer caminos virtuales por dentro de sus areas para establecer nuevos caminos de intercambio de información.
Estos describirán enlaces virtuales que deben ser almacenados en la base de registros del “area backbone”.
La métrica del enlace virtual será calculada teniendo en cuenta el coste de los enlaces reales por los que pasa el enlace virtual en el área local donde se realiza el enlace virtual.
A partir de este enlace virtual deben ser sincronizados y actualizados todos los routers del “area backbone”.  

Stub Areas:

El problema del incremento de rutas externas que debían ser sumarizadas en multitud de áreas pequeñas ha quedado resuelto con la introducción del concepto de “stub area” un área donde todas las rutas externas son sumarizadas por una ruta por defecto.
Una stub area funciona exactamente igual que una area normal de OSPF con unas cuantas restricciones, acerca de prohibir la entrada de rutas externas en las bases de datos de los routers.
Una stub area puede estar conectada por mas de un “area-border router”al backbone, pero no se podrá elegir para salir del área el router , ni configurar un enlace virtual sobre una stub area.
También no se podrá conectar un “border route” con una “stub area”. Esto es lógico si nosotros consideramos que los “border routers” conectan los sistemas autonomos con Internet y normalmente deberían estar sujetos a la “backbone area” .

Áreas


El uso de áreas permite solucionar problemas que se crean al implementar OSPF en grandes redes. Las áreas OSPF parten la red de tal modo que los routers de cada área tienen que recabar menos información topológica sobre las subredes presentes en otras áreas; además, desconocen por completo la existencia de los routers de las otras áreas lo que hace más ligera su base de datos; os routers consumen menos memoria y requieren menos tiempo de procesamiento.

Estados de OSPF.

       
Los routers que usen OSPF atribuyen a cada router un estado de entre los múltiples posibles.







          Down: Un router asigna el estado down a otro router cuando el emisor no ha recibido un paquete hello de parte del receptor. Cuando un router está down significa que no ha recibido ninguna información de sus vecinos. Si no se recibe un paquete Hello en los siguientes 40 segundos, el router pasará a estar full down.
          Attempt: En el estado de intento, el router envía paquetes Hello unicast cada intervalo de consulta con el vecino desde el cual no se han recibido mensajes Hellos dentro del intervalo muerto.

          
Init: Este estado especifica que el router ha recibido un paquete Hello desde su vecino, pero el identificador de router del receptor no se incluyó en el paquete Hello. Cuando un router recibe un Hello desde un vecino, debería incluir el router ID del remitente en su paquete hello a modo de acuse de recibo (ACK) de que se recibió un paquete válido.


         Two way: Este estado indica que se ha establecido una comunicación bidireccional entre dos routers. Bidireccional, en el contexto de OSPF, significa que cada router ha visto el paquete hello del otro.

Exchange: En el estado de intercambio los routers OSPF intercambian paquetes de descripción de base de datos. Estos paquetes contienen solamente encabezados de LSA (Link State Advertisment) y describen los contenidos de la base de datos de estado de enlace.

Loading: Los vecinos completan la base de datos que les envían los otros routers.


Full: En este estado los routers establecen adyacencia completa entre ellos. Todos los LSAs de router y de red se intercambian y las bases de datos se sincronizan completamente. Este se podría describir como el estado óptimo de un router OSPF ya que todos los router conocen la información de los demás.






Introducción


        Open Shortest Path First, más conocido por su abreviatura a OSPF, es un protocolo de enrutamiento jerárquico de pasarela interior que usa el algoritmo Dijkstra (estado de enlace) para calcular la ruta más corta posible entre routers.
        Protocolo de enrutamiento: Serie de reglas y pasos que han de seguir los routers para mandar un paquete de "A" a "B" de la forma más eficiente posible. Según OSPF, ¿cuál sería una forma eficiente?
     
        Pero ¿cómo se comunican los routers para calcular la ruta más eficiente? En primer lugar, los routers se comunican con sus vecinos e intercambian los datos de sus tablas de enrutamiento mediante un proceso conocido como intercambio de base de datos. Una vez que cada router tiene información tipológica de cada uno de los otros routers utiliza el algoritmo de Dijkstra.

        ¿Qué es el algoritmo Dijkstra?

     


        Este algoritmo también es conocido como algoritmo de caminos más cortos ya que determina el camino más corto dado un vértice. La idea a grosso modo de este algoritmo es ir explorando todos los caminos más cortos que parten del vértice origen al resto de vértices como se muestra en la anterior ilustración. Cuando calcula las que, en ese momento, son las rutas más cortas; las añade a su tabla de enrutamiento y la vuelve a compartir (una vez actualizada) con sus vecinos.






Paquetes


        Los paquetes OSPF se envían sobre datagramas IP.

           Paquetes Hello (tipo 1): Cada router envía a sus vecinos, cada cierto tiempo un paquete que contiene el listado de vecinos reconocidos por el router; indicando a qué distancia está de ellos. Mediante este paquete se descubren las vecindades. En la capa 3 del modelo OSI, los paquetes hello se direccionan hacia la dirección multicast 224.0.0.5. , esta dirección equivale a “todos los routers OSPF”.

Paquetes de descripción de base de datos: Cada router comparte con los demás toda la información que contiene su base de datos mediante un resumen de estos.

           Petición del estado del enlace: Los cambios en el estado de los enlaces de un router son notificados a la red mediante el envío de este paquete y si el router se da cuenta de que aslgún dato no le ha sido proporcionado, lo pide. 
           
            Link State Update: Se usa como respuesta a los mensajes de Petición de estado del enlace y también para informar dinámicamente de los cambios en la topología de la red. El emisor retransmitirá hasta que se confirme con un mensaje de ACK.


  Mensaje ACK: Se usa para confirmar la recepción de una actualización del estado del enlace (acuse de recibo)