Вы находитесь на странице: 1из 68

Institut de la francophonie pour linformatique

Universit catholique de Louvain

Diversification et nouveaux objectifs de recherche locale pour lingnierie de trafic dans les rseaux IP
Rapport de stage de fin dtudes

Ralis par : HO Trong Viet Promotion XII - IFI Sous la direction de : Yves Deville Olivier Bonaventure Pierre Franois Dpartement dIngnierie Informatique Universit catholique de Louvain

Louvain La Neuve, le 10 aot 2008

Table des matires


Remerciements.................................................................................................................... 3 Rsum................................................................................................................................ 4 Abstract ............................................................................................................................... 5 Liste des figures .................................................................................................................. 6 Liste des tableaux................................................................................................................ 7 Chapitre 1 : Introduction..................................................................................................... 8 1. Problmatique ............................................................................................................. 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. Mthodes de rsolution heuristiques ................................................................ 15 1.2. Les composants principaux de LSA ................................................................. 16 1.2.1. Gnration de la solution initiale .............................................................. 16 1.2.2. Heuristiques ou mta-heuristiques pour le choix du voisin...................... 16 1.2.3. Stratgie dintensification ou de diversification ....................................... 17 1.2.4. Critres darrt .......................................................................................... 18 1.3. Le gnrique de recherche locale ..................................................................... 18 1.3.1. Les heuristiques ........................................................................................ 18 1.3.2. Les mta-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 modle.......................................................................................... 24 2.2.2.2. Les variables de dcision .................................................................. 25 2.2.2.3. Les contraintes .................................................................................. 25 2.2.2.4. La procdure de recherche ................................................................ 25 Chapitre 3 : Le problme 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 prfixe ........................................................................................ 32 2.3. LFA vs MPLS FRR .......................................................................................... 33 2.4. Equal Cost Multi-Path (ECMP)........................................................................ 34

3. Le cadre dingnierie du rseau ................................................................................ 35 3.1. Introduction ...................................................................................................... 35 3.2. Exemple de la configuration de topologie du rseau........................................ 37 3.2.1. Configuration initiale avec les poids dunit ............................................ 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 problmes ......................................................................................... 39 4.1. Problme 1........................................................................................................ 40 4.2. Problme 2........................................................................................................ 41 4.3. Problme 3........................................................................................................ 42 Chapitre 4 : Algorithme de recherche locale pour le problme de convergence .............. 43 1. Mesure du trafic ........................................................................................................ 43 2. Optimisation des mtriques IGP ............................................................................... 45 2.1. La squence de mtriques cls ......................................................................... 45 2.2. Les 4 composants principaux ........................................................................... 48 2.2.1. Gnration des solutions initiales ............................................................. 48 2.2.2. Fonction dobjectif.................................................................................... 50 2.2.3. Choix de la solution voisine ..................................................................... 51 2.2.4. Diversification et critres darrt .............................................................. 53 2.3. Description algorithmique ................................................................................ 54 Chapitre 5 : Exprimentation et Analyse .......................................................................... 57 1. Environnement dimplmentation ............................................................................ 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. Rsultats exprimentaux................................................................................... 62 3.2.1. Minimisation de la valeur de MaxUtilisation ........................................... 63 3.2.2. Impacts sur la couverture de LFA ............................................................ 64 Conclusion ........................................................................................................................ 65 Rfrences......................................................................................................................... 66

Remerciements
Je tiens dabord remercier Yves Deville, Olivier Bonaventure et Pierre Franois, qui ont dirig mon mmoire de fin dtudes. Leurs commentaires clairs, leurs judicieux conseils, leur disponibilit et leurs encouragements mont considrablement aid mener terme mes travaux. Je remercie aussi les membres du groupe Be-cool (Belgian Constraint Group) du Dpartement dIngenierie Informatique pour leur accueil, leur aide et leur bonne humeur tout long de mon stage. Ma reconnaissance sadresse aussi aux professeurs lInstitut de la Francophonie pour lInformatique (IFI). Leurs cours mont apport des connaissances et des suggestions qui sont utiles pour mon mmoire. Finalement, jexprime mon entire reconnaissance ma famille et mes amis pour leur soutien, leur aide et leurs encouragements. Sans leur aide, je naurais pas pu achever ce mmoire.

Rsum
Les applications de multi-mdia comme la vido-confrence IP, la tlphonie IP et la tlvision IP entranent laugmentation de demandes de trafic dans les rseaux. Ds 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 reprsentant les routeurs (noeuds) et leurs liens (artes) du rseau. Les poids des liens du rseau peuvent tre changs par loprateur du rseau. Grce une optimisation de ces poids, nous pouvons amliorer considrablement la charge des liens, rpondant ainsi l'augmentation de demandes de trafic, tout en utilisant les ressources disponibles et sans modifier le protocole. Cependant, cette optimisation est un problme complexe (NP-difficile), dont la solution ne peut pas tre trouve au moyen dune mthode de rsolution exacte. Pour ce type de problmes d'optimisation, la recherche locale est une approche adquate. Dans cette recherche, nous avons conu un programme capable de rsoudre le problme doptimisation 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 donnes fournie par OSPF est son temps de rcupration en cas de panne. Des mcanismes de rcupration locale (IP Fast Reroute) ont t rcemment mis en place pour fournir une telle rcupration rapide. Ces techniques fournissent des dtours locaux autour des composants en panne, et donc changent lutilisation des ressources du rseau au moment de leur activation. Dans notre travail, nous avons valu limpact des diffrentes solutions doptimisation des poids sur lutilisation des ressources du rseau lors de lactivation des mcanismes de protection. Deux mcanismes de Fast Reroute ont t examins : Loop Free Alternates et MPLS Fast Reroute. Un aspect intressant des LFAs est quils sont applicables uniquement dans certaines conditions portant sur le graphe du rseau et la configuration des mtriques des liens. Par consquent, nous avons galement tudi limpact des solutions doptimisation des poids sur lapplicabilit de cette technique. Nous avons implment les solutions prsentes dans ce mmoire dans COMET, et nous avons compar leur performance et impact sur lapplicabilit des LFAs avec la solution de recherche taboue de TOTEM (TOolbox for Traffic Engineering Methods).

Abstract
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.

Liste 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 oprations 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 BD tombe en panne ..................... 31 Figure 7 : Exemple de LFA par lien ................................................................................ 32 Figure 8 : Exemple de LFA par prfixe ............................................................................ 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 cls du cadre d'ingnierie 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 lutilisation du rseau...................................................................... 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

Liste des tableaux


Tableau 1: 2 classes des LSA heuristiques ....................................................................... 19 Tableau 2 : Approches Mta-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 : Donnes de tests............................................................................................. 63 Tableau 7 : Minimisation de MaxUtilization.................................................................... 63 Tableau 8 : Impacts sur la couverture de LFA.................................................................. 64

Chapitre 1 : Introduction
1. Problmatique
Actuellement, avec l'expansion de l'Internet, les FAI (Fournisseurs d'Accs Internet) essaient de rpondre au problme de l'augmentation de la demande de trafic de leurs clients. En effet, les demandes de trafic sont approximativement doubles chaque anne [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 utiliss pour fournir la connectivit de bout en bout dans un ensemble de dispositifs d'un rseau (organisation, compagnie, campus, universit, ...). Nous pouvons les classer parmi les protocoles IGP (Interior Gateway Protocols). Un critre important d'valuation de ces protocoles est leur temps de convergence. La convergence de routage peut tre dfinie par ladaptation des tables de routage des routeurs du rseau lors dun changement de la topologie du rseau, typiquement dclench par deux types dvnements : - Soudain : coupures de fibres, ruptures d'alimentation. - Prvisible : mise jour du logiciel et du matriel, enlvement ou installation d'un lien ou d'un noeud (routeur) dans le rseau. Pour rduire 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 rseaux IP commerciaux d'tre restaurs sans change de messages de contrle entre les noeuds qui dtectent la panne et les autres noeuds du rseau. Dans cette recherche, nous nous intressons deux techniques de protection de lien : LFA (Loop-Free Alternates) et MPLS (Multi-Protocol Label Switching) Fast Reroute.

Un problme considrable est le problme de l'optimisation de lutilisation de la capacit du rseau pour rpondre aux demandes actuelles (la somme de demandes de trafic qui doivent tre envoyes entre chaque paire de noeuds).

2. Motivation
Une approche de TE qui est souvent utilise, et base 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 dcoupe le flux de trafic aux noeuds o les liens sortants sont sur plusieurs plus courts chemins vers la destination. Les poids des liens dpendent souvent des distances physiques entre les noeuds. Cependant, le but principal est d'viter la congestion du rseau (par exemple : la surcharge de liens). La performance et l'utilisation efficace des ressources du rseau peuvent tre amliores sans modifier les protocoles de routage. C'est loptimisation de poids des liens IGP (IGP Weights Optimization IGPWO) pour une topologie fixe du rseau et un ensemble donn de demandes de trafic (le trafic que nous avons besoin d'envoyer dun routeur source son routeur destination). Ce problme d'optimisation est NP-difficile [FRT 02]. Nous choisissons donc un algorithme heuristique de recherche locale pour le rsoudre. L'approche de la recherche locale est trs efficace pour rsoudre les problmes NP-difficile ou NP-complet surtout pour ceux ayant un espace de recherche avec une taille de voisinage trs grande, alors que lon doit faire face une explosion combinatoire si on utilise les mthodes de rsolution exactes. Les grands avantages dalgorithmes de recherche locale (LSA) sont [YVE 07] :

Utilisation d'un petit espace de mmoire. Parcours de l'espace de recherche d'une faon intelligente, recherche des rgions diffrentes de l'espace de recherche. Production d'une solution optimale ou acceptable avec un temps de calcul raisonnable.

Dans notre problme 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
9

l'espace de recherche maximale du problme : [1000x1000]65535. C'est la raison pour laquelle nous avons choisi les LSA comme approche pour rsoudre ce problme. Il existe plusieurs rsolutions diffrentes de recherche locale pour IGPWO (comme celle de Fortz [FOR 00]) mais trs peu dentre eux considrent les changements de la topologie du rseau (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 critres : le dlai de transmission de donnes, la couverture de LFA du rseau (combien de liens sont protgs par la protection de LFA). En outre, la qualit de la solution dans un problme de grande taille reste encore un grand dfi.

3. Objectifs
Dans ce travail, nous voulons rsoudre trois problmes concernant l'IGPWO et les deux techniques de protection mentionnes ci-dessus dans le cas o la topologie du rseau est change. tant donn une configuration du rseau : le nombre de noeuds (routeurs), la bande passante de chaque lien, les demandes de trafics entre chaque paire de noeuds, le dlai de chaque lien, les poids des liens. Les trois problmes rsoudre sont les suivants : Problme 1 : Donner une image du trafic dans le rseau lorsquun lien tombe en panne. Nous mesurons la charge de chaque lien dans 4 cas : o Avant la panne de lien. o Aprs la panne de lien mais pas de protection pour chaque lien. o Aprs la panne de lien et lactivation de MPLS Fast Reroute protection pour le lien en panne. o Aprs la panne de lien et lactivation de LFA protection pour le lien en panne. Problme 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.
10

o Il y a un changement de la topologie du rseau : un lien tombe en panne. Problme 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 rseau. 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 rseau : un lien tombe en panne. Les rsultats exprimentaux du programme sont compars avec ceux de TOTEM (TOolbox for Traffic Engineering Methods), une bote outils permettant aux oprateurs de rseaux dimplmenter leur ingnierie du rseau et elle peut galement tre utilise par les chercheurs qui veulent mettre en uvre leurs nouvelles techniques.

4. Contribution
Mon stage de fin d'tudes sest droul dans 6 mois l'Universit Catholique de Louvain. Dans le cadre de ce stage, jai accompli des tches suivantes : Dans le premier mois : tude de la thorie et des concepts fondamentaux de la recherche locale et ses algorithmes, ses heuristiques et mta-heuristiques dans la rsolution des problmes complexes surtout ceux doptimisation. tude du langage de programmation par contraintes Comet et conception de quelques algorithmes de recherche locale sur Comet pour pratiquer et amliorer les techniques de programmation sur Comet . Exposition devant le groupe de recherche des connaissances acquises. Dans le deuxime mois : tude des problmes de la convergence des protocoles de routage IP : o Dfinition de la convergence et les dfis existants. o Introduction dingnierie de trafic et ses composants principaux

11

o Le problme dAPSP (All Pairs Shortest Paths) et installer sur Comet lalgorithme pour le rsoudre. o Le problme dECMP ( Equal Cost Muli-Paths) et son application dans le protocole de routage dtat de lien comme OSPF. o La protection de liens, tude approfondie de 2 techniques de protection de liens : LFA et MPLS Fast Reroute. Runion avec les promoteurs pour dterminer concrtement les problmes rsoudre. Rdaction du cahier des charges des problmes dfinis. Dans le troisime mois : Recherche bibliographique sur les problmes dfinis : Lire les articles du domaine qui ont rsolu les problmes similaires. Installation du programme sur Comet, rsolution des problmes dvaluation du trafic dans le rseau et de techniques de protection de liens : o Installation de lalgorithme dAPSP 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 rseau dans 4 cas Exprimentation et test du programme pour ces premiers problmes. Dans le quatrime mois : Recherche bibliographique : tude des articles dingnierie de trafic dans le domaine de rseau surtout ceux IGPWO. Runion avec les promoteurs pour fixer le premier LSA pour rsoudre le problme IGPWO. Implmentation de LSA sur Comet : Essayer, appliquer et modifier les heuristiques, les mta-heuristiques et leurs paramtres pour dterminer une bonne configuration de LSA sur Comet. tude de la performance de chaque configuration de LSA.

12

Installation de 2 outils dingnierie de trafic sur Ubuntu : IGEN et TOTEM Dans le cinquime mois : tude de la transition de mtrique IGP (augmenter ou rduire le poids dun lien) pour rsoudre le problme de la convergence dans le rseau : dfinition et application de KMS (Key Metric Sequences). Installation de KMS dans LSA sur Comet. Gnration de donnes par IGEN : pour un test, on doit gnrer par IGEN des donnes suivantes : Une topologie de rseau (nombre de routeurs), une matrice IGP_metric (poids des liens), une matrice de capacits de liens (bande passante), une matrice de demandes de trafic du rseau. Test du programme par des donnes gnres par IGEN et les donnes relles du rseau dAbilenne. Comparaison de la performance et de la qualit de la rsolution entre notre programme de LSA et celui IGPWO de TOTEM. Observation des impacts de la solution optimale sur les autres critres comme : le dlai de transmission de donnes ou la couverture de LFA du rseau. Dans le dernier mois : Rdaction du rapport de stage Exposition devant le groupe de recherche des algorithmes implments et des rsultats obtenus.

5. Environnement de stage
Mon stage a t ralis au Dpartement dIngnierie Informatique dUniversit 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 : Matrise et supervision de tous les problmes concernant la recherche locale et la programmation par contraintes.

13

Olivier Bonaventure : Dfinitions des problmes rsoudre et supervision du stage au point de vue de rseau. Pierre Franois : Matrise et supervision de lavancement de mon stage de problme 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, jai rejoint le groupe Be-cool (Belgian Constraints Group) du Dpartement dIngnierie Informatique dUCL et jai aussi particip beaucoup des activits de recherche avec ce groupe comme : les sminaires, les confrences en Belgique et en France, les cours de rseau, de Comet, ...

14

Chapitre 2 : Recherche Locale et Comet


Dans ce chapitre, nous donnons une vue gnrale de la recherche locale, les algorithmes heuristiques et mta-heuristiques prfrs dans la programmation par contraintes. Pour la deuxime partie, nous prsentons le langage de programmation COMET, un langage fort pour la modlisation et limplmentation des algorithmes de recherche locale.

1. Recherche locale
1.1. Mthodes de rsolution heuristiques La recherche locale est une des mthodes de rsolution heuristiques. Au contraire des mthodes de rsolution exactes, les mthodes heuristiques peuvent rduire laspect combinatoire dun problme afin de le rsoudre en un temps acceptable. Ce sont des approches incompltes dans le sens o elles nexplorent dlibrment quune partie de lespace de recherche. Donc, la complexit en temps est gnralement faiblement polynomiale. Par consquent, elles peuvent ne pas trouver de solution, ou prouver labsence de solution ou loptimalit dune solution un problme doptimisation. Normalement, chaque solution a un ensemble de composants. Deux solutions sont considres comme voisines si elles ont une et une seule diffrence dans lensemble des valeurs des composants qui les constituent. Le voisinage dune solution est lensemble de toutes ses solutions voisines. Il existe deux principales classes dapproches heuristiques : Approches par voisinages : elles explorent lespace de recherche en le structurant en terme de voisinage. Les approches par voisinage les plus connues sont : o Recherche locale : elle explore lespace de recherche tape par tape, en partant dune solution initiale, et en slectionnant chaque itration une solution voisine de la solution courante. o Algorithmes gntiques : ils sinspirent de la thorie de lvolution et des rgles de la gntique qui expliquent la capacit des espces
15

vivantes sadapter leur environnement par la combinaison de 3 mcanismes : la slection naturelle, la reproduction par croisement et la mutation. Approches constructives : gnrent de nouvelles solutions de faon incrmentale, c.--d., en partant dune solution vide , et en ajoutant des composants de solution jusqu obtenir une solution complte [SOL 08]. Dans ce travail, nous nutilisons que lapproche par voisinages et surtout les algorithmes de recherche locale (Local Search Algorithms LSA). Avec les LSAs, chaque solution du problme est reprsente par un ensemble d'attributions de valeur chaque composant ou chaque variable. chaque itration dun LSA, nous avons une solution temporaire. Le but est de choisir parmi ses voisines une solution pour litration suivante qui peut amliorer la qualit de solution ou devenir un bon point de dpart pour la recherche suivante. LSA utilise une fonction dobjectif pour valuer la qualit d'une solution. 1.2. Les composants principaux de LSA Pour la plupart de LSA, on doit dtailler 4 composants principaux ci-aprs :

1.2.1. Gnration de la solution initiale


Cest la position o on commence la recherche. Tout LSA doit partir dune solution initiale et la modifier tape par tape pour atteindre une solution optimale ou au moins une meilleure solution. La solution initiale est parfois gnre par une heuristique ou mta-heuristique gloutonne. Un bon choix de la solution initiale est trs important dans la recherche locale.

1.2.2. Heuristiques ou mta-heuristiques pour le choix du voisin


chaque itration dans LSA, nous avons une solution temporaire. Le but de chaque itration est damliorer la qualit de cette solution afin dobtenir une meilleure solution pour litration suivante. La qualit dune solution est value par une fonction dobjectif.

16

Les heuristiques ou mta-heuristiques sont des stratgies gloutonnes pour dterminer un ou plusieurs lments de solution modifier dune faon la plus efficace.

1.2.3. Stratgie dintensification ou de diversification


Les solutions obtenues par les stratgies gloutonnes ne sont pas toujours bonnes bien quelles soient les meilleures dans leurs voisinages. Si LSA sarrte seulement la solution o il ne peut pas trouver une meilleure solution voisine, alors il peut avoir seulement la meilleure solution dune rgion de lespace de recherche. Dans la recherche locale, ces solutions sont appeles Optima Locaux comme illustrs la Figure 1.

Figure 1: Recherche Locale : Optima Locaux et Solution Optimale

Pour chapper aux optima locaux, LSA utilise trs souvent les structures de mmoire 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 priodiquement (redmarrer la recherche par une de ces solutions).
17

Diversification : Diriger la recherche vers d'autres rgions de l'espace de recherche (accepter la rduction de la qualit de solution). Parfois, le redmarrage de zro (la solution initiale) est galement une bonne mthode de diversification.

1.2.4. Critres darrt


Cest l'itration ou l'tat o nous arrtons le processus de recherche. Il peut tre une limite sur le nombre d'itrations, le temps d'excution ou un tat o toutes les contraintes sont satisfaites. Pour les problmes complexes doptimisation, le nombre ditrations et le temps dexcution sont souvent utiliss comme critre darrt. 1.3. Le gnrique de recherche locale Comme nous avons dj mentionn dans la section prcdente, la recherche locale est une mthode de rsolution heuristique. Donc les LSAs sont distingus bass sur leur stratgie heuristique et mta-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 mtaheuristiques collectent les informations (mmoire long terme) sur la squence dexcutions pour chapper les optima locaux et diriger la recherche vers loptimalit globale.

1.3.1. Les heuristiques


Nous pouvons classifier les LSAs heuristiques en 2 grandes classes : systmatique et alatoire. La classification des LSAs heuristiques est base sur leur faon de changer la valeur de la fonction dobjectif [YVE 07]. Classe Approche Description
Choisir la solution voisine ayant la meilleure valuation de la qualit de solution. Parcours complet du voisinage, trop coteux quand le voisinage est large.

Heuristique La meilleure voisine Systmatique


(Best Neighbor - BN)

18

La premire voisine (First Neighbor - FN)

Choisir la premire solution voisine ayant une amlioration de la qualit de solution. Augmenter le nombre ditrations o nous trouvons optimum local.

Heuristique de multiniveaux (Multistage Heuristic)

Balancer entre la gourmandise de BN et le respect de temps de calcul de FN.

Marches alatoires (Random Walks)

Amlioration alatoire (Random Improvement) Heuristique de Metropolis

Choisir alatoirement une solution voisine ayant lamlioration de la qualit de solution. Autoriser de slectionner des voisines de moins bonne qualit selon une probabilit dfinie : exp (-(f(n) f(s))/t) Avec : f : la fonction dobjectif ; s : la solution courante ; n : une solution voisine de s t : paramtre de temprature (peut-tre modifi par chaque algorithme)

Tableau 1: 2 classes des LSA heuristiques

1.3.2. Les mta-heuristiques


Mta-heuristiques visent chapper les optima locaux et diriger la recherche vers loptimalit globale. Il existe plusieurs stratgies de mta-heuristiques : Ralisation dune recherche locale partir de plusieurs points de dpart (solution initiale). Modification de la fonction dobjectif. Modification de la faon de bouger (le choix de solutions voisines). Modification du critre dacceptation ...

19

Dans cette section, nous allons citer quelques approches de mta-heuristiques [HEN 05]. Approche
Recherche locale itre

Description
Appliquer itrativement une recherche locale spcifique partir de points de dpart diffrents afin de : - Visiter les rgions diffrentes de lespace de recherche - viter de retourner un optimum local de faible qualit

(Iterated Local Search)

Recuit simul (Simulated Annealing)

Se baser sur lheuristique de Metropolis avec t est le paramtre dheuristique conciliant entre la qualit de solution et le temps dexcution. Appliquer itrativement lalgorithme de Metropolis avec une squence dcroissante de tempratures : t0, t1, ..., ti (tk<tk+1) Esprance dun optimum local de haute qualit quand ti0

Recherche Locale Guide

Utiliser une squence de fonctions dobjectif f0, f1, ..., fi pour diriger la recherche en dehors doptima locaux et pour explorer lespace de recherche plus largement.

(Guided Local Search)


Recherche de Voisinage Variable (Variable Neighborhood Search)

Combiner la Recherche Locale Itre et une collection croissante de taille de voisinages N0, N1, ..., Ni. Offrir plus doccasions de diversification dans lexcution.

Recherche taboue (Tabu Search)

Empcher de boucler sur un petit nombre de solutions autour des optima locaux en mmorisant un nombre des derniers mouvements effectus [SOL 08]. tant donne une squence de solution S = (s0, s1, ..., sk), choisir la solution sk+1 qui nest pas dans la squence et

20

qui est la meilleure voisine de sk. k est appel tabu_length.

Colonie de fourmis (Ant Colony)

Mettre jour les fonctions de slection aprs chaque tape de recherche pour diriger la recherche vers les solutions haute qualit. Sinspirer du comportement collectif des fourmis pour faire voluer le modle probabiliste en basant sur la dfinition de phromone[SOL 08].

Recherche volutionnaire - Algorithmes volutionnaires combinent un ensemble de hybride


solutions pour produire des nouvelles solutions.

(Hybrid Evolutionary Search)

- Algorithmes de recherche volutionnaire hybride exploitent la puissance de tous les deux algorithmes : recherche locale et volutionnaire par application de la recherche locale aux solutions dans la population avant de les combiner. Tableau 2 : Approches Mta-heuristiques

Dans le cadre de ce mmoire, nous pouvons prsenter seulement une vue gnrale des LSAs qui sont dtaills dans le livre Constraint-Based Local Search de Pascal Van Hentenryck et Laurent Michel [HEN 05]. Dans ce livre, vous trouverez plusieurs guides dtaills, applications et implmentations dans des problmes concrets.

2. Comet
2.1. Le choix de COMET Le but de notre travail est de rsoudre le problme 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 modlisations innovatrices et dabstractions de contrle pour la recherche locale. Il est trs puissant pour rsoudre les problmes combinatoires complexes doptimisation.
21

COMET peut nettement simplifier la conception et l'implmentation de la recherche locale (stochastique) et des algorithmes de la programmation par contraintes en prservant l'efficacit de bas niveau, problme-spcifique et de ralisation [COM 01]. Dans COMET, LSA est reprsent par la formule : Recherche Locale = Modle + Recherche Le composant de Modle est purement dclaratif ; il exprime la structure combinatoire de l'application en termes de contraintes et de fonctions dobjectif. Le composant de Recherche exploite la structure exprime dans le modle pour diriger lexploration du voisinage vers les solutions de haute qualit. Les avantages principaux de COMET sont cits ci-aprs [HEN 05]: Un langage de modlisation riche pour la recherche locale Un langage de recherche riche pour la recherche locale Sparation entre Modle et Recherche Extensibilit et Flexibilit de son architecture pour les deux composants Modle et Recherche. Efficacit : le langage de modlisation est riche et la conception dobjets diffrentiables le rendent souvent comparable en efficacit aux ralisations de bas niveau, surtout pour les applications complexes. Nouvelles perspectives : La formule : Recherche Locale = Modle + Recherche met en parallle lexpression de la programmation par contraintes : Programmation par Contraintes = Contraintes + Recherche 2.2. Langage de COMET

2.2.1. Architecture de COMET


Larchitecture de COMET est aussi celle de la recherche locale base sur contraintes (Constraint-based Local Search). Elle est organise en 3 couches cidessous [HEN 05], comme illustres la Figure 2.

22

Figure 2: Architecture de COMET [YVE 07]

La premire couche est la conception dinvariants (ou contraintes sens unique) par algbre et expressions. Les invariants sont exprims en termes de variables incrmentales et spcifient 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] ; dclare une variable incrmentale s de type int et linvariant spcifie que s est toujours la somme de a[1], a[2], ..., a[10]. Chaque fois, la valeur dune variable a[i] est change, la valeur de s est mise jour. La deuxime couche contient la conception dobjets diffrentiables. Les objets diffrentiables maintiennent un nombre de proprits (utilisant les invariants) et peuvent tre questionns pour valuer leffet de mouvements divers avant de slectionner le voisin visiter. Il existe deux classes importantes dobjets diffrentiables. Ce sont les contraintes et les objectifs. Une contrainte maintient les proprits comme ses satisfactions, ses violations, et le nombre de violations dune variable contribuant la somme de violations. Un objectif maintient la valeur dune fonction (complexe) et dune valuation qui peut tre utilise distinguer entre les solutions ayant la mme valeur. La troisime couche est le composant de recherche. Les deux premires couches sont incrmentales dans la spcification du composant de modlisation des LSA. Le composant de recherche contient les heuristiques et mta-heuristiques de LSA. Cette couche ne prescrit aucune heuristique ou mta-heuristique mais il comporte les constructions et les abstractions haut niveau pour simplifier lexploration du voisinage et limplmentation de mta-heuristiques.

23

Les plus fondamentales abstractions de recherche sont les selectors, les solutions et les checkpoints.

2.2.2. Le programme de COMET


Dans cette section, nous allons analyser un programme classique de COMET qui rsout le problme de n-reines : placer n reines sur un chiquier de la taille de nxn de telle faon quil ny ait aucune paire de reines se trouvant sur la mme ligne, colonne ou diagonale. Voici un tel programme de COMET pour le problme de n-reines [HEN 05] :
1. include LocalSolver ; 2. int n = 8 ; 3. range Size = 1..n ; 4. LocalSover m() ; 5. UniformDistribution distr(Size) ; 6. var{int} queen[Size](m,Size) := distr.get() ;

7. ConstraintSystem S(m) ; 8. S.post(alldifferent(queen) ); 9. S.post(alldifferent(all(i in Size) queen[i]+i) ); 10. S.post(alldifferent(all(i in Size) queen[i]-i) ); 11. m.close() ;

12. int it = 0 ; 13. while (S.violations()>0 && it<50*n) { 14. 15. 16. 17. 18. } it = it+1 ; selectMax(q in Size)(S.violations(queen[q])) selectMin(v in Size)(S.getAssignDelta(queen[q],v)) queen[q] := v ;

2.2.2.1. Le modle

24

Pour le modle, chaque reine est associe avec une colonne et on doit chercher une attribution de lignes aux reines pour quaucune paire de reines ne soit place sur la mme ligne ou la mme diagonale. La valeur de variable queen[c] reprsente 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 dcision Dans ce programme, la chane queen contient les variables de dcision (variables incrmentales) stockant par le LocalSolver dclarant la ligne 4 du programme. Ces variables incrmentales obtiennent les valeurs dans le rang Size et elles sont initialises avec les positions alatoires. Pour ce problme, on na pas de fonction dobjectif donc le changement de la valeur de chaque reine entranera la mise jour de tous les invariants, les contraintes. 2.2.2.3. Les contraintes De ligne 7 ligne 11, nous avons la dclaration de contraintes, il y a 3 contraintes dfinies dans le modle.
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 spcifient trois contraintes : deux reines ne peuvent pas placer sur une mme ligne ou une mme diagonale. 2.2.2.4. La procdure de recherche La procdure de recherche du programme est dcrite de ligne 12 ligne 18. Il implmente une heuristique de max-conflit/min-conflit : - Choisir la plus viole reine q ( selectMax(q in Size)(S.violations(queen[q])) )

25

- 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 itres jusquune solution est trouve (le systme S na pas de violations) ou le nombre ditrations dpasse un seuil donn (it >= n*50)

26

Chapitre 3 : Le problme de convergence dans les protocoles de routage IP


Dans ce chapitre, nous abordons le routage au sein des rseaux OSPF. Nous prsentons le concept de convergence. Nous dcrivons deux techniques de protection de liens : MPLS Fast ReRoute et LFA. Finalement, nous revoyons les principaux composants du cadre dingnierie du trafic.

1. Routage IP et convergence
1.1. Le protocole IP Les flux de donnes transmis sur lInternet sont diviss en paquets ou datagrammes. Chaque paquet contient un en-tte qui reprend les informations ncessaires sa transmission, comme ladresse de la destination. Lorsquil reoit un paquet, un routeur en consulte len-tte afin de dterminer le lien sur lequel le paquet doit tre transmis. Cette dcision se base sur ltat de sa table de routage qui est construite grce aux protocoles de routage IP [BLA 00]. 1.2. Routage IP Le routage consiste en ltablissement dun tat cohrent de table de routage des routeurs IP afin dassurer la connectivit entre les htes. LInternet est divis en sous rseaux appels Systmes Autonomes (Autonomous Systems AS). Le protocole BGP (Border Gateway Protocols BGP) sert tablir la squence de sous rseaux 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 rseau OSPF, chaque routeur transmet des informations concernant ltat de ses liens adjacents. Ces informations se propagent travers le rseau OSPF afin que chaque routeur construise une vue complte du rseau. Sur base du

27

graphe reprsentant le rseau, chaque routeur calcule lensemble de chemins les plus courts vers les autres routeurs du rseau. chaque lien est attribu une mtrique (cot ou poids). Ce poids est un nombre entier dans lintervalle [1..65535] ( 216-1) et est stock dans la base de donnes de ltat de liens. Sur base de lensemble des chemins les plus courts, chaque routeur peut dcider quel lien doit tre utilis pour transmettre des paquets vers un routeur ou un point de sortie donn. Sil existe plusieurs chemins de poids gaux vers la destination, le routeur peut dcider de distribuer la charge de trafic sur lensemble des liens correspondant ces chemins. Cette technique sappelle ECMP (Equal Cost Multi-Path) comme illustres 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 donnes C. Donc quand les paquets de donnes de A arrivent B, il doit les transmettre C. La transmission de donnes de B doit questionner la FIB.

1.3.2. Convergence OSPF


Il y a deux types dvnements qui peuvent forcer un routeur inonder un nouveau LSP : Premirement, un nouveau LSP est gnr et inond chaque fois que les informations contenues dans le LSP (les voisins, les adresses IP, les mtriques, les informations dingnierie de trafic,...) sont changes.

28

Deuximement, pour viter les problmes dans le cas o il existe des erreurs de transmission ou de mmoire non dtectes, chaque LSP est retransmis intervalle rgulier.

Quand un LSP dcrivant un changement de la topologie est arriv un routeur, ce routeur met jour sa LSDB qui dclenche 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 stockes dans la LSDB. En rsum, une convergence IGP aprs la panne dun lien peut tre caractrise par [FRA 07]: D + O + F + SPT + RIB + DD Avec D : est le temps de dtection de la panne de lien. O : est le temps de crer le LSP dcrivant la nouvelle topologie aprs la panne de lien. F : est le temps dinondation complte du noeud qui a dtect la panne au noeud de reroutage qui doit effectuer une mise jour de FIB pour apporter au rseau un tat de transmission (Forwarding State) cohrent. SPT : est le temps de calcul de larbre 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 prsenter deux techniques principales (MPLS Fast Reroute et Loop-Free Alternates) de protection de liens dans lorsquil existe des checs et la technique de transmission dquilibrage de charge ECMP (Equal Cost Multi-Path). 2.1. MPLS Fast Reroute L'ide principale de cette technique est dutiliser de la transmission de MPLS (Multi-Protocol Label Switching) parce qu'elle n'est pas base sur le routage. MPLS FRR a deux techniques principales de protection (routeur et lien)

29

mais dans cette recherche, nous sommes seulement intresss par la technique de protection de lien. Lorsquune protection de MPLS FRR est applique 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 lautre ct du lien. Lorsquil dtecte la panne, il utilisera immdiatement 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 oprations de MPLS Fast ReRoute

Observer la Figure 4, supposons que le lien BC est protg par la protection de MPLS FRR. Donc BADC est tabli comme le chemin de secours du lien BC. Dans le cas normal, le chemin de B E passe par C (le chemin vert). Quand B dtecte la panne du lien BC, il utilise immdiatement le chemin de secours BADCE pour transmettre le trafic E au lieu du lien BC (le chemin bleu). Si le rseau est bi-connect, cette technique peut tre utilise pour protger n'importe quel chec dun seul lien. Ainsi la couverture cette technique est de 100% [FRA 07]. 2.2. Loop-Free Alternates (LFA) Avec la protection LFA, lorsquun lien (direct) IJ tombe en panne, le routeur I (qui a dtect la panne) va rerouter immdiatement les paquets son routeur de LFA . Un exemple dune protection LFA en cas il y a une panne de lien (C est le routeur LFA du lien BD) :

30

Observons la figure 5, cest le cas normal, lien BD est bon, le chemin de A vers E est A BDE. 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 BD tombe en panne, B doit transmettre les paquets C routeur LFA du lien BD dans tous ses deux chemins vers D et vers E.

Figure 6 : Exemple de la protection de LFA : Lien BD tombe en panne[STE 06]

Dfinition de LFA : tant donn un lien SE qui tombe en panne et une destination D, un voisin N de S est un LFA du lien SE pour la destination D si le plus court chemin de N D ne contient pas le lien SE [BON 08]. Il existe deux types de LFA : LFA par lien et LFA par prfixe.

2.2.1. LFA par lien


Le routeur LFA par lien dun lien est son routeur LFA pour toutes les destinations. Supposons que larbre des chemins les plus courts dun routeur A : SPT(A) est larbre capturant tous les plus courts chemins de A tous les autres routeurs du rseau. Lalgorithme de dtection de LFA par lien pour protger un lien SE [BON 08]

31

Pour chaque voisin direct de S : (S Ni) Calculer SPT(Ni) Si (SE) SPT(Ni) alors Ni est un candidat de LFA du lien (SE) pour toutes les destinations

Exemple :

Topologie du rseau

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 SW pour toutes les destinations parce que SPT(E) ne contient pas le lien SW et E peut joindre toutes les destinations sans lien SW.

2.2.2. LFA par prfixe


La technique de LFA par prfixe augmente la couverture de LFA mais elle exige plus de calcul. Dans ce cas, un LFA est trouv pour un sous-ensemble de prfixes joints initialement via le lien protg [STE 06]. Selon ce mode, un routeur N est considr comme LFA dun lien SE pour une destination D si le plus court chemin de N D ne contient pas le lien SE. Par exemple :

32

Figure 8 : Exemple de LFA par prfixe

Observons la figure 8, A nest pas LFA par lien du lien BC parce que lien BC appartient au plus court chemin de A C ou lien BC SPT(A). Mais avec un LFA par prfixe, A est un LFA par prfixe valide du lien BC pour le sousensemble de destinations : D,E,F et G, parmi lensemble des destinations initialement jointes via BC : {C,D,E,F,G} Dans le cadre de ce travail, nous nous intressons 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 dcrit les oprations de LFA et MPLS FRR quand le lien SA tombe en panne sur le chemin de S D. Au dbut, il ny 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 SAD est utilis pour transmettre le trafic de S D.

33

Lorsque le lien SA tombe en panne :

Les oprations de LFA

Les oprations de MPLS FRR

Figure 10 : LFA vs MPLS Fast Reroute

Observons la Figure 10, nous pouvons facilement trouver que dans ce cas MPLS FRR est sous-optimal parce quil doit toujours joindre A quand le lien SA tombe en panne. Dans ce cas le chemin de secours de lien SA est SBDA, donc quand S veut envoyer des donnes D, les paquets doivent suivre le chemin SBDAD. Tandis que pour LFA, son chemin D est SBD et D est visit une seule fois au lieu de deux fois comme MPLS FRR. 2.4. Equal Cost Multi-Path (ECMP) Lide principale dECMP est lutilisation de quelques chemins qui sont gaux de cot en parallle au lieu dutiliser un seul chemin pour transmettre les donnes entre une paire de noeuds. ECMP vise atteindre deux buts : protection de liens et quilibrage de charge. Avec OSPF, lorsquun routeur utilise lalgorithme de Dijkstra pour calculer son arbre des chemins les plus courts, il peut trouver quelques chemins gaux de cot pour joindre une destination. Le flux de trafic peut tre ainsi divis en plusieurs chemins. Cette technique est utilise par quelques FAIs pour protger seulement quelques liens importants mais si on utilise ECMP standard pour protger tous les liens, le cot serait trop lev [FRA 07]. Cependant, ECMP nest pas toujours une bonne solution dquilibrage de charge. Observons la Figure 11 :

34

Supposons quon veut transmettre le trafic de S D. Avec OSPF, aprs lutilisation de lalgorithme de Dijkstra, on obtient 5 chemins les plus courts gaux de cot de S D, le cot de tous ces 5 chemins est de 4. (SAD) (SBD) (SCD) (SBA D) (SBCD)

Figure 11 : ECMP avec 5 chemins les plus courts

Le rsultat dapplication dECMP sur la figure montre quon nobtient pas dquilibrage de charge sur les liens. Par exemple, la charge du lien BD est de seulement 11% tandis que celles du lien CD et AD sont de 44%.

3. Le cadre dingnierie du rseau


3.1. Introduction Lingnierie de trafic (Traffic Engineering TE) est une approche pour ajuster la topologie du rseau afin doptimiser la circulation du trafic dans le rseau. TE
35

dpend de la possession dun ensemble dobjectifs de performance qui dirige la slection de chemins. Les trois tapes principales du TE sont mesure, modle et contrle comme illustres la Figure 12:

Figure 12 : 3 composants cls du cadre d'ingnierie de trafic[FRT 02]

Ltape de mesure consiste collecter les informations ncessaires loptimisation : la topologie du rseau et le trafic donn. Donc, les donnes pour cette tape sont la visualisation du rseau, les matrices de trafic (demandes entre chaque paire source-destination) et la capacit des liens. Ltape de modle : nous valuons les configurations possibles de poids des liens qui sont exiges par la prdiction des affections de la configuration IGP sur le trafic. Ltape de contrle : aprs dattribution des valeurs de poids des liens, un systme automatique ou un oprateur humain doit changer la configuration IGP sur un ou plusieurs routeurs.

36

3.2. Exemple de la configuration de topologie du rseau Dans cet exemple, nous allons illustrer le contrle de la distribution de trafic dans un rseau au moyen dune optimisation des poids IGP. Toutes les 3 configurations de poids suivants concernent le mme rseau. Supposons que tous les routeurs utilisent le protocole de routage OSPF, la technique ECMP est applique pour tous les liens du rseau et la capacit de chaque lien est gale. Chaque routeur entre q, r, s et w a une unit de trafic envoyer t, comme illustrs la Figure 13. Lobjectif est de minimiser la charge maximale des liens du rseau.

3.2.1. Configuration initiale avec les poids dunit

Figure 13 : Configuration initiale[FRT 02]

Les chiffres de grande taille : poids des liens Les chiffres de petite taille : la charge actuelle sur chaque lien. Observons la figure 13, pour cette configuration, le lien (u,t) est trop surcharg parce que le routeur u est sur les plus courts chemins de q, r et s la destination t, alors il doit charger 3 units de trafic de q,r et s. Tandis que le lien (w,t) doit charger seulement 1 unit de trafic. Nous pouvons facilement trouver que ce nest pas une configuration optimale.

37

3.2.2. Modification locale de poids de lien encombr

Figure 14 : Modification locale de lien encombr [FRT 02]

Observons les charges du rseau dans la configuration initiale, nous trouvons que le lien (u,t) est le plus encombr, donc nous allons augmenter son poids 2 comme illustr la Figure 14. Nous avons une amlioration par rapport le premier cas. Maintenant, les 3 routeurs q,r et s ont 2 chemins les plus courts vers t, via u ou via v, et ils peuvent diviser le trafic sur ces 2 chemins (appliquer ECMP). Cependant, ce nest pas encore une trs bonne configuration, il existe encore une diffrence considrable entre la charge de 2 liens (w,t) et (u,t) (2,5/1,5).

38

3.2.3. Opimisation globale de la charge de liens

Figure 15 : Optimisation globale de la charge de liens [FRT 02]

En valuant laffectation de chaque lien pour trouver la solution optimale, loptimisation globale doit produire une configuration de poids comme celle sur le schma ci-dessus. Observons la Figure 15, pour cette configuration, on doit seulement augmenter le poids du lien (r,u) de 1 3. Donc les 4 units de trafic sont quilibres entre les 2 liens dentre de t, chacun entre (u,t) et (w,t) doit charger 2 units de trafic [FRT 02].

4. Description de problmes
Comme nous avons cit dans la section Objectif , dans ce travail, nous voulons rsoudre trois problmes concernant l'IGPWO et les deux techniques de protection : LFA et MPLS FRR dans le cas o la topologie du rseau est change. Dans cette section, nous voulons dcrire en dtail ces 4 problmes. Chaque topologie du rseau G est reprsente comme la suivante : G = (N, IGP, BW) avec : N est le nombre de routeurs. IGP [N,N] est la matrice de poids des liens (les mtriques IGP). BW [N,N] est la matrice de capacit de liens (chaque lien a une bande passante reprsentant sa capacit le trafic maximal quil peut charger).
39

Nous appelons TD[N,N] est la matrice de demande de trafic avec TD[i,j] est le trafic que le routeur i veut envoyer au routeur j. (i, j [1..N]). Constraintes : Le nombre de routeurs N [10..1000]. Chaque routeur a des liens directs avec un nombre de routeurs V [1..20]. La valeur de IGP [i,j] est un nombre entier avec IGP[i,j] [1..65535] (i, j [1..N]) La valeur de bande passante dans BW et de demande de trafic dans TD est mesure en bit. En cas o il ny a pas de lien direct entre une paire de routeurs (i,j) : IGP[i,j]=IGP[j,i]=BW[i,j]=BW[j,i]=0. Sil existe un lien de i j alors nous avons toujours un lien de j i, ces liens nont pas ncessairement le mme poids.

Calcul de la matrice dutilisation U[N,N] Avec les poids stocks dans la matrice IGP, les routeurs peuvent calculer les plus courts chemins aux autres routeurs dans le rseau (le protocole dOSPF). Donc ils vont envoyer les trafics aux autres routeurs selon les demandes stockes dans la matrice TD via les plus courts chemins calculs. Supposons que L[N,N] est la matrice de charge actuelle de chaque lien avec : L[i,j] = trafics chargs par le lien (i,j) (i, j [1..N]). U[N,N] est la matrice dutilisation de chaque lien avec : U[i,j] = L[i,j] / BW[i,j] (i, j [1..N]) (La proportion entre la charge relle et la capacit du lien) . 4.1. Problme 1 Mesure de lutilisation de chaque lien du rseau. Entre : Une topologie du rseau G = (N, IGP[N,N], BW[N,N]) Une matrice de demande de trafic TD[N,N] Un lien (s,t) (IGP[s,t]>0)
40

Sortie : Une image de lutilisation de tous les liens du rseau avant et aprs la panne du lien (s,t). Une telle image peut tre prsente comme le graphique suivant :

Figure 16 : Image de lutilisation du rseau

Ce graphique peut-tre construit par une matrice Utilization[m,4] avec m est le nombre de liens du rseau. Nous allons numroter les liens du rseau de 1 m. Utilization [i,1] : lutilisation du lien i avant la panne du lien (s,t) Utilization [i,2] : lutilisation du lien i aprs la panne du lien (s,t) Utilization [i,3] : lutilisation du lien i aprs la panne du lien (s,t) et lactivation MPLS Fast Reroute pour le lien (s,t). Utilization [i,4] : lutilisation du lien i aprs la panne du lien (s,t) et lactivation LFA pour le lien (s,t) (si le lien (s,t) n'a pas de LFA, nous appliquons MPLS Fast Reroute).

4.2. Problme 2 Opimisation la matrice de poids de lien IGP[N,N]. Entre : Une topologie du rseau G = (N, IGP[N,N], BW[N,N]) Une matrice de demande de trafic TD[N,N] Un lien (s,t) (IGP[s,t]>0)

Nous appelons MaxUtilization = Max (U[i,j] | i, j [1..N]).

41

Sortie : La configuration optimale IGP*[N,N] minimisant la valeur de MaxUtilization du rseau dans 2 cas : Tous les liens sont bons, il ny a pas de panne de lien. Le lien (s,t) tombe en panne (nutilise plus le lien (s,t)).

Dfintion de la configuration optimale IGP* Une configuration optimale IGP* est celle qui minimise la valeur de MaxUtilization du rseau avec le nombre de routeurs, la matrice TD et la matrice BW donnes. Dans tous les problmes dans cette section, nous changeons seulement les mtriques IGP sans ajouter ou enlever les liens par rapport la matrice IGP donne. 4.3. Problme 3 Opimisation la matrice de poids de lien IGP[N,N]. Entre : Une topologie du rseau G = (N, IGP[N,N], BW[N,N]) Une matrice de demande de trafic TD[N,N] Un lien (s,t) (IGP[s,t]>0)

Sortie : La configuration optimale IGP*[N,N] minimisant la valeur de MaxUtilization du rseau et maximisant la couverture de LFA (le nombre de liens du rseau qui sont protgs par la protection LFA) dans 2 cas : Tous les liens sont bons, il ny a pas de panne de lien. Le lien (s,t) tombe en panne (nutilise plus le lien (s,t)).

Pour ce problme, nous choisissons parmi les IGP* (ayant la mme valeur de MaxUtilization) une configuration possdant la meilleure couverture de LFA.

42

Chapitre 4 : Algorithme de recherche locale pour le problme de convergence


Les trois problmes abords dans le chapitre 3 peuvent tre classifis en 2 grands problmes : mesure du trafic et optimisation des mtriques IGP. Pour celui de mesure du trafic, nous utilisons les algorithmes dAPSP (All Pairs Shortest Paths) pour obtenir la matrice de cot (distance) des chemins les plus courts entre toutes les paires de routeurs. En outre, nous appliquons aussi la technique dECMP pour toutes les paires de routeurs, cest--dire, nous pouvons avoirs plus dun chemin le plus court entre une paire de routeurs. Et pour le deuxime problme, nous avons install une approche de la recherche locale : recherche par voisinage pour trouver la configuration optimale de la matrice de mtriques IGP. Les dtails sont prsents ci-aprs.

1. Mesure du trafic
Le point cl de ce problme est lalgorithme dAPSP associant avec lECMP pour obtenir la matrice de cot (distance) des chemins les plus courts entre toutes les paires de routeurs. Nous avons appliqu N fois lalgorithme Dijkstra avec N est le nombre de routeurs. Avec Dijkstra, nous pouvons obtenir plus facilement la trace des multi-chemins les plus courts dun routeur vers les autres routeurs dans le rseau en comparaison avec les autres algorithmes (par exemple : avec Floyd-Warshall, cest trs complexe obtenir la trace, il doit avoir une procdure rcursive). En outre, la complexit de Dijkstra est acceptable et il est assez facile installer. Pour rsoudre ce problme, nous devons accomplir les tches suivantes : Application de N fois de Dijkstra pour trouver la matrice de distance D. La complexit est O(N2logN). Application de m fois (m est le nombre de liens) de Dijkstra pour trouver le chemin de secours pour chaque lien dans le cas nous appliquons la

43

protection de MPLS FRR dans le rseau. O(m*NlogN) mais en fait le programme marche trs vite pour trouver les chemins de secours. Calcul du LFA pour chaque lien O(N3). Pour chaque noeud (routeur) X: o Obtenir SPT(X) depuis la matrice de distance D. SPT(X) est larbre contenant les plus courts chemins de X aux autres noeuds du rseau. o Vrifier si un lien (A,B) nappartient pas SPT(X) et IGP[A,X]>0 alors X est un candidat de LFA du lien (A,B). Calcul la matrice dutilisation Utilization[m,4] par transmettre les trafics de donnes entre chaque paire de routeurs tape par tape via les chemins les plus courts dans D ou par LFA et par les chemins de secours dans le cas un lien tombe en panne.

Lalgorithme est implment dans Comet. procedure APSPandLoadCompute(G,TD, lk_fails) Entre : une topologie du rseau G=(N, IGP[N,N], BW[N,N]), la matrice de demandes de trafic TD[N,N], lk_fails est le numro du lien en panne. Sortie : La matrice dutilisation Utilization[m,4]. // Calcul de la matrice de distance D for i := 1 to N do dijkstra(IGP,D, i) ; // Appliquer la protection de MPLS FRR // Calcul de chemin de secours pour chaque lien for i :=1 to m do removeLink(i) ; dijkstra(IGP,D,points[i,1]) ; //un lien a 2 points saveBackUpPath(MPLS_FRR, i) ; //stocker le chemin de secours de i dans MPLS_FRR restoreLink(i) ; // Appliquer la protection de LFA

44

for i := 1 to N do get_SPT(D,i) ; //Obtenir le SPT(i) depuis D for j :=1 to m do if (j SPT(i)) then insertLFA(i ,j, LinkLFA) ; // i est ajout dans LinkLFA[j]

// Calcul de la matrice dutilisation Utilization[m,4] Utilization[m,4] := computeLoad(TD, D, lk_fails, MPLS_FRR, LinkLFA) ; return Utilization[m,4] ; end APSPandLoadCompute
Tableau 3 : Algorithme de mesure du trafic

2. Optimisation des mtriques IGP


2.1. La squence de mtriques cls Comme nous avons dj appris dans la section prcdente, lobjectif de lingnierie de trafic est doptimiser la circulation du trafic dans le rseau par modification de la matrice de poids IGP. Et dans lexemple, on obtient la configuration optimale seulement par augmenter le poids du lien (r,u) de 1 3. Mais pour loptimisation de la matrice de poids IGP, on doit rpondre les deux questions suivantes : Modification de poids de liens mais quels liens ? Pour ces liens, on doit changer le poids mais augmenter ou rduire ? Et augmenter ou rduire combien ?

Pour la premire question, il existe plusieurs algorithmes heuristiques pour dterminer les liens modifier, par exemple : choisir les liens les plus encombrs (ayant la maximale valeur de lutilisation de lien) comme dans la deuxime configuration dans lexemple de la section prcdente. Pour la deuxime question, le poids IGP dun lien est un nombre entier dans lintervalle [1..65535]. Cest vraiment un espace de choix norme pour seulement

45

une variable. Concernant le choix de nouvelle valeur de poids, il existe aussi plusieurs algorithmes heuristiques comme Tabu Search, GAOSPF, lalgorithme de Fortz & Thorup, InCavOSPF, ... Squence de Mtriques Cls Dans le cadre de ce travail, comme nous avons abord, nous utilisons un algorithme de recherche locale en associant avec la squence de mtriques rereouts - une technique de libration des boucles : loop-free (pour viter les boucles dans la transmission des paquets dans le rseau). Cette squence sappelle la Squence de Mtriques Cls (Key Metric Sequence - KMS) [MIK 07]. La signification dutilisation de la KMS tant donn un lien WE et une destination D. Supposons que nous avons un ensemble de routeurs S = {S1, S2, ..., Sm} ayant le plus court chemin D passe le lien WE. La KMS est la squence obtenue par ajouter le poids initial du lien WE aux diffrences de cot (distance) entre les plus courts chemins de chaque routeur dans S D avant et aprs denlever le lien WE. Normalement, ces valeurs sont ajoutes 1 et insres dans la KMS. Chaque chiffre dans la KMS est utilis pour le poids du lien WE (augmente le poids initial) pour observer les impacts du rseau si chaque routeur dans S divise le trafic transmettre ou nutilise plus le lien WE pour joindre la destination D.

Calcul de la KMS [MIK 07] Nous appelons w est le poids du lien WE. Pour chaque routeur Si dans S, i = Dist(Si,D) Dist(Si,D) o Dist(Si,D) est le cot (distance) du plus court chemin de Si D avant denlvement du lien WE et Dist(Si,D) est celui aprs denlvement du lien WE. Nous avons KMS = {w, w+1, w+1,w+1+1, w+2,w +2+1, ..., w+m,w+m+1} Le poids du lien WE est attribu alternativement chaque valeur dans KMS. Par exemple, nous avons une topologie du rseau suivante :
46

Figure 17 : Calcul de la KMS [MIK 07]

Les plus courts chemins A avant denlvement du lien BC : De B : BCA ; Cot : 2 De C : CA ; Cot : 1 De D : D BCA et DECA ; Cot : 3 De E : ECA ; Cot : 2 Les plus courts chemins A aprs denlvement du lien BC : De B : BDECA ; Cot : 4 De C : CA ; Cot : 1 De D : DECA ; Cot : 3 De E : ECA ; Cot : 2 Dans ce cas, il y a que B ayant la diffrence de cot du chemin le plus court A (Dist(B,A)-Dist(B,A)= 4 - 2 =2), donc KMS = {1, 3, 4} Si le poids du lien BC gale 1 : cas normal. Si le poids du lien BC gale 3 : B va diviser le trafic transmettre A en 2 chemins BDECA et BCA (ayant le mme cot de 4). Et D a seulement un chemin le plus court A au lieu de 2 comme le cas normal.

47

Si le poids du lien BC gale 4 : B transmet directement le trafic A via le chemin BDECA et il nutilise plus le lien BC. 2.2. Les 4 composants principaux Nous utilisons un algorithme de recherche locale, une des approches par voisinage des mthodes de rsolution heuristiques. Pour la recherche locale, on explore lespace de recherche tape par tape, en partant dune solution initiale, et en slectionnant chaque itration une solution voisine de la solution courante. Il y a 4 composants importants dans cet algorithme : La gnration des solutions initiales. La fonction dobjectif. Le choix de la solution voisine. Diversification et critres darrt

Pour ce problme doptimisation de pois de liens, comme nous avons mentionn dans les sections prcdentes, la taille de lespace de recherche est norme : [1,65535]m (avec m est le nombre de liens). Donc les 4 oprations cites ci-dessus sont trs importantes pour avoir une recherche de lespace dune faon intelligente et efficace.

2.2.1. Gnration des solutions initiales


Dans le cadre de ce travail, nous avons essay beaucoup de solutions initiales diffrentes comme : - UnitOSPF : le poids de tous les liens gaux 1. Le cot dun chemin gale le nombre de liens sur le chemin [ERI 02]. - RandomOSPF : les poids des liens sont attribus alatoirement dans lintervalle [1,65535] [ERI 02]. - InvCapOSPF : les poids des liens sont fixs inversement proportionnelle leurs capacits (bandes passantes) [ERI 02]. - Gnration dIGEN : dans ce travail, nous utilisons le programme IGEN pour gnrer la topologie du rseau et la matrice de demandes de trafic comme les donnes dentre.

48

Parmi ces 4 solutions initiales, nous pouvons retenir seulement la solution gnre par IGEN parce que les 3 autres solutions ne donnent pas un bon point de dpart pour notre LSA. Dans la premire version de notre programme LSA4IGPWO (Local Search Algorithm For IGP Weights Optimisation) nous partons de seulement une solution initiale celle dIGEN et dans la plupart de donnes, le rsultat de LSA4IGPWO nest pas aussi bon que celui donn par lexcution de lalgorithme IGPWO de TOTEM. Cest la raison pour laquelle nous devons chercher les autres solutions initiales pour la version 2 de LSA4IGPWO. Et nous avons trouv 2 autres bons points de dpart. Voici le calcul de ces 2 solutions initiales : Option 1 - Calcul du vecteur totalDemand. Pour chaque noeud i, totalDemand[i] est la somme de demandes de trafic de tous les autres noeuds du rseau vers i comme illustre la Figure 18.

Figure 18 : Calul de totalDemand - Option 1

totalDemand[i] = TD[j,i]

j [1..N]

avec N est le nombre de noeuds (routeurs) du rseau. - Le poids de chaque lien (k,i) est calcul par la proportion entre sa valeur de totalDemand de son dernier point et sa capacit (bande passante).

IGP[k,i] ~ totalDemand[i] / BW[k,i]

i,k [1..N]

a signifie que plus la valeur de la bande passante est grande(ou plus la valeur de la somme de demande de trafic entre son dernier point totalDemand est

49

petite), plus le poids de lien est petit. Plus le poids dun lien est petit, plus ce lien dans la transmission de trafics du rseau est utilis. Option 2 - Calcul du vecteur totalDemand. Cette fois, pour chaque noeud i, totalDemand[i] est la somme de demandes de trafic de i vers tous les autres noeuds du rseau comme illustrs la Figure 19.

Figure 19 : Calcul de totalDemand - Option 2

totalDemand[i] = TD[i,j]

j [1..N]

avec N est le nombre de noeuds (routeurs) du rseau. - Le poids de chaque lien (k,i) est calcul par la proportion entre sa capacit (bande passante) et sa valeur de totalDemand de son dernier point.

IGP[k,i] ~ BW[k,i] / totalDemand[i]

i,k [1..N]

a signifie que plus la valeur de la bande passante est petite (ou plus la valeur de la somme de demande de trafic entre son dernier point totalDemand est grande), plus le poids de lien est petit. Ces 2 solutions initiales et celle gnre par IGEN sont utilises alternativement comme le pont de dpart de la recherche du LSA4IGPWO.

2.2.2. Fonction dobjectif


Pour ce stage, nous rsolvons seulement le problme doptimisation IGPWO en observant les impacts de la solution optimale sur la couverture de LFA.
50

Donc, nous avons dfini une fonction dobjectif avec deux critres dvaluation dans un ordre de priorit suivant : - Minimisation de la valeur de la variable MaxUtilization (dfinie dans la section prcdente lutilisation maximale de liens du rseau). - Maximisation de la valeur de la couverture de LFA (le nombre de liens ayant la protection de LFA). Cest--dire, choisir la solution ayant la maximale couverture de LFA parmi les solutions ayant la minimale valeur de MaxUtilization.

2.2.3. Choix de la solution voisine


Fonction dvaluation de la surcharge de liens Pour choisir de la solution voisine, dabord, il est ncessaire davoir une fonction dvaluation. Nous avons utilis la fonction de cot de Fortz pour valuer la surcharge dun lien [FOR 00]. Lide principale de cette fonction de Fortz est de dfinir une fonction pour pnaliser la surcharge dutilisation dun lien. Plus lutilisation dun lien est grande plus sa pnalisation est importante. Par exemple : si lutilisation du lien est infrieure 1/3, sa pnalisation est seulement de 1 mais si elle est suprieure 1,1, sa pnalisation est 5000. Les principes de cette fonction sont les suivants : Supposons quun lien i (i [1..m], m est le nombre de liens) a une utilisation U[i] (Rappel : Lutilisation dun lien U[i] = L[i]/C[i] avec L[i] est la charge actuelle du lien i et C[i] est la capacit (bande passante) du lien i). La fonction dvaluation de la surcharge dun lien sur son utilisation : (U[i]) est gale :

51

En utilisant cette fonction, nous avons plus de choix que la fonction dobjectif. Par exemple, si nous utilisons la fonction dobjectif pour choisir les liens ayant la valeur maximale dutilisation, nous aurons trs peu de choix mais si nous utilisons la fonction de Fortz, nous avons beaucoup de choix (Ex : (1/4) = (1/5) = 1, (2/3) = (7/10) = 10, (2) = (100) = 1, ...). Choix de la solution voisine Dans chaque tape de recherche, nous choisissons le lien ayant la valeur maximale de la fonction dvaluation . Sil y a plusieurs de liens ayant cette valeur maximale, nous choisirons alatoirement un lien entre eux. Supposons que le lien choisi est a, il a deux points : s et t. Les tapes pour obtenir une nouvelle solution en modifiant la solution courante : 1. Choisir une destination v ayant la valeur maximale de totalDemand[v] (la somme de demandes de trafic de tous les autres noeuds du rseau vers v) et le lien (s,t) appartient un des chemins les plus courts de s v. 2. Calculer la KMS de v (revoir la section 2.1 pour savoir les calculs de KMS). 3. Nous avons 2 classes de voisines : 3.1. 3.2. Classe 1 : Modification de la solution courante par augmenter le poids du lien (s,t) avec la valeur minimale dans KMS. Classe 2 : Utilisation dECMP.

52

3.2.1. Chosir alatoirement un noeud k ayant au moins 2 chemins de cot diffrent de k v et le lien (s,t) appartient au plus court chemin de k v (path 1). 3.2.2. Choisir parmi les seconds plus courts chemins de k v celui ayant la somme minimale dutilisation de liens (path2). 3.2.3. Rduire le cot (distance) de path2 une somme delta = Dist(path2)Dist(path1) (la fonction Dist(p) retourne le cot du chemin p). 3.3. Choisir un lien sur path 2 ayant la valeur de poids plus grande que delta et la rduire.

Nous avons dfini une probabilit pour choisir ces 2 classes de voisines : Pr[classe 1] = 0.9 et Pr[classe 2] = 0.1 (9 fois augmenter 1 rduire).

4. Si la KMS de v est vide, nous choisiront un noeud v ayant la deuxime plus grande valeur de totalDemand[v] et application de ltape 3.1 pour v est le lien (s,t) mais cette fois, nous choisirons une valeur alatoire dans KMS de v pour augmenter le poids du lien (s,t).

2.2.4. Diversification et critres darrt


Pour chaque lien (s,t) visit (modification de poids) chaque itration de recherche, nous appliquons la technique de la recherche taboue pour lisoler (ne le visiter plus) dans les 5 itrations suivantes. Chaque fois que nous trouvons une amlioration de la solution courante base sur la fonction dobjectif (minimiser la valeur de MaxUtilization et maximiser la couverture de LFA), nous la stockons. La valeur de MaxUtilization est calcule par application de lalgorithme de Mesure du trafic que nous avons abord dans la section prcdente. Nous utilisons alternativement les trois solutions initiales dans la section 2.1 comme le point de dpart pour la recherche. Dans notre programme, nous utilisons le temps dexcution et le nombre ditrations comme les critres darrt. Le temps dexcution maximale de notre programme pour un test est de 10 minutes.

53

2.3. Description algorithmique procedure LSA4IGPWO(G,TD) Entre : une topologie du rseau G=(N, IGP[N,N], BW[N,N]), la matrice de demandes de trafic TD[N,N] Sortie : La matrice optimale IGP*[N,N]. // tabu[i] = 0 pour tous les lien (i). Au dbut, pas de lien visit tabu := 0 ; IGP* := IGP ; // Mesure du trafic avec la configuration courante IGP // et pas de panne de lien Utilization[m,4] := Load[APSPandLoadCompute(G,TD, null) ; (MaxUtilization, MaxLFACoverage): =getState(Utilization[m,4],IGP) ; //Commence de la recherche nom_it := 0 ; // nombre ditrations tab_length := 5 ; // isoler un lien dans 5 itrations while (not Teminate) do //ne pas dpasser le temps dexcution nom_it++ ; // Choisir le lien ayant maximale valeur de SelectMax (a in [1..m] : tabu[a]<it) ((U[a])) tabu[a] := tabu[a]+ tab_length ; // isoler du lien a s := pt[a,1] ; //point 1 de a t := pt[a,2] ; //point 2 de a // Etape 1 de Choix de la solution voisine v := selectMaxTotalDemand(s,t) ;

// Etape 2 de Choix de la solution voisine KMS := computeKMS(s,t,v) ;

54

// Etape 3 de Choix de la solution voisine if (KMS null) then pr[1..2] = {0.9, 0.1}; selectPr(classe in 1..2)(pr[classe]) if (classe =1) then // augmenter lien (s,t)

selectMin(amount in KMS)(amount) IGP[s,t] := IGP[s,t] + amount; end SelectMin if (classe = 2) then // rduire

delta = Dist(path1)-Dist(path2); decreasePath(path2,delta) ; end SelectPr // Etape 4 de Choix de la solution voisine if (KMS = null) then v := selectSecondMaxTotalDemand(s,t) ; KMS := computeKMS(s,t,v) ; select(amount in KMS) // choisir alatoirement IGP[s,t] := IGP[s,t] + amount; endSelect endSelectMax // Mesure et stockage de la solution Utilization[m,4] := Load[APSPandLoadCompute(G,TD, null) ; (MaxUtilization, MaxLFACoverage): =getState(Utilization[m,4],IGP) ; if (improve) then //amliorer MaxUtilisation & MaxLFACoverage IGP* := IGP ;

55

//Redmarrer la recherche if ( time = 1/3 * time_exec or time = 2/3 * time_exec) then IGP := changeInitialSolution(time) ; endWhile return IGP* ; end LSA4IGPWO
Tableau 4: Algorithme de LSA4IGPWO

Loptimisation pour le deuxime cas o il y a un lien en panne peut tre rsolue dune mme faon de celui normal. La diffrence est seulement la matrice IGP dentre.

56

Chapitre 5 : Exprimentation et Analyse


1. Environnement dimplmentation
Nous avons install les deux algorithmes de Mesure du trafic et de LSA4IGPWO sur Comet version 0.07 (tlchargeable sur http://www.comet-online.org/). Les topologies de donnes et les matrices de demandes de trafic pour tester notre programme sont gnres par IGEN. Et les rsultats de l'algorithme LSA4IGPWO sont compars avec ceux de TOTEM. Tous ces outils et programmes sont excuts sur Ubuntu version 7.10. 1.1. IGEN Pour tester notre programme de LSA4IGPWO, nous avons besoin davoir les topologies du rseau G(N, IGP, BW) et les matrices de demandes de trafic. Et la plupart de ces donnes viennent de la gnration dIGEN. IGEN est un gnrateur de la topologie du rseau. Il implmente des conceptions heuristiques diffrentes du rseau comme MENTOR, MENTour, triangulation de Delaunay et Two Trees pour construction des topologies du rseau. Nous pouvons gnrer aussi les matrices de demandes trafic avec IGEN.

Figure 20 : Interface d'IGEN

57

IGEN est un logiciel libre crit sur Perl/Tk par Bruno Quoitin Dpartement dIngnierie Informatique de lUniversit Catholique de Louvain [QUO 05] . 1.2. TOTEM Les donnes gnres par IGEN (topologies et matrice de demandes de trafic) peuvent tre utilises directement par TOTEM (sous la forme de XML). Donc, dans ce travail, nous avons fait une comparaison de la performance et de loptimilit entre notre programme LSA4IGPWO et le module IGPWO de TOTEM. Lobjectif du projet TOTEM (TOolbox for Traffic Engineering Methods) est de dvelopper une bote outils des algorithmes dingnierie du trafic. Donc, il unifie les algorithmes proposs dans des dernires annes et dveloppe des nouvelles techniques dingnierie du trafic qui sont applicables dans un rseau unique au lieu dentre les rseaux distincts. Ces sont les techniques de distribution du trafic, de tolrance de fautes et daides de la qualit de services. Il a dvelopp aussi des algorithmes gnriques pour optimisation des rseaux IP de grande taille ou les rseaux oprant avec (G)MPLS. Quelques parmi ces algorithmes exigeront les extensions des protocoles de routage (OSPF-TE, ISIS-TE, BGP) ou de signalisation (RSVP-TE).

Figure 21 : Interface de TOTEM

58

Comme IGEN, TOTEM est aussi un logiciel libre, disponible pour plusieurs plateformes comme Linux, routeurs et simulateur du rseau comme NS ou J-SIM. TOTEM est en cours de dvelopper par S. Balon et G. Monfort [BAL 03].

2. Algorithme IGPWO de TOTEM


TOTEM dveloppe plusieurs algorithmes gnriques pour optimisation des rseaux IP de grande taille mais nous nous intressons celui IGPWO qui optimise les poids dOSPF du rseau. Le module IGPWO(Interrior Gateway Protocol Weight Optimization) vise trouver une configuration de pois de liens dans le domaine pour un quilibrage de charge optimal. Il prvoit un plan de routage adapt la matrice de demandes de trafic pour viter la congestion. Les entres principales du module IGPWO sont : La topologie du rseau : routeurs (noeuds), liens (arcs), capacits de liens (bande passante). La matrice de demandes de trafic : source, destination, demande de trafic (besoin de bande passante). Le nombre ditrations pour la recherche La valeur maximale du poids (Wmax) : la valeur maximale peut tre attribue au poids dun lien. (Avec IGP_WO, cette valeur doit tre infrieure 250).

La sortie du programme est une configuration optimale de poids des liens dans le rseau. Voici quelques remarques sur la version courante d'IGPWO de TOTEM :

Routage aux chemins multiples (ECMP) : le trafic est divis galement entre tous les plus courts chemins. Utilisation d'une fonction d'objectif spciale : chaque lien est attribu une fonction, qui est convexe et morceaux de plus en plus linairement avec la charge totale du lien.L'objectif principal est de minimiser la somme de ces fonctions sur tous les liens.

Parce que le problme IGPWO est NP-difficile (il n'existe pas d'algorithme efficace), alors un algorithme heuristique est appliqu pour trouver une bonne solution mais pas ncessaire une solution optimale. L'algorithme de ce module est

59

bas sur une technique heuristique connue, s'appelle recherche taboue (Tabu Search). Description de l'algorithme de recherche taboue d'IGPWO :

La re prsentation de la solution : la solution est reprsente comme un vecteur de poids des liens. Les poids sont des nombres entiers dans l'intervalle [1, Wmax]. La structure de voisinage : il existe 2 types de recherche de voisinage :

Changement d'un seul poids : changer le poids d'un lien choisi alatoirement. quilibrage de flux de trafic : tant donne une destination t, un autre noeud u est choisi alatoirement parmi les noeuds appartiennent n'importe quel chemin le plus court t. Les poids des arcs sortant de u sont modifis pour que le trafic de u t soit partag en plusieurs arcs.

Listes de tabou : elles sont utilises dans la recherche taboue pour viter les boucles dans l'excution. Afin d'conomiser la mmoire et le temps, les fonctions de hachage spciales sont utilises dans IGPWO Diversification : application de diversification lorsque la solution n'est pas amliore pour 300 itrations. Dans la diversification, chaque lien est chang avec une probabilit de 10% par ajouter alatoirement un nombre entier dans l'intervalle [-2, +2]. Choix de la solution voisine : chaque itration, une proportion de voisinage est value. La proportion initiale est dtermine par les utilisateurs. Dans l'excution de l'algorithme, cette valeur est mises jour. Si la solution courante est amliore, cette proportion est divise par trois, si non elle est double. Les limites suprieures et infrieures de cette proportion sont aussi dtermines par les utilisateurs.

L'algorithme IGPWO est crit sur C [SEL 04].

60

3. Comparaison entre LSA4IGPWO et IGPWO de TOTEM


3.1. Point de vue algorithmique Observons les descriptions des deux algorithmes : LSA4IGPWO et IGPWO de TOTEM, nous pouvons facilement trouver quil y a beaucoup de points communs entre ces deux algorithmes. Cependant, il existe des diffrences dans toutes les tapes qui expliquent les rsultats obtenus diffrents entre ces deux algorithmes. Nous verrons dans la table de comparatif suivante : Algorithmes Critres (tapes) Mthode Approche Solutions initiales Reprsentation dune solution LSA4IGPWO IGPWO de TOTEM
Recherche Locale Recherche par voisinage Gnrer par heuristiques Vecteur de poids des liens dans lintervalle [1, 65535] [1, Wmax] avec Wmax <= 250 2 classes de voisinage - Augmenter le poids du lien - Changer le poids dun lien ayant la plus grande valeur choisi alatoirement. dutilisation. - quilibrage du flux de trafic - quilibrage dun second par changer le poids de chemin du lien ayant la plus plusieurs liens sur un chemin grande valeur dutilisation choisi. Oui (pour les liens dj visits) Chaque tiers de nombre 300 itrations lorsque la ditrations (changer la solution n'est pas amliore solution initiale) (changer la solution courante) valuer seulement la valuer une proportion de 61

Structure de voisinage

Utilisation de listes taboues Diversification Choix de la solution

voisine

solution courante et choisir une voisine par heuristiques. (parce que le cot dvaluation dune solution est trop cher : O(n3))

voisinage. La proportion initiale est dtermine par les utilisateurs. Si la solution courante est amliore, cette proportion est divise par trois, si non elle est double.

Tableau 5 : Algorithme : LSA4IGPWO et IGPWO de TOTEM

Dans cette comparaison, nous trouvons que IGPWO a une trs bonne stratgie de recherche avec plusieurs paramtres permettant aux utilisateurs de configurer mais son plus grand dsavantage est lintervalle de la valeur de poids des liens est trop petit surtout avec les rseaux grande taille. 3.2. Rsultats exprimentaux Dans cette section, nous avons valu la performance de ces deux algorithmes en deux critres principaux : minimisation de la valeur de la variable MaxUtilization du rseau et augmentation de la couverture de LFA ( le nombre de liens du rseau ayant la protection de LFA). Comme nous avons abord, dans cette partie, nous avons utilis 2 donnes dentre du rseau dAbilene et 9 autres donnes dentre gnres par IGEN. Voici les donnes que nous avons utilis pour tester les 2 algorithmes :

Rseau No. 1 2 3 4 5 6 7 8 9 10

Type du rseau Abilene Network Abilene Network IGEN Network IGEN Network IGEN Network IGEN Network IGEN Network IGEN Network IGEN Network IGEN Network

Nombre de noeuds 12 12 20 30 40 50 50 70 80 90

Nombre de liens 30 30 80 122 164 202 202 280 322 360 62

11

IGEN Network

100

406

Tableau 6 : Donnes de tests

3.2.1. Minimisation de la valeur de MaxUtilisation


Voici les rsultats de ces deux algorithmes avec les 11 tests cits ci-dessus.
Rseau Nombre No. ditrations 1 2 3 4 5 6 7 8 9 10 11 100 100 100 80 50 50 50 30 30 25 20 Solution initiale 0.05695 0.625 1.21479 1.89741 5.41828 3.15958 1.13123 1.586629 2.65004 5.22214 0.986399 LSA4IGPWO Max. dutilisation 0.045097 0.375 0.863431 1.16176 2.741126 2.234522 0.855615 1.161959 1.68101 3.6918 0.96631 Time(s) 40 52 24 24 59 41 55 227 280 507 491 IGPWO de TOTEM Max. dutilisation 0.155465 0.375 0.852854 0.896433 2.809207 2.718764 0.783760 1.120966 1.309646 3.7852 1.001488 Time(s) 26 26 24 24 28 62 72 261 406 619 957

Tableau 7 : Minimisation de MaxUtilization

On peut gnralement trouver que les deux programmes produisent des solutions la qualit approximativement gale sur les instances de petites et moyennes tailles. Dans certains tests, LSA4IGPWO donne meilleure solution que celle dIGPWO de TOTEM et vice-versa (les chiffres rouges dans le tableau). Certaines fois, la solution optimale de LSA4IGPWO est galement la solution initiale calcule par les deux formules cites dans la section 2.1 du chapitre 4. Pour les grands tests (90-100 noeuds), LSA4IGPWO peut trouver une solution amliore par rapport celle initiale dans un petit nombre ditrations (20-25 itrations). Et il marche aussi plus vite que dIGPWO de TOTEM pour ces tests. Nous nous arrtons au test de 100 noeuds parce qu partir de ce test, IGPWO de

63

TOTEM marche trs lente et ne peut pas donner une amlioration de la qualit de solution.

3.2.2. Impacts sur la couverture de LFA


Dans cette section, nous verrons seulement les impacts des solutions optimales trouves par lalgorithme de LSA4IGPWO dans la section prcdente sur la couverture de LFA du rseau ( le nombre de liens du rseau ayant la protection de LFA) parce que TOTEM na pas de module observant ce critre.
Rseau Nombre. No. ditration
s

Solution initiale Max. utilization 0.0569534 0.625 1.21479 1.89741 5.41828 3.15958 1.13123 1.586629 2.65004 5.22214 0.986399 Couverture de LFA 12 12 80 122 164 202 202 280 322 359 400

LSA4IGPWO Max. utilization 0.045097 0.375 0.863431 1.16176 2.741126 2.234522 0.855615 1.161959 1.68101 3.6918 0.96631 Couverture de LFA 16 14 80 122 164 202 202 280 322 360 406

Nombre de Liens

1 2 3 4 5 6 7 8 9 10 11

100 100 100 80 50 50 50 30 30 25 20

30 30 80 122 164 202 202 280 322 360 406

Tableau 8 : Impacts sur la couverture de LFA

Malgr nous navons pas encore de heuristiques pour augmenter la couverture de LFA du rseau mais les rsultats obtenus de ces tests donnent une vue positive sur lamlioration de cette couverture. Dans tous les tests, notre programme optimise la valeur de lutilisation maximale du rseau et la fois au moins conserver ou largir la couverture de LFA. Bien sr, ce sont seulement des rsultats venant de seulement 2 types de rseaux (Aibilene et gnrs par IGEN) mais ce sont des rsultats optimistes quand mme.

64

Conclusion
Dans ce stage, nous avons propos un autre algorithme pour rsoudre les problmes doptimisation de poids IGP dans le domaine dingnierie de trafic. Notre programme a la proprit de la performance (qualit de solution et temps dexcution) pour rsoudre ces problmes avec les instances de grande taille. Avec les rsultats obtenus optimistes, notre algorithme de LSA4IGPWO sera appliqu avec les donnes du rseau rel dans laboratoire du dpartement dingnierie informatique de lUniversit Catholique de Louvain. En outre, LSA4IGPWO donne aussi une rsolution pour le problme damlioration de la convergence des protocoles de routage IP. Nous pouvons produire une bonne configuration de poids des liens lorsquil existe un changement dans la topologie du rseau en appliquant les techniques de protection de liens comme MPLS Fast Reroute et LFA. Une image complte du rseau peut tre capture par LSA4IGPWO. Cependant, il nous reste encore des autres questions rpondre dans le mme sujet comme : LIGPWO dingnierie de trafic en optimisant la couverture de LFA et le dlai de transmission de donnes dans le routage IP. Limpact dIGPWO sur BGP et les matrices de demandes trafic. LIGPWO pour transmettre efficacement la vido en multicast. Limpact dIGPWO sur les plus courts chemins des routeurs de bordure ...

Tous les problmes cits ci-dessus ne peuvent pas rsoudre par un algorithme de rsolutions exactes et nous pouvons continuer dvelopper notre recherche par la recherche locale.

65

Rfrences
[BAL 03] S. Balon et G. Monfort. TOTEM-TOolbox for Traffic Engineering Methods. http://totem.run.montefiore.ulg.ac.be/. [BLA 00] U. Black. IP Routing Protocols, RIP, OSPF, BGP, PNNI & Cisco routing protocol. Prentice Hall, 2000. [BON 08] Olivier Bonaventure. Link failures Cours : Rseaux : configuration et gestion. Universit Catholique de Louvain. INGI2142. 2008. [COF 01] K.G. Coffman et A.M. Odlyzko. Internet growth : Is there a Moores Law for data traffic?. Kluwer Academic Publishers, 2001. [COM 01] Pascal Van Hentenryck, Laurent Michel et Andrew See. The COMET Programming Language and System. http://www.comet-online.org/. [ERI 02] M. Ericsson, M.G.C. Resende et P.M. Pardalos. A genetic algorithm for the weight setting problem in OSPF routing. Journal of Combinatorial Optimization, 2002. [FOR 00] Bernard Fortz et Mikkel Thorup. Internet Traffic Engineering By Optimizing OSPF Weights. IEEE INFOCOM, 2000. [FRA 07] Pierre Franois. Improving the convergence of IP routing protocols. Thse de PhD. Universit Catholique de Louvain, Octobre 2007. [FRT 02] Bernard Fortz, Jenifer Rexford et Mikkel Thorup. Traffic Engineering with Traditional IP Routing Protocols. IEEE INFORCOM, 2002. [HEN 05] Pascal Van Hentenryck et Laurent Michel. Constraint-based Local Search. MIT Press, 2005. [MIK 07] Pierre Francois, Mike Shand, Olivier Bonaventure. Disruption Free Topology Reconfiguration in OSPF Networks. INFOCOM 26th IEEE 2007. [QOU 05] Bruno Quoitin. IGEN. http://www.info.ucl.ac.be/~bqu/igen/. [SEL 04] Simon Balon et Selin Cerav-Erbas. TOTEM 3.1 User Guide. 2004. Tlchargable sur http://totem.run.montefiore.ulg.ac.be/.

66

[SOL 08] Christine Solnon. Optimisation par colonies de fourmis et programmation par contraintes. 15 Fvrier 2008. [STE 06] Stefano Previdi. IP Fast Reroute Technologies. Cisco Systems. Confrence dAPRICOT 2006. [YVE 07] Yves Deville. Cours de Constraint Based Local Search. IFI 2007.

67

Оценить