Dijkstra pas à pas — Tableaux de calcul (5 routeurs)
Contexte
Matière : _Reseaux · Type : exercice corrigé, méthode du tableau Fiche associée : Dijkstra — Tables de routage OSPF 5 routeurs (topologie, matrice des distances, explorer interactif) Cours : 2026-09-11 — OSPF et algorithme à état de lien
🗺️ Rappel de la topologie

Coûts des interfaces sortantes par routeur :
| Routeur | Réseaux attachés (coût de l’interface) |
|---|---|
| R1 | .1 (2) · .2 (20) · .3 (5) · .4 (20) |
| R2 | .2 (20) · .5 (2) · .9 (10) |
| R3 | .3 (5) · .6 (2) · .7 (10) |
| R4 | .4 (20) · .7 (10) · .8 (2) · .10 (10) |
| R5 | .9 (10) · .10 (10) · .11 (2) |
.n désigne le réseau 10.n.0.0/16.
🧮 Méthode du tableau
Comment se lit un tableau
- Colonnes : les 11 réseaux.
- Lignes : la première est le routeur de départ, chaque ligne suivante porte le nom du réseau qu’on vient de retenir.
- Case
coût.Rx: meilleur coût connu pour joindre ce réseau, et Rx le routeur qui émet sur ce réseau (le dernier saut).**[coût.Rx]**: le minimum de la ligne, c’est le réseau retenu à cette étape. Il devient–sur toutes les lignes suivantes.∞: réseau pas encore découvert.
À chaque étape
- Prendre le réseau retenu (coût c).
- Regarder les routeurs attachés à ce réseau. Pour chaque routeur pas encore atteint : il est atteint au coût c.
- Pour chacun de ses autres réseaux :
c + coût de l'interface.
- Plus petit que la valeur actuelle → on remplace (✓).
- Plus grand → on garde l’ancienne (✗).
- Égal → on garde les deux émetteurs : ECMP.
- Recopier la ligne, encadrer le nouveau minimum. En cas d’égalité, prendre le plus petit numéro de réseau.
Erreur classique
Retenir une valeur qui n’est pas le minimum de la ligne. Exemple sur R2 : retenir
.8 = 22alors que.2 = 20est encore en lice. Le résultat final reste souvent juste, mais le déroulé est faux et c’est ce qui est noté.
R1
| Retenu | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .10 | .11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| R1 | [2.R1] | 20.R1 | 5.R1 | 20.R1 | ∞ | ∞ | ∞ | ∞ | ∞ | ∞ | ∞ |
| .1 | – | 20.R1 | [5.R1] | 20.R1 | ∞ | ∞ | ∞ | ∞ | ∞ | ∞ | ∞ |
| .3 | – | 20.R1 | – | 20.R1 | ∞ | [7.R3] | 15.R3 | ∞ | ∞ | ∞ | ∞ |
| .6 | – | 20.R1 | – | 20.R1 | ∞ | – | [15.R3] | ∞ | ∞ | ∞ | ∞ |
| .7 | – | 20.R1 | – | 20.R1 | ∞ | – | – | [17.R4] | ∞ | 25.R4 | ∞ |
| .8 | – | [20.R1] | – | 20.R1 | ∞ | – | – | – | ∞ | 25.R4 | ∞ |
| .2 | – | – | – | [20.R1] | 22.R2 | – | – | – | 30.R2 | 25.R4 | ∞ |
| .4 | – | – | – | – | [22.R2] | – | – | – | 30.R2 | 25.R4 | ∞ |
| .5 | – | – | – | – | – | – | – | – | 30.R2 | [25.R4] | ∞ |
| .10 | – | – | – | – | – | – | – | – | 30.R2 | – | [27.R5] |
| .11 | – | – | – | – | – | – | – | – | [30.R2] | – | – |
Calculs étape par étape
- R1 : départ, .1 = 0+2 = 2 ✓ · .2 = 0+20 = 20 ✓ · .3 = 0+5 = 5 ✓ · .4 = 0+20 = 20 ✓ → on retient .1 (2)
- .1 : aucun nouveau routeur → on retient .3 (5)
- .3 : R3 atteint à 5 · .6 = 5+2 = 7 ✓ · .7 = 5+10 = 15 ✓ → on retient .6 (7)
- .6 : aucun nouveau routeur → on retient .7 (15)
- .7 : R4 atteint à 15 · .4 = 15+20 = 35 > 20 ✗ · .8 = 15+2 = 17 ✓ · .10 = 15+10 = 25 ✓ → on retient .8 (17)
- .8 : aucun nouveau routeur → on retient .2 (20)
- .2 : R2 atteint à 20 · .5 = 20+2 = 22 ✓ · .9 = 20+10 = 30 ✓ → on retient .4 (20)
- .4 : aucun nouveau routeur → on retient .5 (22)
- .5 : aucun nouveau routeur → on retient .10 (25)
- .10 : R5 atteint à 25 · .9 = 25+10 = 35 > 30 ✗ · .11 = 25+2 = 27 ✓ → on retient .11 (27)
- .11 : aucun nouveau routeur → on retient .9 (30)
Table de routage R1
| Réseau | Coût | Émis par | Next-hop |
|---|---|---|---|
10.1.0.0 | 2 | R1 | DC |
10.3.0.0 | 5 | R1 | DC |
10.6.0.0 | 7 | R3 | R3 |
10.7.0.0 | 15 | R3 | R3 |
10.8.0.0 | 17 | R4 | R3 |
10.2.0.0 | 20 | R1 | DC |
10.4.0.0 | 20 | R1 | DC |
10.5.0.0 | 22 | R2 | R2 |
10.10.0.0 | 25 | R4 | R3 |
10.11.0.0 | 27 | R5 | R3 |
10.9.0.0 | 30 | R2 | R2 |
R2
| Retenu | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .10 | .11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| R2 | ∞ | 20.R2 | ∞ | ∞ | [2.R2] | ∞ | ∞ | ∞ | 10.R2 | ∞ | ∞ |
| .5 | ∞ | 20.R2 | ∞ | ∞ | – | ∞ | ∞ | ∞ | [10.R2] | ∞ | ∞ |
| .9 | ∞ | 20.R2 | ∞ | ∞ | – | ∞ | ∞ | ∞ | – | 20.R5 | [12.R5] |
| .11 | ∞ | [20.R2] | ∞ | ∞ | – | ∞ | ∞ | ∞ | – | 20.R5 | – |
| .2 | 22.R1 | – | 25.R1 | 40.R1 | – | ∞ | ∞ | ∞ | – | [20.R5] | – |
| .10 | [22.R1] | – | 25.R1 | 40.R1/R4 | – | ∞ | 30.R4 | 22.R4 | – | – | – |
| .1 | – | – | 25.R1 | 40.R1/R4 | – | ∞ | 30.R4 | [22.R4] | – | – | – |
| .8 | – | – | [25.R1] | 40.R1/R4 | – | ∞ | 30.R4 | – | – | – | – |
| .3 | – | – | – | 40.R1/R4 | – | [27.R3] | 30.R4 | – | – | – | – |
| .6 | – | – | – | 40.R1/R4 | – | – | [30.R4] | – | – | – | – |
| .7 | – | – | – | [40.R1/R4] | – | – | – | – | – | – | – |
Calculs étape par étape
- R2 : départ, .2 = 0+20 = 20 ✓ · .5 = 0+2 = 2 ✓ · .9 = 0+10 = 10 ✓ → on retient .5 (2)
- .5 : aucun nouveau routeur → on retient .9 (10)
- .9 : R5 atteint à 10 · .10 = 10+10 = 20 ✓ · .11 = 10+2 = 12 ✓ → on retient .11 (12)
- .11 : aucun nouveau routeur → on retient .2 (20)
- .2 : R1 atteint à 20 · .1 = 20+2 = 22 ✓ · .3 = 20+5 = 25 ✓ · .4 = 20+20 = 40 ✓ → on retient .10 (20)
- .10 : R4 atteint à 20 · .4 = 20+20 = 40 = 40 → ECMP · .7 = 20+10 = 30 ✓ · .8 = 20+2 = 22 ✓ → on retient .1 (22)
- .1 : aucun nouveau routeur → on retient .8 (22)
- .8 : aucun nouveau routeur → on retient .3 (25)
- .3 : R3 atteint à 25 · .6 = 25+2 = 27 ✓ · .7 = 25+10 = 35 > 30 ✗ → on retient .6 (27)
- .6 : aucun nouveau routeur → on retient .7 (30)
- .7 : aucun nouveau routeur → on retient .4 (40)
Table de routage R2
| Réseau | Coût | Émis par | Next-hop |
|---|---|---|---|
10.5.0.0 | 2 | R2 | DC |
10.9.0.0 | 10 | R2 | DC |
10.11.0.0 | 12 | R5 | R5 |
10.2.0.0 | 20 | R2 | DC |
10.10.0.0 | 20 | R5 | R5 |
10.1.0.0 | 22 | R1 | R1 |
10.8.0.0 | 22 | R4 | R5 |
10.3.0.0 | 25 | R1 | R1 |
10.6.0.0 | 27 | R3 | R1 |
10.7.0.0 | 30 | R4 | R5 |
10.4.0.0 | 40 | R1/R4 | R1 / R5 |
R3
| Retenu | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .10 | .11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| R3 | ∞ | ∞ | 5.R3 | ∞ | ∞ | [2.R3] | 10.R3 | ∞ | ∞ | ∞ | ∞ |
| .6 | ∞ | ∞ | [5.R3] | ∞ | ∞ | – | 10.R3 | ∞ | ∞ | ∞ | ∞ |
| .3 | [7.R1] | 25.R1 | – | 25.R1 | ∞ | – | 10.R3 | ∞ | ∞ | ∞ | ∞ |
| .1 | – | 25.R1 | – | 25.R1 | ∞ | – | [10.R3] | ∞ | ∞ | ∞ | ∞ |
| .7 | – | 25.R1 | – | 25.R1 | ∞ | – | – | [12.R4] | ∞ | 20.R4 | ∞ |
| .8 | – | 25.R1 | – | 25.R1 | ∞ | – | – | – | ∞ | [20.R4] | ∞ |
| .10 | – | 25.R1 | – | 25.R1 | ∞ | – | – | – | 30.R5 | – | [22.R5] |
| .11 | – | [25.R1] | – | 25.R1 | ∞ | – | – | – | 30.R5 | – | – |
| .2 | – | – | – | [25.R1] | 27.R2 | – | – | – | 30.R5 | – | – |
| .4 | – | – | – | – | [27.R2] | – | – | – | 30.R5 | – | – |
| .5 | – | – | – | – | – | – | – | – | [30.R5] | – | – |
Calculs étape par étape
- R3 : départ, .3 = 0+5 = 5 ✓ · .6 = 0+2 = 2 ✓ · .7 = 0+10 = 10 ✓ → on retient .6 (2)
- .6 : aucun nouveau routeur → on retient .3 (5)
- .3 : R1 atteint à 5 · .1 = 5+2 = 7 ✓ · .2 = 5+20 = 25 ✓ · .4 = 5+20 = 25 ✓ → on retient .1 (7)
- .1 : aucun nouveau routeur → on retient .7 (10)
- .7 : R4 atteint à 10 · .4 = 10+20 = 30 > 25 ✗ · .8 = 10+2 = 12 ✓ · .10 = 10+10 = 20 ✓ → on retient .8 (12)
- .8 : aucun nouveau routeur → on retient .10 (20)
- .10 : R5 atteint à 20 · .9 = 20+10 = 30 ✓ · .11 = 20+2 = 22 ✓ → on retient .11 (22)
- .11 : aucun nouveau routeur → on retient .2 (25)
- .2 : R2 atteint à 25 · .5 = 25+2 = 27 ✓ · .9 = 25+10 = 35 > 30 ✗ → on retient .4 (25)
- .4 : aucun nouveau routeur → on retient .5 (27)
- .5 : aucun nouveau routeur → on retient .9 (30)
Table de routage R3
| Réseau | Coût | Émis par | Next-hop |
|---|---|---|---|
10.6.0.0 | 2 | R3 | DC |
10.3.0.0 | 5 | R3 | DC |
10.1.0.0 | 7 | R1 | R1 |
10.7.0.0 | 10 | R3 | DC |
10.8.0.0 | 12 | R4 | R4 |
10.10.0.0 | 20 | R4 | R4 |
10.11.0.0 | 22 | R5 | R4 |
10.2.0.0 | 25 | R1 | R1 |
10.4.0.0 | 25 | R1 | R1 |
10.5.0.0 | 27 | R2 | R1 |
10.9.0.0 | 30 | R5 | R4 |
R4
| Retenu | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .10 | .11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| R4 | ∞ | ∞ | ∞ | 20.R4 | ∞ | ∞ | 10.R4 | [2.R4] | ∞ | 10.R4 | ∞ |
| .8 | ∞ | ∞ | ∞ | 20.R4 | ∞ | ∞ | [10.R4] | – | ∞ | 10.R4 | ∞ |
| .7 | ∞ | ∞ | 15.R3 | 20.R4 | ∞ | 12.R3 | – | – | ∞ | [10.R4] | ∞ |
| .10 | ∞ | ∞ | 15.R3 | 20.R4 | ∞ | [12.R3] | – | – | 20.R5 | – | 12.R5 |
| .6 | ∞ | ∞ | 15.R3 | 20.R4 | ∞ | – | – | – | 20.R5 | – | [12.R5] |
| .11 | ∞ | ∞ | [15.R3] | 20.R4 | ∞ | – | – | – | 20.R5 | – | – |
| .3 | [17.R1] | 35.R1 | – | 20.R4 | ∞ | – | – | – | 20.R5 | – | – |
| .1 | – | 35.R1 | – | [20.R4] | ∞ | – | – | – | 20.R5 | – | – |
| .4 | – | 35.R1 | – | – | ∞ | – | – | – | [20.R5] | – | – |
| .9 | – | 35.R1 | – | – | [22.R2] | – | – | – | – | – | – |
| .5 | – | [35.R1] | – | – | – | – | – | – | – | – | – |
Calculs étape par étape
- R4 : départ, .4 = 0+20 = 20 ✓ · .7 = 0+10 = 10 ✓ · .8 = 0+2 = 2 ✓ · .10 = 0+10 = 10 ✓ → on retient .8 (2)
- .8 : aucun nouveau routeur → on retient .7 (10)
- .7 : R3 atteint à 10 · .3 = 10+5 = 15 ✓ · .6 = 10+2 = 12 ✓ → on retient .10 (10)
- .10 : R5 atteint à 10 · .9 = 10+10 = 20 ✓ · .11 = 10+2 = 12 ✓ → on retient .6 (12)
- .6 : aucun nouveau routeur → on retient .11 (12)
- .11 : aucun nouveau routeur → on retient .3 (15)
- .3 : R1 atteint à 15 · .1 = 15+2 = 17 ✓ · .2 = 15+20 = 35 ✓ · .4 = 15+20 = 35 > 20 ✗ → on retient .1 (17)
- .1 : aucun nouveau routeur → on retient .4 (20)
- .4 : aucun nouveau routeur → on retient .9 (20)
- .9 : R2 atteint à 20 · .2 = 20+20 = 40 > 35 ✗ · .5 = 20+2 = 22 ✓ → on retient .5 (22)
- .5 : aucun nouveau routeur → on retient .2 (35)
Table de routage R4
| Réseau | Coût | Émis par | Next-hop |
|---|---|---|---|
10.8.0.0 | 2 | R4 | DC |
10.7.0.0 | 10 | R4 | DC |
10.10.0.0 | 10 | R4 | DC |
10.6.0.0 | 12 | R3 | R3 |
10.11.0.0 | 12 | R5 | R5 |
10.3.0.0 | 15 | R3 | R3 |
10.1.0.0 | 17 | R1 | R3 |
10.4.0.0 | 20 | R4 | DC |
10.9.0.0 | 20 | R5 | R5 |
10.5.0.0 | 22 | R2 | R5 |
10.2.0.0 | 35 | R1 | R3 |
R5
| Retenu | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .10 | .11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| R5 | ∞ | ∞ | ∞ | ∞ | ∞ | ∞ | ∞ | ∞ | 10.R5 | 10.R5 | [2.R5] |
| .11 | ∞ | ∞ | ∞ | ∞ | ∞ | ∞ | ∞ | ∞ | [10.R5] | 10.R5 | – |
| .9 | ∞ | 30.R2 | ∞ | ∞ | 12.R2 | ∞ | ∞ | ∞ | – | [10.R5] | – |
| .10 | ∞ | 30.R2 | ∞ | 30.R4 | [12.R2] | ∞ | 20.R4 | 12.R4 | – | – | – |
| .5 | ∞ | 30.R2 | ∞ | 30.R4 | – | ∞ | 20.R4 | [12.R4] | – | – | – |
| .8 | ∞ | 30.R2 | ∞ | 30.R4 | – | ∞ | [20.R4] | – | – | – | – |
| .7 | ∞ | 30.R2 | 25.R3 | 30.R4 | – | [22.R3] | – | – | – | – | – |
| .6 | ∞ | 30.R2 | [25.R3] | 30.R4 | – | – | – | – | – | – | – |
| .3 | [27.R1] | 30.R2 | – | 30.R4 | – | – | – | – | – | – | – |
| .1 | – | [30.R2] | – | 30.R4 | – | – | – | – | – | – | – |
| .2 | – | – | – | [30.R4] | – | – | – | – | – | – | – |
Calculs étape par étape
- R5 : départ, .9 = 0+10 = 10 ✓ · .10 = 0+10 = 10 ✓ · .11 = 0+2 = 2 ✓ → on retient .11 (2)
- .11 : aucun nouveau routeur → on retient .9 (10)
- .9 : R2 atteint à 10 · .2 = 10+20 = 30 ✓ · .5 = 10+2 = 12 ✓ → on retient .10 (10)
- .10 : R4 atteint à 10 · .4 = 10+20 = 30 ✓ · .7 = 10+10 = 20 ✓ · .8 = 10+2 = 12 ✓ → on retient .5 (12)
- .5 : aucun nouveau routeur → on retient .8 (12)
- .8 : aucun nouveau routeur → on retient .7 (20)
- .7 : R3 atteint à 20 · .3 = 20+5 = 25 ✓ · .6 = 20+2 = 22 ✓ → on retient .6 (22)
- .6 : aucun nouveau routeur → on retient .3 (25)
- .3 : R1 atteint à 25 · .1 = 25+2 = 27 ✓ · .2 = 25+20 = 45 > 30 ✗ · .4 = 25+20 = 45 > 30 ✗ → on retient .1 (27)
- .1 : aucun nouveau routeur → on retient .2 (30)
- .2 : aucun nouveau routeur → on retient .4 (30)
Table de routage R5
| Réseau | Coût | Émis par | Next-hop |
|---|---|---|---|
10.11.0.0 | 2 | R5 | DC |
10.9.0.0 | 10 | R5 | DC |
10.10.0.0 | 10 | R5 | DC |
10.5.0.0 | 12 | R2 | R2 |
10.8.0.0 | 12 | R4 | R4 |
10.7.0.0 | 20 | R4 | R4 |
10.6.0.0 | 22 | R3 | R4 |
10.3.0.0 | 25 | R3 | R4 |
10.1.0.0 | 27 | R1 | R4 |
10.2.0.0 | 30 | R2 | R2 |
10.4.0.0 | 30 | R4 | R4 |
🎯 Points à retenir
Ce que les tableaux montrent
- Le lien direct n’est pas toujours le meilleur : depuis R1,
.8passe par R3 (17) et pas par le lien direct R1–R4 (20 + 2 = 22).- ECMP sur R2 vers
.4: par R1 (20 + 20) et par R5→R4 (10 + 10 + 20), les deux font 40. OSPF installe les deux routes.- Un réseau de transit se paie deux fois : une fois pour y arriver, une fois pour l’interface qui en sort. R1 vers
.9= 20 (jusqu’à R2) + 10 = 30.- Les réseaux LAN ne font découvrir aucun routeur : leur ligne est une simple recopie (« aucun nouveau routeur »).
🔗 Voir aussi
- _Reseaux
- Dijkstra — Tables de routage OSPF 5 routeurs : tables finales + explorer interactif
- 2026-09-11 — OSPF et algorithme à état de lien
- 2026-09-11 — Routage dynamique et familles de protocoles