OSPF usa un algoritmo llamado SPF que ya sabemos que busca los caminos de menor costo teniendo en cuenta que debe generar una topología libre de loops de enrutamiento. Cada nodo que lo utiliza contiene en memoria un mapa completo de la red para que se le permita calcular las rutas, por lo que es evidente que este protocolo va a tener requerimientos más altos en lo que se refiere a memoria y procesamiento en cada router donde se ejecute.
Dentro de los parámetros requeridos para funcionar, cualquier router que ejecuta OSPF requiere de lo que se denomina un router-id, que es básicamente un número de 32 bits que identifica unívocamente a cada equipo.
El router-id se selecciona de la siguiente manera:
- Utiliza el id configurado con el comando router-id.
- Si existe una loopback configurada, utiliza su dirección IP como router-id.
- Si existen varias loopback configuradas, busca la que tenga la IP más alta.
- Finalmente, si no hay ninguna loopback configurada, utiliza la IP más alta que encuentra en las interfaces.
Ahora viene la pregunta lógica... ¿por qué una loopback?.
Bien, veamos que si el equipo no tiene un router-id el proceso de enrutamiento se cae, por lo que se pierde la convergencia. Si yo pongo el proceso de OSPF asignado a una IP de una interfase (por ejemplo una ethernet) y esa ethernet se cae (se desconecta, falla el cable, se apaga el switch, etc...) el proceso de enrutamiento se cae también, obligando a elegir otro router-id y recomenzar el cálculo de todo de nuevo.
Ahora, una loopback es una interface que es virtual y nunca se va a caer salvo que le pongamos el fastuoso comando shutdown o la borremos. Con esto aseguramos que el proceso de OSPF se mantenga activo siempre.
Ya que tenemos el proceso de elección del router-id concluído, hay determinadas cuestiones que hacen a la optimización de recursos que se debieron tener en cuenta al momento de definir el protocolo.
Sabemos que los routers generan lo que se llama un Link State Update (LSU) que contiene Link State Advertisements (LSA) que son básicamente paquetes de datos que contienen los enlaces directamente conectados con todos los detalles de dicho enlace. Esto lo envía cada router a todos sus vecinos directamente conectados, que a su vez luego reenvían a los demás.
Esto es lo que se llama la inundación de información de LSA's, y básicamente es el proceso en el que cada router aprende todos los enlaces de toda la red para luego armar el famoso mapa topológico en su memoria que posteriormente se procesa con el algoritmo SPF.
El problema del multiacceso:
Supongamos que tenemos un switch ethernet donde están conectados varios routers -en la misma VLAN-.
Si cada router debe enviar los LSU a todos los otros, resulta que debo tener demasiados diálogos (uno por cada vecino), quedando para toda la VLAN:
[math]DialogosTotales=\frac{n(n-1)}{2}[/math]
Digamos, si tenemos 8 routers se deben establecer [math]\frac{8(8-1)}{2}[/math], es decir 28 conversaciones para enviar la información a todos los vecinos. Esto genera una carga extra en todos los equipos que puede -y debe- ser evitada.
La solución: el DR.
El Designated Router es el puesto que toma uno de los routers de cada segmento multiacceso. Se utiliza para que los intercambios de LSU se realicen sólo contra el DR. Es decir, todos los routers dialogan (intercambian LSU) únicamente contra el DR, y con esto se logra:
DialogosTotales=n-1, es decir que si hay 8 routers en el segmento y un DR, se establecen 7 diálogos de intercambio de LSU.
¿Cómo se selecciona el DR?
Muy fácil:
- El router que tenga configurada a mano la ip ospf priority más alta en la interfase.
- El router que tenga el router-id más alto.
Agregando redundancia: el BDR.
El Backup Designated Router es otro router que realiza intercambios de LSU con los demás nodos del segmento multiacceso. Se utiliza para agregar redundancia, ya que si el DR se cae, el BDR lo reemplazará para mantener la convergencia. Obviamente el BDR también estaba dialogando con el resto de los equipos.
Esto lleva la relación anterior a:
[math]DialogosTotales=2n-3[/math] es decir que si hay 8 routers en el segmento y un DR y BDR, se establecen 13 diálogos de intercambio de LSU.
Por lo que vemos es un buen balance entre cantidad de diálogos y redundancia.
¿Cómo se elige el BDR?
- El router que tenga configurada la ip ospf priority más baja que el DR pero más alta que el resto.
- El router que tenga el router-id más bajo que el DR pero más alto que el resto.
Por defecto la priority de todas las interfaces está configurada en 1. Si configuramos en 0, ese router nunca va a tratar de ser DR o BDR.
Obviamente queda mucho más por decir acerca de este protocolo, pero lo voy a dejar aquí para poder responder sus comentarios y ampliar el tema si es que les interesa.
Saludos.
42 comentarios:
Muy bueno!
que lastima que allá pasado tanto tiempo sin comentario el articulo. Esta muy bueno, simple y claro, nada avanzado pero preciso,cumple con el objetivo de enseñar.
felicitaciones.
Gracias, de rebote me ayuda para evaluar mejoras en la red en la que trabajo.
Muy buen aporte, es breve y entendible, me saco muchas que tenia
Exelente trabajo, es muy util para los que estamos aprendiendo redes y todabia no sabemos casi nada de OSPF. Espero mas material como por ej configuraciones practicas que pueda simular en el packet tracer
Esta muy bien, pero deberías ampliar mas pese a los comentarios..
información introductoria muy clara y precisa, muchas gracias por el aporte
excelente muchas gracias
Excelente explicación, muchas gracias
MUY BUENO ME SACO DE LA DUDA.
Muchas gracias! Buen articulo. Sencillo y conciso.
esta es la mejor explicación que he leído sobre esto, buen aporte
Excelente información,muchas gracias por compartir
Gracias. Muy buena informacion.
muy bueno..q éxito.gracias
Muy bueno mi amigo, de hecho estoy en clase en este momento y me sirvio de mucho.
Bueno, claro y preciso. Gracias por compartir.
¿Qué es el "router-id"?
es un número de 32 bits (en forma dot-quad de IPv4) que identifica unívocamente un router en toda la red de ospf
Excelente blog! Muy bien detallado, simple y muy buen contenido.
gracias por la ayuda :)
Muy buen post
Gracias me sirvió para recordarlo.
exelente, en 5 minutos le entendi mas facil que lo planteado por el docente en la universidad
Probaste 'show ip ospf neighbor' ?
Muy buen tutorial, consulta en caso que todos las interfaces tengas la misma prioridad y solo 4 routers de 5 routers tengan configurado el router-id, cual sería el DR en ese caso?
el router id se configura a mano o sino se elige automáticamente segun la ip más alta. OSPF no funciona sin un id único.
Ariel, gracias por tu respuesta. A lo que me refiero es en un escenario de red broadcast de 5 routers, 4 de ellos tienen configurado su router-id pero el R5 no tiene un router-id configurado, este R5 tomaria coo router-id la ip de su interfaz fisica? y considerando el mismo cual sería el DR? Gracias nuevamente.
De nuevo, para que OSPF funcione, necesita un router-id, que se elige de la siguiente manera:
1) Utiliza el id configurado con el comando router-id.
2) Si existe una loopback configurada, utiliza su dirección IP como router-id.
2a) Si existen varias loopback configuradas, busca la que tenga la IP más alta.
3) Finalmente, si no hay ninguna loopback configurada, utiliza la IP más alta que encuentra en las interfaces.
Siempre hay un router ID. Salvo que el equipo no tenga ninguna IP configurada, y por lo tanto no anda el ruteo IP.
En cuanto al DR, depende de las priorities o del router ID asignado a mano o en forma automática.
Ariel, buenas, tengo otra consulta. cual seria el DR y BDR en un escenario broadcast configurado con ospf area 0 con red:172.18.20.0/24 donde el R1(G0/0:172.18.20.1 Lo0:10.10.10.10/31) - R2(G0/0: 172.18.20.2 Router-id:2.2.2.2) - R3(G0/0:172.18.20.3) - R4(G0/0:172.18.20.4 Lo0:4.4.4.4/32)...
Explicación clara y precisa para entender los principios de funcionamiento de OSPF.
gracias por la informacion
Explicación muy buena para entender los principios de funcionamiento de OSPF.
Entiendo que si DR cae, el BDR se convierte en DR. En este momento hay BDR?
Si DR se recupera...vuelven a la situación inicial? o sea, el que es DR vuelve a ser BDR y el que se recupera DR?
En qué casos se "invoca" otra vez una nueva elección?
gracias.
Excelente! claro y conciso!!
Muchas Gracias!
Bueno artículo pregunta si dos routers tienen prioridad en sus interfaces una cero y otra uno están participando o no en elección de DR Y BDR o no y de estos cuál tiene prioridad,?
muy preciso! gracias
Excelente,de los mejores que he leído!
gracias , bien explicado
muy bueno para comenzar sin revolverse tanto
año 2020 y esta publicacion sigue ayudando!
Excelente aportación, es muy preciso para quien se encuentra en aprendizaje de este protocolo de enrutamiento.
Thanks for sharing the article.
Publicar un comentario