Dans cette recherche, nous avons conçu un programme capable de résoudre le problème d’optimisation de poids des liens en utilisant un algorithme de la recherche locale.. Nous avons implé
Trang 1Institut de la francophonie
pour l’informatique
Université catholique de
Louvain
Diversification et nouveaux objectifs de
recherche locale pour l’ingénierie de trafic
dans les réseaux IP
Département d’Ingénierie Informatique
Louvain La Neuve, le 10 aỏt 2008
Trang 2Table des matières
Remerciements 3
Résumé 4
Abstract 5
Liste des figures 6
Liste des tableaux 7
Chapitre 1 : Introduction 8
1 Problématique 8
2 Motivation 9
3 Objectifs 10
4 Contribution 11
5 Environnement de stage 13
Chapitre 2 : Recherche Locale et Comet 15
1 Recherche locale 15
1.1 Méthodes de résolution heuristiques 15
1.2 Les composants principaux de LSA 16
1.2.1 Génération de la solution initiale 16
1.2.2 Heuristiques ou méta-heuristiques pour le choix du voisin 16
1.2.3 Stratégie d’intensification ou de diversification 17
1.2.4 Critères d’arrêt 18
1.3 Le générique de recherche locale 18
1.3.1 Les heuristiques 18
1.3.2 Les méta-heuristiques 19
2 Comet 21
2.1 Le choix de COMET 21
2.2 Langage de COMET 22
2.2.1 Architecture de COMET 22
2.2.2 Le programme de COMET 24
2.2.2.1 Le modèle 24
2.2.2.2 Les variables de décision 25
2.2.2.3 Les contraintes 25
2.2.2.4 La procédure de recherche 25
Chapitre 3 : Le problème de convergence dans les protocoles de routage IP 27
1 Routage IP et convergence 27
1.1 Le protocole IP 27
1.2 Routage IP 27
1.3 OSPF 27
1.3.1 Routage avec OSPF 27
1.3.2 Convergence OSPF 28
2 Les techniques de protection de liens 29
2.1 MPLS Fast Reroute 29
2.2 Loop-Free Alternates (LFA) 30
2.2.1 LFA par lien 31
2.2.2 LFA par préfixe 32
2.3 LFA vs MPLS FRR 33
2.4 Equal Cost Multi-Path (ECMP) 34
Trang 33 Le cadre d’ingénierie du réseau 35
3.1 Introduction 35
3.2 Exemple de la configuration de topologie du réseau 37
3.2.1 Configuration initiale avec les poids d’unité 37
3.2.2 Modification locale de poids de lien encombré 38
3.2.3 Opimisation globale de la charge de liens 39
4 Description de problèmes 39
4.1 Problème 1 40
4.2 Problème 2 41
4.3 Problème 3 42
Chapitre 4 : Algorithme de recherche locale pour le problème de convergence 43
1 Mesure du trafic 43
2 Optimisation des métriques IGP 45
2.1 La séquence de métriques clés 45
2.2 Les 4 composants principaux 48
2.2.1 Génération des solutions initiales 48
2.2.2 Fonction d’objectif 50
2.2.3 Choix de la solution voisine 51
2.2.4 Diversification et critères d’arrêt 53
2.3 Description algorithmique 54
Chapitre 5 : Expérimentation et Analyse 57
1 Environnement d’implémentation 57
1.1 IGEN 57
1.2 TOTEM 58
2 Algorithme IGPWO de TOTEM 59
3 Comparaison entre LSA4IGPWO et IGPWO de TOTEM 61
3.1 Point de vue algorithmique 61
3.2 Résultats expérimentaux 62
3.2.1 Minimisation de la valeur de MaxUtilisation 63
3.2.2 Impacts sur la couverture de LFA 64
Conclusion 65
Références 66
Trang 4Remerciements
Je tiens d’abord à remercier Yves Deville, Olivier Bonaventure et Pierre François, qui ont dirigé mon mémoire de fin d’études Leurs commentaires éclairés, leurs judicieux conseils, leur disponibilité et leurs encouragements m’ont considérablement aidé à mener à terme mes travaux
Je remercie aussi les membres du groupe Be-cool (Belgian Constraint Group) du Département d’Ingenierie Informatique pour leur accueil, leur aide et leur bonne humeur tout long de mon stage
Ma reconnaissance s’adresse aussi aux professeurs à l’Institut de la Francophonie pour l’Informatique (IFI) Leurs cours m’ont apporté des connaissances et des suggestions qui sont utiles pour mon mémoire
Finalement, j’exprime mon entière reconnaissance à ma famille et mes amis pour leur soutien, leur aide et leurs encouragements Sans leur aide, je n’aurais pas pu achever ce mémoire
Trang 5Résumé
Les applications de multi-média comme la vidéo-conférence IP, la téléphonie IP et la télévision IP entraînent l’augmentation de demandes de trafic dans les réseaux Dès lors, une utilisation efficace des ressources disponibles, par les protocoles de routage IP traditionnels devient critique OSPF (Open Shortest Path First) est le protocole de routage interne le plus utilisé Il route les flux de trafic le long des plus courts chemins dans le graphe représentant les routeurs (noeuds) et leurs liens (arêtes) du réseau Les poids des liens du réseau peuvent être changés par l’opérateur du réseau Grâce à une optimisation
de ces poids, nous pouvons améliorer considérablement la charge des liens, répondant ainsi à l'augmentation de demandes de trafic, tout en utilisant les ressources disponibles
et sans modifier le protocole Cependant, cette optimisation est un problème complexe (NP-difficile), dont la solution ne peut pas être trouvée au moyen d’une méthode de résolution exacte Pour ce type de problèmes d'optimisation, la recherche locale est une approche adéquate Dans cette recherche, nous avons conçu un programme capable de résoudre le problème d’optimisation de poids des liens en utilisant un algorithme de la recherche locale Nous avons proposé des heuristiques nouvelles pour cette approche
Un autre aspect essentiel de la transmission de données fournie par OSPF est son temps
de récupération en cas de panne Des mécanismes de récupération locale (IP Fast Reroute) ont été récemment mis en place pour fournir une telle récupération rapide Ces techniques fournissent des détours locaux autour des composants en panne, et donc changent l’utilisation des ressources du réseau au moment de leur activation
Dans notre travail, nous avons évalué l’impact des différentes solutions d’optimisation des poids sur l’utilisation des ressources du réseau lors de l’activation des mécanismes de protection Deux mécanismes de Fast Reroute ont été examinés : Loop Free Alternates et MPLS Fast Reroute Un aspect intéressant des LFAs est qu’ils sont applicables uniquement dans certaines conditions portant sur le graphe du réseau et la configuration des métriques des liens Par conséquent, nous avons également étudié l’impact des solutions d’optimisation des poids sur l’applicabilité de cette technique
Nous avons implémenté les solutions présentées dans ce mémoire dans COMET, et nous avons comparé leur performance et impact sur l’applicabilité des LFAs avec la solution
de recherche taboue de TOTEM (TOolbox for Traffic Engineering Methods)
Trang 6Abstract
Multimedia applications as IP telephony, IP television, and IP video conferencing lead to
an increasing traffic demand in the network Therefore, an effective use of available resources (transit bandwidth) by the traditional IP routing suite becomes critical Open Shortest Path First (OSPF) is the most commonly used intra-domain routing protocol It routes the traffic flows along the shortest paths within the network topology graph The weights of the network graph can be modified by the network operator By optimizing the setting of these weights, we can significantly improve the load of the links while using available resources and without changing the protocols themselves However, this
is a complex problem (NP-hard), that can not be solved by a method of exact resolution For this type of optimization problem, the local search approach is thus an appropriate solution approach In this research, we developed a program capable of solving the link weights optimizing problem using a local search algorithm We have proposed new heuristics for this local search approach The performances of our solution are compared with the tabu search solution of TOTEM (TOolbox for Traffic Engineering Methods) Another critical aspect of the transit service provided by OSPF is its recovery time in the case of failures Local recovery mechanisms (IP Fast Reroute) have been recently introduced to provide such a fast recovery These techniques provide local detours around the failing components, and hence change the utilization of the network resources upon their activation
Thus, in our work, we evaluated the impact of the various weight optimization solutions
on the network resource usage upon the activation of the protection mechanism Two Fast Reroute mechanisms were considered : Loop Free Alternates and MPLS Fast Reroute
An interesting aspect of LFAs is that they are only applicable under some conditions on the network graph and the setting of the link metrics Hence, we also studied the impact
of the Weight Optimization solutions on the applicability of this technique
Trang 7Liste des figures
Figure 1: Recherche Locale : Optima Locaux et Solution Optimale 17
Figure 2: Architecture de COMET 23
Figure 3: Multiple des chemins les plus courts 28
Figure 4 : Les opérations de MPLS Fast ReRoute 30
Figure 5 : Exemple de la protection de LFA : Cas normal 31
Figure 6 : Exemple de la protection de LFA : Lien B→D tombe en panne 31
Figure 7 : Exemple de LFA par lien 32
Figure 8 : Exemple de LFA par préfixe 33
Figure 9 : Cas normal : pas de panne de S à D 33
Figure 10 : LFA vs MPLS Fast Reroute 34
Figure 11 : ECMP avec 5 chemins les plus courts 35
Figure 12 : 3 composants clés du cadre d'ingénierie de trafic 36
Figure 13 : Configuration initiale 37
Figure 14 : Modification locale de lien encombré 38
Figure 15 : Optimisation globale de la charge de liens 39
Figure 16 : Image de l’utilisation du réseau 41
Figure 17 : Calcul de la KMS 47
Figure 18 : Calul de totalDemand - Option 1 49
Figure 19 : Calcul de totalDemand - Option 2 50
Figure 20 : Interface d'IGEN 57
Figure 21 : Interface de TOTEM 58
Trang 8Liste des tableaux
Tableau 1: 2 classes des LSA heuristiques 19
Tableau 2 : Approches Méta-heuristiques 21
Tableau 3 : Algorithme de mesure du trafic 45
Tableau 4: Algorithme de LSA4IGPWO 56
Tableau 5 : Algorithme : LSA4IGPWO et IGPWO de TOTEM 62
Tableau 6 : Données de tests 63
Tableau 7 : Minimisation de MaxUtilization 63
Tableau 8 : Impacts sur la couverture de LFA 64
Trang 9Chapitre 1 : Introduction
1 Problématique
Actuellement, avec l'expansion de l'Internet, les FAI (Fournisseurs d'Accès à Internet) essaient de répondre au problème de l'augmentation de la demande de trafic de leurs clients En effet, les demandes de trafic sont approximativement doublées chaque année [COF 01] Les FAI doivent donc s'adapter à ces besoins par l'invention de nouvelles technologies ou par une utilisation efficace des ressources disponibles fournies par les techniques de routage classiques
OSPF (Open Shortest Path First) et IS-IS (Intermediate System to Intermediate System) sont deux des protocoles de routage les plus utilisés pour fournir la connectivité de bout en bout dans un ensemble de dispositifs d'un réseau (organisation, compagnie, campus, université, ) Nous pouvons les classer parmi les protocoles IGP (Interior Gateway Protocols)
Un critère important d'évaluation de ces protocoles est leur temps de convergence
La convergence de routage peut être définie par l’adaptation des tables de routage des routeurs du réseau lors d’un changement de la topologie du réseau, typiquement déclenché par deux types d’événements :
- Soudain : coupures de fibres, ruptures d'alimentation
- Prévisible : mise à jour du logiciel et du matériel, enlèvement ou installation d'un lien ou d'un noeud (routeur) dans le réseau
Pour réduire ce temps de convergence, des techniques de reroutage local ont été introduites pour faire face aux pannes soudaines de liens Elles permettent aux services dans les réseaux IP commerciaux d'être restaurés sans échange de messages de contrôle entre les noeuds qui détectent la panne et les autres noeuds
du réseau Dans cette recherche, nous nous intéressons à deux techniques de protection de lien : LFA (Loop-Free Alternates) et MPLS (Multi-Protocol Label Switching) Fast Reroute
Trang 10Un problème considérable est le problème de l'optimisation de l’utilisation de la capacité du réseau pour répondre aux demandes actuelles (la somme de demandes
de trafic qui doivent être envoyées entre chaque paire de noeuds)
2 Motivation
Une approche de TE qui est souvent utilisée, et basée sur les protocoles comme OSPF et IS-IS est de trouver une bonne configuration de poids des liens d'une topologie en fonction des demandes du trafic Pour OSPF, le flux de trafic est routé le long des plus courts chemins Il découpe le flux de trafic aux noeuds ó les liens sortants sont sur plusieurs plus courts chemins vers la destination
Les poids des liens dépendent souvent des distances physiques entre les noeuds Cependant, le but principal est d'éviter la congestion du réseau (par exemple : la surcharge de liens) La performance et l'utilisation efficace des ressources du réseau peuvent être améliorées sans modifier les protocoles de routage C'est l’optimisation de poids des liens IGP (IGP Weights Optimization – IGPWO) pour une topologie fixée du réseau et un ensemble donné de demandes de trafic (le trafic que nous avons besoin d'envoyer d’un routeur source à son routeur destination) Ce problème d'optimisation est NP-difficile [FRT 02] Nous choisissons donc un algorithme heuristique de recherche locale pour le résoudre L'approche de la recherche locale est très efficace pour résoudre les problèmes NP-difficile ou NP-complet surtout pour ceux ayant un espace de recherche avec une taille de voisinage très grande, alors que l’on doit faire face à une explosion combinatoire si on utilise les méthodes de résolution exactes
Les grands avantages d’algorithmes de recherche locale (LSA) sont [YVE 07] :
• Utilisation d'un petit espace de mémoire
• Parcours de l'espace de recherche d'une façon intelligente, recherche des régions différentes de l'espace de recherche
• Production d'une solution optimale ou acceptable avec un temps de calcul raisonnable
Dans notre problème IGPWO, chaque solution est une attribution de valeur à chaque lien, avec un nombre de noeuds (routeurs) de 10 à 1000 et une valeur de poids du lien de 1 à 65535 (MAXINT) Donc, nous avons une taille énorme de
Trang 11l'espace de recherche maximale du problème : [1000x1000]65535 C'est la raison pour laquelle nous avons choisi les LSA comme approche pour résoudre ce problème
Il existe plusieurs résolutions différentes de recherche locale pour IGPWO (comme celle de Fortz [FOR 00]) mais très peu d’entre eux considèrent les changements de la topologie du réseau (un ou quelques liens tombent en panne par exemple), de l'influence de techniques de protection de liens (comme LFA et MPLS Fast Reroute) et des impacts de la solution optimale sur les autres critères :
le délai de transmission de données, la couverture de LFA du réseau (combien de liens sont protégés par la protection de LFA) En outre, la qualité de la solution dans un problème de grande taille reste encore un grand défi
3 Objectifs
Dans ce travail, nous voulons résoudre trois problèmes concernant l'IGPWO et les deux techniques de protection mentionnées ci-dessus dans le cas ó la topologie
du réseau est changée
Étant donné une configuration du réseau : le nombre de noeuds (routeurs), la bande passante de chaque lien, les demandes de trafics entre chaque paire de noeuds, le délai de chaque lien, les poids des liens Les trois problèmes à résoudre sont les suivants :
• Problème 1 : Donner une image du trafic dans le réseau lorsqu’un lien tombe en panne Nous mesurons la charge de chaque lien dans 4 cas :
o Avant la panne de lien
o Après la panne de lien mais pas de protection pour chaque lien
o Après la panne de lien et l’activation de MPLS Fast Reroute protection pour le lien en panne
o Après la panne de lien et l’activation de LFA protection pour le lien
en panne
• Problème 2 : Trouver une matrice optimale de poids des liens du point de vue de l'utilisation de liens (l'utilisation d'un lien est la proportion entre sa charge actuelle et sa capacité – bande passante) Dans 2 cas :
o Il n'y a aucune panne de liens, tous les liens sont bons
Trang 12o Il y a un changement de la topologie du réseau : un lien tombe en panne
• Problème 3 : Trouver une matrice optimale de poids des liens du point de vue de l'utilisation de liens et de la couverture de LFA du réseau Dans 2 cas :
o Il n'y a aucune panne de liens, tous les liens sont bons
o Il y a un changement de la topologie du réseau : un lien tombe en panne
Les résultats expérimentaux du programme sont comparés avec ceux de TOTEM (TOolbox for Traffic Engineering Methods), une boîte à outils permettant aux opérateurs de réseaux d’implémenter leur ingénierie du réseau et elle peut également être utilisée par les chercheurs qui veulent mettre en œuvre leurs nouvelles techniques
4 Contribution
Mon stage de fin d'études s’est déroulé dans 6 mois à l'Université Catholique de Louvain Dans le cadre de ce stage, j’ai accompli des tâches suivantes :
Dans le premier mois :
• Étude de la théorie et des concepts fondamentaux de la recherche locale et ses algorithmes, ses heuristiques et méta-heuristiques dans la résolution des problèmes complexes surtout ceux d’optimisation
• Étude du langage de programmation par contraintes Comet et conception de quelques algorithmes de recherche locale sur Comet pour pratiquer et améliorer les techniques de programmation sur Comet
• Exposition devant le groupe de recherche des connaissances acquises
Dans le deuxième mois :
• Étude des problèmes de la convergence des protocoles de routage IP :
o Définition de la convergence et les défis existants
o Introduction d’ingénierie de trafic et ses composants principaux
Trang 13o Le problème d’APSP (All Pairs Shortest Paths) et installer sur Comet l’algorithme pour le résoudre
o Le problème d’ECMP ( Equal Cost Muli-Paths) et son application dans le protocole de routage d’état de lien comme OSPF
o La protection de liens, étude approfondie de 2 techniques de protection de liens : LFA et MPLS Fast Reroute
• Réunion avec les promoteurs pour déterminer concrètement les problèmes à résoudre
• Rédaction du cahier des charges des problèmes définis
Dans le troisième mois :
• Recherche bibliographique sur les problèmes définis : Lire les articles du domaine qui ont résolu les problèmes similaires
• Installation du programme sur Comet, résolution des problèmes d’évaluation du trafic dans le réseau et de techniques de protection de liens :
o Installation de l’algorithme d’APSP sur Comet
o Installation de 2 techniques de protection de liens : LFA et MPLS Fast Reroute sur Comet
o Mesure de la charge de chaque lien du réseau dans 4 cas
• Expérimentation et test du programme pour ces premiers problèmes
Dans le quatrième mois :
• Recherche bibliographique : étude des articles d’ingénierie de trafic dans le domaine de réseau surtout ceux IGPWO
• Réunion avec les promoteurs pour fixer le premier LSA pour résoudre le problème IGPWO
• Implémentation de LSA sur Comet : Essayer, appliquer et modifier les heuristiques, les méta-heuristiques et leurs paramètres pour déterminer une bonne configuration de LSA sur Comet
• Étude de la performance de chaque configuration de LSA
Trang 14• Installation de 2 outils d’ingénierie de trafic sur Ubuntu : IGEN et TOTEM
Dans le cinquième mois :
• Étude de la transition de métrique IGP (augmenter ou réduire le poids d’un lien) pour résoudre le problème de la convergence dans le réseau : définition et application de KMS (Key Metric Sequences)
• Installation de KMS dans LSA sur Comet
• Génération de données par IGEN : pour un test, on doit générer par IGEN des données suivantes : Une topologie de réseau (nombre de routeurs), une matrice IGP_metric (poids des liens), une matrice de capacités de liens (bande passante), une matrice de demandes de trafic du réseau
• Test du programme par des données générées par IGEN et les données réelles du réseau d’Abilenne
• Comparaison de la performance et de la qualité de la résolution entre notre programme de LSA et celui IGPWO de TOTEM
• Observation des impacts de la solution optimale sur les autres critères comme : le délai de transmission de données ou la couverture de LFA du réseau
Dans le dernier mois :
• Rédaction du rapport de stage
• Exposition devant le groupe de recherche des algorithmes implémentés et des résultats obtenus
5 Environnement de stage
Mon stage a été réalisé au Département d’Ingénierie Informatique d’Université Catholique de Louvain (UCL) à Louvain-La-Neuve en Belgique du 28 Mars 2008
au 28 Septembre 2008
Trois personnes ont encadré ce travail :
• Yves Deville : Maîtrise et supervision de tous les problèmes concernant la recherche locale et la programmation par contraintes
Trang 15• Olivier Bonaventure : Définitions des problèmes à résoudre et supervision
du stage au point de vue de réseau
• Pierre François : Maîtrise et supervision de l’avancement de mon stage de problème de convergence des protocoles de routage IP En outre, mon sujet
de stage est aussi une partie de ses recherches
Tout au long de mon stage, j’ai rejoint le groupe Be-cool (Belgian Constraints Group) du Département d’Ingénierie Informatique d’UCL et j’ai aussi participé à beaucoup des activités de recherche avec ce groupe comme : les séminaires, les conférences en Belgique et en France, les cours de réseau, de Comet,
Trang 16Chapitre 2 : Recherche Locale et Comet
Dans ce chapitre, nous donnons une vue générale de la recherche locale, les algorithmes heuristiques et méta-heuristiques préférés dans la programmation par contraintes Pour la deuxième partie, nous présentons le langage de programmation COMET, un langage fort pour la modélisation et l’implémentation des algorithmes de recherche locale
1 Recherche locale
1.1 Méthodes de résolution heuristiques
La recherche locale est une des méthodes de résolution heuristiques Au contraire des méthodes de résolution exactes, les méthodes heuristiques peuvent réduire l’aspect combinatoire d’un problème afin de le résoudre en un temps acceptable
Ce sont des approches incomplètes dans le sens ó elles n’explorent délibérément qu’une partie de l’espace de recherche Donc, la complexité en temps est généralement faiblement polynomiale Par conséquent, elles peuvent ne pas trouver de solution, ou prouver l’absence de solution ou l’optimalité d’une solution à un problème d’optimisation
Normalement, chaque solution a un ensemble de composants Deux solutions sont considérées comme voisines si elles ont une et une seule différence dans l’ensemble des valeurs des composants qui les constituent Le voisinage d’une solution est l’ensemble de toutes ses solutions voisines
Il existe deux principales classes d’approches heuristiques :
• Approches par voisinages : elles explorent l’espace de recherche en le structurant en terme de voisinage Les approches par voisinage les plus connues sont :
o Recherche locale : elle explore l’espace de recherche étape par étape,
en partant d’une solution initiale, et en sélectionnant à chaque itération une solution voisine de la solution courante
o Algorithmes génétiques : ils s’inspirent de la théorie de l’évolution
et des règles de la génétique qui expliquent la capacité des espèces
Trang 17vivantes à s’adapter à leur environnement par la combinaison de 3 mécanismes : la sélection naturelle, la reproduction par croisement et
la mutation
• Approches constructives : génèrent de nouvelles solutions de façon incrémentale, c.-à-d., en partant d’une solution « vide », et en ajoutant des composants de solution jusqu’à obtenir une solution complète [SOL 08] Dans ce travail, nous n’utilisons que l’approche par voisinages et surtout les algorithmes de recherche locale (Local Search Algorithms – LSA) Avec les LSAs, chaque solution du problème est représentée par un ensemble d'attributions
de valeur à chaque composant ou chaque variable À chaque itération d’un LSA, nous avons une solution temporaire Le but est de choisir parmi ses voisines une solution pour l’itération suivante qui peut améliorer la qualité de solution ou devenir un bon point de départ pour la recherche suivante LSA utilise une fonction d’objectif pour évaluer la qualité d'une solution
1.2 Les composants principaux de LSA
Pour la plupart de LSA, on doit détailler 4 composants principaux ci-après :
1.2.1 Génération de la solution initiale
C’est la position ó on commence la recherche Tout LSA doit partir d’une solution initiale et la modifier étape par étape pour atteindre une solution optimale
ou au moins une meilleure solution
La solution initiale est parfois générée par une heuristique ou méta-heuristique gloutonne Un bon choix de la solution initiale est très important dans la recherche locale
1.2.2 Heuristiques ou méta-heuristiques pour le choix du voisin
À chaque itération dans LSA, nous avons une solution temporaire Le but de chaque itération est d’améliorer la qualité de cette solution afin d’obtenir une meilleure solution pour l’itération suivante La qualité d’une solution est évaluée par une fonction d’objectif
Trang 18Les heuristiques ou méta-heuristiques sont des stratégies gloutonnes pour déterminer un ou plusieurs éléments de solution à modifier d’une façon la plus efficace
1.2.3 Stratégie d’intensification ou de diversification
Les solutions obtenues par les stratégies gloutonnes ne sont pas toujours bonnes bien qu’elles soient les meilleures dans leurs voisinages Si LSA s’arrête seulement à la solution ó il ne peut pas trouver une meilleure solution voisine, alors il peut avoir seulement la meilleure solution d’une région de l’espace de recherche Dans la recherche locale, ces solutions sont appelées « Optima Locaux » comme illustrés à la Figure 1
Figure 1: Recherche Locale : Optima Locaux et Solution Optimale
Pour échapper aux optima locaux, LSA utilise très souvent les structures de mémoire à long terme pour intensifier et diversifier la recherche Il existe 2 techniques principales [HEN 05]:
• Intensification : Stocker les solutions de haute qualité pendant le temps de
recherche et restituer ces solutions périodiquement (redémarrer la recherche par une de ces solutions)
Trang 19• Diversification : Diriger la recherche vers d'autres régions de l'espace de
recherche (accepter la réduction de la qualité de solution) Parfois, le redémarrage de zéro (la solution initiale) est également une bonne méthode
de diversification
1.2.4 Critères d’arrêt
C’est l'itération ou l'état ó nous arrêtons le processus de recherche Il peut être une limite sur le nombre d'itérations, le temps d'exécution ou un état ó toutes les contraintes sont satisfaites
Pour les problèmes complexes d’optimisation, le nombre d’itérations et le temps d’exécution sont souvent utilisés comme critère d’arrêt
1.3 Le générique de recherche locale
Comme nous avons déjà mentionné dans la section précédente, la recherche locale est une méthode de résolution heuristique Donc les LSAs sont distingués basés sur leur stratégie heuristique et méta-heuristique
Les heuristiques se concentrent sur le choix de la solution voisine à visiter seulement en utilisant la solution courante et son voisinage Tandis que les méta-heuristiques collectent les informations (mémoire à long terme) sur la séquence d’exécutions pour échapper les optima locaux et diriger la recherche vers l’optimalité globale
1.3.1 Les heuristiques
Nous pouvons classifier les LSAs heuristiques en 2 grandes classes : systématique
et aléatoire La classification des LSAs heuristiques est basée sur leur façon de changer la valeur de la fonction d’objectif [YVE 07]
Heuristique
Systém-atique
La meilleure voisine (Best Neighbor - BN)
Choisir la solution voisine ayant la meilleure évaluation de la qualité de solution
Parcours complet du voisinage, trop cỏteux quand le voisinage est large
Trang 20La première voisine (First Neighbor - FN)
Choisir la première solution voisine ayant une amélioration de la qualité de solution
Augmenter le nombre d’itérations ó nous trouvons optimum local
Heuristique de niveaux
multi-(Multistage Heuristic)
Balancer entre la gourmandise de BN et le respect de temps de calcul de FN
Amélioration aléatoire (Random Improvement)
Choisir aléatoirement une solution voisine ayant l’amélioration de la qualité de solution
Autoriser de sélectionner des voisines de moins bonne qualité selon une probabilité définie : exp (-(f(n) – f(s))/t)
Avec : f : la fonction d’objectif ;
s : la solution courante ;
n : une solution voisine de s
t : paramètre de température (peut-être modifié par chaque algorithme)
Tableau 1: 2 classes des LSA heuristiques
• Modification de la fonction d’objectif
• Modification de la façon de bouger (le choix de solutions voisines)
• Modification du critère d’acceptation
•
Trang 21Dans cette section, nous allons citer quelques approches de méta-heuristiques [HEN 05]
Recherche locale itérée
(Iterated Local Search)
Appliquer itérativement une recherche locale spécifique à partir de points de départ différents afin de :
- Visiter les régions différentes de l’espace de recherche
- Éviter de retourner un optimum local de faible qualité Recuit simulé
(Simulated Annealing)
Se baser sur l’heuristique de Metropolis avec t est le paramètre d’heuristique conciliant entre la qualité de solution et le temps d’exécution
Appliquer itérativement l’algorithme de Metropolis avec une séquence décroissante de températures :
t0, t1, , ti (tk<tk+1) Espérance d’un optimum local de haute qualité quand
ti→0 Recherche Locale Guidée
(Guided Local Search)
Utiliser une séquence de fonctions d’objectif f0, f1, , fipour diriger la recherche en dehors d’optima locaux et pour explorer l’espace de recherche plus largement
Étant donnée une séquence de solution S = (s0, s1, , sk), choisir la solution sk+1 qui n’est pas dans la séquence et
Trang 22qui est la meilleure voisine de sk k est appelé tabu_length Colonie de fourmis
(Ant Colony)
Mettre à jour les fonctions de sélection après chaque étape
de recherche pour diriger la recherche vers les solutions à haute qualité
S’inspirer du comportement collectif des fourmis pour faire évoluer le modèle probabiliste en basant sur la définition de phéromone[SOL 08]
Tableau 2 : Approches Méta-heuristiques
Dans le cadre de ce mémoire, nous pouvons présenter seulement une vue générale des LSAs qui sont détaillés dans le livre « Constraint-Based Local Search » de Pascal Van Hentenryck et Laurent Michel [HEN 05] Dans ce livre, vous trouverez plusieurs guides détaillés, applications et implémentations dans des problèmes concrets
2 Comet
2.1 Le choix de COMET
Le but de notre travail est de résoudre le problème de convergence dans les protocoles de routage IP par un algorithme de recherche locale Et nous avons choisi COMET pour installer notre LSA pour les raisons suivantes :
• COMET est un langage de programmation orienté objet avec un nombre de modélisations innovatrices et d’abstractions de contrôle pour la recherche locale Il est très puissant pour résoudre les problèmes combinatoires complexes d’optimisation
Trang 23• COMET peut nettement simplifier la conception et l'implémentation de la recherche locale (stochastique) et des algorithmes de la programmation par contraintes en préservant l'efficacité de bas niveau, problème-spécifique et
de réalisation [COM 01]
Dans COMET, LSA est représenté par la formule :
Recherche Locale = Modèle + Recherche
Le composant de Modèle est purement déclaratif ; il exprime la structure combinatoire de l'application en termes de contraintes et de fonctions d’objectif
Le composant de Recherche exploite la structure exprimée dans le modèle pour diriger l’exploration du voisinage vers les solutions de haute qualité
Les avantages principaux de COMET sont cités ci-après [HEN 05]:
• Un langage de modélisation riche pour la recherche locale
• Un langage de recherche riche pour la recherche locale
• Séparation entre Modèle et Recherche
• Extensibilité et Flexibilité de son architecture pour les deux composants Modèle et Recherche
• Efficacité : le langage de modélisation est riche et la conception d’objets différentiables le rendent souvent comparable en efficacité aux réalisations
de bas niveau, surtout pour les applications complexes
• Nouvelles perspectives : La formule : Recherche Locale = Modèle +
Recherche met en parallèle l’expression de la programmation par
Trang 24Figure 2: Architecture de COMET [YVE 07]
La première couche est la conception d’invariants (ou contraintes à sens unique)
par algèbre et expressions Les invariants sont exprimés en termes de variables incrémentales et spécifient une relation qui doit être maintenue sous des attributions de nouvelles valeurs à ses variables
Par exemple : var{int} s(m) ← sum(i in 1 10) a[i] ;
déclare une variable incrémentale s de type int et l’invariant spécifie que s est toujours la somme de a[1], a[2], , a[10] Chaque fois, la valeur d’une variable a[i] est changée, la valeur de s est mise à jour
La deuxième couche contient la conception d’objets différentiables Les objets
différentiables maintiennent un nombre de propriétés (utilisant les invariants) et peuvent être questionnés pour évaluer l’effet de mouvements divers avant de sélectionner le voisin à visiter Il existe deux classes importantes d’objets différentiables Ce sont les contraintes et les objectifs
Une contrainte maintient les propriétés comme ses satisfactions, ses violations, et
le nombre de violations d’une variable contribuant à la somme de violations
Un objectif maintient la valeur d’une fonction (complexe) et d’une évaluation qui peut être utilisée à distinguer entre les solutions ayant la même valeur
La troisième couche est le composant de recherche Les deux premières couches
sont incrémentales dans la spécification du composant de modélisation des LSA
Le composant de recherche contient les heuristiques et méta-heuristiques de LSA Cette couche ne prescrit aucune heuristique ou méta-heuristique mais il comporte les constructions et les abstractions à haut niveau pour simplifier l’exploration du voisinage et l’implémentation de méta-heuristiques
Trang 25Les plus fondamentales abstractions de recherche sont les selectors, les solutions
9 S.post(alldifferent(all(i in Size) queen[i]+i) );
10 S.post(alldifferent(all(i in Size) queen[i]-i) );
Trang 26Pour le modèle, chaque reine est associée avec une colonne et on doit chercher une attribution de lignes aux reines pour qu’aucune paire de reines ne soit placée sur la même ligne ou la même diagonale
La valeur de variable queen[c] représente la ligne de la reine sur la colonne c Et donc :
queen[i] ≠ queen[j] ; // pas de 2 reines sur une ligne
queen[i]-i ≠ queen[j] -j; // pas de 2 reines sur les
queen[i]+i ≠ queen[j] +j // deux diagonales
pour tous 1≤ i < j ≤ n
2.2.2.2 Les variables de décision
Dans ce programme, la chaîne queen contient les variables de décision (variables incrémentales) stockant par le LocalSolver déclarant à la ligne 4 du programme Ces variables incrémentales obtiennent les valeurs dans le rang Size et elles sont initialisées avec les positions aléatoires
Pour ce problème, on n’a pas de fonction d’objectif donc le changement de la valeur de chaque reine entraînera la mise à jour de tous les invariants, les contraintes
2.2.2.3 Les contraintes
De ligne 7 à ligne 11, nous avons la déclaration de contraintes, il y a 3 contraintes définies dans le modèle
S.post(alldifferent(queen) );
S.post(alldifferent(all(i in Size) queen[i]+i) );
S.post(alldifferent(all(i in Size) queen[i]-i) );
Ces trois instructions spécifient trois contraintes : deux reines ne peuvent pas placer sur une même ligne ou une même diagonale
Trang 27- Choisir la ligne v pour la reine q qui minimise le nombre de violations (
selectMin (v in Size)(S.getAssignDelta(queen[q],v)) )
- Attribuer la reine q à ligne v ( queen[q] := v )
Ces étapes sont itérées jusqu’une solution est trouvée (le système S n’a pas de violations) ou le nombre d’itérations dépasse un seuil donné (it >= n*50)
Trang 28Chapitre 3 : Le problème de convergence dans les protocoles
de routage IP
Dans ce chapitre, nous abordons le routage au sein des réseaux OSPF Nous présentons le concept de convergence Nous décrivons deux techniques de protection de liens : MPLS Fast ReRoute et LFA Finalement, nous revoyons les principaux composants du cadre d’ingénierie du trafic
1 Routage IP et convergence
1.1 Le protocole IP
Les flux de données transmis sur l’Internet sont divisés en paquets ou datagrammes Chaque paquet contient un en-tête qui reprend les informations nécessaires à sa transmission, comme l’adresse de la destination
Lorsqu’il reçoit un paquet, un routeur en consulte l’en-tête afin de déterminer le lien sur lequel le paquet doit être transmis Cette décision se base sur l’état de sa table de routage qui est construite grâce aux protocoles de routage IP [BLA 00]
1.2 Routage IP
Le routage consiste en l’établissement d’un état cohérent de table de routage des routeurs IP afin d’assurer la connectivité entre les hôtes L’Internet est divisé en sous réseaux appelés Systèmes Autonomes (Autonomous Systems – AS) Le protocole BGP (Border Gateway Protocols – BGP) sert à établir la séquence de sous réseaux à suivre pour joindre une destination, tandis que les protocoles IGP (Interior Gateway Protocols) servent à établir des chemins entre les routeurs dans
un AS
1.3 OSPF
1.3.1 Routage avec OSPF
Dans un réseau OSPF, chaque routeur transmet des informations concernant l’état
de ses liens adjacents Ces informations se propagent à travers le réseau OSPF afin que chaque routeur construise une vue complète du réseau Sur base du
Trang 29graphe représentant le réseau, chaque routeur calcule l’ensemble de chemins les plus courts vers les autres routeurs du réseau
À chaque lien est attribué une métrique (cỏt ou poids) Ce poids est un nombre entier dans l’intervalle [1 65535] (≤ 216-1) et est stocké dans la base de données de l’état de liens Sur base de l’ensemble des chemins les plus courts, chaque routeur peut décider quel lien doit être utilisé pour transmettre des paquets vers un routeur
ou un point de sortie donné S’il existe plusieurs chemins de poids égaux vers la destination, le routeur peut décider de distribuer la charge de trafic sur l’ensemble des liens correspondant à ces chemins Cette technique s’appelle ECMP (Equal Cost Multi-Path) comme illustrées à la Figure 3 : Il y a 2 chemins les plus courts
de A à E
Figure 3: Multiple des chemins les plus courts
Chaque routeur doit établir une base des informations de transmission FIB (Forwarding Information Base) Par exemple à la Figure 3 : B est un routeur sur le plus court chemin entre A et C A veut envoyer des données à C Donc quand les paquets de données de A arrivent à B, il doit les transmettre à C La transmission
de données de B doit questionner la FIB
Trang 30- Deuxièmement, pour éviter les problèmes dans le cas ó il existe des erreurs de transmission ou de mémoire non détectées, chaque LSP est retransmis à intervalle régulier
Quand un LSP décrivant un changement de la topologie est arrivé à un routeur, ce routeur met à jour sa LSDB qui déclenche une demande de mise à jour de la table
de routage (par exemple la RIB – Routing Information Base) Pour mettre à jour sa RIB, un routeur doit calculer son arbre des chemins les plus courts SPT (Shortest Path Tree) basé sur les informations stockées dans la LSDB
En résumé, une convergence IGP après la panne d’un lien peut être caractérisée par [FRA 07]:
D + O + F + SPT + RIB + DD
Avec D : est le temps de détection de la panne de lien
O : est le temps de créer le LSP décrivant la nouvelle topologie après la panne de lien
F : est le temps d’inondation complète du noeud qui a détecté la panne au noeud de reroutage qui doit effectuer une mise à jour de FIB pour apporter
au réseau un état de transmission (Forwarding State) cohérent
SPT : est le temps de calcul de l’arbre des chemins les plus courts
RIB : est le temps pour mettre à jour la RIB et la FIB sur le CPU principal
DD : est le temps pour redistribuer les modifications à la FIB vers les cartes qui effectuent le transfert des paquets en hardware
2 Les techniques de protection de liens
Dans cette section, nous allons présenter deux techniques principales (MPLS Fast Reroute et Loop-Free Alternates) de protection de liens dans lorsqu’il existe des échecs et la technique de transmission d’équilibrage de charge ECMP (Equal Cost Multi-Path)
2.1 MPLS Fast Reroute
L'idée principale de cette technique est d’utiliser de la transmission de MPLS (Multi-Protocol Label Switching) parce qu'elle n'est pas basée sur le routage MPLS FRR a deux techniques principales de protection (routeur et lien)
Trang 31mais dans cette recherche, nous sommes seulement intéressés par la technique de protection de lien
Lorsqu’une protection de MPLS FRR est appliquée sur un lien, un chemin de secours est établi autour de ce lien, depuis le routeur de source de ce lien vers le routeur de l’autre côté du lien Lorsqu’il détecte la panne, il utilisera immédiatement le chemin de secours pour transmettre le trafic au routeur de destination au lieu de l'utilisation du lien en panne
Par exemple :
Figure 4 : Les opérations de MPLS Fast ReRoute
Observer la Figure 4, supposons que le lien B→C est protégé par la protection de MPLS FRR Donc B→A→D→C est établi comme le chemin de secours du lien B→C Dans le cas normal, le chemin de B à E passe par C (le chemin vert) Quand
B détecte la panne du lien B→C, il utilise immédiatement le chemin de secours B→A→D→C→E pour transmettre le trafic à E au lieu du lien B→C (le chemin bleu)
Si le réseau est bi-connecté, cette technique peut être utilisée pour protéger n'importe quel échec d’un seul lien Ainsi la couverture cette technique est de 100% [FRA 07]
2.2 Loop-Free Alternates (LFA)
Avec la protection LFA, lorsqu’un lien (direct) I→J tombe en panne, le routeur I (qui a détecté la panne) va rerouter immédiatement les paquets à son routeur de LFA
Un exemple d’une protection LFA en cas il y a une panne de lien (C est le routeur LFA du lien B→D) :
Trang 32Observons la figure 5, c’est le cas normal, lien B→D est bon, le chemin de A vers
E est A→ B→D→E B doit transmettre les paquets à D dans tous ses deux chemins vers D et vers E
Figure 5 : Exemple de la protection de LFA : Cas normal [STE 06]
Observons la figure 6, lorsque le lien B→D tombe en panne, B doit transmettre les paquets à C – routeur LFA du lien B→D dans tous ses deux chemins vers D et
vers E
Figure 6 : Exemple de la protection de LFA : Lien B→D tombe en panne[STE 06]
Définition de LFA :
Étant donné un lien S→E qui tombe en panne et une destination D, un voisin N de
S est un LFA du lien S→E pour la destination D si le plus court chemin de N à D
ne contient pas le lien S→E [BON 08]
Il existe deux types de LFA : LFA par lien et LFA par préfixe
2.2.1 LFA par lien
Le routeur LFA par lien d’un lien est son routeur LFA pour toutes les destinations Supposons que l’arbre des chemins les plus courts d’un routeur A : SPT(A) est l’arbre capturant tous les plus courts chemins de A à tous les autres routeurs du réseau
L’algorithme de détection de LFA par lien pour protéger un lien S→E [BON 08]
Trang 33Pour chaque voisin direct de S : (S → N i )
Calculer SPT(N i )
Si (S→E) ∉ SPT(N i ) alors
N i est un candidat de LFA du lien (S→E) pour toutes les destinations
Exemple :
Topologie du réseau SPT(E)
Figure 7 : Exemple de LFA par lien
Observons la Figure 7, dans cet exemple, nous trouvons que E est LFA par lien du lien S→W pour toutes les destinations parce que SPT(E) ne contient pas le lien S→W et E peut joindre toutes les destinations sans lien S→W
2.2.2 LFA par préfixe
La technique de LFA par préfixe augmente la couverture de LFA mais elle exige plus de calcul Dans ce cas, un LFA est trouvé pour un sous-ensemble de préfixes joints initialement via le lien protégé [STE 06]
Selon ce mode, un routeur N est considéré comme LFA d’un lien S→E pour une destination D si le plus court chemin de N à D ne contient pas le lien S→E
Par exemple :
Trang 34Figure 8 : Exemple de LFA par préfixe
Observons la figure 8, A n’est pas LFA par lien du lien B→C parce que lien B→C appartient au plus court chemin de A à C ou lien B→C Є SPT(A) Mais avec un LFA par préfixe, A est un LFA par préfixe valide du lien B→C pour le sous-ensemble de destinations : D,E,F et G, parmi l’ensemble des destinations initialement jointes via B→C : {C,D,E,F,G}
Dans le cadre de ce travail, nous nous intéressons seulement le LFA par lien
2.3 LFA vs MPLS FRR
Dans ces deux techniques IGP IP Fast Reroute, LFA est plus intelligente que MPLS FRR dans la protection de liens Nous pouvons le voir facilement via un exemple suivant :
Cet exemple décrit les opérations de LFA et MPLS FRR quand le lien S→A tombe en panne sur le chemin de S à D
Au début, il n’y a pas de panne de lien
Figure 9 : Cas normal : pas de panne de S à D
Observons la Figure 9, dans ce cas, le chemin S→A→D est utilisé pour transmettre le trafic de S à D