OSPF (Open Shortest Path First) - frlp.utn.edu.ar · Áreas OSPF no tiene límites de cantidad de...

20
OSPF (Open Shortest Path First) Ing. Agustín Eijo <[email protected]>

Transcript of OSPF (Open Shortest Path First) - frlp.utn.edu.ar · Áreas OSPF no tiene límites de cantidad de...

OSPF (Open Shortest Path First)

Ing. Agustín Eijo <[email protected]>

Objetivos

Tener una métrica más descriptiva que el simple conteo de saltos de RIP.

Cuando hubiese dos rutas alternativas con el mismo costo se debían poder utilizar ambas a la vez.

El protocolo debía escalar a redes de miles de routers.

Separar las redes internas de las redes externas inyectadas desde otros

sistemas autónomos.

Debía soportar un esquema de subredes con máscara de longitud variable

(VLSM CIDR).

Debía proporcionar un buen nivel de seguridad a la información de ruteo

intercambiada entre los routers.

La decisión de diseño más importante fue la elección del tipo de protocolo a

diseñar debía ser estado de enlaces (link-state).

Características Generales

Velocidad de convergencia: los cambios en la topología de la red se propagan

inmediatamente luego de producirse.

Soporte de VLSM: RIP1 no soporta máscaras de subred de longitud variable,

OSPF si lo hace.

Diámetro de la red: En RIP el diámetro de la red está limitado a 15 saltos. OSPF no

tiene virtualmente una limitación de diámetro.

Uso de ancho de banda: En RIP cada 30 segundos se envía por difusión a todos

los vecinos la tabla de ruteo completa. En OSPF una vez que las bases de datos

de topología están sincronizadas solo se transmiten los cambios que se produzcan.

Tipo de métrica: La métrica de RIP es muy pobre. OSPF introduce una métrica

basada en costos que le permite seleccionar las rutas en forma más óptima.

La Red como un grafo

La red puede expresarse como un grafo dirigido con peso donde:

Los vértices son las Redes y Routers.

Las aristas unen los routers con la redes o routers con routers para

el caso de enlaces punto a punto.

Un peso como la función que asocia el valor de ir desde un vértice a

otro.

La Red como un grafo

La Red como un grafo

El dígrafo puede representarse

como un matriz.

Cada Interfaz tiene asociada un

“Costo de Salida” el costo de ir de

una RED a una ROUTER siempre

es 0 (cero) sin embargo esto

implica una conexión entre ambos.

Cada Router calcula el árbol de

caminos mínimos (SPT) para llegar

desde la raíz (Router en cuestión)

hacía cada una de las redes.

Árbol de camino mínimos

Tabla de ruteo obtenida:

Terminología

Router: Un conmutador de paquetes IP.

Red: red, superred o subred IP. Pueden ser Punto a Punto, Red de Difusión ( Broadcast ) o

Redes sin Difusión ( non-broadcast ) .

Interfaz: Elemento que conecta a un router con una red.

Costo: Métrica adimensional. En OSPF cada interfaz tiene un costo de salida. El costo de ir

desde un punto a otro de la red es la suma de los costos de todos los saltos a recorrer.

Sistema Autónomo: Un grupo de routers intercambiando información de ruteo mediante un

protocolo en común.

Router ID: Un numero de 32 bits que identifica unívocamente a un router dentro de un sistema

autónomo OSPF. Suele utilizarse una de las direcciones IP del router como Router ID.

Routers vecinos: Dos routers que tienen interfaces en una red en común.

Adyacencia: Una relación formada entre algunos routers vecinos con el propósito de intercambiar

información de ruteo. No todos los routers que son vecinos entre si forman adyacencia.

Área: OSPF permite agrupar un conjunto de redes contiguas. Cada área tendrá su propia base de

datos de estado de enlaces (LSDB) y su grafo correspondiente.

Terminología

Link State Advertisement (LSA): Unidad de datos que describe el estado de un router o una red.

Cada LSA se distribuye por todo el área.

Link State Database (LSDB): Conjunto de los LSA de todos los routers y redes del sistema

autónomo. También se conoce como base de datos topológica. Todos los routers dentro de un

área tienen la misma LSDB.

Protocolo Hello: La parte del protocolo OSPF que se usa para establecer las relaciones entre los

routers vecinos. En las redes de difusión también permite descubrir dinámicamente cuales son los

routers vecinos.

Inundación (Flooding): Proceso del protocolo OSPF que distribuye y sincroniza las LSDBs entre

routers.

Router Designado (DR): Cada red de difusión y sin difusión (NBMA) que tiene al menos dos

routers tiene un DR. El DR genera el LSA de la red y tiene otras responsabilidades. El DR se elige

mediante el protocolo Hello.

Router Designado de Backup (BDR): Cada red de difusión y sin difusión (NBMA) que tiene al

menos dos routers tiene un BDR. El BDR toma el rol de DR si el DR falla.

Áreas

OSPF no tiene límites de cantidad de routers, redes ni diámetro de la red.

Cuando el sistema autónomo crece cada uno de los routers debe tener una copia de la base de datos (LSDB) y contar con la memoria y procesamiento suficiente.

OSPF permite particionarse en áreas, donde cada área ejecutará el algoritmo básico de OSPF y solo se intercambiarán resúmenes entre áreas.

La topología de la red pasará a ser invisible desde otras aéreas.

Debe existir al menos el Área 0 (Backbone) y todo el resto de las áreas deben tener conexión con el Área 0.

Áreas

Los routers se clasifican en:

Internal Router (IR): Un router con todas sus interfaces conectadas a la misma área. Estos routers ejecutan una sola copia del algoritmo básico de OSPF, es decir que tienen solo una LSDB, la del área a la que están conectados.

Area Border Router (ABR): Un router que esta conectado a más de un área. Un ABR ejecuta tantas copias del algoritmo básico de OSPF como áreas a las que está conectado.

Backbone Router (BR): Un router que está conectado al área 0. Esto incluye tanto los routers con todas sus interfaces conectadas al área 0 como a los routers con interfaces en el backbone y en otras áreas (ABR).

ASBoundary Router (ASBR): Un router que intercambia información de ruteo con routers pertenecientes a otros sistemas autónomos. Este router inyecta dentro del sistema autónomo OSPF rutas externas. Esta clasificación es completamente independiente de las tres previas: los ASBR pueden ser IR, ABR y pueden o no participar del backbone (BR).

Base de datos (LSDB)

La base de datos LSDB (Link State Database) está compuesta por LSA (Link State Advertisement) estos son los elementos básicos de esta base de base de datos.

Los LSA se dividen según el elemento que describen en:

Router (1): Cada router origina su propio LSA que lo describe a si mismo.

Network (2): Describe a una red de tránsito.

Summary IP Network (3): Resumen de las redes de un área que hacen los ABR para distribuir la información a otras áreas.

Summary ASBR (4): Identifica a un ASBR.

AS External (5): Rutas externas inyectadas por los ASBR.

Sincronización de la LSDB

OSPF crea el concepto de adyacencia entre routers vecinos con el propósito de intercambiar información de ruteo.

Todos los routers deben tener la LSDB sincronizada. OSPF simplifica esto requiriendo que solo aquellos routers adyacentes estén sincronizados.

En redes Punto a Punto los equipos siempre serán adyacentes es decir deberán estar sincronizados.

En redes de Múltiple Acceso (con o sin difusión) donde pueden existir mas de 2 routers se elige entre los routers que componen la red, un router que se denominará Designed Router (DR) quien será el encargado de crear el registro LSA para la Red y establecer adyacencias con el resto de los routers vecinos.

Como las tareas de un DR son complejas y costosas, también se selecciona un Router Designado de Backup (BDR) quien deberá formar adyacencias con el resto de los Routers y tomar el rol del DR rápidamente en caso de ausencia.

Protocolo OSPF

El protocolo OSPF opera en capa de red, y define cinco tipos de paquetes:

1. Protocolo Hello.

2. Database Description (DBD).

3. Link State Request (LSAreq).

4. Link State Update (LSAupd).

5. Link State Acknowledgement (LSAack).

El Protocolo Hello

El Protocolo Hello es el responsable de establecer y mantener las relaciones

entre los router vecinos.

Los paquetes Hello son enviados periódicamente a todas las interfaces del

router. La comunicación bidireccional se establece al encontrarse él como

vecino en los Paquetes Hello de otro router.

El Protocolo Hello actúa en las redes con difusión, redes sin difusión y redes

punto a punto.

En las redes con difusión cada router se advierte periódicamente enviando

Paquetes Hello a la dirección multicast IP AllSPFRouters (224.0.0.5), esto

permite a los vecinos ser descubiertos dinámicamente.

Estos paquetes permiten identificar al Router Designado DR, BDR y la lista de

vecinos que han enviado Paquetes Hello recientemente.

En caso de no existir el DR y el BDR se debe elegir aquel router que tenga

mayor prioridad en la red. Una vez seleccionado el DR y BDR estos se

mantienen hasta que pierda actividad en OSPF no obstante ingrese un router

con mayor prioridad.

El Protocolo Hello

Formato de los paquetes Hello:

Network Mask: La mascara de red asociada a la interface.

Hello Interval: El número de segundo entre los envíos periódicos de Paquetes Hello.

Options: Capacidades opcionales soportadas por el router.

Rtr Priority: La prioridad de del router para la elección del Router Designado y el Router Designado de Backup, si está prioridad es cero

nunca será seleccionado como Router Designado o Router Designado de Backup.

RouterDeadInterval: El número de segundo que deben transcurrir antes de declarar que un router está fuera.

Designated Router (DR): El Router-ID del Router Designado para la red. Debe ser seteado en 0.0.0.0 si no hay un Router Designado.

Backup Designated Router (BDR): El Router-ID del Router Designado de Backup para la red. Debe ser seteado en 0.0.0.0 si no hay.

Neighbors: Los Router-ID de cada uno de los routers que han enviado Paquetes Hello recientemente..

0 8 16 24

Network Mask

Hello Interval Options Router Priority

Router Dead Interval

Designated Router (DR)

Backup Designated Router (BDR)

Neighbor 1 (Router-ID)

Neighbor N (Router-ID)

El Protocolo Hello

Relación entre routers vecinos:

DOWN: no encuentra ningún vecino.

INIT: Recibió un paquete Hello de algún router vecino.

TWO-WAY: Comunicación Bidireccional el router figura en la lista de vecinos de los paquetes Hello generados por otro Router. Aquellos routers que no establezcan adyacencia quedarán en este estado.

EXSTART: Aquellos router que establecen adyacencia deben comenzar la sincronización. Se define quien será el master y quien el slave.

EXCHANGE: En este estado se intercambian los paquetes tipo 2 Database Description (DBD).

LOADING: Una vez que terminaron de describir sus LSDB. Cada router solicita aquellos LSA que considera nuevos, hasta quedar sincronizados.

FULL: La LSDB se encuentra sincronizada.

El Protocolo Hello

Ejemplo de establecimiento de adyacencias:

Sincronización de la LSDB

Ejemplo de sincronización de la LSDB

Ejemplo: Práctica ejemplo

R1

R2

R4

R3

2.0.0.0/241.0.0.0/245.0.0.0/24

3.0.0.0/24

4.0.0.0/24

H1 1.0.0.10

H2 5.0.0.10

.251

.252

.

.253.1

.1

.2

.2

.254.254