Todos los protocolos de routing comparten componentes similares. Todos usan mensajes de protocolo de routing para intercambiar información de la ruta. Los mensajes contribuyen a armar estructuras de datos, que luego se procesan con un algoritmo de routing.
Los tres componentes principales del protocolo de routing OSPF incluyen lo siguiente:
Estructuras de datos
OSPF crea y mantiene tres bases de datos (consulte la figura 1):
- Base de datos de adyacencia: crea la tabla de vecinos.
- Base de datos de estado de enlace (LSDB): crea la tabla de topología.
- Base de datos de reenvío: crea la tabla de routing.
Estas tablas contienen una lista de routers vecinos para intercambiar información de routing, y se guardan y mantienen en la RAM.
Mensajes de protocolo de routing
OSPF intercambia mensajes para transmitir información de routing mediante cinco tipos de paquetes. Estos paquetes, los cuales se muestran en la figura 2, son los siguientes:
- Paquete de saludo
- Paquete de descripción de la base de datos
- Paquete de solicitud de estado de enlace
- Paquete de actualización de estado de enlace
- Paquete de acuse de recibo de estado de enlace
Estos paquetes se usan para descubrir routers vecinos y también para intercambiar información de routing a fin de mantener información precisa acerca de la red.
Algoritmo
La CPU procesa las tablas de vecinos y de topología mediante el algoritmo SPF de Dijkstra. El algoritmo SPF se basa en el costo acumulado para llegar a un destino.
El algoritmo SPF crea un árbol SPF posicionando cada router en la raíz del árbol y calculando la ruta más corta hacia cada nodo. Luego, el árbol SPF se usa para calcular las mejores rutas. OSPF coloca las mejores rutas en la base de datos de reenvío, que se usa para crear la tabla de routing.