Académique Documents
Professionnel Documents
Culture Documents
L'objectif du routage est de déterminer une route/un chemin (un ensemble de liens à parcourir),
respectant certaines contraintes, pour établir une connexion d'un nœud (routeur) source vers un
nœud destinataire. Le but d'un algorithme de routage est de permettre le calcul de route entre
ces deux nœuds au sens d'un certain critère, et la diffusion des informations nécessaires à ce
calcul à d’autres nœuds. L'algorithme de routage défini la route à suivre en fonction de critères
s'appliquant sur des informations véhiculées par un protocole de routage. Ces informations
peuvent être l'état d'encombrement du réseau, sa topologie (nombre de routeur traversé).
I. Algorithme de routage
a. Algorithme de Djikstra
En théorie des graphes, l'algorithme de Dijkstra sert à résoudre le problème du plus court
chemin. Il permet, par exemple, de déterminer le plus court chemin pour se rendre d'une ville à
une autre connaissant le réseau routier d'une région. Il s'applique à un graphe connexe dont le
poids lié aux arêtes est positif ou nul. L'algorithme porte le nom de son inventeur,
l'informaticien néerlandais Edsger Dijkstra et a été publié en 1959.
• Principe de fonctionnement
Il s'agit de construire progressivement, à partir des données initiales, un sous-graphe dans lequel
sont classés les différents sommets par ordre croissant de leur distance minimale au sommet de
départ. La distance correspond à la somme des poids des arêtes empruntées.
La seconde étape consiste à repérer le sommet qui possède alors la plus courte distance au
sommet de départ et à le mettre de côté. Pour tous les sommets restants, on compare alors la
distance trouvée précédemment à celle que l'on obtiendrait via le sommet que l'on vient de
1
Chapitre 3 : Algorithmes et routage V1
mettre de côté et on ne conserve que la plus petite des valeurs. et on continue ainsi jusqu'à
épuisement des sommets ou jusqu'à sélection du sommet d'arrivée.
• Utilisation
L'algorithme de Dijkstra trouve son utilité dans le calcul des itinéraires routiers. Le poids des
arcs pouvant être la distance (pour le trajet le plus court), le temps estimé (pour le trajet le plus
rapide), la consommation de carburant et le prix des péages (pour le trajet le plus économique).
Une application des plus courantes de l'algorithme de Dijkstra sont les protocoles de routage
interne « à état de liens », tels que Open Shortest Path First (OSPF) ou IS-IS – ou encore
PNNI sur les réseaux ATM, qui permettent un routage internet très efficace des informations
en cherchant le parcours le plus efficace
a) Déterminer le plus court chemin en minutes, reliant la gare B à la gare G, ensuite ente A et G.
b) Quelle est la longueur de ces chemins ?
Réponses : a) B -C - D - F – G b) 36 min
2
Chapitre 3 : Algorithmes et routage V1
Selon le réseau ci-dessous en prenant comme point initial le réseau 10.1.0.0/16, nous pouvons
déterminer le chemin (différents routeurs traversé) vers tous les autres réseaux de cette
topologie comme mentionné dans le tableau ci-dessous.
L'algorithme de Bellman-Ford, est un algorithme qui calcule des plus courts chemins depuis
un sommet source donné dans un graphe orienté pondéré. Il porte le nom de ses inventeurs
Richard Bellman et Lester Randolph Ford junior (publications en 1956 et 1958), et de Edward
Forrest Moore qui le redécouvrit en 1959. Contrairement à l'algorithme de Dijkstra, l'algorithme
de Bellman-Ford autorise la présence de certains arcs de poids négatif et permet de détecter
l'existence d'un circuit absorbant, c'est-à-dire de poids total strictement négatif, accessible
depuis le sommet source.
• Principe de fonctionnement
• Utilisation
3
Chapitre 3 : Algorithmes et routage V1
Dans les réseaux informatiques, l'algorithme de Bellman-Ford est utilisé pour déterminer le
cheminement des messages, à travers le protocole de routage RIP.
II. Le routage
Le routage est le mécanisme par lequel des chemins sont sélectionnés dans un réseau pour
acheminer les données/paquet d'un expéditeur/source jusqu'à un ou plusieurs
destinataires. Le routage est une tâche exécutée dans de nombreux réseaux, tels que le réseau
téléphonique, les réseaux de données électroniques comme Internet, et les réseaux de transports.
Sa performance est importante dans les réseaux décentralisés, c'est-à-dire où l'information n'est
pas distribuée par une seule source, mais échangée entre des agents indépendants.
Il convient d'établir une distinction entre le routage proprement dit et les protocoles de
routage. Tous les systèmes acheminent des données ou effectue le routage, mais n'exécutent
pas tous des protocoles de routage. Le routage consiste à transférer des
datagrammes/paquet en fonction des informations contenues dans la table de routage
(@source, @destination et c…). Les protocoles de routage sont des programmes qui
échangent des informations utilisées afin de créer des tables de routage. La configuration du
routage d'un réseau spécifique ne requiert pas toujours l'utilisation d'un protocole de routage.
Les trois configurations de routage les plus courantes sont :
• Routage minimal
• Routage statique
Un réseau doté d'un nombre limité de passerelles vers d'autres réseaux TCP/IP peut être
configuré en ayant recours à l'acheminement/routage statique. L'administrateur réseau crée
manuellement une table de routage statique au moyen de la commande route. Les tables de
routage statiques ne s'adaptent pas aux modifications apportées au réseau et pourtant doivent
être utilisées uniquement sur les réseaux dont les routes ne subissent aucune modification.
4
Chapitre 3 : Algorithmes et routage V1
• Routage dynamique
Un réseau pouvant utiliser plusieurs routes vers la même destination doit utiliser un routage
dynamique. Une table de routage dynamique est créée à partir des informations échangées par
les protocoles de routage. Les protocoles sont conçus pour distribuer les informations qui
permettent d'adapter dynamiquement les routes afin de refléter les modifications apportées aux
conditions de fonctionnement du réseau. Les protocoles de routage prennent en charge des
situations complexes d'acheminement plus rapidement et avec plus de précision que
l'administrateur réseau. Les protocoles de routage ne sont pas conçus uniquement pour
commuter vers une route de secours lorsque la voie principale est inutilisable ; ils sont aussi
conçus pour déterminer quelle est la "meilleure" route vers une destination donnée. Sur un
réseau disposant de plusieurs chemins vers la même destination, il convient d'utiliser un
protocole de routage dynamique.
a. Les routes
Le routeur utilise sa table de routage pour déterminer le meilleur chemin/route à utiliser pour
transférer un paquet vers sa destination. Lorsque le routeur reçoit un paquet, il examine l'adresse
de destination afin de déterminer le meilleur chemin vers ce réseau.
Remarque : les routeurs utilisent des routes statiques et des protocoles de routage dynamique
pour découvrir des réseaux distants et créer leurs tables de routage. Pour déterminer le meilleur
chemin, le routeur recherche dans sa table de routage une adresse réseau correspondant à
l'adresse IP de destination du paquet.
5
Chapitre 3 : Algorithmes et routage V1
Une passerelle de dernier recours est définie lorsqu'une route par défaut est configurée sur un
routeur. S'il existe une route par défaut, le paquet est transmis à la passerelle de dernier recours.
Si le routeur n'a pas de route par défaut, le paquet est rejeté. Si le paquet est rejeté, le routeur
envoie un message ICMP d'inaccessibilité à l'adresse IP source du paquet.
Les routes connectées directement : ces routes proviennent des interfaces actives du routeur.
Les routeurs ajoutent une route connectée directement lorsqu'une interface est configurée avec
une adresse IP et est activée.
Les routes distantes : ces routes correspondent aux réseaux distants connectés à d'autres
routeurs. Les routes menant à ces réseaux peuvent être configurées de manière statique ou
dynamique à l'aide de protocoles de routage dynamiques.
6
Chapitre 3 : Algorithmes et routage V1
uniquement affichée dans IOS 15 ou les versions plus récentes pour les routes IPv4 et dans
toutes les versions IOS pour les routes IPv6
• Routes statiques : ajoutées lors de leur configuration manuelle et quand l'interface de sortie
est active.
• Route dynamique : ajouté lorsque des protocoles de routage qui découvrent le réseau de
manière dynamique, tels qu'EIGRP ou OSPF, sont mis en œuvre et que des réseaux sont
identifiés. La source des entrées de la table de routage est identifiée par un code. Ce code définit
comment la route a été découverte.
L : identifie l'adresse attribuée à l'interface d'un routeur. Ceci permet au routeur de déterminer
efficacement s'il reçoit un paquet destiné à l'interface et non à être transféré.
En tant qu'administrateur réseau, il est impératif de savoir interpréter le contenu d'une table de
routage IPv4 et IPv6. L'entrée identifie les informations suivantes :
7
Chapitre 3 : Algorithmes et routage V1
• Métrique : indique la valeur attribuée pour atteindre le réseau distant. Les valeurs inférieures
• Tronçon suivant/passerelle par défaut : indique l'adresse IPv4 du prochain routeur vers
• Horodatage de route : indique la durée écoulée depuis que la route a été découverte.
• Interface de sortie : identifie l'interface de sortie à utiliser pour transférer un paquet vers la
destination finale.
Tous ces éléments mentionnés constitut les différentes composantes d’une route tels qu’illustré
sur la figure ci-dessous
Une fois toutes les interfaces connectées configurées, ajoutées et activées, le routage statique
ou dynamique peut être mis en œuvre.
e.1. Route statique
Les routes statiques sont configurées manuellement.
8
Chapitre 3 : Algorithmes et routage V1
Les routes statiques utilisent moins de bande passante que les protocoles de routage
dynamique. De plus, aucun cycle de processeur n'est utilisé pour calculer et communiquer
des routes.
Une route statique est configurée pour atteindre un réseau distant donné. Les routes statiques
IPv4 sont configurées à l'aide de la commande de configuration globale :
Dans la table de routage, une route statique est identifiée par le code « S ».
9
Chapitre 3 : Algorithmes et routage V1
Les actions possibles sont : ajouter une route (route add) , modifier une route (route change),
supprimer une route (route delete). Les caractères génériques * et ? peuvent être utilisés, par
exemple pour afficher la route de tous les réseaux commençants par 10 on tapera :
route print 10.*
Exemple :
• Ajout de la route
10