Вы находитесь на странице: 1из 20

OSPF Open Shortest Path First

Introduccin al protocolo y caractersticas


Versin 1.2

Introduccin
Qu es OSPF?
Es un protocolo de enrutamiento interno (IGP) que sirve para el intercambio de rutas. Debido a sus caractersticas de protocolo estadoenlace (link-state), su implementacin no est limitada a redes pequeas como en el caso de RIP.
Caractersticas principales de OSPF - Protocolo de tipo estado-enlace (link-state): la mtrica usada para comparar rutas es el costo de cada enlace, el cual est basado en su ancho de banda.

- Forma adyacencias con los routers directamente conectados para intercambiar rutas.
- Las publicaciones de rutas (updates) usan mensajes OSPF llamados LSAs (Link State Advertisements). - Su distancia administrativa es de 110. - El intercambio de LSAs utiliza direcciones multicast (224.0.0.5 y 224.0.0.6). - Es classless: La mscara de subred viaja en los updates (soporta VLSM). - Todos los routers en el dominio OSPF mantienen la misma informacin de la topologa. - Soporta la divisin en reas para limitar la cantidad de trfico de OSPF. - Soporta autenticacin entre vecinos adyacentes.

Arquitectura y funcionamiento
Proceso bsico de intercambio de rutas.
HELLO! LSA

SPT ?

SPT ?
HELLO! LSA ADYACENCIA HELLO! LSA

SPT ?

LSA HELLO! LSA HELLO!

SPT ?
LSA HELLO!

1. Los routers envan mensajes Hello va multicast (224.0.0.5) para encontrar vecinos. 2. Si los parmetros son compatibles, los routers directamente conectados (vecinos) formarn adyacencias entre s. En el caso de redes multiacceso (Ethernet, FR mesh), se escoger un DR (Designated Router) y un BDR (Backup), y se formarn las adyacencias slo con estos routers para disminuir la cantidad de adyacencias. 3. Una vez establecida la adyacencia, los routers intercambian LSAs, formados por las redes de cada uno de los enlaces donde se habilit OSPF. Estos LSAs son guardados en la base de datos y propagados a los dems vecinos. 4. Luego de este proceso las bases de datos de cada router son idnticas, y cada router calcula cules son las rutas ms ptimas utilizando el algoritmo SPT, el cual se basa en la suma del costo de los enlaces que forman cada ruta para escoger la mejor.

Arquitectura y funcionamiento
Formato de mensajes OSPF
IP HDR*
PROT #89

OSPF MSG
8 bits

* TTL = 1, para asegurar el intercambio entre vecinos directamente conectados

8 bits

16 bits

VERSION

TYPE ROUTER ID AREA ID

PACKET LENGTH

CHECKSUM

AUTHENTICATION TYPE

AUTHENTICATION DATA AUTHENTICATION DATA OSPF PACKET DATA ( 1456 bytes aprox.) Version: igual a 2 (IPv4) 3 (IPv6). Type: igual a 1 (Hello), 2 (Database description), 3 (LS Request), 4 (LS Update) 5 (LS Acknowledgement). Router ID: Direccin IPv4 que identifica al router (mayor IP de interfaz virtual, o en su ausencia, fsica). Area ID: Identificador del rea OSPF a la cual pertenece la interfaz. Checksum: suma binaria de todo el paquete IP, para correccin de errores. Authentication type: igual a 0 (sin autenticacin), 1 (texto claro) 2 (criptogrfica MD5).

Authentication data: contiene la contrasea, longitud del mensaje entre otros datos para la autenticacin.
OSPF Packet: paquete OSPF (Hello, Database description, LS Request, LS Update LS Acknowledgement).

Arquitectura y funcionamiento
Parmetros intercambiados en el paquete Hello.
Mscara de la interfaz*: mscara de red de la interfaz utilizada. Hello Interval*: intervalo en el cual se enviarn los paquetes hello. Es de 10 segundos o 30 segundos por defecto, dependiendo del tipo de red. Router Dead Interval*: tiempo que se espera recibir un hello de un vecino, antes de declararlo cado. Router Priority: prioridad que tiene el router para convertirse en Designated Router. DR/BDR Address: direccin IP de la interfaz del Designated Router o Backup Designated Router. Flags*: 5 bits de uso opcional. Neighbors: lista de router-id de los vecinos que ya han sido escuchados por este router. Adems son importantes los siguientes parmetros que viajan en la cabecera: Router ID, Area ID* y Authentication Type*
* Estos parmetros deben ser iguales entre vecinos para que una adyacencia se pueda formar.

Arquitectura y funcionamiento
Tipos de redes OSPF
Point-to-point Broadcast multiaccess (BMA)

No se escoge DR/BDR Se intercambian paquetes en 224.0.0.5 (AllSPFRouters). Hellos cada 10 segundos.

Se escoge un DR y un BDR Se intercambian paquetes en 224.0.0.5, pero hacia DR/BDR se usa 224.0.0.6 (AllDRouters). Hellos cada 10 segundos. Por defecto en Ethernet. Point-to-Multipoint & Point-to-Multipoint NonBroadcast

Por defecto en PPP, HDLC y FR punto a punto. Non-Broadcast multiaccess (NBMA)

Se escoge DR/BDR

No se escoge DR/BDR
Los paquetes son unicast (tipo Non-Broadcast) o multicast (224.0.0.5). Hellos cada 30 segundos. Nunca es una configuracin por defecto. Hello/Dead Interval = 30s/120s

Los paquetes son unicast, los vecinos deben ser configurados manualmente. Hellos cada 30 segundos.
Por defecto en interfaces FR o ATM multipunto.

Arquitectura y funcionamiento
DR (Designated Router)
Se escoge en redes multiaccess para disminuir el nmero de adyacencias y evitar trfico de LSAs innecesario.
DR

BDR

En una red multiacceso existen n(n-1)/2 vecindades. No conviene que todos los vecinos formen adyacencias, pues si existen mucho vecinos la red podra saturarse de LSAs por momentos. Por esta razn, se escoge un DR y su backup, para que estos routers acten como mediadores en el intercambio de LSAs. Los dems routers establecern relaciones llamadas 2-WAY entre s, pero no intercambiarn LSAs. El router que tenga mayor prioridad (o en caso de empate, mayor router-id), ser el DR, el que lo secunde ser el BDR. Una vez escogidos el DR y BDR, si un nuevo router con mayor prioridad ingresa a la red, ste no ser escogido DR a menos que los DR/BDR caigan o se fuerce el reinicio del proceso OSPF.

Arquitectura y funcionamiento
Proceso de formacin de una adyacencia entre dos vecinos.
DOWN ATTEMPT

LOADING

INIT

2-WAY

EXSTART

EXCHANGE

FULL

1. DOWN: No se ha recibido hellos del vecino. 2. ATTEMPT (slo en vecinos manuales): Se le enva un hello al vecino cada 60 segundos (poll-interval) hasta que responda. 3. INIT: Se recibi un hello de un vecino, , se siguen intercambiando hellos al hello-interval, cambiar de estado en cuanto cada router reciba desde su vecino un hello que contenga su propio router-id. 4. 2-WAY: Se recibi un hello que contiene el router-id propio. 5. EXSTART: El vecino que tenga mayor direccin IP en la interfaz es declarado Master y el otro Slave, segn define esta jerarqua para intercambiar los LSA en orden. 6. EXCHANGE: Los vecinos intercambian paquetes DD (Database description), los cuales contienen slo las cabeceras de los LSA que contienen las redes conocidas. Si uno de los routers ve que le falta un LSA o que su versin no es reciente, solicita al vecino el LSA completo con paquetes LSR (Link State Request), el vecino le responde con paquetes LSU (Link State Update), y su recepcin es confirmada con el Link State Acknowledgement. 7. LOADING: Si luego de intercambiar todos los paquetes DD an a un vecino le faltan LSAs, los solicitar en este paso. 8. FULL: La adyacencia est completa, las bases de datos son idnticas.

Arquitectura y funcionamiento
Proceso de formacin de una adyacencia entre dos vecinos.
Ejemplo
MASTER HELLO LS LSR ACK DD HELLO LSU DD SLAVE

EXCHANGE LOADING EXSTART 2-WAY DOWN FULL INIT

EXCHANGE EXSTART 2-WAY DOWN FULL INIT

1. DOWN: No se ha recibido hellos del vecino. 2. ATTEMPT (slo en vecinos manuales): Se le enva un hello al vecino cada 60 segundos (poll-interval) hasta que responda. 3. INIT: Se recibi un hello de un vecino, se siguen intercambiando hellos al hello-interval, cambiar de estado en cuanto cada router reciba desde su vecino un hello que contenga su propio router-id. 4. 2-WAY: Se recibi un hello que contiene el router-id propio. 5. EXSTART: El vecino que tenga mayor direccin IP en la interfaz es declarado Master y el otro Slave, segn define esta jerarqua para intercambiar los LSA en orden. 6. EXCHANGE: Los vecinos intercambian paquetes DD (Database description), los cuales contienen slo las cabeceras de los LSA que contienen las redes conocidas. Si uno de los routers ve que le falta un LSA o que su versin no es reciente, solicita al vecino el LSA completo con paquetes LSR (Link State Request), el vecino le responde con paquetes LSU (Link State Update), y su recepcin es confirmada con el Link State Acknowledgement. 7. LOADING: Si luego de intercambiar todos los paquetes DD an a un vecino le faltan LSAs, los solicitar en este paso. 8. FULL: La adyacencia est completa, las bases de datos son idnticas.

Despus, si cambia la topologa o cada 30 minutos se produce un flooding de LSAs.

Arquitectura y funcionamiento
reas en OSPF
Las reas dividen el domino OSPF para limitar la cobertura del intercambio de LSAs, y descargar de procesamiento a los routers. No son necesarias en redes pequeas.
rea 0

RIP

ABR
ABR rea 10 ABR

ABR ASBR rea 3

OSPF
El rea 0 0.0.0.0 es llamada el rea de backbone, para que exista trfico entre reas distintas, cada una de ellas tiene que tener conexin con el rea 0 necesariamente.
Las reas son divididas por routers a los que se les denomina Area Border Routers (ABR). Los routers que inyectan redes de otros protocolos se llaman Autonomous System Boundary Routers (ASBR).

Arquitectura y funcionamiento
Tipos de LSA
Router LSA (tipo 1): lista de interfaces, estado y costos de cada router; slo se publica dentro del rea. Network LSA (tipo 2): lista de routers conectados a un DR en redes multiacceso; lo produce el DR en su propia rea. Network summary LSA (tipo 3): se origina en el ABR hacia su propia rea y publica una ruta nica para cada destino fuera del rea. ASBR summary LSA (tipo 4): se origina en el ABR hacia su propia rea y publica rutas para llegar a los ASBRs fuera del rea. External LSA (tipo 5): Se originan en los ASBRs y publican rutas externas (redistribuidas de otros protocolos) por todas las reas OSPF. Group Membership LSA (tipo 6): usado en MOSPF (multicast OSPF). NSSA External LSA (tipo 7): Originadas en los ASBRs y similares a los LSA de tipo 5, la diferencia es que no propagan las rutas por todas las reas sino slo al rea NSS donde se encuentra. Cuando llegan a los ABR se convierten en LSA 5 para propagarse por todas las reas.

External attributes (tipo 8): alternativa a iBGP, para enrutar BGP dentro de OSPF, no implementado.
Opaque LSAs (tipos 9, 10 y 11): reservados para aplicaciones especficas, por ejemplo, para transportar informacin de tneles de Traffic Engineering en MPLS.

Arquitectura y funcionamiento
reas STUB
Son reas que se configuran para no recibir rutas externas o de otras reas, dependiendo del tipo de rea stub, con el fin de disminuir el tamao de la base de datos en el rea y reducir el procesamiento de los routers en el rea.
rea 0

RIP
0.0.0.0

RIP ABR ABR


0.0.0.0

ASBR rea 10 T.STUB NSSA STUB

ABR

ABR

ASBR rea 3

Stub Area: Los routers no reciben rutas externas ni rutas a ASBRs (LSA 4 y 5), slo reciben rutas de otra reas (LSA 3) y una ruta por defecto del ABR. En un rea stub todos los routers deben ser configurados para stub. Totally Stubby Area: Los routers no reciben rutas externas, rutas a ASBRs, ni rutas a otras reas (LSA 3, 4 y 5), slo reciben una ruta por defecto del ABR. Not So Stubby Area (NSSA): Igual a un rea Stub, pero se permite la inyeccin de rutas externas dentro del rea con LSA 7, las cuales sern propagadas al resto del domino con LSA 5. Not So Totally Stubby Area (NSSA): Igual a un rea Totally Stubby, pero se permite la inyeccin de rutas externas dentro del rea con LSA 7, las cuales sern propagadas al resto del domino con LSA 5.

Arquitectura y funcionamiento
Eleccin de rutas con SPF
El algoritmo utilizado es el desarrollado por Dijkstra y llamado SPF. Consiste en que cada router arma un rbol de rutas (SPT - Shortest Path Tree) partiendo de s mismo, colocando a cada ruta una mtrica igual a la suma de los costos de los enlaces a lo largo del camino.
SPF ?
R1 10 49 R2 49 R3 49 10 R4 SPF R1 a R5 Va R2 Va R3 49 10 59 10 59 Balance!

49
R5

69 59 10

El costo de cada enlace es calculado en las interfaces y es igual a 108/BW; el valor de 108 puede ser variado segn la implementacin. Las rutas externas, originadas por los ASBR, pueden ser de dos tipos:

- Tipo 1 (E1): La mtrica de la ruta es la mtrica con la que la ruta es inyectada en el ASBR sumada al costo para llegar al ASBR.
- Tipo 2 (E2): La mtrica de la ruta es la mtrica con la que la ruta es inyectada.

Arquitectura y funcionamiento
Casos especiales
1. OSPF sobre circuitos conmutados (p.e. RDSI)
Se utiliza el modo OSPF over demand, en el cual los Hellos y el envo de LSAs cada 30 minutos se deshabilitan para no provocar llamadas todo el tiempo. Slo un cambio en la topologa provocar un reenvo de LSAs.

2. Virtual links.
Un virtual link en OSPF es un enlace virtual desde cualquier rea al rea 0, a travs de una tercera rea. Generalmente se configura provisionalmente ante cadas o errores de diseo.
rea 0 Un virtual-link siempre pertenece al rea 0

rea 10 rea 13

rea 3

Arquitectura y funcionamiento
Casos especiales
3. OSPF sobre NBMA (FR/ATM)
En redes NBMA (FR/ATM multipunto), donde se utiliza un sola subred IP, el tipo de red OSPF por defecto es NBMA, por ende, los vecinos deben ser configurados manualmente. Es importante tener en cuenta que el DR debe tener conexin con todos los routers (redes partial-mesh). Existen las siguientes alternativas para no tener que configurar los vecinos manualmente:

a) Configurar la red como Broadcast, asegurando previamente que los vecinos estn correctamente mapeados y con broadcast habilitado. En el caso de que la red sea partial-mesh y no full-mesh, se debe forzar la eleccin del DR para que se escoja el router que tiene conexin con todos los dems.
b) Configurar la red como Point-to-Multipoint, asegurando previamente que los vecinos estn correctamente mapeados y con broadcast habilitado. No existe eleccin de DR y BDR en este tipo de red, pero esta configuracin trae problemas cuando se utilizan SVCs. c) Cambiar la configuracin a enlaces independientes punto a punto con el uso de subinterfaces, cada una con su propia subred. Se utiliza un poco ms de memoria pero es la solucin ms recomendable.

Arquitectura y funcionamiento
Notas adicionales sobre el funcionamiento de OSPF
La autenticacin en OSPF puede ser en modo texto claro o encriptada con MD5. Los virtual-links no pueden pasar por redes configuradas como stub. Para que todas las adyacencias levanten en un rea que se quiere definir como stub, todos los routers deben estar configurados como stub. Es posible inyectar en el proceso OSPF rutas originadas en otros protocolos, con el comando redistribute, convirtiendo al router en un ASBR. Se puede distribuir manualmente una ruta por defecto desde cualquier router en el dominio OSPF. Se puede configurar y usar un rea OSPF no-cero aislada, pero hay que tener en cuenta que si sta rea se quiere comunicar con otra no-cero, se necesitar crear el rea 0. Las redes definidas en un proceso OSPF, deben siempre hacer referencia a redes IP que el router tiene directamente conectadas, es decir, las redes configuradas definirn en qu interfaces se encuentra habilitado OSPF.

Ejemplos de configuracin
Comandos principales
- router ospf nmero de proceso habilita el proceso OSPF - network red wildcard area area habilita OSPF en las interfaces con direccin IP contenida en la red especificada - log-adjacency-changes enva un log cada vez que sucede un cambio en la adyacencia OSPF - redistribute {connected | bgp AS | eigrp AS | rip | isis} subnets [metric costo] redistribuye redes desde otros protocolos hacia OSPF - passive-interface interfaz dehabilita en envo de hellos en la interfaz seleccionada

Troubleshooting
show ip ospf interface show ip ospf neighbors show ip ospf database show ip route debug ip ospf adj

Ejemplos de configuracin
Ejemplo de configuracin
10.10.2.0/24

R1B
R1A
10.10.3.0/24 10.10.1.0/24 AREA 100

AREA BACKBONE

R2B

R1

10.1.1.2/30 serial0 10.1.1.1/30

serial0

R2

10.20.1.0/24 AREA 200 (stub)

R2A

R1 interface serial0 ip ospf message-digest-key 1 md5 cisco router ospf 10 network 10.10.1.0 0.0.0.255 area 100 network 10.1.1.0 0.0.0.3 area 0 area 0 authentication message-digest area 100 range 10.10.0.0 255.255.0.0
R1A router ospf 55 network 10.10.1.0 0.0.0.255 area 100 redistribute connected metric 10 R1B router ospf 44 network 10.10.1.0 0.0.0.255 area 100 redistribute connected metric 10

R2 interface serial0 ip ospf message-digest-key 1 md5 cisco router ospf 33 network 10.20.1.0 0.0.0.255 area 200 network 10.1.1.0 0.0.0.3 area 0 area 0 authentication message-digest area 200 stub
R2A router ospf 200 network 10.20.1.0 0.0.0.255 area 200 area 200 stub R2B router ospf 333 network 10.20.1.0 0.0.0.255 area 200 area 200 stub

Bibliografa y recursos
Libros y otros recursos
rfc2328 - OSPF version 2 rfc3101 - The OSPF Not-So-Stubby Area (NSSA) Option rfc2370 - The OSPF Opaque LSA Option rfc3630 - Traffic Engineering (TE) Extensions to OSPF Version 2 rfc2740 - OSPF for IPv6 CCIE Professional Development - Routing TCP-IP, Volume I Jeff Doyle

Gracias.

Contacto acerca de esta presentacin:


Gianpietro Lavado Chiarella Network Consulting Engineer Cisco Systems glch@cisco.com / glavado@cisco.com