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.