SlideShare une entreprise Scribd logo
Etat de l'art sur les algorithmes de routage
Mwamba Bakajika
mwambastany@gmail.com
2 octobre 2018
Table des matières
1 Introduction 1
1.1 Dénition du routage . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Types de routage . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 Routage xe . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Routage dynamique . . . . . . . . . . . . . . . . . . . . . . 2
2 Protocoles de routage 3
2.1 RIP : Routing Information Protocol . . . . . . . . . . . . . . . . . 3
2.2 IGRP :Interior Gateway Routing Protocol . . . . . . . . . . . . . . 4
2.3 EIRP : Enhanced Interior Gateway Routing Protocol . . . . . . . . 4
2.4 IS-IS : Intermediate System-to-Intermediate System . . . . . . . . 5
2.5 OSPF : Open Shortest Path First . . . . . . . . . . . . . . . . . . 5
2.6 EGP :Exterior Gateway Protocol . . . . . . . . . . . . . . . . . . . 7
2.7 BGP : Border Gateway Protocol . . . . . . . . . . . . . . . . . . . 7
3 Les algorithmes de routage 8
3.1 Algorithme de Bellman-Ford . . . . . . . . . . . . . . . . . . . . . 8
3.2 Algorithme de Dijkstra . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Apprentissage Automatique dans le Routage 10
4.1 Routage utilisant le réseau de neurones . . . . . . . . . . . . . . . 10
4.2 Routage basé sur l'Apprentissage par Renforcement . . . . . . . . . 11
5 Conclusion 12
1 Introduction
Les techniques de routage ont évolué au ls du temps avec le développement des protocoles
et modes de transmission de l'information dans le réseau informatique. Parfois il est question de
privilégier la distance à parcourir, soit la abilité de l'information, soit tenir compte des états des
liens avec les points de réception de l'information, soit encore la sécurité. Nous remarquerons
que chacune de ces techniques est appréciée ou utilisée pour une application donnée; selon
qu'elle s'adapte au réseau et l'optimise.
1.1 Dénition du routage
Le routage intervient au niveau trois du modèle OSI et au niveau deux de l'architec-
ture TCP/IP. Principalement exécuté au sein du routeur, le routage est un processus qui
consiste à trouver le chemin par lequel doit passer l'information de la source à sa destination
[eDS09][Jea][Dor].
Figure 1  Modèle OSI et Architecture TCP/IP
1.2 Types de routage
Le routage étant un procédé prenant en compte des contraintes (qualité de service), des
matérielles (routeurs,etc..) et l'environnement (topologie). De ce fait, il existe plusieurs types
de routage. Cependant, ces derniers se regroupent en deux selon les modes de conguration de
la table de routage 1
. Ainsi nous avons [eDS09] [Dor] :
• le routage xe
• le routage dynamique
1. La table de routage permet d'indiquer au routeur la direction que devront suivre les paquets. Cette dernière
(table de routage) contient deux informations principales : la destination (machine ou réseau IP) et le chemin
directement accessible généralement appélé saut ( peut être un routeur sur le même sous-réseau ou un réseau
externe). En outre, nous pouvons la dénir comme un répertoir contenant principalement les déstinations et les
sauts corréspondants.
1
1.2.1 Routage xe
Dans ce mode de routage, la conguration de la table de routage est manuelle. Ces tables
restent inchangées quels que soient les changements des caractéristiques du réseau. Le routage
xe lève, toutefois, les défauts ci-après [HOU06] :
 Mise à jour manuelle de tous les équipements du réseau,
 Diculté de gérer la redondance de routes,
 Boucle de routage possible quand un lien est coupé,
 Routages asymétriques.
Malgré ces défauts, le routage statique est recommandé pour les stations et les routeurs
d'extrémité pour le cas d'un système autonome où il (routage statique) ore plus de sécurité[Arc]
[HOU06] .
1.2.2 Routage dynamique
Dans ce mode de routage, les tables de routage sont remplies automatiquement à l'aide d'un
algorithme de routage. Le routage dynamique s'appuie sur des protocoles spéciques appelés
protocoles de routage 2
. Le but d'un protocole de routage est de fournir l'information
nécessaire pour eectuer un routage.
Étant donné que les tables de routage s'accroissent au fur et à mesure de la taille du réseau,
cela augmente la demande d'espace mémoire nécessaire dans les routeurs et les ressources du
processeur. D'autre part, cela diminue les performances du réseau. On découpe alors le réseau
en sous-ensembles régionaux appelé Système Autonome (SA).
Selon que le SA échange les données, nous avons : les protocoles de routage interne
(IGP :Interior Gateway Protocol), utilisés à l'interieur du SA et les protocoles de routage
externe (EGP :Exterior Gateway Protocol), utilisés entre SA [eDS09, Sys00, Puj06, Mon].
Nous pouvons citer comme;
• protocoles de routage interne [Pre] :
 RIP (Routing Information Protocol)
 IGRP (Interior Gateway Routing Protocol)
 EIRP (Enhanced Interior Gateway Routing Protocol)
 IS-IS (Intermediate System-to-Intermediate System)
 OSPF (Open Shortest Path First)
• protocole de routage externe :
 EGP (Exterior Gateway Protocol)
 BGP (Border Gateway Protocol)
Ces protocoles cités ci-haut ont été introduits an de faciliter le routage. Certains ont été
améliorés, d'autres abandonnés ; ils exploitent tous des algorithmes de routage. Les uns misent
sur les états de liens, les autres sur la distance à parcourir (le plus court chemin) ou encore les
deux.
2. Il convient de distinguer la politique de routage qui indique comment est choisie une route (déterministe :
centralisé ou décentralisé, adaptatif ou mixte : déterministe + adaptatif), du protocole de routage qui décrit
comment sont construites les tables de routage(spécier les échanges d'information entre n÷uds, le mode de
calcul de la route et du coût)[Ser03].
2
2 Protocoles de routage
Les protocoles de routage permettent aux routeurs de choisir le meilleur chemin possible
pour acheminer les données de la source vers leurs destinations. Ils assurent les fonctions dont
nous citons principalement :
 Fournir les processus utilisés pour partager les informations d'acheminement.
 Permettre aux routeurs de communiquer entre eux an de mettre à jour et de gérer les
tables de routage.
Parmi eux il y en a dits à Vecteur de Distance et d'autres dits à Etat de Lien,
selon les algorithmes exploités.
2.1 RIP : Routing Information Protocol
Un des plus vieux protocoles de routage, ce dernier est classé parmi les protocoles à vecteur
de distance exploitant l'algorithme de Bellman-Ford (nous en parlerons en détail au point
3.1) pour la determination du chemin. Ce protocole tire ses origines de protocole Routed,
développé à l'université de Californie à Berkeley pour le réseau ARPANET. Xerox, première
entreprise à réussir à implémenter un protocole à vecteur de distance, et crée sa version de
RIP. Xerox améliore certains défauts que présentait Routed ; dont nous citons la construction
et mises à jour automatique des tables de routage [PRE99].
En Juin 1985, RFC (Request for Comments) lance un nouveau protocole de routage RIP
inspiré de Routed, c'est la version RFC 1058. Qui, contrairement à la version Xerox (privé) et
Routed(Uniquement pour des systemes UNIX Berkeley), résoud les problèmes d'interopérabilité.
La version RC 1085 de RIP devient alors la version standard [PRE99].
En novembre 1994, une nouvelle version de RIP apparait, RIP-2 par RFC 1723. RIP-2
integre des nouvelles fonctions du réseau comme l'authentication, le subnetting (routage par
sous-réseau) et le multicasting (transmission multipoint) [eDS09] [PRE99].
Bien qu'il connaisse ces mises à jour, RIP-2 hérite certaines faiblesses de RIP [PRE99]
comme :
 le nombre de sauts (seul paramètre utilisé dans la métrique) doit être compris entre 1
et 15 ; à 16 la distance est considérée comme innie, la connection ne peut être établie,
 la mise à jour des tables de routage a lieu toutes les 30 secondes (pas de temps réel),
 la possibilité de boucle de routage en cas de dépassement de délais de mise à jour des
tables et propagation des informations obsolètes,
 la distance (vecteur de distance) constante ; le critère de coût est xé par l'administrateur
réseau,
 pas de routes alternatives.
Figure 2  Format de paquet RIPv1 et Format de paquet RIPv2
3
2.2 IGRP :Interior Gateway Routing Protocol
Développé par CISCO en mi-1980 pour remédier aux limites de RIPv1; principalement la
métrique de 15 sauts. Contrairement à RIPv1, sa limite est de 255 sauts de diamètre, actualise
les tables trois fois de plus que RPIv1 (90 secondes, donc trois plus lent), n'utilise pas UDP 3
comme protocole de transport car il accède directement à IP comme protocole 9 [Pre, PRE99].
Exploitant aussi l'algorithme de Bellman-Ford, sa métrique est composée de 5 paramètres :
la bande passante, le délai, le chargement, la liaison et le saut. Par défaut, seul la bande passante
et le délai sont considérés.
Figure 3  Format de paquet IGRP
2.3 EIRP : Enhanced Interior Gateway Routing Protocol
Aussi une de variétés de protocoles CISCO; EIRP est une amélioration de IRGP. Il accède
directement à IP comme protocole 88[Pre, PRE99]. Contrairement à IRGP,le protocole EIGRP
n'est pas périodique, il met à jour les tables à chaque changement du réseau. Il est non plus
seulement basé sur l'algorithme de Bellman-Ford pour le calcul du chemin optimal. Mais, il
utilise un autre mécanisme appelé DUAL (Diusion Update Algorithme) une machine à état
ni, permettant de déterminer l'existence des liens ou si le coût du chemin a changé.
Figure 4  Format des paquets EIGRP
3. UDP (User Datagram Protocol) : est un protocole de la couche transport du modèle OSI et TCP/IP. En
résumé le rôle de ce protocole est de permettre la transmission des données.
4
Table 1  Tableau resumé sur les protocoles à vecteur de distance
Protocole RIPv1 RIPv2 IGRP EIGRP
Adresse IPv4 IPv4 IPv4 IPv4
Métrique saut saut composée composé
Information moins able moins able moins able able
Communication broadcast 4
broadcast multicast5
multicast
Calcul de routage Bellman-Ford Bellman-Ford Bellman-Ford Calcul par diu-
sion de l'informa-
tion
Remarque convergence
lente
convergence
lente
convergence
lente
rapide
2.4 IS-IS : Intermediate System-to-Intermediate System
IS-IS a été principalement développé par l'ISO (ISO 10589). Il décrit un routage hiérarchique
fondé sur la décomposition des réseaux de communication en domaines. Dans un domaine, les
diérents n÷uds indiquent leur état aux routeurs IS-IS aérents. Les communications inter-
domaines sont eectuées par un routage vers un point d'accès au domaine déterminé par les
routeurs chargés des communications externes au domaine.
2.5 OSPF : Open Shortest Path First
OSPF6
fait partie de la deuxième génération de protocoles de routage. Beaucoup plus
complexe que RIP, mais au prix de performances supérieures; il utilise une base de données
distribuée, qui garde en mémoire l'état des liens. Ces informations forment une description de
la topologie du réseau et de l'état des n÷uds, laquelle description permet de dénir l'algorithme
de routage par un calcul des chemins les plus courts [eDS09].
L'algorithme basé sur l'état des voisins nécessite deux mécanismes [Puj06] :
1. la dissémination able des informations sur l'état des liens,
2. le calcul des routes par sommation des connaissances accumulées sur l'état des liens.
La solution consiste à réaliser une inondation able des informations, de façon à s'assurer que
chaque n÷ud reçoit sa copie des informations de la part de tous les autres. En fait, chaque n÷ud
inonde ses voisins, qui, à leur tour, inondent leurs propres voisins. Et crée ses propres paquets de
mise à jour, appelés LSP (Link-State Packet), contenant les informations suivantes [eKR] :
• Identité du n÷ud qui crée le LSP,
• Liste des n÷uds voisins avec le coût du lien associé,
4. Transmission d'une information à plusieurs destination sans sélection.
5. Transmission d'une information à plusieurs destinations avec possibilité de sélection.
6. Dans le sigle OSPF (Open Shortest Path First), le mot Open indique que le protocole est ouvert et pris
en charge par l'IETF (Internet Engineering Task Force : Organisme de normalisation des standards Internet)
[Puj06].
5
• Numéro de séquence,
• Temporisateur (Time To Live) pour ce message,
Les deux premières informations sont nécessaires au calcul des routes. Les deux dernières
ont pour objectif de rendre able l'inondation. Le numéro de séquence permet de mettre dans
l'ordre les informations qui auraient été reçues en désordre. Le protocole possède des éléments
de détection d'erreur et de retransmission.
Le calcul de la route s'eectue après réception de l'ensemble des informations sur les liens.
À partir de la carte complète du réseau et des coûts des liens, il est possible de calculer la
meilleure route. Le calcul est eectué en utilisant l'algorithme de Dijkstra (nous en parlerons
au point 3.2).
En utilisant les mécanismes indiqués ci-dessus, le protocole OSPF ajoute les propriétés
supplémentaires suivantes [Puj06] :
 Authentication des messages de routage,
 Nouvelle hiérarchie (un niveau de hiérarchie supplémentaire en partitionnant les do-
maines en ères)
Pour communiquer, il y a plusieurs types de messages OSPF dont nous citons le message
Hello 7
à titre d'exemple. Les messages OSPF utilisent tous le même en-tête dont nous présen-
tons le format de Paquet sur la gure suivante.
Figure 5  Format des paquets OSPF
7. Le message Hello est envoyé par un routeur à ses voisins an d'indiquer sa présence.
6
2.6 EGP :Exterior Gateway Protocol
EGP est le premier protocole de routage extérieur à avoir été mis au point, au début des
années 80, pour router un paquet d'un système autonome vers un autre. Il comporte trois pro-
cédures essentielles, qui permettent l'échange d'informations. La première procédure concerne
la dénition d'une passerelle voisine. Cette dernière étant connue, une deuxième procédure dé-
termine le lien qui permet aux deux voisins de communiquer. La troisième procédure concerne
l'échange de paquets entre deux voisins connectés par un lien. Les faiblesses d'EGP sont appa-
rues avec le développement exponentiel d'Internet et le besoin d'éviter certaines zones politi-
quement sensibles [Puj06].
2.7 BGP : Border Gateway Protocol
Pour répondre aux faiblesses d'EGP, un nouveau protocole a été mis en chantier par l'IETF
(voir bas de page 6) sous le nom de BGP. Une première version, BGP-1, a été implémentée en
1990, suivie de près par BGP-2 puis BGP-3. Au bout de quelques années a été déployé BGP-4,
qui permet de gérer beaucoup plus ecacement les tables de routage de grande dimension en
rassemblant en une seule ligne plusieurs sous-réseaux. BGP apporte de nouvelles propriétés
par rapport à EGP, en particulier celle de gérer les boucles, qui devenaient courantes dans
EGP puisque ce protocole ne s'occupe que des couples de voisins, sans prendre en compte les
rebouclages possibles par un troisième réseau autonome[Puj06].
BGP est le protocole de routage interdomaine utilisé actuellement partout dans le monde;
conçu pour échanger des informations de routage entre systèmes autonomes, il est déni dans
les RFC 1771 et 1774 [eDS09]. Pour BGP, les diérents réseaux sont organisés en SA, reliés
par une ou plusieurs liaisons. Au sein d'un SA, le routage est calculé avec l'un des protocoles
précédents (RIP ou OSPF). BGP intervient lorsque la route doit emprunter plusieurs SA.
Dans un système autonome, il y a un ou plusieurs routeurs de bordure qui dialoguent avec
le(s) routeur(s) de bordure des SA voisins. Lorsqu'il n'y a qu'un seul routeur de bordure, le SA
ne peut pas être un SA de transit pour des messages sur l'interconnexion, il est alors ignoré de
BGP. Quand il y en a plusieurs, le SA est un SA de transit : des messages sur l'interconnexion
peuvent y entrer par l'un des routeurs de bordure et ressortir par l'autre. Il faut toutefois ajouter
que certains SA interdisent le transit interne (pour des raisons politiques ou commerciales, par
exemple). Ils sont encore ignorés de BGP.
BGP ne prend donc en compte que les SA où le transit est autorisé (réseaux fédérateurs d'In-
ternet, par exemple, ou réseaux d'opérateurs, moyennant des accords nanciers). Les routeurs
de bordure de ces SA sont appelés routeurs BGP. Ils calculent des routes avec un algorithme
à vecteurs de distance. À la diérence de RIP, ils mémorisent la totalité du chemin et non
seulement le premier routeur du chemin. Ils échangent donc des informations complètes, ce qui
est possible car le graphe BGP est de petite taille [eDS09].
7
3 Les algorithmes de routage
Un algorithme de routage remplit la table de routage automatiquement. Nous avons les
algorithmes de routage basés sur les états des liens et les algorithmes basés sur le vecteur de
distance; dont les plus utilisés sont respectivement l'algorithme de Dijkistra et l'algorithme de
Bellman-Ford.
3.1 Algorithme de Bellman-Ford
Autrement appelé algorithme à vecteur de distance; cet algorithme est implémenté dans les
protocoles suivants : RIP (Routing Information Protocol), BGP (Boarder Gateway Protocol),
IGRP (Interior Gateway Routing Protocol).
Les étapes de cet algorithme[ref, CAO11] sont :
 chaque routeur est initialisé avec son identicateur propre, le coût des liens vers chacun
des ses voisins et un coût nul pour lui-même.
 chaque routeur diuse périodiquement vers chacun de ses voisins sa table de routage
contenant les n÷uds du réseau et le coût associé pour les atteindre.
 lorsqu'un routeur reçoit une nouvelle table de routage, il calcule son propre vecteur de
distance en eectuant pour chaque entrée de la table les traitements suivants :
• si l'entrée n'est pas présente dans la table, le routeur l'ajoute dans sa propre table.
• si le coût rapporté par un des voisins ajouté au coût pour atteindre ce voisin est
inférieur au coût déjà stocké, alors la table de routage est mise à jour avec le nouveau
chemin.
• si le coût rapporté par un autre des voisins ajouté au coût pour atteindre ce voisin est
supérieur au coût déjà stocké, alors l'entrée correspondante dans la table de routage
reste inchangée, puisqu'on sélectionne le plus court chemin vers chaque destination
• Si un routeur découvre qu'un lien vers l'un de ses voisins est rompu, il met à jour
l'entrée correspondante de sa table de routage (coût inni).
Algorithme 1 Algorithme de Bellman-Ford
1: //s sommet
2: Initialisation
3: D[s] ← 0 //D matrice contenant les vecteurs de distance des n÷uds à atteindre
4: P[s] ← null //P vecteur contenant les n÷uds prédécesseurs
5: pour v ∈ G avec v = s faire
6: D[v] ← ∞
7: P[v] ← null
8: n pour
9: pour i ← 1 à n − 1 faire
10: // n : nombre de n÷uds
11: pour tout arc(u, v) ∈ E(G) faire
12: si D[v]  D[u] + w(u, v) alors
13: D[v] ← D[u] + w(u, v)
14: P[v] ← u
15: n du si
16: n pour
17: n pour
Cet algorithme a pour complexité O(n2
) et O(n3
) dans le pire de cas; où n est le nombre
des n÷uds.
8
3.2 Algorithme de Dijkstra
Contrairement à l'algorithme du Vecteur de Distance (Bellman-Ford), chaque routeur échange
avec ses voisins la description des liens qu'il a avec ceux-ci. Cette information locale est relayée
de proche en proche et permet à chaque routeur de se bâtir sa propre topologie du réseau, avec
lui-même comme racine du graphe de topologie[ref].
Avec les protocoles basés sur L'état des liens (l'algorithme de Dijkstra), chaque n÷ud main-
tient toute la topologie du réseau, par acquisition des informations du voisinage et la diusion
des changements de topologie à tous les n÷uds du réseau.
Cet algorithme est mis en ÷uvre dans les protocoles IS-IS (Intermediate Systems to In-
termediate Systems) et OSPF (Open Shortest Path First) déployé dans le réseau Internet.
L'algorithme se déroule en 4 étapes [CAO11] qui sont les suivantes :
 la phase d'identication des voisins,
 la phase de construction du paquet d'état des liens à diuser,
 la phase de propagation du paquet d'état des liens,
 la phase de calcul des routes du plus court chemin.
Algorithme 2 Algorithme de Dijkstra
1: //s sommet
2: Initialisation
3: A ← s //A matrice contenant les n÷uds permanents
4: D[s] ← 0 //D matrice contenant les vecteurs de distance des n÷uds à atteindre
5: P[s] ← null //P vecteur contenant les n÷uds prédécesseurs (saut)
6: pour v ∈ G avec v = s faire
7: D[v] ← ∞
8: P[v] ← null
9: n pour
10: found ← false
11: tant que NOTfound faire
12: v ← argminu/∈AD[u] //Recherche du plus proche voisin
13: A ← A ∪ {v} //ajout du n÷ud proche dans la matrice des n÷uds permanents
14: pour tout u ∈ N[v] faire
15: si D[u]  D[v] + w(v, u) alors
16: D[u] ← D[v] + w(v, u)
17: P[u] ← v
18: n du si
19: n pour
20: si v = t alors
21: //t n÷ud directement connecté
22: found ← true
23: n du si
24: n tant que
Sortie(s) D[t]
L'algorithme de Dijkstra a pour complexité O((n + a) log(n)) où n est le nombre de n÷uds
et a le nombre d'arcs.
Note : Dans les cas où il n'existe pas de chemin le plus court, Bellman-Ford signale une
erreur mais n'échoue pas contrairement à Dijkstra. Bellman-Ford fonctionne bien avec les arêtes
négatives et est capable de détecter le cycle des arêtes négatives dans un graphe. En revanche,
Dijkstra ne fonctionne bien qu'avec des poids positifs [eKR].
9
4 Apprentissage Automatique dans le Routage
Les techniques d'apprentissage automatique (Machine Learning) couvrent aujourd'hui plu-
sieurs domaines de la vie. Anciennement utilisées dans la commande (la robotique); aujourd'hui
elles intègrent la médecine, la gastronomie, l'automobile (self driving), la reconnaissance vocale,
la reconnaissance d'image et autre.
Le réseau est l'un des domaines ayant bénécié de cette puissance (techniques d'apprentis-
sage automatique). L'intégration de l'apprentissage automatique dans le réseau est protocolaire.
Sans entrer dans les détails nous présentons un modèle proposé dans [MWJ17].
Les étapes à suivre sont :
• La formulation du problème (prédiction, classication, prise de décisions)
• La collection de données (le traque, performance)
• Analyse des données (traitement,extraction des caractéristiques)
• Élaboration du Modèle (choix [ex :Markov] et Entraînement)
• Validation (Analyse de l'erreur)
• Déploiement
Figure 6  schéma d'intégration de l'Apprentissage automatique dans le réseau
C'est dans cette approche que les scientiques ont amélioré le routage par intégration des
techniques d'apprentissage automatique. Nous présenterons aux points suivants les modèles
adoptés pour améliorer le routage.
4.1 Routage utilisant le réseau de neurones
Dans cette approche, les algorithmes se basent sur un réseau de neurones pour la recherche
du chemin optimal. La topologie du réseau est modélisée par un réseau de neurones où les coûts
des liens représentent les poids des transactions entre les n÷uds du réseau de neurones.Par
exemple, Samuel Pierre, W.G. Probst et H. Said [S.P00] utilisent un réseau de neurones de
type Hopeld8
où chaque neurone est physiquement connecté à la totalité des autres neurones,
le critère d'optimisation est la minimisation de la fonction énergie du réseau.
Figure 7  Exemple d'une Architecture d'un réseau Hopeld
8. Une variante de réseau de neurones récurrents caractérisé par une matrice des poids symétrique et nulle
sur la diagonale, où chaque neurone est mis à jour à chaque unité de temps.
10
4.2 Routage basé sur l'Apprentissage par Renforcement
L'apprentissage par Renforcement(AR)9
est un apprentissage pour lequel seule une mesure
qualitative de l'erreur est disponible. Dans ce cas, l'agent reçoit des stimulus de son environ-
nement et réagit en choisissant une action adéquate pour son comportement. Sa réaction est
alors jugée par rapport à un objectif prédéni sous forme de note récompense (reward en
anglais). L'agent reçoit cette récompense et doit l'intégrer pour modier ses actions futures
et parvenir, ainsi à un comportement optimal. Une action conduisant à une note négative sera,
à l'avenir, et dans les mêmes conditions, moins utilisée qu'une action notée positivement[Gé08].
Figure 8  Apprentissage par Renforcement
En s'inspirant d'un tel système; en 1994, Boyan et Littman introduirent Q-routing, le pre-
mier algorithme de routage adaptatif basé sur les techniques d'apprentissage par renforcement.
Dans le souci d'ameliorer le Q-routing, certaines variantes de Q-routing et d'autres modèles ont
été introduits dont les plus réussis Q-Neural routing et K-Shortest paths Q-Routing [HOC04].
Q-Neural Routing, est basé sur une approche neuronale permettant une modélisation de
la dynamique du réseau. Cette méthode permet un apprentissage discriminant et une prise
en compte able du contexte dans lequel se trouve le réseau, pour l'estimation des temps
d'acheminement des paquets. L'algorithme proposé a pour objectif d'une part, de prendre en
compte en plus du temps de bout en bout, d'autres paramètres tels que l'état des les d'attentes
ou la nature des ux et d'autre part, de minimiser l'espace mémoire occupé par la table de
routage.
K-Shortest paths Q-Routing quant à lui, combine la technique de recherche des K plus
courts chemins et l'algorithme Q-Routing.
9. L'apprentissage par Renforcement consiste à apprendre pour un agent autonome un comportement à
adopter lors de son interaction avec son environnement, an d'atteindre des objectifs sans aucune intervention
extérieure ou d'un professeur.
11
5 Conclusion
Tout au long de ce document, nous avons présenté les diérents protocoles de routage sur
lesquels reposent les algorithmes de routage classique. Nous nous sommes ensuite intéressé à
ces algorithmes et leurs complexités.
Enn, nous avons présenté des nouvelles approches algorithmiques, basées sur l'appren-
tissage automatique, lesquelles approches améliorent le routage adaptatif. Contrairement aux
algorithmes classiques, ces approches améliorent énormément la qualité de service en observant
intelligemment les variations de diérents paramètres du réseau.
La communication par IP tend du jour au jour à dominer dans la téléphonie mobile. Et les
exigences en terme de qualité de service deviennent de plus en plus remarquables. Cependant,il
existe encore d'autres modèles ou formalismes d'apprentissage automatique qui sont encore
quasi-inexplorés dans le réseau IP tels que l'apprentissage par transfert, l'apprentissage semi-
supervisé et tant d'autres, qui permettront de répondre aux actuelles exigences notamment
l'amélioration de la qualité de service et voire même palier à certains problèmes tels que la
congestion,...
12
Références
[Arc] Jean-Luc Archimbaud. Le routage. Introduction à TCP/IP, page 48. CNRS/UREC.
[CAO11] Panos M. Pardalos Carlos A.S. Oliveira. Mathematical Aspects of Network Routing
Optimization. Springer Optimization and Its Applications series, Springer New York
Dordrecht Heidelberg London, 2011. ISBN 978-1-4614-0310-4.
[Dor] Neize Dorta. Routage.
[eDS09] Danièle DROMARD et Dominique SERET. Architecture des réseaux. Pearson Edu-
cation France, 2009.
[eKR] Deepankar Medhi et Karthikeyan Ramasamy. NETWORK ROUTING : Algorithms,
Protocols, and Architecture.
[Gé08] Pierre Gérard. Apprentissage par renforcement. 2008.
[HOC04] Said HOCEINI. Techniques d'Apprentissage par Renforcement pour le Routage Adap-
tatif dans les Réseaux de Télécommunication à Trac Irrégulie. PhD thesis, UNIVER-
SITE PARIS XII  VAL DE MARNE, Novembre 2004.
[HOU06] Jean Robert HOUNTOMEY. Le routage statique. AFNOG, 2006. hro-
bert@iservices.tg.
[Jea] Nicolas Jean. Algorithmes de routage. www.nicolasjean.com.
[Mon] Jean-Luc Montagnier. Réseau d'entreprise par la pratique. Eyrolles, eyrolles edition.
ISBN :2-212-11258-0.
[MWJ17] Xin Wang Shihan Xiao Mowei Wang, Yong Cui and Junchen Jiang. Machine lear-
ning for networking : Workow, advances and opportunities. IEEE Network, 2017.
10.1109/MNET.2017.1700200.
[Pre] CISCO Press, editor. CCIE Professional Development : Routing TCP/IP, volume 1.
Macmillan Technical Publishing. ciscopress@mcp.com.
[PRE99] CISCO PRESS, editor. IP Routing Fundamental. Macmillam, USA, 1999.
[Puj06] Pujolle. Les réseaux. Eyrolles, 5 edition, Août 2006.
[ref] Algorithmes de routage, chapter 7.
[Ser03] Claude Servin. RESEAUX ET TELECOMS- cours et exercices corrigés, chapter 8
le concept de réseau, page 178. DUNOD, Paris, nouveau tirage corrigé edition, 2003.
[S.P00] W.G.Probst S.Pierre, H.Said. Routing in computer networks using articial neural
networks. ELSEVIER, 2000.
[Sys00] Cisco System. Architecture réseau et étude de cas. CampuPress France, 19, rue
Michel Le Comte 75003 PARIS, 2 edition, 2000.
13

Contenu connexe

Tendances

Mise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WANMise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
Ghassen Chaieb
 
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
Abdallah YACOUBA
 
Etude et mise en place d’un Cloud privé Avec Openstack
Etude et mise en place d’un Cloud privé Avec OpenstackEtude et mise en place d’un Cloud privé Avec Openstack
Etude et mise en place d’un Cloud privé Avec Openstack
BayeOusseynouFall
 
Installation et Configuration de Pfsense
Installation et Configuration de PfsenseInstallation et Configuration de Pfsense
Installation et Configuration de Pfsense
Ismail Rachdaoui
 
Notions de base sur le routage
Notions de base sur le routageNotions de base sur le routage
Notions de base sur le routage
Ines Kechiche
 
Routage ospf
Routage ospfRoutage ospf
Routage ospf
Ines Kechiche
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdf
Ines Ben Hassine
 
ETUDES ET DÉPLOIEMENT DUNE SOLUTION VOIP BASÉE SUR ASTERISK
ETUDES ET DÉPLOIEMENT DUNE SOLUTION VOIP BASÉE SUR ASTERISKETUDES ET DÉPLOIEMENT DUNE SOLUTION VOIP BASÉE SUR ASTERISK
ETUDES ET DÉPLOIEMENT DUNE SOLUTION VOIP BASÉE SUR ASTERISK
bamaemmanuel
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachi
slim Hannachi
 
projet fin d'étude IWAN
projet fin d'étude IWANprojet fin d'étude IWAN
projet fin d'étude IWAN
Med Amine El Abed
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
marwenbencheikhali
 
Cours sécurité 2_asr
Cours sécurité 2_asrCours sécurité 2_asr
Cours sécurité 2_asr
TECOS
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études
MortadhaBouallagui
 
Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)
Charif Khrichfa
 
Equipements d'interconnexion
Equipements d'interconnexionEquipements d'interconnexion
Equipements d'interconnexion
Ines Kechiche
 
Étude et mise en place d'un serveur FTP au sufop
Étude et mise en place d'un serveur FTP au sufopÉtude et mise en place d'un serveur FTP au sufop
Étude et mise en place d'un serveur FTP au sufop
iferis
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détection
Manassé Achim kpaya
 
Le protocole rip
Le protocole rip Le protocole rip

Tendances (20)

Mise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WANMise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
 
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
 
Etude et mise en place d’un Cloud privé Avec Openstack
Etude et mise en place d’un Cloud privé Avec OpenstackEtude et mise en place d’un Cloud privé Avec Openstack
Etude et mise en place d’un Cloud privé Avec Openstack
 
Installation et Configuration de Pfsense
Installation et Configuration de PfsenseInstallation et Configuration de Pfsense
Installation et Configuration de Pfsense
 
Notions de base sur le routage
Notions de base sur le routageNotions de base sur le routage
Notions de base sur le routage
 
Routage ospf
Routage ospfRoutage ospf
Routage ospf
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdf
 
rapportfinal
rapportfinalrapportfinal
rapportfinal
 
ETUDES ET DÉPLOIEMENT DUNE SOLUTION VOIP BASÉE SUR ASTERISK
ETUDES ET DÉPLOIEMENT DUNE SOLUTION VOIP BASÉE SUR ASTERISKETUDES ET DÉPLOIEMENT DUNE SOLUTION VOIP BASÉE SUR ASTERISK
ETUDES ET DÉPLOIEMENT DUNE SOLUTION VOIP BASÉE SUR ASTERISK
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachi
 
Rapport
RapportRapport
Rapport
 
projet fin d'étude IWAN
projet fin d'étude IWANprojet fin d'étude IWAN
projet fin d'étude IWAN
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
Cours sécurité 2_asr
Cours sécurité 2_asrCours sécurité 2_asr
Cours sécurité 2_asr
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études
 
Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)
 
Equipements d'interconnexion
Equipements d'interconnexionEquipements d'interconnexion
Equipements d'interconnexion
 
Étude et mise en place d'un serveur FTP au sufop
Étude et mise en place d'un serveur FTP au sufopÉtude et mise en place d'un serveur FTP au sufop
Étude et mise en place d'un serveur FTP au sufop
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détection
 
Le protocole rip
Le protocole rip Le protocole rip
Le protocole rip
 

Similaire à Routage

Cours routage dynamique (ri pv1,ripv2,ripng)
Cours routage dynamique (ri pv1,ripv2,ripng) Cours routage dynamique (ri pv1,ripv2,ripng)
Cours routage dynamique (ri pv1,ripv2,ripng)
EL AMRI El Hassan
 
1485606887426.pdf
1485606887426.pdf1485606887426.pdf
1485606887426.pdf
Bader Nassiri
 
Introduction-au-routagfffffge-externe.pptx
Introduction-au-routagfffffge-externe.pptxIntroduction-au-routagfffffge-externe.pptx
Introduction-au-routagfffffge-externe.pptx
issiakasorgo
 
Généralités sur le routeur
Généralités sur le routeurGénéralités sur le routeur
Généralités sur le routeur
Stany Mwamba
 
Protocole RIP1, RIP2, RIPng
Protocole RIP1, RIP2, RIPngProtocole RIP1, RIP2, RIPng
Protocole RIP1, RIP2, RIPng
Max Benana
 
1254851542chap1 interconnexion routage
1254851542chap1 interconnexion routage1254851542chap1 interconnexion routage
1254851542chap1 interconnexion routage
Simo Qb
 
Simulation d'un réseau Ad-Hoc sous NS2
Simulation d'un réseau Ad-Hoc sous NS2Simulation d'un réseau Ad-Hoc sous NS2
Simulation d'un réseau Ad-Hoc sous NS2
Rihab Chebbah
 
leprotocoleriptoutescesversion-170309205133 (1).pptx
leprotocoleriptoutescesversion-170309205133 (1).pptxleprotocoleriptoutescesversion-170309205133 (1).pptx
leprotocoleriptoutescesversion-170309205133 (1).pptx
Franckdayan1
 
Le routage dans l’internet par jean Patrick Gelas
Le routage dans l’internet par jean Patrick GelasLe routage dans l’internet par jean Patrick Gelas
Le routage dans l’internet par jean Patrick Gelas
syvortsotin
 
1485606887355.pdf
1485606887355.pdf1485606887355.pdf
1485606887355.pdf
Bader Nassiri
 
Ccna 2-module-2-v4
Ccna 2-module-2-v4Ccna 2-module-2-v4
Ccna 2-module-2-v4
Siham Tatiggit
 
notions de routage IP
notions de routage IPnotions de routage IP
notions de routage IP
mohamednacim
 
routage.pdf
routage.pdfroutage.pdf
routage.pdf
abdsamadelom
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracer
Med Ali Bhs
 
Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01
Fabrice Enock
 
Cours-Sur-l'-IP-Multiprotocol-Label-SwitchingMPLS
Cours-Sur-l'-IP-Multiprotocol-Label-SwitchingMPLSCours-Sur-l'-IP-Multiprotocol-Label-SwitchingMPLS
Cours-Sur-l'-IP-Multiprotocol-Label-SwitchingMPLS
docteurgyneco1
 
Ccna2
Ccna2Ccna2

Similaire à Routage (20)

Cours routage dynamique (ri pv1,ripv2,ripng)
Cours routage dynamique (ri pv1,ripv2,ripng) Cours routage dynamique (ri pv1,ripv2,ripng)
Cours routage dynamique (ri pv1,ripv2,ripng)
 
1485606887426.pdf
1485606887426.pdf1485606887426.pdf
1485606887426.pdf
 
Introduction-au-routagfffffge-externe.pptx
Introduction-au-routagfffffge-externe.pptxIntroduction-au-routagfffffge-externe.pptx
Introduction-au-routagfffffge-externe.pptx
 
Généralités sur le routeur
Généralités sur le routeurGénéralités sur le routeur
Généralités sur le routeur
 
Protocole RIP1, RIP2, RIPng
Protocole RIP1, RIP2, RIPngProtocole RIP1, RIP2, RIPng
Protocole RIP1, RIP2, RIPng
 
1254851542chap1 interconnexion routage
1254851542chap1 interconnexion routage1254851542chap1 interconnexion routage
1254851542chap1 interconnexion routage
 
Simulation d'un réseau Ad-Hoc sous NS2
Simulation d'un réseau Ad-Hoc sous NS2Simulation d'un réseau Ad-Hoc sous NS2
Simulation d'un réseau Ad-Hoc sous NS2
 
leprotocoleriptoutescesversion-170309205133 (1).pptx
leprotocoleriptoutescesversion-170309205133 (1).pptxleprotocoleriptoutescesversion-170309205133 (1).pptx
leprotocoleriptoutescesversion-170309205133 (1).pptx
 
vpn
vpnvpn
vpn
 
Le routage dans l’internet par jean Patrick Gelas
Le routage dans l’internet par jean Patrick GelasLe routage dans l’internet par jean Patrick Gelas
Le routage dans l’internet par jean Patrick Gelas
 
1485606887355.pdf
1485606887355.pdf1485606887355.pdf
1485606887355.pdf
 
Ccna 2-module-2-v4
Ccna 2-module-2-v4Ccna 2-module-2-v4
Ccna 2-module-2-v4
 
notions de routage IP
notions de routage IPnotions de routage IP
notions de routage IP
 
routage.pdf
routage.pdfroutage.pdf
routage.pdf
 
Résumé vlsm et cidr
Résumé vlsm et cidrRésumé vlsm et cidr
Résumé vlsm et cidr
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracer
 
Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01
 
Cours réseaux
Cours réseauxCours réseaux
Cours réseaux
 
Cours-Sur-l'-IP-Multiprotocol-Label-SwitchingMPLS
Cours-Sur-l'-IP-Multiprotocol-Label-SwitchingMPLSCours-Sur-l'-IP-Multiprotocol-Label-SwitchingMPLS
Cours-Sur-l'-IP-Multiprotocol-Label-SwitchingMPLS
 
Ccna2
Ccna2Ccna2
Ccna2
 

Routage

  • 1. Etat de l'art sur les algorithmes de routage Mwamba Bakajika mwambastany@gmail.com 2 octobre 2018 Table des matières 1 Introduction 1 1.1 Dénition du routage . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Types de routage . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2.1 Routage xe . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.2 Routage dynamique . . . . . . . . . . . . . . . . . . . . . . 2 2 Protocoles de routage 3 2.1 RIP : Routing Information Protocol . . . . . . . . . . . . . . . . . 3 2.2 IGRP :Interior Gateway Routing Protocol . . . . . . . . . . . . . . 4 2.3 EIRP : Enhanced Interior Gateway Routing Protocol . . . . . . . . 4 2.4 IS-IS : Intermediate System-to-Intermediate System . . . . . . . . 5 2.5 OSPF : Open Shortest Path First . . . . . . . . . . . . . . . . . . 5 2.6 EGP :Exterior Gateway Protocol . . . . . . . . . . . . . . . . . . . 7 2.7 BGP : Border Gateway Protocol . . . . . . . . . . . . . . . . . . . 7 3 Les algorithmes de routage 8 3.1 Algorithme de Bellman-Ford . . . . . . . . . . . . . . . . . . . . . 8 3.2 Algorithme de Dijkstra . . . . . . . . . . . . . . . . . . . . . . . . 9 4 Apprentissage Automatique dans le Routage 10 4.1 Routage utilisant le réseau de neurones . . . . . . . . . . . . . . . 10 4.2 Routage basé sur l'Apprentissage par Renforcement . . . . . . . . . 11 5 Conclusion 12
  • 2. 1 Introduction Les techniques de routage ont évolué au ls du temps avec le développement des protocoles et modes de transmission de l'information dans le réseau informatique. Parfois il est question de privilégier la distance à parcourir, soit la abilité de l'information, soit tenir compte des états des liens avec les points de réception de l'information, soit encore la sécurité. Nous remarquerons que chacune de ces techniques est appréciée ou utilisée pour une application donnée; selon qu'elle s'adapte au réseau et l'optimise. 1.1 Dénition du routage Le routage intervient au niveau trois du modèle OSI et au niveau deux de l'architec- ture TCP/IP. Principalement exécuté au sein du routeur, le routage est un processus qui consiste à trouver le chemin par lequel doit passer l'information de la source à sa destination [eDS09][Jea][Dor]. Figure 1 Modèle OSI et Architecture TCP/IP 1.2 Types de routage Le routage étant un procédé prenant en compte des contraintes (qualité de service), des matérielles (routeurs,etc..) et l'environnement (topologie). De ce fait, il existe plusieurs types de routage. Cependant, ces derniers se regroupent en deux selon les modes de conguration de la table de routage 1 . Ainsi nous avons [eDS09] [Dor] : • le routage xe • le routage dynamique 1. La table de routage permet d'indiquer au routeur la direction que devront suivre les paquets. Cette dernière (table de routage) contient deux informations principales : la destination (machine ou réseau IP) et le chemin directement accessible généralement appélé saut ( peut être un routeur sur le même sous-réseau ou un réseau externe). En outre, nous pouvons la dénir comme un répertoir contenant principalement les déstinations et les sauts corréspondants. 1
  • 3. 1.2.1 Routage xe Dans ce mode de routage, la conguration de la table de routage est manuelle. Ces tables restent inchangées quels que soient les changements des caractéristiques du réseau. Le routage xe lève, toutefois, les défauts ci-après [HOU06] : Mise à jour manuelle de tous les équipements du réseau, Diculté de gérer la redondance de routes, Boucle de routage possible quand un lien est coupé, Routages asymétriques. Malgré ces défauts, le routage statique est recommandé pour les stations et les routeurs d'extrémité pour le cas d'un système autonome où il (routage statique) ore plus de sécurité[Arc] [HOU06] . 1.2.2 Routage dynamique Dans ce mode de routage, les tables de routage sont remplies automatiquement à l'aide d'un algorithme de routage. Le routage dynamique s'appuie sur des protocoles spéciques appelés protocoles de routage 2 . Le but d'un protocole de routage est de fournir l'information nécessaire pour eectuer un routage. Étant donné que les tables de routage s'accroissent au fur et à mesure de la taille du réseau, cela augmente la demande d'espace mémoire nécessaire dans les routeurs et les ressources du processeur. D'autre part, cela diminue les performances du réseau. On découpe alors le réseau en sous-ensembles régionaux appelé Système Autonome (SA). Selon que le SA échange les données, nous avons : les protocoles de routage interne (IGP :Interior Gateway Protocol), utilisés à l'interieur du SA et les protocoles de routage externe (EGP :Exterior Gateway Protocol), utilisés entre SA [eDS09, Sys00, Puj06, Mon]. Nous pouvons citer comme; • protocoles de routage interne [Pre] : RIP (Routing Information Protocol) IGRP (Interior Gateway Routing Protocol) EIRP (Enhanced Interior Gateway Routing Protocol) IS-IS (Intermediate System-to-Intermediate System) OSPF (Open Shortest Path First) • protocole de routage externe : EGP (Exterior Gateway Protocol) BGP (Border Gateway Protocol) Ces protocoles cités ci-haut ont été introduits an de faciliter le routage. Certains ont été améliorés, d'autres abandonnés ; ils exploitent tous des algorithmes de routage. Les uns misent sur les états de liens, les autres sur la distance à parcourir (le plus court chemin) ou encore les deux. 2. Il convient de distinguer la politique de routage qui indique comment est choisie une route (déterministe : centralisé ou décentralisé, adaptatif ou mixte : déterministe + adaptatif), du protocole de routage qui décrit comment sont construites les tables de routage(spécier les échanges d'information entre n÷uds, le mode de calcul de la route et du coût)[Ser03]. 2
  • 4. 2 Protocoles de routage Les protocoles de routage permettent aux routeurs de choisir le meilleur chemin possible pour acheminer les données de la source vers leurs destinations. Ils assurent les fonctions dont nous citons principalement : Fournir les processus utilisés pour partager les informations d'acheminement. Permettre aux routeurs de communiquer entre eux an de mettre à jour et de gérer les tables de routage. Parmi eux il y en a dits à Vecteur de Distance et d'autres dits à Etat de Lien, selon les algorithmes exploités. 2.1 RIP : Routing Information Protocol Un des plus vieux protocoles de routage, ce dernier est classé parmi les protocoles à vecteur de distance exploitant l'algorithme de Bellman-Ford (nous en parlerons en détail au point 3.1) pour la determination du chemin. Ce protocole tire ses origines de protocole Routed, développé à l'université de Californie à Berkeley pour le réseau ARPANET. Xerox, première entreprise à réussir à implémenter un protocole à vecteur de distance, et crée sa version de RIP. Xerox améliore certains défauts que présentait Routed ; dont nous citons la construction et mises à jour automatique des tables de routage [PRE99]. En Juin 1985, RFC (Request for Comments) lance un nouveau protocole de routage RIP inspiré de Routed, c'est la version RFC 1058. Qui, contrairement à la version Xerox (privé) et Routed(Uniquement pour des systemes UNIX Berkeley), résoud les problèmes d'interopérabilité. La version RC 1085 de RIP devient alors la version standard [PRE99]. En novembre 1994, une nouvelle version de RIP apparait, RIP-2 par RFC 1723. RIP-2 integre des nouvelles fonctions du réseau comme l'authentication, le subnetting (routage par sous-réseau) et le multicasting (transmission multipoint) [eDS09] [PRE99]. Bien qu'il connaisse ces mises à jour, RIP-2 hérite certaines faiblesses de RIP [PRE99] comme : le nombre de sauts (seul paramètre utilisé dans la métrique) doit être compris entre 1 et 15 ; à 16 la distance est considérée comme innie, la connection ne peut être établie, la mise à jour des tables de routage a lieu toutes les 30 secondes (pas de temps réel), la possibilité de boucle de routage en cas de dépassement de délais de mise à jour des tables et propagation des informations obsolètes, la distance (vecteur de distance) constante ; le critère de coût est xé par l'administrateur réseau, pas de routes alternatives. Figure 2 Format de paquet RIPv1 et Format de paquet RIPv2 3
  • 5. 2.2 IGRP :Interior Gateway Routing Protocol Développé par CISCO en mi-1980 pour remédier aux limites de RIPv1; principalement la métrique de 15 sauts. Contrairement à RIPv1, sa limite est de 255 sauts de diamètre, actualise les tables trois fois de plus que RPIv1 (90 secondes, donc trois plus lent), n'utilise pas UDP 3 comme protocole de transport car il accède directement à IP comme protocole 9 [Pre, PRE99]. Exploitant aussi l'algorithme de Bellman-Ford, sa métrique est composée de 5 paramètres : la bande passante, le délai, le chargement, la liaison et le saut. Par défaut, seul la bande passante et le délai sont considérés. Figure 3 Format de paquet IGRP 2.3 EIRP : Enhanced Interior Gateway Routing Protocol Aussi une de variétés de protocoles CISCO; EIRP est une amélioration de IRGP. Il accède directement à IP comme protocole 88[Pre, PRE99]. Contrairement à IRGP,le protocole EIGRP n'est pas périodique, il met à jour les tables à chaque changement du réseau. Il est non plus seulement basé sur l'algorithme de Bellman-Ford pour le calcul du chemin optimal. Mais, il utilise un autre mécanisme appelé DUAL (Diusion Update Algorithme) une machine à état ni, permettant de déterminer l'existence des liens ou si le coût du chemin a changé. Figure 4 Format des paquets EIGRP 3. UDP (User Datagram Protocol) : est un protocole de la couche transport du modèle OSI et TCP/IP. En résumé le rôle de ce protocole est de permettre la transmission des données. 4
  • 6. Table 1 Tableau resumé sur les protocoles à vecteur de distance Protocole RIPv1 RIPv2 IGRP EIGRP Adresse IPv4 IPv4 IPv4 IPv4 Métrique saut saut composée composé Information moins able moins able moins able able Communication broadcast 4 broadcast multicast5 multicast Calcul de routage Bellman-Ford Bellman-Ford Bellman-Ford Calcul par diu- sion de l'informa- tion Remarque convergence lente convergence lente convergence lente rapide 2.4 IS-IS : Intermediate System-to-Intermediate System IS-IS a été principalement développé par l'ISO (ISO 10589). Il décrit un routage hiérarchique fondé sur la décomposition des réseaux de communication en domaines. Dans un domaine, les diérents n÷uds indiquent leur état aux routeurs IS-IS aérents. Les communications inter- domaines sont eectuées par un routage vers un point d'accès au domaine déterminé par les routeurs chargés des communications externes au domaine. 2.5 OSPF : Open Shortest Path First OSPF6 fait partie de la deuxième génération de protocoles de routage. Beaucoup plus complexe que RIP, mais au prix de performances supérieures; il utilise une base de données distribuée, qui garde en mémoire l'état des liens. Ces informations forment une description de la topologie du réseau et de l'état des n÷uds, laquelle description permet de dénir l'algorithme de routage par un calcul des chemins les plus courts [eDS09]. L'algorithme basé sur l'état des voisins nécessite deux mécanismes [Puj06] : 1. la dissémination able des informations sur l'état des liens, 2. le calcul des routes par sommation des connaissances accumulées sur l'état des liens. La solution consiste à réaliser une inondation able des informations, de façon à s'assurer que chaque n÷ud reçoit sa copie des informations de la part de tous les autres. En fait, chaque n÷ud inonde ses voisins, qui, à leur tour, inondent leurs propres voisins. Et crée ses propres paquets de mise à jour, appelés LSP (Link-State Packet), contenant les informations suivantes [eKR] : • Identité du n÷ud qui crée le LSP, • Liste des n÷uds voisins avec le coût du lien associé, 4. Transmission d'une information à plusieurs destination sans sélection. 5. Transmission d'une information à plusieurs destinations avec possibilité de sélection. 6. Dans le sigle OSPF (Open Shortest Path First), le mot Open indique que le protocole est ouvert et pris en charge par l'IETF (Internet Engineering Task Force : Organisme de normalisation des standards Internet) [Puj06]. 5
  • 7. • Numéro de séquence, • Temporisateur (Time To Live) pour ce message, Les deux premières informations sont nécessaires au calcul des routes. Les deux dernières ont pour objectif de rendre able l'inondation. Le numéro de séquence permet de mettre dans l'ordre les informations qui auraient été reçues en désordre. Le protocole possède des éléments de détection d'erreur et de retransmission. Le calcul de la route s'eectue après réception de l'ensemble des informations sur les liens. À partir de la carte complète du réseau et des coûts des liens, il est possible de calculer la meilleure route. Le calcul est eectué en utilisant l'algorithme de Dijkstra (nous en parlerons au point 3.2). En utilisant les mécanismes indiqués ci-dessus, le protocole OSPF ajoute les propriétés supplémentaires suivantes [Puj06] : Authentication des messages de routage, Nouvelle hiérarchie (un niveau de hiérarchie supplémentaire en partitionnant les do- maines en ères) Pour communiquer, il y a plusieurs types de messages OSPF dont nous citons le message Hello 7 à titre d'exemple. Les messages OSPF utilisent tous le même en-tête dont nous présen- tons le format de Paquet sur la gure suivante. Figure 5 Format des paquets OSPF 7. Le message Hello est envoyé par un routeur à ses voisins an d'indiquer sa présence. 6
  • 8. 2.6 EGP :Exterior Gateway Protocol EGP est le premier protocole de routage extérieur à avoir été mis au point, au début des années 80, pour router un paquet d'un système autonome vers un autre. Il comporte trois pro- cédures essentielles, qui permettent l'échange d'informations. La première procédure concerne la dénition d'une passerelle voisine. Cette dernière étant connue, une deuxième procédure dé- termine le lien qui permet aux deux voisins de communiquer. La troisième procédure concerne l'échange de paquets entre deux voisins connectés par un lien. Les faiblesses d'EGP sont appa- rues avec le développement exponentiel d'Internet et le besoin d'éviter certaines zones politi- quement sensibles [Puj06]. 2.7 BGP : Border Gateway Protocol Pour répondre aux faiblesses d'EGP, un nouveau protocole a été mis en chantier par l'IETF (voir bas de page 6) sous le nom de BGP. Une première version, BGP-1, a été implémentée en 1990, suivie de près par BGP-2 puis BGP-3. Au bout de quelques années a été déployé BGP-4, qui permet de gérer beaucoup plus ecacement les tables de routage de grande dimension en rassemblant en une seule ligne plusieurs sous-réseaux. BGP apporte de nouvelles propriétés par rapport à EGP, en particulier celle de gérer les boucles, qui devenaient courantes dans EGP puisque ce protocole ne s'occupe que des couples de voisins, sans prendre en compte les rebouclages possibles par un troisième réseau autonome[Puj06]. BGP est le protocole de routage interdomaine utilisé actuellement partout dans le monde; conçu pour échanger des informations de routage entre systèmes autonomes, il est déni dans les RFC 1771 et 1774 [eDS09]. Pour BGP, les diérents réseaux sont organisés en SA, reliés par une ou plusieurs liaisons. Au sein d'un SA, le routage est calculé avec l'un des protocoles précédents (RIP ou OSPF). BGP intervient lorsque la route doit emprunter plusieurs SA. Dans un système autonome, il y a un ou plusieurs routeurs de bordure qui dialoguent avec le(s) routeur(s) de bordure des SA voisins. Lorsqu'il n'y a qu'un seul routeur de bordure, le SA ne peut pas être un SA de transit pour des messages sur l'interconnexion, il est alors ignoré de BGP. Quand il y en a plusieurs, le SA est un SA de transit : des messages sur l'interconnexion peuvent y entrer par l'un des routeurs de bordure et ressortir par l'autre. Il faut toutefois ajouter que certains SA interdisent le transit interne (pour des raisons politiques ou commerciales, par exemple). Ils sont encore ignorés de BGP. BGP ne prend donc en compte que les SA où le transit est autorisé (réseaux fédérateurs d'In- ternet, par exemple, ou réseaux d'opérateurs, moyennant des accords nanciers). Les routeurs de bordure de ces SA sont appelés routeurs BGP. Ils calculent des routes avec un algorithme à vecteurs de distance. À la diérence de RIP, ils mémorisent la totalité du chemin et non seulement le premier routeur du chemin. Ils échangent donc des informations complètes, ce qui est possible car le graphe BGP est de petite taille [eDS09]. 7
  • 9. 3 Les algorithmes de routage Un algorithme de routage remplit la table de routage automatiquement. Nous avons les algorithmes de routage basés sur les états des liens et les algorithmes basés sur le vecteur de distance; dont les plus utilisés sont respectivement l'algorithme de Dijkistra et l'algorithme de Bellman-Ford. 3.1 Algorithme de Bellman-Ford Autrement appelé algorithme à vecteur de distance; cet algorithme est implémenté dans les protocoles suivants : RIP (Routing Information Protocol), BGP (Boarder Gateway Protocol), IGRP (Interior Gateway Routing Protocol). Les étapes de cet algorithme[ref, CAO11] sont : chaque routeur est initialisé avec son identicateur propre, le coût des liens vers chacun des ses voisins et un coût nul pour lui-même. chaque routeur diuse périodiquement vers chacun de ses voisins sa table de routage contenant les n÷uds du réseau et le coût associé pour les atteindre. lorsqu'un routeur reçoit une nouvelle table de routage, il calcule son propre vecteur de distance en eectuant pour chaque entrée de la table les traitements suivants : • si l'entrée n'est pas présente dans la table, le routeur l'ajoute dans sa propre table. • si le coût rapporté par un des voisins ajouté au coût pour atteindre ce voisin est inférieur au coût déjà stocké, alors la table de routage est mise à jour avec le nouveau chemin. • si le coût rapporté par un autre des voisins ajouté au coût pour atteindre ce voisin est supérieur au coût déjà stocké, alors l'entrée correspondante dans la table de routage reste inchangée, puisqu'on sélectionne le plus court chemin vers chaque destination • Si un routeur découvre qu'un lien vers l'un de ses voisins est rompu, il met à jour l'entrée correspondante de sa table de routage (coût inni). Algorithme 1 Algorithme de Bellman-Ford 1: //s sommet 2: Initialisation 3: D[s] ← 0 //D matrice contenant les vecteurs de distance des n÷uds à atteindre 4: P[s] ← null //P vecteur contenant les n÷uds prédécesseurs 5: pour v ∈ G avec v = s faire 6: D[v] ← ∞ 7: P[v] ← null 8: n pour 9: pour i ← 1 à n − 1 faire 10: // n : nombre de n÷uds 11: pour tout arc(u, v) ∈ E(G) faire 12: si D[v] D[u] + w(u, v) alors 13: D[v] ← D[u] + w(u, v) 14: P[v] ← u 15: n du si 16: n pour 17: n pour Cet algorithme a pour complexité O(n2 ) et O(n3 ) dans le pire de cas; où n est le nombre des n÷uds. 8
  • 10. 3.2 Algorithme de Dijkstra Contrairement à l'algorithme du Vecteur de Distance (Bellman-Ford), chaque routeur échange avec ses voisins la description des liens qu'il a avec ceux-ci. Cette information locale est relayée de proche en proche et permet à chaque routeur de se bâtir sa propre topologie du réseau, avec lui-même comme racine du graphe de topologie[ref]. Avec les protocoles basés sur L'état des liens (l'algorithme de Dijkstra), chaque n÷ud main- tient toute la topologie du réseau, par acquisition des informations du voisinage et la diusion des changements de topologie à tous les n÷uds du réseau. Cet algorithme est mis en ÷uvre dans les protocoles IS-IS (Intermediate Systems to In- termediate Systems) et OSPF (Open Shortest Path First) déployé dans le réseau Internet. L'algorithme se déroule en 4 étapes [CAO11] qui sont les suivantes : la phase d'identication des voisins, la phase de construction du paquet d'état des liens à diuser, la phase de propagation du paquet d'état des liens, la phase de calcul des routes du plus court chemin. Algorithme 2 Algorithme de Dijkstra 1: //s sommet 2: Initialisation 3: A ← s //A matrice contenant les n÷uds permanents 4: D[s] ← 0 //D matrice contenant les vecteurs de distance des n÷uds à atteindre 5: P[s] ← null //P vecteur contenant les n÷uds prédécesseurs (saut) 6: pour v ∈ G avec v = s faire 7: D[v] ← ∞ 8: P[v] ← null 9: n pour 10: found ← false 11: tant que NOTfound faire 12: v ← argminu/∈AD[u] //Recherche du plus proche voisin 13: A ← A ∪ {v} //ajout du n÷ud proche dans la matrice des n÷uds permanents 14: pour tout u ∈ N[v] faire 15: si D[u] D[v] + w(v, u) alors 16: D[u] ← D[v] + w(v, u) 17: P[u] ← v 18: n du si 19: n pour 20: si v = t alors 21: //t n÷ud directement connecté 22: found ← true 23: n du si 24: n tant que Sortie(s) D[t] L'algorithme de Dijkstra a pour complexité O((n + a) log(n)) où n est le nombre de n÷uds et a le nombre d'arcs. Note : Dans les cas où il n'existe pas de chemin le plus court, Bellman-Ford signale une erreur mais n'échoue pas contrairement à Dijkstra. Bellman-Ford fonctionne bien avec les arêtes négatives et est capable de détecter le cycle des arêtes négatives dans un graphe. En revanche, Dijkstra ne fonctionne bien qu'avec des poids positifs [eKR]. 9
  • 11. 4 Apprentissage Automatique dans le Routage Les techniques d'apprentissage automatique (Machine Learning) couvrent aujourd'hui plu- sieurs domaines de la vie. Anciennement utilisées dans la commande (la robotique); aujourd'hui elles intègrent la médecine, la gastronomie, l'automobile (self driving), la reconnaissance vocale, la reconnaissance d'image et autre. Le réseau est l'un des domaines ayant bénécié de cette puissance (techniques d'apprentis- sage automatique). L'intégration de l'apprentissage automatique dans le réseau est protocolaire. Sans entrer dans les détails nous présentons un modèle proposé dans [MWJ17]. Les étapes à suivre sont : • La formulation du problème (prédiction, classication, prise de décisions) • La collection de données (le traque, performance) • Analyse des données (traitement,extraction des caractéristiques) • Élaboration du Modèle (choix [ex :Markov] et Entraînement) • Validation (Analyse de l'erreur) • Déploiement Figure 6 schéma d'intégration de l'Apprentissage automatique dans le réseau C'est dans cette approche que les scientiques ont amélioré le routage par intégration des techniques d'apprentissage automatique. Nous présenterons aux points suivants les modèles adoptés pour améliorer le routage. 4.1 Routage utilisant le réseau de neurones Dans cette approche, les algorithmes se basent sur un réseau de neurones pour la recherche du chemin optimal. La topologie du réseau est modélisée par un réseau de neurones où les coûts des liens représentent les poids des transactions entre les n÷uds du réseau de neurones.Par exemple, Samuel Pierre, W.G. Probst et H. Said [S.P00] utilisent un réseau de neurones de type Hopeld8 où chaque neurone est physiquement connecté à la totalité des autres neurones, le critère d'optimisation est la minimisation de la fonction énergie du réseau. Figure 7 Exemple d'une Architecture d'un réseau Hopeld 8. Une variante de réseau de neurones récurrents caractérisé par une matrice des poids symétrique et nulle sur la diagonale, où chaque neurone est mis à jour à chaque unité de temps. 10
  • 12. 4.2 Routage basé sur l'Apprentissage par Renforcement L'apprentissage par Renforcement(AR)9 est un apprentissage pour lequel seule une mesure qualitative de l'erreur est disponible. Dans ce cas, l'agent reçoit des stimulus de son environ- nement et réagit en choisissant une action adéquate pour son comportement. Sa réaction est alors jugée par rapport à un objectif prédéni sous forme de note récompense (reward en anglais). L'agent reçoit cette récompense et doit l'intégrer pour modier ses actions futures et parvenir, ainsi à un comportement optimal. Une action conduisant à une note négative sera, à l'avenir, et dans les mêmes conditions, moins utilisée qu'une action notée positivement[Gé08]. Figure 8 Apprentissage par Renforcement En s'inspirant d'un tel système; en 1994, Boyan et Littman introduirent Q-routing, le pre- mier algorithme de routage adaptatif basé sur les techniques d'apprentissage par renforcement. Dans le souci d'ameliorer le Q-routing, certaines variantes de Q-routing et d'autres modèles ont été introduits dont les plus réussis Q-Neural routing et K-Shortest paths Q-Routing [HOC04]. Q-Neural Routing, est basé sur une approche neuronale permettant une modélisation de la dynamique du réseau. Cette méthode permet un apprentissage discriminant et une prise en compte able du contexte dans lequel se trouve le réseau, pour l'estimation des temps d'acheminement des paquets. L'algorithme proposé a pour objectif d'une part, de prendre en compte en plus du temps de bout en bout, d'autres paramètres tels que l'état des les d'attentes ou la nature des ux et d'autre part, de minimiser l'espace mémoire occupé par la table de routage. K-Shortest paths Q-Routing quant à lui, combine la technique de recherche des K plus courts chemins et l'algorithme Q-Routing. 9. L'apprentissage par Renforcement consiste à apprendre pour un agent autonome un comportement à adopter lors de son interaction avec son environnement, an d'atteindre des objectifs sans aucune intervention extérieure ou d'un professeur. 11
  • 13. 5 Conclusion Tout au long de ce document, nous avons présenté les diérents protocoles de routage sur lesquels reposent les algorithmes de routage classique. Nous nous sommes ensuite intéressé à ces algorithmes et leurs complexités. Enn, nous avons présenté des nouvelles approches algorithmiques, basées sur l'appren- tissage automatique, lesquelles approches améliorent le routage adaptatif. Contrairement aux algorithmes classiques, ces approches améliorent énormément la qualité de service en observant intelligemment les variations de diérents paramètres du réseau. La communication par IP tend du jour au jour à dominer dans la téléphonie mobile. Et les exigences en terme de qualité de service deviennent de plus en plus remarquables. Cependant,il existe encore d'autres modèles ou formalismes d'apprentissage automatique qui sont encore quasi-inexplorés dans le réseau IP tels que l'apprentissage par transfert, l'apprentissage semi- supervisé et tant d'autres, qui permettront de répondre aux actuelles exigences notamment l'amélioration de la qualité de service et voire même palier à certains problèmes tels que la congestion,... 12
  • 14. Références [Arc] Jean-Luc Archimbaud. Le routage. Introduction à TCP/IP, page 48. CNRS/UREC. [CAO11] Panos M. Pardalos Carlos A.S. Oliveira. Mathematical Aspects of Network Routing Optimization. Springer Optimization and Its Applications series, Springer New York Dordrecht Heidelberg London, 2011. ISBN 978-1-4614-0310-4. [Dor] Neize Dorta. Routage. [eDS09] Danièle DROMARD et Dominique SERET. Architecture des réseaux. Pearson Edu- cation France, 2009. [eKR] Deepankar Medhi et Karthikeyan Ramasamy. NETWORK ROUTING : Algorithms, Protocols, and Architecture. [Gé08] Pierre Gérard. Apprentissage par renforcement. 2008. [HOC04] Said HOCEINI. Techniques d'Apprentissage par Renforcement pour le Routage Adap- tatif dans les Réseaux de Télécommunication à Trac Irrégulie. PhD thesis, UNIVER- SITE PARIS XII VAL DE MARNE, Novembre 2004. [HOU06] Jean Robert HOUNTOMEY. Le routage statique. AFNOG, 2006. hro- bert@iservices.tg. [Jea] Nicolas Jean. Algorithmes de routage. www.nicolasjean.com. [Mon] Jean-Luc Montagnier. Réseau d'entreprise par la pratique. Eyrolles, eyrolles edition. ISBN :2-212-11258-0. [MWJ17] Xin Wang Shihan Xiao Mowei Wang, Yong Cui and Junchen Jiang. Machine lear- ning for networking : Workow, advances and opportunities. IEEE Network, 2017. 10.1109/MNET.2017.1700200. [Pre] CISCO Press, editor. CCIE Professional Development : Routing TCP/IP, volume 1. Macmillan Technical Publishing. ciscopress@mcp.com. [PRE99] CISCO PRESS, editor. IP Routing Fundamental. Macmillam, USA, 1999. [Puj06] Pujolle. Les réseaux. Eyrolles, 5 edition, Août 2006. [ref] Algorithmes de routage, chapter 7. [Ser03] Claude Servin. RESEAUX ET TELECOMS- cours et exercices corrigés, chapter 8 le concept de réseau, page 178. DUNOD, Paris, nouveau tirage corrigé edition, 2003. [S.P00] W.G.Probst S.Pierre, H.Said. Routing in computer networks using articial neural networks. ELSEVIER, 2000. [Sys00] Cisco System. Architecture réseau et étude de cas. CampuPress France, 19, rue Michel Le Comte 75003 PARIS, 2 edition, 2000. 13