Open Shortest Path Protocol (OSPF)


OSPF
OSPF por sus siglas en ingles (Open Shortest Path First), es uno de los protocolos de enrutamineto mas utilizado en redes.

OSPF es un estándar abierto según la RFC 2328 inicialmente y con algunas modificaciones para IPV6 la RFC 2740.

Una característica de OSPF es que es un protocolo de Estado de Enlace o en ingles Link-State, Link-State genera actualizaciones de rutas solamente cuando ocurren cambios sobre la red. Los equipos activos generan alertas llamadas LSA por sus siglas en ingles (link-state advertisement).

OSPF tiene una estructura de red basada en areas que se clasifican en dos esencialmente:

  • -          .-El area 0 llamada también como backbone donde las demás areas tienen que asociarse
  • -          -Y las areas normales


Todos los router que estén interconectados contra el area 0 pertenecen a un mismo sistema autónomo y dentro de las interconexiones del área 0 a las areas subsiguientes existen router que están conectados en 2 areas, estos son llamados router de Borde de Area (ABR), los router mas lejos del area 0 y que limitan con el sistema automono del OSPF conectan contra dominios de enrutamiento externo. (ASBR- Autonomus System Boundary Router).

La forma en que se comunican los router dependen de la topología en la cual se implemte OSPF, existen conexiones punto a punto como las conexiones WAN donde solo interactúan 2 router uno en cada extremo de la conexión y otras redes donde interactúan mas de 2 router. La topología que tenga la red hace que los LSA que forman las adjacencias trabajen diferente.

También es muy importante los tipos de interconexiones que unen a los router ya que dependiendo esta caracterisitca se calcula la métrica de OSPF, la métrica es el valos por el cual se calcular los mejores caminos y un valor importantísimos para que los router construyan la topología de la red. El costo se define por cada interface aunque se puede alterar y es inversamente proporcional al ancho de banda de cada una, por ejemplo:

  • -          -El costo de un enlace de 64 Kb/s seria de 1562
  • -        -  El costo de un E1 seria 48


Como se puede deducir del ejemplo anterior entre menor sea el costo mejor será evaluada la ruta.


INICIANDO LA ADJACENCIA

OSPF requiere tener vecindad con otros router y el proceso para lograr establecer la comunicación y el correcto funcionamiento de la red.

Los router interconectados en una misma red deben tener adjacenia osea deben compartir ciertas caracterisiticas para poder intercambiar información de la topología de red y rutas, los router intercambias Hello Packets con la siguiente información:

  • -          Area ID
  • -          Autenticación,
  • -          Hello y dead intervals
  • -          Stub area flag






Después de crear la adjacencia con el proceso simple de los hello comienza un proceso mas complicado llamado hello Exchange, este proceso sse basa en una secuencia lógica y al final la adjacencia esta completa y ambos router comparten la misma base de datos (link-state database).
La secuencia que se sigue es la siguiente:

  • -          DOWN
  • -          ATTEMPT
  • -          INIT
  • -          TWO-WAY
  • -          EXSTAR
  • -          EXCHANGE
  • -          LOADING
  • -          FULL



Otras referencias acerca de los LSA


  • -          Los lsa mantienen un numero de secuencia
  • -          Los lsa tienen 4 bytes
  • -          Los lsa comienzan en 0x800000001 y terminan en 0x7FFFFFFF
  • -          Los lsa se refrescan cada 30 minutos


Si se quiere validar en un router cisco la secuencia se utiliza el comando show ip ospf database.


Para tener en cuenta dentro de un dominio de OSPF no deben haber mas de 50 router por area.


ESTRUCUTURA PAQUETES OSPF

Los paquetes que interactúan en el proceso OSPF son encapsulados sobre una estructura IP  utilizando el puerto 89, el paquete de OSPF esta entre el IP header y el Link tráiler.

Los paquetes OSPF contienen la siguiente información:

-Version donde tenemos 2 opciones, la V1 es para IPv4 y la V2 es para IPv6.
-Tipo de paquete donde se identifica que tipo de paquete es enviado del 1 al 5.
-Packet Length, longitud del paquete OSPF en bytes.
-Router ID que es una propiedad del router que envía el paquete.
-Area ID que es el area donde se origina el paquete.
-Checksum que se agrega para detectar errores durante la trasmisión.
-Tipo de Autenticación

-Datos, este envía la información dependiendo el tipo de paquete OSPF.
-           HELLO PACKETS, contiene una lista de vecinos conocidos.
-           DBD PACKTES,  contiene los LSDB  donde se incluyen todos los ID router conocidos y sus números de secuencia eentre otros.
-           LSR(Link-state request) PACKETS, contiene los LSU (Link-State updates).
-           LSU packets, contiene link-state advertisement (LSA).
-           LSAck packets, no contiene nada.

Podríamos hacer una interpretación de los paquetes OSPF de la siguiente manera, los HELLO descubren los vecinos y construyen la adjacencia entre ellos, DBD revisa la sincronización  de las bases de datos entre los router, LSR revisa los registros de los router, LSU envía específicamente las respuestas de los registros y los LSAck descubre otro tipos de paquetes.

Los hello packets contiene información para construir la adjacencia, esta información es el ROUTER ID  que es un numero único que identifica al router la cual puede ser la IP mas alta de las interfaces activas en el router sin embargo si existen interfaces loopback se escogerá la IP mas alta que tengan están interfaces. HELLO AND DEAD INTERVAL, se especifica la frecuencia en segundos con que se enviaran los hello packets  que por defecto son 10 segundos y el dead que es 4 veces el hello, este sirve para validar si los router vecinos aun están presentes en la red, estos dos tiempos deben ser iguales en todos los router que participen el el proceso OSPF. NEIGHBORS o vecinos. ROUTER PRIORITY, es la prioridad que tiene el router y se tiene presenta una vez se identifiquen los DR y el BDR. DR y BDR IP ADDRESS si son conocidos. AUTENTICACION se tienen 3 estados  sin autenticación, con autenticación simple y con MD5 y debe ser igual en todos los routers. STUB AREA FLAG, doda que una area stub es especial se debe validar si los router están o no en este tipo de area.

Para lograr la adjacencia son OBLIGATORIOS los campos Hello and dead intervals, area ID, autenticación y flag area stub.




ESTADOS ENTRE LOS VECINOS EN OSPF

-          DOWN: No se ha recibido ninguna información de ningún segmento.
-          ATTEMPT: En redes nonbroadcast multiaccess indica que no ha revivido información de los vecinos.
-          INIT: la interface ha detectado un paquete hello de un vecino pero la comunicación aun no es bidireccional.
-          TWO-WAY: La comunicacion entre vecinos ha comenzado, en este estado se eligen el DR y el BDR.
-          EXSTAR:Se inician los números de secuencia para empezar a intercambiar información y se valida que la información se al mas reciente.
-          EXCHANGE:Se intercambian los LSDB o la base de datos.
-          LOADING: Se termina la transmisión de los LSDB, se valida la información  y se confirma su correcto funcionamiento.
-          FULL:se completa la adjacecia y todos los router comparte las mismas  bases de datos.

TIPOS DE REDES OSPF

Se destacan 3 redes en donde se puede implementar OSPF, estas redes son:
-          Redes punto a punto donde existen únicamente 2 router uno en cada extremo, en esta red no es necesario elegir un DR y/o BDR,  los paquetes ospf son enviados usando la dirección de multicast 224.0.0.5 y no es necesario identificar los vecinos ya que se detectan automáticamente.

-          Redes BROADCAST generalmente redes LAN donde el DR y BDR son necesarios y se crea adyacencia total entre estos y los demás router de la red, los paquetes entre el DR y BDR son enviados con la dirección de multicast 224.0.0.6 y la comunicación entre el DR y los demás router es enviado utilizando la dirección de multicast 224.0.0.5
-          Redes NONBROADCAST MULTIACCESS donde se interconectan mas de 2 router pero en redes que no son broadcast como Frame Relay.

Para las redes BROADCAST  se eligen los DR y los BDR y el proceso por el cual es sencillo el router con la prioridad mas alta será elegido DR y el siguiente será el BDR, las interfaces OSPF tiene por defecto prioridad 1 y en caso que varios router tengan la misma prioridad se utilizara el router ID. El RID se escoge de las interfaces activas y si existen interfaces loopback tendrán  prioridad sobre las físicas y si algún router tiene prioridad cero nuca será elegido DR o BDR, los router que no sean DR o BDR serán llamados DROTHER.

Podría suceder que un router con mayor prioridad se agregara a la red y causaría problemas en la configuración topología pero para prevenir esto OSPF no cambia sus DR y/o BDR hasta que estos presenten alguna falla a queden fuera de la red, igualmente el nuevo router no será DR en caso de falla de este la prioridad para ocupar este puesto será del BDR elegido durante el proceso de adyacencia.
-           


TIPOS DE IDENTIFICADORES DE lSA

Existen 11 tipos de LSA, desde el que genera el router hasta los que trasmiten desde áreas externas, estos son:

1.    Tipo 1, LSA de Router: este describe el estado de las interfaces que están configuradas en el área y solo son enviadas en una área.

2.    Tipo 2, LSA de RED: generados por el DR y describe las redes dentro del área.

3.    Tipo 3 0 4, LSA resumen: generado por el ABR. El tipo 3 describe las redes y rutas agregadas entre las áreas, el Tipo 4 rutas que publican link externos. Los LSA fluyen normalmente desde el área de backbone hacia las demás redes pero no la hacen a areas STUB.

4.    Tipo 5, LSA externos: Generados por los ASBR y publicados hacia dentro del Sistema Autonomo OSPF.

5.    Tipo 6, LSA multicast: son especialmente utilizados en aplicaciones multicast.

6.    Tipo 7, LSA para areas not-so-stubby (NSSA): son generados en NSSA para anunciar rutas externas.

7.    Tipo 8, LSA externos de BGP: especiales para redes externos contra sistemas Autonomos de BGP.

8.    Tipo 9, 10 y 11, LSA reservados: para futuras actualizaciones del protocolos o usos específicos.







TIPOS DE AREA

OSPF se basa en una estructura de áreas jerárquicas definidas como backbone y no backbone, los router que están entre estas areas son llamados router de borde de area (ABR), como característica especial todas las areas deben estar conectadas al area backbone a también llamada area 0.

Los tipos específicos de äreas son:

1.    Ärea BACKBONE, Interconecta todas las áreas: es el centro de la red y se llama area 0.

2.    Area Normal , contine información de rutas internas y externas: por defecto acepta todas las actualizaciones, link, rutas sumarizadas y rutas externas.

3.    Area STUB, contiene información de rutas internas y excluye las rutas externas, para poder enrutar trafico fuera de esta area es necesario una ruta por defecto. Esta area no contiene ASBR exepto que el ABR se comporte como tal.

4.    Area total Stub, propietaria de CISCO; solo contiene información de su propia area, no acepta rutas externas y no puede tern ABRS exepto que el ABR se comporte como tal.

5.    Not-so-stubby Area, contiene información de rutas externas y de la misma area.

Las areas STUB y sus derivaciones deben ser configuradas explícitamente en los router.