Tous les protocoles de routage partagent des composants similaires. Ils utilisent tous des messages de protocole de routage pour échanger les informations de routage. Les messages permettent de renforcer les structures de données, qui sont ensuite traitées au moyen d'un algorithme de routage.
Les trois composants principaux du protocole de routage OSPF incluent :
Structures des données
Le protocole OSPF crée et met à jour trois bases de données : (voir la Figure 1).
- Base de données de contiguïté - Crée la table de voisinage
- Base de données d'états de liens (LSDB) - Crée la table topologique
- Base de données de réacheminement - Crée la table de routage
Ces tables contiennent une liste des routeurs voisins permettant d'échanger les informations de routage, et elles sont conservées et mises à jour dans la mémoire vive.
Messages des protocoles de routage
Le protocole OSPF échange des messages permettant de transmettre des informations de routage au moyen de cinq types de paquets. Ces paquets, comme illustré dans la Figure 2, sont les suivants :
- Paquet Hello
- Paquet DBD de description de base de données
- Paquet LSR de demande d'état de liens
- Paquet LSU de mise à jour d'état de liens
- Paquet LSAck d'accusé de réception d'état de liens
Ces paquets servent à détecter les routeurs voisins et à échanger des informations de routage pour garantir l'exactitude des informations relatives au réseau.
Algorithme
Le processeur traite les tables de voisinage et de topologie à l'aide de l'algorithme SPF de Dijkstra. L'algorithme SPF est basé sur le coût cumulé permettant d'atteindre une destination.
L'algorithme SPF crée une arborescence SPF en plaçant chaque routeur à la racine de l'arborescence et en calculant le plus court chemin vers chaque nœud. L'arborescence SPF est ensuite utilisée pour calculer les meilleures routes. Le protocole OSPF insère les meilleures routes dans la base de données de réacheminement, qui est utilisée pour créer la table de routage.