OSPF - Open Shortest Path First v1.2

20
OSPF – Open Shortest Path First OSPF – Open Shortest Path First Introducción al protocolo y características Introducción al protocolo y características Versión 1.2 Versión 1.2

Transcript of OSPF - Open Shortest Path First v1.2

Page 1: OSPF - Open Shortest Path First v1.2

OSPF – Open Shortest Path FirstOSPF – Open Shortest Path FirstIntroducción al protocolo y característicasIntroducción al protocolo y características

Versión 1.2Versión 1.2

Page 2: OSPF - Open Shortest Path First v1.2

¿Qué es OSPF?

Es un protocolo de enrutamiento interno (IGP) que sirve para el intercambio de rutas. Debido a sus características de protocolo estado-enlace (link-state), su implementación no está limitada a redes pequeñas como en el caso de RIP.

Características principales de OSPF

- Protocolo de tipo estado-enlace (link-state): la métrica 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 máscara de subred viaja en los updates (soporta VLSM).

- Todos los routers en el dominio OSPF mantienen la misma información de la topología.

- Soporta la división en áreas para limitar la cantidad de tráfico de OSPF.

- Soporta autenticación entre vecinos adyacentes.

Introducción

Page 3: OSPF - Open Shortest Path First v1.2

Proceso básico de intercambio de rutas.

1. Los routers envían mensajes ‘Hello’ vía multicast (224.0.0.5) para encontrar vecinos.

2. Si los parámetros son compatibles, los routers directamente conectados (vecinos) formarán adyacencias entre sí. En el caso de redes multiacceso (Ethernet, FR mesh), se escogerá un DR (Designated Router) y un BDR (Backup), y se formarán las adyacencias sólo 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 demás vecinos.

4. Luego de este proceso las bases de datos de cada router son idénticas, y cada router calcula cuáles son las rutas más ó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.

HELLO!

HELLO!HELLO!HELLO!

HELLO!

HELLO!

ADYACENCIA

ADYACENCIA

ADYACENCIA

LSA

LSA

LSA

LSA

LSALSA

SPT?

SPT?

SPT?

SPT?

Arquitectura y funcionamiento

Page 4: OSPF - Open Shortest Path First v1.2

Formato de mensajes OSPF

• 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: Dirección IPv4 que identifica al router (mayor IP de interfaz virtual, o en su ausencia, física).

• Area ID: Identificador del área OSPF a la cual pertenece la interfaz.

• Checksum: suma binaria de todo el paquete IP, para corrección de errores.

• Authentication type: igual a 0 (sin autenticación), 1 (texto claro) ó 2 (criptográfica MD5).

• Authentication data: contiene la contraseña, longitud del mensaje entre otros datos para la autenticación.

• OSPF Packet: paquete OSPF (Hello, Database description, LS Request, LS Update ó LS Acknowledgement).

IP HDR*PROT #89 OSPF MSG * TTL = 1, para asegurar el intercambio entre

vecinos directamente conectados

VERSION8 bits

TYPE PACKET LENGTH

ROUTER ID

AREA ID

CHECKSUM

AUTHENTICATION DATA

AUTHENTICATION DATA

8 bits 16 bits

AUTHENTICATION TYPE

OSPF PACKET DATA (≤ 1456 bytes aprox.)

Arquitectura y funcionamiento

Page 5: OSPF - Open Shortest Path First v1.2

Parámetros intercambiados en el paquete Hello.• Máscara de la interfaz*: máscara de red de la interfaz utilizada.

• Hello Interval*: intervalo en el cual se enviarán 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 caído.

• Router Priority: prioridad que tiene el router para convertirse en Designated Router.

• DR/BDR Address: dirección 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.

Además son importantes los siguientes parámetros que viajan en la cabecera: Router ID, Area ID* y Authentication Type*

* Estos parámetros deben ser iguales entre vecinos para que una adyacencia se pueda formar.

Arquitectura y funcionamiento

Page 6: OSPF - Open Shortest Path First v1.2

Tipos de redes OSPF Point-to-point

• No se escoge DR/BDR

• Se intercambian paquetes en 224.0.0.5 (AllSPFRouters). Hellos cada 10 segundos.

• Por defecto en PPP, HDLC y FR punto a punto.

Broadcast multiaccess (BMA)

• 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.

Non-Broadcast multiaccess (NBMA)

• Se escoge DR/BDR

• Los paquetes son unicast, los vecinos deben ser configurados manualmente. Hellos cada 30 segundos.

• Por defecto en interfaces FR o ATM multipunto.

Point-to-Mult ipoint & Point-to-Multipoint Non-Broadcast

• 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 configuración por defecto.

• Hello/Dead Interval = 30s/120s

Arquitectura y funcionamiento

Page 7: OSPF - Open Shortest Path First v1.2

DR (Designated Router)

Se escoge en redes multiaccess para disminuir el número de adyacencias y evitar tráfico de LSAs innecesario.

• 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 podría saturarse de LSAs por momentos.• Por esta razón, se escoge un DR y su backup, para que estos routers actúen como mediadores en el intercambio de LSAs.

DR

BDR

• Los demás routers establecerán relaciones llamadas 2-WAY entre sí, pero no intercambiarán 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

Page 8: OSPF - Open Shortest Path First v1.2

Proceso de formación de una adyacencia entre dos vecinos.

1. DOWN: No se ha recibido hellos del vecino.2. ATTEMPT (sólo en vecinos manuales): Se le envía 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 dirección IP en la interfaz es declarado Master y el otro Slave, según define

esta jerarquía para intercambiar los LSA en orden.

DOWN ATTEMPT

INIT EXSTART EXCHANGE

LOADING

FULL

6. EXCHANGE: Los vecinos intercambian paquetes DD (Database description), los cuales contienen sólo las cabeceras de los LSA que contienen las redes conocidas. Si uno de los routers ve que le falta un LSA o que su versión 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 recepción es confirmada con el Link State Acknowledgement.

7. LOADING: Si luego de intercambiar todos los paquetes DD aún a un vecino le faltan LSAs, los solicitará en este paso.8. FULL: La adyacencia está completa, las bases de datos son idénticas.

2-WAY

Arquitectura y funcionamiento

Page 9: OSPF - Open Shortest Path First v1.2

Proceso de formación de una adyacencia entre dos vecinos.

1. DOWN: No se ha recibido hellos del vecino.2. ATTEMPT (sólo en vecinos manuales): Se le envía 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 dirección IP en la interfaz es declarado Master y el otro Slave, según define

esta jerarquía para intercambiar los LSA en orden.6. EXCHANGE: Los vecinos intercambian paquetes DD (Database description), los cuales contienen sólo las

cabeceras de los LSA que contienen las redes conocidas. Si uno de los routers ve que le falta un LSA o que su versión 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 recepción es confirmada con el Link State Acknowledgement.

7. LOADING: Si luego de intercambiar todos los paquetes DD aún a un vecino le faltan LSAs, los solicitará en este paso.8. FULL: La adyacencia está completa, las bases de datos son idénticas.

DOWN DOWN

HELLOHELLO

INIT

HELLO

INIT

HELLO

2-WAY

HELLO

2-WAY EXSTARTEXSTART

HELLO HELLO

SLAVEMASTER

DD DD

EXCHANGEEXCHANGE

LSR LSULS ACKLSR LSULS ACK

FULLLOADING FULLFULL

Ejemplo

Después, si cambia la topología o cada 30 minutos se produce un ‘f looding’ de LSAs.

Arquitectura y funcionamiento

Page 10: OSPF - Open Shortest Path First v1.2

Á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 pequeñas.

• El área 0 ó 0.0.0.0 es llamada el área de backbone, para que exista tráfico entre áreas distintas, cada una de ellas tiene que tener conexión 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).

ABR

ABR ABR

ABR

ASBR

Área 0

Área 10 Área 3

RIP

OSPF

Arquitectura y funcionamiento

Page 11: OSPF - Open Shortest Path First v1.2

Tipos de LSA

• Router LSA (t ipo 1): lista de interfaces, estado y costos de cada router; sólo se publica dentro del área.

• Network LSA (t ipo 2): lista de routers conectados a un DR en redes multiacceso; lo produce el DR en su propia área.

• Network summary LSA (t ipo 3): se origina en el ABR hacia su propia área y publica una ruta única para cada destino fuera del área.

• ASBR summary LSA (t ipo 4): se origina en el ABR hacia su propia área y publica rutas para llegar a los ASBRs fuera del área.

• External LSA (t ipo 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 (t ipo 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 sólo 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 específicas, por ejemplo, para transportar información de túneles de Traffic Engineering en MPLS.

Arquitectura y funcionamiento

Page 12: OSPF - Open Shortest Path First v1.2

Áreas STUBSon á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 tamaño de la base de datos en el área y reducir el procesamiento de los routers en el área.

• Stub Area: Los routers no reciben rutas externas ni rutas a ASBRs (LSA 4 y 5), sólo 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.

ABR

ABR ABR

ABR

ASBR

Área 0

Área 10 Área 3

RIP

• Totally Stubby Area: Los routers no reciben rutas externas, rutas a ASBRs, ni rutas a otras áreas (LSA 3, 4 y 5), sólo reciben una ruta por defecto del ABR.

0.0.0.0

0.0.0.0

STUBT.STUB

RIP

• Not So Stubby Area (NSSA): Igual a un área Stub, pero se permite la inyección de rutas externas dentro del área con LSA 7, las cuales serán propagadas al resto del domino con LSA 5.• Not So Totally Stubby Area (NSSA): Igual a un área Totally Stubby, pero se permite la inyección de rutas externas dentro del área con LSA 7, las cuales serán propagadas al resto del domino con LSA 5.

ASBR

NSSA

Arquitectura y funcionamiento

Page 13: OSPF - Open Shortest Path First v1.2

Elección de rutas con SPFEl 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 métrica igual a la suma de los costos de los enlaces a lo largo del camino.

• El costo de cada enlace es calculado en las interfaces y es igual a 108/BW; el valor de 108 puede ser variado según la implementación.

• Las rutas externas, originadas por los ASBR, pueden ser de dos tipos:

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

- Tipo 2 (E2): La métrica de la ruta es la métrica con la que la ruta es inyectada.

SPF?

10

49

49

49

10

R2

R3

R4

R5

R1 SPF R1 a R5

Vìa R2

Vìa R3

10

10

59

59

10596949

49 Balance!

Arquitectura y funcionamiento

Page 14: OSPF - Open Shortest Path First v1.2

Casos especiales1. OSPF sobre circuitos conmutados (p.e. RDSI) Se utiliza el modo ‘OSPF over demand’, en el cual los Hellos y el envío de LSAs cada 30 minutos se deshabilitan para no provocar llamadas todo el tiempo. Sólo un cambio en la topología provocará un reenvío de LSAs.

2. Virtual links. Un ‘virtual link’ en OSPF es un enlace virtual desde cualquier área al área 0, a través de una tercera área. Generalmente se configura provisionalmente ante caídas o errores de diseño.

Área 10 Área 3

Área 13

VIRTUAL

LINK

Área 0

Un virtual-link siempre pertenece al área 0

Arquitectura y funcionamiento

Page 15: OSPF - Open Shortest Path First v1.2

Casos especiales3. 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 conexión 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 estén correctamente mapeados y con broadcast habilitado. En el caso de que la red sea partial-mesh y no full-mesh, se debe forzar la elección del DR para que se escoja el router que tiene conexión con todos los demás.

b) Configurar la red como ‘Point-to-Multipoint’, asegurando previamente que los vecinos estén correctamente mapeados y con broadcast habilitado. No existe elección de DR y BDR en este tipo de red, pero esta configuración trae problemas cuando se utilizan SVCs.

c) Cambiar la configuración a enlaces independientes punto a punto con el uso de subinterfaces, cada una con su propia subred. Se utiliza un poco más de memoria pero es la solución más recomendable.

Arquitectura y funcionamiento

Page 16: OSPF - Open Shortest Path First v1.2

Notas adicionales sobre el funcionamiento de OSPF

• La autenticación 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 definirán en qué interfaces se encuentra habilitado OSPF.

Arquitectura y funcionamiento

Page 17: OSPF - Open Shortest Path First v1.2

Comandos principales

- router ospf número de proceso habilita el proceso OSPF

- network red wildcard area area habilita OSPF en las interfaces con dirección IP contenida en la red especificada

- log-adjacency-changes envía 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 envío 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 configuración

Page 18: OSPF - Open Shortest Path First v1.2

Ejemplo de configuración

10.10.1.0/24AREA 100

R1 R2

R1interface serial0 ip ospf message-digest-key 1 md5 ciscorouter 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

10.1.1.1/30

10.1.1.2/30

R2interface serial0 ip ospf message-digest-key 1 md5 ciscorouter 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

serial0serial0 R2AR1A

R1B

10.20.1.0/24AREA 200 (stub)

R2B10.10.2.0/24

10.10.3.0/24

R1Brouter ospf 44 network 10.10.1.0 0.0.0.255 area 100 redistribute connected metric 10

R1Arouter ospf 55 network 10.10.1.0 0.0.0.255 area 100 redistribute connected metric 10

R2Brouter ospf 333 network 10.20.1.0 0.0.0.255 area 200 area 200 stub

R2Arouter ospf 200 network 10.20.1.0 0.0.0.255 area 200 area 200 stub

AREA BACKBONE

Ejemplos de configuración

Page 19: OSPF - Open Shortest Path First v1.2

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

Bibliografía y recursos

Page 20: OSPF - Open Shortest Path First v1.2

Gracias.Gracias.

Contacto acerca de esta presentación:Contacto acerca de esta presentación:Gianpietro Lavado ChiarellaGianpietro Lavado ChiarellaNetwork Consulting EngineerNetwork Consulting EngineerCisco SystemsCisco [email protected]@cisco.com / / [email protected]@cisco.com