Professional Documents
Culture Documents
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
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.
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
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 :
16
Les heuristiques ou mta-heuristiques sont des stratgies gloutonnes pour dterminer un ou plusieurs lments de solution modifier dune faon la plus efficace.
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.
18
Choisir la premire solution voisine ayant une amlioration de la qualit de solution. Augmenter le nombre ditrations o nous trouvons optimum local.
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)
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
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
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.
Combiner la Recherche Locale Itre et une collection croissante de taille de voisinages N0, N1, ..., Ni. Offrir plus doccasions de diversification dans lexcution.
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
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].
- 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
22
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.
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
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
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.
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.
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.
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 :
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.
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.
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.
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)
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.
32
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.
Observons la Figure 9, dans ce cas, le chemin SAD est utilis pour transmettre le trafic de S D.
33
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)
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%.
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:
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.
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
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
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 :
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)
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
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
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
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.
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.
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).
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.
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.
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.
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.
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).
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) ;
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
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).
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].
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.
60
Structure de voisinage
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.
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
11
IGEN Network
100
406
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.
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
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