Vous êtes sur la page 1sur 102

République Algérienne Démocratique et Populaire

Ministère de l'Enseignement Superieur et de la Recherche Scientique


Université d'Oran-Es Senia
Faculté des sciences

THESE DE MAGISTER
discipline : Informatique

présentée et soutenue publiquement par

FOUROUR Said
Octobre 2011

Modélisation et Optimisation
dans les Réseaux MPLS

Composition du Jury :
Président BENHAMAMOUCHE Djilali
Professeur, Université d'Oran, Es-senia

Examinateur GUEZZOURI Mustapha


Maitre de conférences, Université d'Oran, Es-senia

Examinateur NOURINE Rachid


Maitre de conférences, Université d'Oran, Es-senia

Encadreur LEBBAH Yahia


Professeur, Université d'Oran, Es-senia
Remerciements

Je remercie le professeur BENHAMAMOUCHE Djilali d'avoir accepté d'examiner ce


travail et de présider le jury.
Mes remerciements s'adressent aussi aux docteurs GUEZZOURI Mustapha et NOU-
RINE Rachid qui ont accepté de faire partie du jury et d'évaluer le travail.
Je tiens à remercier tout particulièrement le professeur Yahia LEBBAH pour son
soutien permanent et infaillible, sans qui ce travail n'aurait jamais abouti.
Je remercie enn tous ceux qui ont contribué de près ou de loin à la réalisation de ce
travail.
Résumé
L'évolution des applications et des services de téléphonie de la vidéo et des données
d'une part et des réseaux de télécommunications d'autre part ont fait naître chez les
opérateurs le besoin d'unier l'infrastructure pour intégrer tous ces services avec la qua-
lité requise pour chacune des applications. Cette convergence vers une plate-forme réseau
unique dite de nouvelle génération(NGN) doit faire face à la multiplicité des protocoles
existants.
MPLS a été conçu pour apporter les mécanismes de la qualité de service qui manquaient à
IP. Il est capable d'eectuer un routage(ou une commutation) basée sur les labels d'un pa-
quet unique mais aussi de tout un ot(qu'il identie) sur un chemin prédéterminé (LSP).
Il s'interface entre la couche IP et la couche deux du modèle OSI(ça peut être de l'ATM,
du FrameRelay, Ethernet,....). Ces caractéristiques ont fait de lui un élément incontour-
nable dans cette migration vers les réseaux NGN.
Nous nous sommes intéressés dans ce mémoire à un problème d'optimisation de la topolo-
gie logique d'un réseau à base de routeurs MPLS. Notre contribution a consisté à linéariser
la fonction objectif pour pouvoir appliquer une méthode de recherche de l'optimum global.

Mots-clés : Réseaux Nouvelle génération , Qualité de service, MPLS, Branch And


Bound, Linéarisation.

Key words : New Network Generation, Quality Of Service , MPLS, Branch And
Bound, Linearisation.
Table des matières

Introduction générale 1

I Etat de l'art 4

1 Migration Vers les Réseaux nouvelle génération 5


1.1 Réseaux nouvelle génération [38] . . . . . . . . . . . . . . . . . . . . . 6
1.2 Equipements spéciques des réseaux NGN . . . . . . . . . . . . . . . . 8
1.2.1 Softswitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Media Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Architecture des réseaux NGN . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 Modèle en couches . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Le coeur des réseaux NGN . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Réseau ATM [33] . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2 WDM [30] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.3 SDH/PDH [5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.4 FrameRelay [8] . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.5 Architecture MPLS [15] . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.1 Introduction à MPLS . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.2 Les bases de MPLS [15] . . . . . . . . . . . . . . . . . . . . . . 19
1.6 La Qualité de service(QoS) [11, 18, 20] . . . . . . . . . . . . . . . . . . 27
1.6.1 Dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.6.2 Critères de la Qualité de service . . . . . . . . . . . . . . . . . . 27
1.6.3 Types d'applications . . . . . . . . . . . . . . . . . . . . . . . . 28
1.6.4 Mécanismes de la qualité de service . . . . . . . . . . . . . . . . 28
1.6.5 Modèles de la Qualité de service . . . . . . . . . . . . . . . . . . 29
1.7 Ingénierie du trac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

i
ii

1.7.1 Ingénierie de trac sans MPLS . . . . . . . . . . . . . . . . . . 33


1.7.2 Ingénierie de trac avec MPLS . . . . . . . . . . . . . . . . . . 34
1.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2 Optimisation globale et les d'attente 35


2.1 Cas de la programmation linéaire en nombres entiers [10] . . . . . . . . 35
2.1.1 Problème du sac à dos . . . . . . . . . . . . . . . . . . . . . . . 36
2.1.2 Branch And Bound pour le problème du sac à dos . . . . . . . . 37
2.1.3 Application au problème du voyageur de commerce . . . . . . . 42
2.2 Cas de la programmation non linéaire mixte MINLP [28, 29] . . . . . . 44
2.3 Modélisation du délai par les les d'attente [21, 26, 34, 41] . . . . . . . . 47
2.3.1 Dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3.2 Processus d'arrivée . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.3 Processus de service . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.4 Discipline de la le d'attente . . . . . . . . . . . . . . . . . . . . 48
2.3.5 Notation de KendallLee . . . . . . . . . . . . . . . . . . . . . . 48
2.3.6 Mesures de performance d'une le d'attente . . . . . . . . . . . 49
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3 Modele de reseau 50
3.1 Eléménts du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.1 Les liens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.2 Les chemins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.3 Les coûts associés aux chemins . . . . . . . . . . . . . . . . . . 52
3.1.4 Les demandes . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.1.5 Les ots par chemin . . . . . . . . . . . . . . . . . . . . . . . . 53
3.1.6 La contrainte de satisfaction de la demande . . . . . . . . . . . 53
3.1.7 La contrainte sur la capacité . . . . . . . . . . . . . . . . . . . . 54
3.1.8 La contrainte sur le délai par chemin . . . . . . . . . . . . . . . 54
3.1.9 La contrainte de débit maximal . . . . . . . . . . . . . . . . . . 55
3.1.10 Domaines des variables . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.11 La fonction objectif . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.12 Les coûts des chemins . . . . . . . . . . . . . . . . . . . . . . . 57
3.1.13 Formulation du problème . . . . . . . . . . . . . . . . . . . . . 57
3.2 Nature du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
iii

3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

II Contributions 60

4 Ranement du modèle et linéarisation 61


4.1 Le modèle nonlinéaire étudié . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2 Linéarisation du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.1 Linéarisation du terme quadratique principal . . . . . . . . . . 63
4.3 Linéarisation du terme stochastique ci −x
λ
i
. . . . . . . . . . . . . . . . . 64
4.3.1 Génération des matrices de trac . . . . . . . . . . . . . . . . . 66
4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5 Mise en oeuvre et expérimentation 68


5.1 Concepts du Langage AMPL [3] . . . . . . . . . . . . . . . . . . . . . . 68
5.2 Mise en oeuvre du programme de génération des matrices de ots et
de chiers AMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.3 Les réseaux physiques de test . . . . . . . . . . . . . . . . . . . . . . . 72
5.4 Résolution des modèles linéaires et non linéaires . . . . . . . . . . . . . 74
5.5 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.6 Résultats et analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Conclusion Générale 83
Annexe A 84
1 Eléments de base du langage AMPL [3] . . . . . . . . . . . . . . . . . . 84

Annexe B 87
1 Fichier modèle AMPL du modèle non linéaire . . . . . . . . . . . . . . 87
2 Fichier modèle AMPL du modèle linéaire . . . . . . . . . . . . . . . . . 88
3 Fichier modèle AMPL du modèle relaxation linéaire . . . . . . . . . . . 89
4 Fichier Data AMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Bibliographie 92
Introduction générale
Ce travail est né de la curiosité qu'a suscitée chez nous l'apparition de la technologie
MPLS dans le domaine des réseaux. En s'intéressant de prés à ce protocole, On s'est rendu
compte qu'il constituait la pierre angulaire des nouvelles architectures de réseaux dites
de nouvelle génération qui intègrent voix, données et vidéo et supportent des applications
multiples, xes ou mobiles, adaptables à l'utilisateur et aux capacités croissantes et variées
des réseaux d'accès et des terminaux.
L'idée était de voir dans quelle mesure la technologie MPLS [15] améliorerait le routage
(commutation), par voie de conséquence la qualité de service se trouve améliorée, par
rapport à la complexité de MPLS.
Par la suite, notre véritable objectif est d'améliorer ses performances en exploitant les
techniques récentes d'optimisation mathématique [37, 41].
En eet, la littérature [4] conrme la complexité de la qualité de service proposée par le
protocole MPLS. Nous pensons que la thèse de Becker [4] a présenté le modèle le plus com-
plet sur la problématique de dimensionnement et de reconguration des réseaux MPLS.
La technologie Mpls (Multi Protocol Label Switching) a permis d'améliorer considérable-
ment l'architecture et les protocoles de routage Ip. En eet, dans le routage IP classique,
le relayage des paquets est eectué indépendamment au niveau de chaque routeur du
réseau et il est basé uniquement sur l'adresse destination contenue dans l'entête. Le plus
court chemin, au sens d'une certaine métrique, vers la destination est choisi en exploitant
les protocoles de routage distribués. Par conséquent, quand les ressources disponibles sur
le chemin le plus court ne sont pas susantes la qualité et la performance se dégradent.
L'un des aspects clefs de MPLS est une abstraction de la connectivité : des chemins de
routage point à point explicites peuvent être établis en utilisant des mécanismes de re-
layage (commutation) basés sur les étiquettes. Cela permet une sélection de chemins par
ot et la prise en compte des paramètres de la qualité de service dans les algorithmes de
routage.
L'exigence de QOS d'une connexion peut être vue comme des contraintes sur un ensemble
de liens, c.à.d. en exigeant par l'utilisateur, pour une connexion donnée qu'il y ait su-
samment de bande passante sur le chemin sélectionné.
La capacité exigée au niveau de la couche Mpls est fournie par le réseau de transport
sous-jacent qui peut éventuellement être basé sur SDH, WDM, Frame Relay ou ATM,
selon le débit des liens.
Le réseau peut être dédié entièrement à Mpls ou alors et c'est souvent le cas, il est partagé
avec d'autres services tels que la téléphonie.
Dans cette architecture de réseau, quelques noeuds ou tous doivent supporter à la fois

1
2

la technologie de transport du réseau et Mpls. Par conséquent un opérateur Télécom qui


désire orir des services de commutation de paquet basé sur Mpls doit proposer des possi-
bilités de commutation de label à de l'ordre d'arrivée et de la taille de la demand quelques
noeuds du réseau de transport. Un noeud supportant Mpls est appelé LSR (Label Swit-
ched Router).
Dans ce contexte, le problème posé aux opérateurs Télécom est le suivant : La topologie
de réseau étant déja déployée de façon à optimiser les fonctions de coûts intervenants dans
la phase de planication qui comporte la planication de la capacité(débit des liens) et le
placement des noeuds. L'opérateur doit faire face à la question : comment concevoir une
topologie virtuelle (L'ensemble des LSP) sur une topologie physique pour une matrice de
demandes de trac donnée.
Ce problème relève de l'ingénierie de trac et consiste à répartir la charge de la demande
totale pour une paire de noeuds donnée sur les divers LSP reliant celle ci. Ainsi, le routage
optimal répondant à quelques mesures de coûts d'opérations et de maintenance peut être
eectivement implémenté en optimisant la manière avec la quelle la demande totale pour
toutes les paires de noeuds dans le réseau est acheminée sur la topologie virtuelle.
Le coût de maintenance et d'opérations du réseau est pris en considération , pour cela, on
focalise sur le problème d'obtention du layout qui est optimal en nombre d'LSP requis.
En fait le coût d'opération sur les réseaux larges est lié à la complexité du layout. On
utilise un poids associé à chaque lien an de reéter la complexité et le coût associé du
point de vue de l'opérateur.
Deux fonctions de coût diérentes sont proposées : La première tend à minimiser la fonc-
tion du nombre total de chemins utilisés sous la contrainte du délai de bout en bout par
chemin. La seconde tend à minimiser une fonction croissante du nombre total de chemins
plus le délai total dans le réseau sous la contrainte du délai de bout en bout par chemin.
La formulation obtenue aboutit à un problème de la classe MINLP(Mixed Integer Non
Linear Programming) [37] que l'auteur s'est proposé d'appréhender avec une démarche de
recherche locale de l'optimum.
Notre contribution a consisté en la linéarisation [40] de la fonction objectif et d'une
contrainte, an de pouvoir eectuer la résolution par un algorithme de recherche d'un
minimum global [28] qui repose sur la relaxation linéaire d'une part et les techniques
d'analyse par intervalles issues de la programmation par contraintes d'autre part. Nous
avons également tenté de dresser un état de l'art exhaustif des réseaux NGN (New Géné-
ration Networks) [38] et du rôle voué à MPLS dans cette nouvelle architecture.
Le mémoire est organisé en cinq chapitres dont trois sont consacrés à l'état de l'art et
deux pour notre contribution : Le chapitre 1 est un exposé de l'architecture NGN et des
protocoles impliqués dans cette architecture. L'exposé est plus ou moins détaillé selon les
concepts. Nous avons particulièrement insisté sur le protocole MPLS et sur les modèles
de la qualité de service.
Dans le chapitre 2, nous décrivons la méthode de résolution par séparation et évalua-
tion (branch and bound) dans le cas de la programmation linéaire en nombre entiers et
dans le cas de la programmation mixte non linéaire. Nous présentons également quelques
éléments sur les les d'attente qui permettent de modéliser le temps d'attente dans un
routeur MPLS, une mesure importante dans le problème.
Le chapitre 3 est consacré à la modélisation du problème de détermination d'une topologie
3

logique minimisant le nombre total de chemins LSP établis entre les routeurs MPLS et le
délai global dans le réseau sous la contrainte de délai sur chaque chemin de bout en bout
, une fois donnée la topologie physique du réseau. Le modèle de [4] y est expliqué avec
détails.
Et enn, Les chapitres 4 et 5, où l'on présente notre contribution : le processus de li-
néarisation d'un terme quadratique qui intervient dans la fonction objectif et dans l'une
des contraintes du problème ainsi que la proposition d'une nouvelle fonction objectif. Le
chapitre 5 présente une étude expérimentale des modèles mathématiques exposés.
Enn, nous terminons ce mémoire avec une conclusion et des perspectives.
Première partie
Etat de l'art

4
Chapitre 1
Migration Vers les Réseaux nouvelle
génération
Au cours de ces dernières années, Internet a évolué et a inspiré le développement de
nouvelles variétés d'applications. Ces applications ont des besoins grandissant en termes
de bande passante et de sécurité de service. En plus des données traditionnelles, Internet
doit maintenant transporter voix, video et données multimédia. Les ressources nécessaires
pour ces nouveaux services, en termes de débit et de bande passante, ont entraîné une
transformation de l'infrastructure d'Internet. Cette transformation du réseau, d'une in-
frastructure par paquets à une infrastructure en cellules, a introduit de l'incertitude dans
un réseau jusque-là déterministe.

L'augmentation de la connectivité des réseaux et l'intégration de plusieurs services


dans un même système de communication (intégration de voix et données, téléphonie mo-
bile, développements de la téléphonie sur plates-formes IP, etc.) a engendré une croissance
signicative de la complexité du métier de concepteur d'architectures de réseaux : d'une
part, sur des aspects de dimensionnement matériel puisque les structures de communi-
cation doivent fédérer un nombre croissant de points de raccordement ; D'autre part, la
convergence des médias où l'on cherche à faire passer sur un méme support physique les
données, la voix et la vidéo, entraîne l'ajout de nouveaux équipements.
Ainsi, la migration des réseaux traditionnels vers un nouveau modèle de réseaux et de ser-
vices appelé NGN (Next Generation Networks) apparaît comme un processus inévitable
du fait de cette convergence voix, données et image d'une part et des terminaux xes et
mobiles d'autre part.
Avec l'évolution rapide des technologies de transports à haut débit, il devient évident
qu'ATM n'est plus une solution d'avenir pour les coeurs de réseaux IP, d'une part parce
qu'il est dicile d'intégrer d'autres technologies dans une signalisation ATM, et d'autre
part parce que la taxe de cellule (cell tax) devient prohibitive lorsque le débit augmente
et qu'on ne sait plus construire de cartes capables de segmenter et de réassembler des
paquets en cellules à la vitesse des liens.
IP quant à lui, malgré sa simplicité et son ouverture, qui lui ont valu d'être l'infrastructure
de transport par excellence, il reste insusant pour répondre à la qualité de service exigée
par les diérentes applications et est incapable de diérencier leurs ux. D'où la nécessité

5
1.1. Réseaux nouvelle génération [38] 6

de l'étendre avec des mécanismes capables de remédier à ces défauts majeurs.

MPLS est donc une solution prometteuse parce qu'elle permet d'intégrer très facile-
ment des nouvelles technologies dans un coeur de réseau existant.
En eet, sa faculté à interagir avec la majorité des protocoles réseaux existants anciens
et nouveaux fait de lui le meilleur allié pour assurer la transition vers les réseaux NGN.
Dans ce chapitre, nous présenterons l'architecture des réseaux NGN, ainsi que celle du
protocole MPLS et nous montrerons le rôle joué par ce protocole dans ce genre de réseaux.
Nous présenterons les protocoles de l'ancienne génération et de la nouvelle génération qui
sont impliqués dans les NGN.

1.1 Réseaux nouvelle génération [38]


"Next Generation Network" ou "NGN" (littéralement "Réseau de Nouvelle Généra-
tion") est une expression fréquemment employée dans l'industrie des télécommunications,
notamment depuis le début des années 1990. Il n'existe pas de dénition unique. Le sens
varie en fonction du contexte et du domaine d'application. Toutefois, le terme désigne le
plus souvent le réseau d'une compagnie de télécommunications dont l'architecture repose
sur un plan de transfert en mode paquet, capable de se substituer au réseau téléphonique
commuté et aux autres réseaux traditionnels.
L'opérateur dispose d'un coeur de réseau unique qui lui permet de fournir aux abonnés
de multiples services (voix, données, contenus audiovisuels...) sur diérentes technologies
d'accès xes et mobiles. Autrement, "NGN" est également utilisé très souvent à des ns
marketings par les opérateurs et les fabricants pour rendre compte de la nouveauté d'un
réseau ou d'un équipement de réseau.
1.1. Réseaux nouvelle génération [38] 7

Application Application
Server Server

APPLICATION

SIP SIP

Softswitch
CONTROL

SIP

xDSL SIP Cisco 7500 SERIES


CiscoSystems

SIP

Cable
Routeur
UMTS
Wifi Media Gateway
Transport IP

ACCES

Figure 1.1  Les réseaux NGN

Depuis quelques années, les laboratoires des constructeurs et les organismes de stan-
dardisation se penchent sur une nouvelle architecture réseau (NGN) pour répondre aux
exigences suivantes :
 Un c÷ur de réseau unique pour tous types d'accès et de services.
 Une architecture de c÷ur de réseau décomposée en trois couches : Transport, Contrôle
et Services.
 Une évolution du transport en mode paquet (transport des ux IP) en IP natif, ou
sur ATM à court terme avec une convergence progressive vers IP.
 Des interfaces ouvertes et normalisées entre chaque couche, et notamment au niveau
1.2. Equipements spéciques des réseaux NGN 8

des couches Contrôle et Services an de permettre le développement et la réalisation


par des tiers de services indépendants du réseau.
 Le support d'applications multiples, multimédia, temps réel, transactionnelles, en
mobilité totale, adaptables à l'utilisateur et aux capacités croissantes et variées des
réseaux d'accès et des terminaux.

1.2 Equipements spéciques des réseaux NGN

SS7 Network

Signaling
Gateway
SIP/H.323
SIGTRAN Softswitch

SIP/H.323
Media MGCP/H.248
Gateway
IP Network
POTS/Mobile
Network

Figure 1.2  Les principaux équipements NGN

1.2.1 Softswitch
Dans une infrastructure NGN, un softswitch n'est autre qu'un serveur informatique,
doté d'un logiciel de traitement des appels vocaux. Le trac voix est en général paquetisé
par le media Gateway, et pris en charge par les routeurs de paquets du réseau de l'opéra-
teur.
Un softswitch va identier les paquets voix, analyser leur contenu pour détecter le numéro
vers lequel ils sont destinés, confronter ces numéros avec une table de routage (qui indique
ce que le softswitch doit faire en fonction de chaque numéro), puis exécuter une tâche (par
exemple transmettre ou terminer).

1.2.2 Media Gateway


Les media Gateway constituent le deuxième élément essentiel déployé dans un réseau
NGN. Un media Gateway peut par exemple se positionner entre le réseau de commu-
1.3. Architecture des réseaux NGN 9

tation circuit et le réseau de commutation de paquets. Dans ce cas, les media Gateway
transforment le trac circuit TDM en paquets, la plupart du temps IF, pour que ce trac
puisse ensuite être géré par le réseau NGN.

1.3 Architecture des réseaux NGN


1.3.1 Modèle en couches
Les réseaux NGN doivent permettre d'atteindre au moins les objectifs suivants :
 Mettre à la disposition des opérateurs télécom et des fournisseurs de services une
plate forme unique pour créer, déployer et gérer des services divers et variés.
 Permettre à l'utilisateur d'accéder à ces services et à des applications à partir de
terminaux divers.
 Gérer la mobilité de l'utilisateur en lui permettant de recouvrer son environnement
personnel et son contexte de manière transparente et adapté au terminal utilisé.
 Assurer une transition douce des infrastructures réseaux existantes vers les nou-
veaux réseaux et protocoles.

An d'atteindre ces objectifs,une conception en couches avec des interfaces ouvertes s'im-
pose, comme pour le modèle OSI et les diérentes architectures réseaux existantes. [38]
préconise une architecture NGN constituée de trois couches :
1.3. Architecture des réseaux NGN 10

operator THIRD PARTY

SERVICE LAYER

NETWORK CORE
OPEN AND
NORMALIZED
INTERFACES

CONTROL LAYER

OPEN AND
NORMALIZED
INTERFACES
TRANSPORT LAYER

FIXED ACCESS WIRELESS ACCESS MOBILE ACCESS

TERMINALS

Figure 1.3  Structure en couches des NGN

Couche Transport
les aspects considérés à ce niveau sont l'acheminement des paquets avec les fonctions
de trac engineering associés. Le couple RNIS comme technologie d'acces et ATM comme
technologie de transport a suscité beaucoup d'espoir au début, mais les services prévus
autour de la technologie ATM sont conçus pour ne fonctionner que sur ATM comme
technologie de transport, ce qui a freiné leur essort. En vertu des infrastructures existantes,
IP est donc inévitable malgrés ses carences en trac engineering. MPLS est un moyen
directe de palier à ces carences.

Couche Contrôle
Parmi les nombreux services à integrer dans l'infrastructure NGN, les services temps
réels tels que les appels vocaux et les applications vidéo nécessitent des fonctions de
contrôle avancées qui doivent être intégrées à l'architecture, précisement au niveau de la
1.4. Le coeur des réseaux NGN 11

couche contrôle. Trois composants essentiels permettent d'assurer ces fonctionnalités :


 Le Switch logiciel (SoftSwitch) : qui remplace le PABX classique.
 La passerelle inter-media (mediagateway) : cet élément réalise notemment l'inter-
opérabilité avec les réseaux classiques existants ;
 Passerelle de signalisation : an de traiter convenablement les communications mul-
timédia au niveau de la couche transport, divers protocoles de signalisation au niveau
de la couche contrôle ont été préconisés.

Couche Services
L'évolution des technologies d'accés (plus de bande passante est mise à la disposition
des clients) et des capcités des terminaux a rendu possible l'accés à des services de dif-
férentes nature(accées aux données traditionnelles tels que le web,mail, news,...etc d'une
part et les accés audio et vidéo d'autre part). Ces préoccupations sont prises en charge au
niveau de la couche services. Deux grandes tendances apparaissent pour la mise en oeuvre
de services portables et adaptables sur des terminaux diérents :
 Services basés sur le Switch logiciel (SoftSwitch) : modèle adapté pour les services
Télécom nécessitant un forte participation des entités de contrôle.
 Les "Web Serrvices" : Ce modèle est basé sur les protocoles utilisés dans l'internet
XML et SOAP.

1.4 Le coeur des réseaux NGN

Applications

Application Helpers(UDP, TCP,RTP ..ETC)

IP

MPLS
Frame
Relay
ETHERNET

ATM POS
GMPLS

SDH/PDH

WDM

COPPER COAX
OPTICAL FIBER

Figure 1.4  Structure protocolaire des NGN


1.4. Le coeur des réseaux NGN 12

1.4.1 Réseau ATM [33]

Applications

Voice

Voice
(Data,VoIP,...)

Transport TCP UDP


Network IP
AAL5 AAL1 AAL2
Data Link ETHERNET Frame Relay
ATM
Physique Fiber UTP Sonet OC−3 T1 T3

Figure 1.5  ATM et modele OSI

Principe L'ATM (Asynchronous Transfert Mode) est une technique de transmission


commutée faisant appel à des paquets courts de taille xe appelées cellules. Dans les com-
mutateurs, le traitement de ces cellules est limité à l'analyse de l'en tête pour permettre
leur acheminement.
L'ATM combine les avantages de la communication rapide de paquets et du multiplexage
temporel synchrone :
 la station source et le réseau ne sont pas liés par la nécessité d'émettre ou de recevoir
une quantité d'information en synchronisme avec une trame de durée xe ;
 la communication est indépendante de la nature des informations véhiculées (voix,
données, images : VDI) et un débit minimum peut être garanti ;
 la cellule a une taille xe, ce qui permet de concevoir des commutateurs relativement
simples et performants ;
 la cellule a une taille courte (53 octets), ce qui permet l'adaptation à diérents types
de tracs avec une gigue réduite (variation des intervalles de temps entre cellules).
Les cellules sont transmises au rythme du débit engendré par l'application. L'échange avec
le réseau est donc asynchrone et la station source seule gère son débit, dans les limites
d'un contrat déni en début de communication (bandwith on demand).
De base ATM est orienté connexion. Les connexions sont établies pour toute la durée des
échanges par l'allocation d'un chemin virtuel (voix virtuelle ou conduit virtuel).
Les fonctions de contrôle de ux ou de traitement des erreurs ne sont pas eectuées dans
le réseau ATM, mais laissées à la charge des applications utilisatrices ou des équipements
d'accès.
Ces caractéristiques permettent à l'ATM de répondre aux contraintes de tracs aussi
diérents que la voix, la vidéo numérique ou les données. Ce mode de transfert universel
rend possible l'intégration de tous types de services sur un accès unique au réseau. D'abord
conçu et sélectionné par l'UIT-T pour être la solution technique des réseaux publics large
bande (à la place des réseaux Transpac et RNIS en France), l'ATM est également utilisé
dans les réseaux locaux. paragraphArchitecture La commutation de cellules est basée sur
un modèle en trois couches :
1.4. Le coeur des réseaux NGN 13

Couches hautes Couches hautes

AAL AAL

ATM
ATM ATM ATM

PMD PMD PMD PMD PMD


PMD

Figure 1.6  Les couches d'ATM

 la couche AAL (ATM Adaptation Layer) adapte les ux d'informations à la structure
des cellules et fait le lien avec les couches applicatives ;
 la couche ATM assure la communication et le multiplexage des cellules ;
 la couche Physique ou PMD (Physical Medium Dependent) assure l'adaptation au
support utilisé.
Le modèle est en trois dimensions, dénissant 3 plans :
 un plan utilisateur pour transférer les informations venant des applications des uti-
lisateurs ;
 un plan de contrôle lié aux problèmes de signalisation ;
 un plan de gestion responsable de la gestion et de la coordination des diérents
plans.

Couche physique Cette couche a pour rôle de convertir les ux de données en cellules
et de gérer la commutation et le multiplexage de celles-ci. Le trac utile (voix, vidéo,
images et données) est encapsulé dans les cellules de 53 octets pour être véhiculé sur le
réseau.
La couche ATM est complètement indépendante du support physique utilisé pour trans-
porter les cellules.

1. Structure des cellules La cellule a une longueur de 53 octets et contient 2 champs


principaux :
(a) l'en-tête sur 5 octets dont le rôle principal est d'identier les cellules apparte-
nant à une même connexion et d'en permettre l'acheminement ;
(b) le champ de données sur 48 octets correspondant à la charge utile. L'en-tête
comporte les champs suivants :
(c) un champ de contrôle de ux (GFC, Generic Flow Control) dont la dénition
n'est pas arrêtée ;
(d) trois octets sont utilisés pour l'identicateur logique (VPI, Virtual Path Iden-
tier et VCI, Virtual Channel Identier) ;
1.4. Le coeur des réseaux NGN 14

(e) trois bits sont consacrés à la dénition du type de la charge utile (PTI, Payload
Type Identication) et permettent de dénir s'il s'agit d'informations utilisa-
teur (indication de congestion, données de type 0 ou 1) ou de messages de
service du réseau (maintenance, gestion des ressources du réseau) ;
(f) un bit de référence à l'écartement (CLP, Cell Less Priority) mis à 1 dans les
cellules transportant des données de moindre importance pouvant être rejetées
en cas de congestion du réseau ;
(g) un octet pour la détection des erreurs et la correction des erreurs simples por-
tant sur l'en-tête (HEC, Header Error Check) et géré par la couche physique.
2. Fonctions de la couche ATM La couche ATM assure quatre fonctions essentielles :
(a) la commutation consistant en un traitement sur l'en-tête de la cellule (champs
VPI et VCI). Ces champs sont soit insérés soit extraits et traduits an d'ai-
guiller correctement la cellule ;
(b) le multiplexage-démultiplexage des cellules consistant principalement en une
gestion de les d'attente ;
(c) l'extraction ou l'ajout de l'en-tête devant le champ d'information avant de la
transmettre à la couche d'adaptation AAL ou à la couche physique ;
(d) un mécanisme de contrôle de ux peut être implémenté par l'intermédiaire du
champ GFC, pour l'interface utilisateur-réseau.
3. Routage des cellules Les informations sont transportées par des circuits virtuels
(VC) regroupées dans des chemins virtuels (VP)Les chemins virtuels représentent
des conduits reliant des commutateurs dans un réseau maillé.
Le commutateur est l'élément de base permettant d'orienter correctement les cellules
dans le réseau. Il agit en fonction des valeurs des indicateurs VPI et VCI contenus
dans les cellules et à l'aide de tables de routage, an de modier en conséquence
l'en-tête de la cellule et mettre en correspondance un port d'entrée avec un port de
sortie .

Couche d'adaptation AAL La couche d'adaptation (ATM Adaptation Layer) est


chargée de fournir une qualité de service aux applications. Pour cela, elle assure :
 la mise en oeuvre des protocoles de bout en bout ;
 la segmentation/réassemblage des messages en cellules.
Par ailleurs, la couche adaptation est structurée en deux sous-couches :
 la sous-couche SAR (Segmentation And Reassembly) qui assure la détection des
cellules perdues ou dupliquées et le bourrage des cellules incomplètes ;
 la sous-couche CS (Convergence Sublayer) qui gère le traitement des erreurs détec-
tées par la sous-couche SAR, par retransmission ou correction.
5 classes de service ont été dénies en fonction des ux :
 classe 1 pour les ux à débit constant de type voix ;
 classe 2 pour les ux à débit variable de type vidéo ;
 classe 3/4 pour les transmissions de données en mode connecté ou non ;
 classe 5 version simpliée de la classe 3/4.
1.4. Le coeur des réseaux NGN 15

Parmi les 5 classes prévues, 2 sont principalement implémentées dans les équipements la
classe 1 pour l'émulation de circuit et la classe 5 pour les données informatiques et la
vidéo numérique.
1. AAL type 1 Elle est utilisée pour les communications de type voix. Seul un octet
de la charge utile est occupé par l'en-tête .
 Le bit CSI (Convergence Sublayer Information) est utilisé pour délimiter les blocs
de données ou pour le calage de l'horloge du récepteur ;
 Les 3 bits SNC (Sequence Number Counter) servent à numéroter, modulo 8, les
cellules ;
 Le CRC (Cyclic Redundancy Check) et le bit de parité Pty (Parity bit) permettent
une détection des erreurs.
2. AAL type 5 Cette classe est employée pour transmission des données numériques,
y compris la vidéo au format MPEG. Elle transporte des blocs de données jusqu'à
64 Koctets. Ceux-ci sont divisés en cellules de 48 octets (gure 8.44).

1.4.2 WDM [30]


Le multiplexage en longueur d'onde (Wavelength Division Multiplexing en anglais) est
une technique utilisée en communications optiques qui permet de faire passer plusieurs
signaux de longueur d'onde diérentes sur une seule bre optique, en les mélangeant à
l'entrée à l'aide d'un multiplexeur (MUX), et en les séparant à la sortie au moyen d'un
démultiplexeur (DEMUX).
Le multiplexage proposé par SDH est cependant un peu rigide de par la taille incrémentale
des conteneurs ; on passe, par exemple, d'un débit de 622 Mbit/s (STM-4) à 2,5 Gbit/s
(STM-16).
Les nouvelles techniques de multiplexage sur bre optique monomode s'appellent WDM
(Wavelength Division Multiplexing) et DWMD (Dense WDM) dont le principe consiste à
générer plusieurs faisceaux lumineux dans la même bre, jusqu'à 256 actuellement. Chaque
faisceau optique, indiéremment appelé canal, longueur d'onde ou lambda, transporte un
ux de données de nature et de débit quelconque, alors que SDH multiplexe les données
en entrée puis les transmet sur une seule longueur d'onde. Cependant, WDM ne prend que
des signaux optiques en entrée, alors que SDH multiplexe des signaux d'entrée optique et
non optique.
WDM peut ainsi transporter en même temps des signaux optiques OC-3, ATM, Gigabit
Ethernet et même SDH, puisque ce dernier génère un signal optique. WDM permet donc
de multiplier aisément les capacités des bres optiques déjà existantes, sans remettre en
ques- tion l'existant.
toutes ces techniques de multiplexage peuvent s'imbriquer : ATM dans SDH ou dans
WDM, SDH dans WDM, bien que nous soyons toujours au niveau physique, c'est-à- dire
au niveau du multiplexage des signaux générés sur un câble.

1.4.3 SDH/PDH [5]


Dès l'origine des télécommunications, le premier objectif a été de partager une même
liai- son physique entre plusieurs ux comme le cas de xDSL. Ce principe, appelé multi-
1.4. Le coeur des réseaux NGN 16

plexage, consiste à découper en tranches de temps simples (multiplexage temporel), puis


à structurer ces tranches de temps en des formats de plus en plus évolués pour créer des
trames.
La LS et la boucle locale ne concernent qu'un utilisateur, mais déjà sur cette portion de
ré- seau, diérents ux sont multiplexés : téléphonie et Internet si l'on prend l'exemple
d'une boucle ADSL.
Si l'on avance au c÷ur des réseaux des opérateurs, les tuyaux deviennent de plus en plus
gros et généralistes, c'est-à-dire qu'ils doivent véhiculer des ux aussi divers que de la
téléphonie et des données (lignes spécialisées, ATM, Frame Relay, ADSL, etc.), et à des
débits très variés, allant de 64 Kbit/s à plusieurs centaines de Mbit/s.
La technique de multiplexage aujourd'hui utilisée par les opérateurs pour transporter tous
ces ux à tous ces débits est SDH (Synchronous Digital Hierarchy), et son équivalent amé-
ricain SONET (Synchronous Optical Network), sur de la bre optique.
Et qui dit bre optique, dit distances importantes, de l'ordre de plusieurs dizaines de
kilomè- tres. SDH permet donc de constituer des réseaux à haut débit à l'échelle d'une
aggloméra- tion. Il permet ainsi de véhiculer des lignes téléphoniques , de créer des boucles
locales (LS, ATM et Frame Relay, niveau 2), et de constituer des MAN (ré- seaux à haut
débit). Les opérateurs mettent à prot cette technologie pour raccorder leurs grands clients
à leur POP (points de présence).
Des boucles à 155 Mbit/s, 622 Mbit/s ou à 2,5 Gbit/s sont commercialisées auprès des
gran- des entreprises, leur permettant de réaliser ces mêmes fonctions pour leurs besoins
propres, comme l'interconnexion à haut débit (2, 34, 45, 155 ou 622 Mbit/s) de leurs sites
répartis autour d'une grande ville.

1.4.4 FrameRelay [8]


La technologie des reseaux etendus reliant deux sites utilisait generalement le protocole
X.25. Parmi ses applications, le traitement des autorisations de carte de credit et dans les
guichets automatiques. Il a été une technologie de commutation de paquets très répandue
car elle permettait d'obtenir une connexion très able sur des infrastructures câblees non
ables. Ce resultat etait obtenu grâce à des contrôles de ux et d'erreur supplémentaires.
Ces contrôles alourdissaient cependant le protocole.
Le protocole Frame Relay demande moins de temps de traitement que le X.25, car il
comporte moins de fonctionnalités. Par exemple, il ne fournit pas de correction d'erreur,
sachant que les réseaux étendus actuels permettent d'obtenir des connexions plus ables
que les anciens.
Frame Relay permet un traitement ecace en volume et en vitesse, en reunissant les fonc-
tions des couches liaison de donnees et reseau en un seul protocole simple. En tant que
protocole de liaison de données, Frame Relay permet d'accéder à un réseau, il délimite
et fournit les trames dans l'ordre approprié et détecte les erreurs de transmission par
un contrôle de redondance cyclique standard. En tant que protocole de reseau, il fournit
plusieurs liaisons logiques sur un même circuit physique et permet au reseau d'acheminer
les données sur ces liaisons jusqu'à leurs destinations respectives.
Le FR sert surtout à router des protocoles des réseaux LAN ("Local Area Network" - des
réseaux à petite supercie comme Ethernet, Token-Ring) sur des plus grandes surfaces.
1.5. Architecture MPLS [15] 17

Par exemple, il pourra servir à connecter deux réseaux IPX qui sont distants géographi-
quement. À l'interne des réseaux, le protocole utilisé sera donc IPX mais FR servira pour
véhiculer les données entre les réseaux.
Le FR sert aussi à transporter du trac asynchrone, du SNA (protocole réseau inventé
par IBM) associé au réseau de type Token-Ring ou encore de la voix. En Amérique du
Nord, le FR prend rapidement la place du X25 du fait de la présence dans quasiment tous
les réseaux informatiques du protocole SNA. C'est ensuite que le poids de l'Ethernet aug-
mentant nous amène aujourd'hui à constater une quasi disparition du SNA. En Europe la
montée du FR date du début des années 90. C'est le X.25 allégé qui permet de connecter
plusieurs stations avec un lien ultra rapide et à petit prix.

1.5 Architecture MPLS [15]


1.5.1 Introduction à MPLS

Site 1
L=18
12.3.2.125

Ingress LER

LER LSR
L=18 L=10921
L=21
LSR
LSR Domaine
L=3
MPLS
LSR
LSR L=42
LSR Site 2
12.3.2.125
LER
Egress LER

Figure 1.7  Fonctionnement du MPLS

La caractéristique principale du routage classique est que la décision du prochain saut


est prise indépendamment au niveau de chaque routeur parmi ceux composant le chemin
de la source à la destination, en déroulant un algorithme de routage assez complexe
et en analysant l'entête du paquet qui contient beaucoup plus d'informations que ne
nécessiterait le choix du prochain saut. Ce processus de routage (ou relayage) se déroule
en deux phases : La première consiste à classer l'ensemble de tous les paquets qui arrivent
dans diérentes classes d'équivalence de relayage. Tous les paquets provenant d'un noeud
1.5. Architecture MPLS [15] 18

particulier et qui apprtiennent à la même FEC (Forward Equivalence Class = classe


d'équivalence de relayage) suivront un chemin(ou un ensemble de chemins) associé(s) à
cette classe d'équivalence. En eet, un routeur considère que deux paquets sont dans la
même FEC si et seulement si il existe dans la table de routage de celui ci un prexe
d'adresse n (/n : masque de sous réseau), tel que n soit le plus important préxe commun
trouvé dans la table avec l'adresse du premier paquet et avec celle du deuxième. La seconde
consiste à faire correspondre("mapper") chaque classe d'équivalence à un prochain saut
qui n'est autre qu'un prochain routeur faisant partie du chemin à la destination. A chaque
saut il faut réexaminer le paquet pour l'aecter à une autre classe d'équivalence.
En revanche, Dans MPLS,l'aectation d'un paquet particulier à une FEC est faite une
et une seule fois lors de son entrée dans le "backbone MPLS". La FEC est identiée par
un nombre entier dont la longueur est xée à l'avance. Il s'agit de ce que l'on appelle
"Label" ou étiquette. Quand un paquet est routé son label voyage avec lui, c'est cette
information qui déterminera le saut suivant : en eet le label sert d'index dans une table
qui spécie également le nouveau label à apposer sur le paquet. Hormis le routeur qui
sert de point d'entrée au backbone MPLS, aucun autre routeur ne fait la moindre analyse
de l'entête du paquet ni ne déroule un algorithme de routage. A partir du point d'entrée
tout le routage(commutation en fait) est mené par cette permutation d'étiquettes jusqu'à
la sortie du backbone MPLS.
Cette commutation présente les avantages suivants :
 La commutation MPLS peut être eectuée par des Switchs capables d'interpréter
des étiquettes et les permuter mais pas forcément capables d'analyser des entêtes
de paquets de la couche réseau avec un temps de réponse borné.
 Dés qu'un paquet entre dans un backbone MPLS, le routeur de bordure qui le
reçoit peut utiliser toute information utile extraite du paquet pour l'aecter à une
FEC même si celle-ci ne provient pas de son entête. Ainsi, des paquets arrivant
par des ports diérents peuvent être aectés à des FEC'S diérentes. Le routage
conventionnel, lui, utilise une information et une seule extraite de l'entête.
 Un paquet qui entre dans un backbone MPLS par un routeur particulier peut être
labellisé diéremment que si il entrait dans le même réseau par un autre routeur,
par conséquent, la possibilité d'eectuer un routage suivant la source est oerte.
Dans le routage IP, l'identité du routeur ne peut être inscrite dans l'entête et ne
peut donc pas voyager avec le paquet.
 Les informations utilisées pour l'aectation d'un paquet à une peuvent être diverses
et comliquées sans aucune incidence sur les routeurs qui ont la charge d'eectuer
cette commutation.
 Parfois, il est souhaitable de forçer un paquet à suivre un chemin particulier déter-
miné au moment ou avant l'arrivé du paquet Dans le réseau MPLS. Ceci relève du
"trac ingineering". Dans le routage conventionnel, on exige que le paquet trans-
porte avec lui la route qu'il doit suivre. Dans MPLS on peut utiliser une étiquette
sans exiger au paquet de porter avec lui l'identité du paquet de manière explicite.
 MPLS peut également être utilisé pour implémenter de la qualité de service ; Une
étiquette sert à ce moment là à iddentier une FEC et Une classe de service.
1.5. Architecture MPLS [15] 19

1.5.2 Les bases de MPLS [15]


L'architecture du réseau MPLS est construite autour des LSR (Label Switch Router)
et des LER (Label Edge Router) :

Les LSR
le Label Switched Router est un routeur qui fait partie du domaine MPLS et qui est
donc capable de fonctionner avec le protocolProtocoles de routage internee MPLS. On
parle également de LER ( Label Edge Router) il s'git des routeurs de bordure, ceux par
qui un paquet accède à ou quitte un domaine MPLS. Un LER est un Ingress LSR s'il est
le premier routeur d'un chemin MPLS, c'est un Egress LSR s'il est le dernier d'un chemin
MPLS.

Les LSP
le Label Switched Path est un chemin dans un domaine MPLS ; il est composé de
LSR. Ces chemins sont établis grâce à protocole de distribution de labels

Le Label (étiquette)
Un label est un identiant qui a une siginication locale, utilisée pour identier une
FEC. Un label apposé à un paquet particulier désigne la FEC à laquelle est aecté le
paquet.

Entête MPLS(Shim Header)

PPP ETHERNET HEADER MPLS HEADER Layer 3 HEADER

ETHERNET PPP HEADER MPLS HEADER Layer 3 HEADER

HDLC HDLC HEADER MPLS HEADER Layer 3 HEADER

ATM GFC VPI VCI PTI CLP HEC DATA

LABEL

Figure 1.8  Entête MPLS


1.5. Architecture MPLS [15] 20

L'entête MPLS se situe entre les entétes des couches liaison de données et réseau.
Chaque paquet doit donc être capable de transporter un label. Il y a deux façons de
réaliser ce transport : La première solution est celle qui est appliquée aux protocoles de
la couche liaison qui peuvent transporter des labels à l'intérieur même de leur header.
C'est le cas en particulier des protocoles ATM et Frame Relay (relais de trames). Dans
le cas du protocole ATM , le label sera transporté dans le champ VPI/VCI du header,
et dans le cas du Frame Relay, c'est le champ DLCI qui sera aecté à cette tâche. Pour
les protocoles ne pouvant pas utiliser cette méthode, le label sera transporté dans le "
Shim " label header qui sera inséré entre le header de la couche liaison et le header de la
couche réseau. Cette technique permet de supporter la technique du label switching sur
n'importe quel protocole de la couche liaison.
Il est composé de quatre champs :

Niveau 2 Niveau 3 Niveaux supérieurs


MPLS
Liaison de données Réseau Transport et Application

20 bits 3 bits 1 bit 8 bits


Label CS BS TTL

Figure 1.9  Entête MPLS

1. Le champ Label (20 bits).


2. Le champ Exp ou CoS (3 bits) pour la classe de service (Class of Service).
3. Un bit Stack pour supporter un label hiérarchique (empilement de labels).
4. Le champ TTL (Time To Live) pour limiter la durée de vie du paquet (8 bits).

Architecture fonctionnelle
D'un point de vue fonctionnement, MPLS repose sur deux plans princiaux : Plan
contrôle : constitué d'un ensemble de protocoles qui contrôlent les informations de routage
de niveau réseau en exploitant des protocoles tels que (OSPF, IS-IS ou BGP) et les labels
grâce à des protocoles comme (LDP : Label Distribution Protocol), BGP (utilisé par
MPLS VPN) ou RSVP (utilisé par MPLS TE) échangés entre les périphériques adjacents.
Le plan de données : est indépendant des algorithmes de routage et d'échange de labels.Il
repose sur l'utilisation d'une base appelée Label Forwarding Information Base (LFIB)
pour forwarder les paquets avec les bons labels, Cette base est remplie par les protocoles
d'échange de label.
 LIB (Label Information Base) La première table construite par le routeur MPLS est
la table LIB. Elle contient pour chaque sous-réseau IP la liste des labels aectés par
les LSR voisins. Il est possible de connaître les labels aectés à un sous-réseau par
chaque LSR voisin et donc elle contient tous les chemins possibles pour atteindre la
destination.
1.5. Architecture MPLS [15] 21

 LFIB (Label Forwarding Information Base) A partir de la table LIB et de la table


de routage IP, le routeur construit une table LFIB qui ne contient que les labels du
meilleur prochain saut qui sera utilisé pour commuter les paquets labelisés.
 FIB (Forwarding Information Base) Elle appartient au plan de donnée, c'est la base
de donnée utilisée pour acheminer les paquets non labelisés.

Parcours d'un domaine MPLS Quand un paquet IP arrive à un ingress LER, il


sera associé à une FEC. Puis, un protocole de routage sera mis en oeuvre pour découvrir
un chemin jusqu'à l'egress LER . Ensuite, tous les paquets appartenant à la même FEC
seront acheminés suivant ce chemin (LSP). Le routage se fait uniquement à la première
étape. Ensuite tous les paquets appartenant à la même FEC subiront une commutation
simple à travers ce chemin découvert. Pour que les LSR puissent commuter correctement
les paquets, le Ingress LER aecte une étiquette à ces paquets (label imposition ou
label pushing). Le LSR récepteur saura en consultant sa table de commutation que tout
paquet entrant ayant le label L=l1 appartient à la FEC f1 et donc doit être commuté sur
une sortie s1 en lui attribuant un nouveau label L=l2 (label swapping). Cette opération
de commutation sera exécutée par tous les LSR du LSP jusqu'à aboutir à l'Egress LER
qui supprimera le label (label popping ou label disposition) et routera le paquet dans
le monde IP de façon classique L'acheminement des paquets dans le domaine MPLS sur la
base de commutation de label, hormis aux extrémités. Cette commutation requiert la mise
en oeuvre d'un protocole qui permet de distribuer les labels entre les LSR pour que ces
derniers puissent constituer leurs tables de commutation et ainsi exécuter la commutation
de label à chaque paquet entrant. Cette tâche est eectuée par "un protocole de distri-
bution de label " tel que LDP (Label Distribution Protocol) ou RSVP-TE (ReSerVation
Protocol-Trac Engineering).

Construction des tables L'instruction des structures de données eectuée par chaque
routeur LSR doit suivre l'algorithme ci dessous :
1.5. Architecture MPLS [15] 22

Plan de controle
OSPF: 10.0.0.0/8 OSPF: 10.0.0.0/8
OSPF

LDP: 10.0.0.0/8
LDP: 10.0.0.0/8 Label 24
Label 17 LDP

Plan de donnes

Paquet Labellise LFIB Paquet Labellise


Label 17 Label 24
24 17

Figure 1.10  élaboration des structures de données

1. élaboration des tables de routages par les protocoles de routage ;


2. allocation indépendamment d'un label à chaque destination dans sa table de routage
par le LSR ;
3. enregistrement dans la LIB des labels alloués ayant une signication locale,
4. enregistrement dans la table  LFIB  avec l'action à eectuer de ces labels et leur
prochain saut sont ;
5. Envoi par le LSR les informations sur sa  LIB  à ces voisins ;
6. enregistrement par chaque LSR des informations reçues dans sa  LIB  ;
7. Enregistrement des informations reçues des prochains sauts dans la  FIB .
1.5. Architecture MPLS [15] 23

LFIB sur B LFIB sur C


Réseau Prochain saut Label Réseau Prochain saut Label
2 3
25 47 c 47 POP D

A B C D
IP:X Lab:25 Lab:47 IP:X

FIB sur A

Réseau Prochain saut Label

X B 25 E
Réseau X

1
1
LIB sur B 1 L’examen de L’IP est effectué dans la FIB; Le paquet est labéllisé.

Réseau LSR Label


2 L’examen du Label est effectué dans la LFIB; Le Label est commuté.
Local 25
X 3 L’examen du Label est effectué dans la LFIB; Le Label est effacé.
C 47

Figure 1.11  Principe de fonctionnement MPLS

Protocoles de distribution des Labels Nous avons vu que le label switching s'eec-
tuait à partir des informations présentes dans les " Forwarding Tables ". Nous allons voir
maintenant comment ces tables sont construites. Un protocole de distribution des labels
est un ensemble de procédures par lesquelles un LSR en informe un autre des aecta-
tions label/FEC qu'il a faites. On dit que deux LSR sont en " label distribution peers "
lorsqu'ils utilisent un protocole de distribution de label pour échanger leurs aectations
label/FEC. L'architecture MPLS ne préconise pas l'utilisation d'un " Label Distribution
Protocol " en particulier. En fait, plusieurs protocoles ont été standardisés : Protocoles
existants et étendus an de supporter la distribution de labels : RSVP, RSVP-TE, BGP.
Nouveaux protocoles dénis dans le but de " distribuer les labels " :

Le protocole LDP LDP a été mis en place pour MPLS exclusivement dans le but
de distribuer les labels entre les diérents LSR.
Ce protocole présente deux grandes limitations :
ˆ Contraintes posées par le protocole de routage Les Lsp établis par le protocole LDP
sont contraints par le protocole de routage, car il est impossible de spécier des
routes autres que celles dénies par le protocole de routage.
ˆ Impossibilité de réaliser une réservation de ressources le protocole n'a aucun moyen
de spécier des Paramètres pour l'agrégat de trac a acheminer sur le LSP.
Il peut être souhaitable de rajouter d'autres fonctionnalités à un protocole de distribu-
tion des labels, comme par exemple le fait de pouvoir aussi sélectionner et réserver des
ressources dans le réseau le long d'un LSP. Pour cela il y a deux manières de procéder :
1.5. Architecture MPLS [15] 24

ˆ Utiliser un protocole servant déjà à la réservation de ressources et l'étendre an qu'il


puisse aussi faire de la distribution de labels(RSVP étendu en RSVP-TE).
ˆ Utiliser un protocole servant à l'origine à la distribution de labels et l'étendre an
qu'il puisse aussi faire de la réservation de ressources (LDP étendu en CR-LDP).

Protocoles CR-LDP et RSVP-TE Voyons le principe des protocoles RSVP-TE


et CR-LDP utilisés pour la distribution de labels. Selon le protocole utilisé, les messages
transitant entre les LSR dièrent entre eux (format diérent, utilisation diérente), mais
fondamentalement ces deux protocoles servent à la même chose, la distribution des la-
bels. La demande d'établissement d'un nouveau LSP commence par l'envoi par le ELSR
d'entrée d'un " Path Message " pour RSVP-TE et d'un " Label Request Message " pour
CR-LDP. Ces messages sont transmis jusqu'au ELSR de sortie où le paquet est censé
sortir. C'est à ce dernier ELSR que revient le choix du premier label, celui qui sera utilisé
entre le dernier LSR et le ELSR de sortie. Le ELSR de sortie envoie alors le label retenu
dans un " Resv Message " pour RSVP- TE et dans " Label Mapping " pour CR-LDP
au LSR situé à amont. Ce dernier prend connaissance de ce message et décide à son tour
du label il voudrait utiliser sur le lien le raccordant avec le LSR situé en amont. Il met
à jour sa table de commutation, et envoie un " Resv Message " ou un " Label Mapping
" contenant le label retenu. Et ainsi de suite, jusqu'à ce que le dernier message arrive au
premier ELSR. A cet instant, le nouveau LSP est formé, car tous les LSR ont mis à jour
leurs tables de commutations. Le protocole CR-LDP est une version étendue de LDP, où
CR correspond à la notion de  routage basé sur les contraintes des LSP . Tout comme
LDP, CR-LDP utilise des sessions TCP entre les LSR, au cours desquelles il envoie les
messages de distribution des étiquettes. Ceci permet en particulier à CR-LDP d'assurer
une distribution able des messages de contrôle.

Le constraint-Based Routing
Limitation du routage classique Supposons que l'on veuille mettre en place un
LSP entre A et E et un autre entre F et I. Pour ce faire, LDP et OSPF(Open Shortest
Path First) seront utilisés.

C E
A
D
Routeur
B Routeur
Routeur

Routeur
F
Routeur G H I

Routeur Routeur
Routeur Routeur

Figure 1.12  Mise en place d'un LSP avec OSPF

Le LSP entre A et E sera A-B-C-D-E(suivant OSPF). Le LSP entre F et I sera F-B-


C-D-I(suivant OSPF). La bande passante entre B et G, G et H, et H et D ne sera pas
1.5. Architecture MPLS [15] 25

utilisées. Les liens entre B et C et entre C et D, seront quant à eux sur-utilisés. Avec le
routage OSPF, résultant de la minimisation des métriques, les LSP sont établis sans tenir
compte de la charge du réseau.

Explicit Routing Il peut être intéressant de forcer un paquet à suivre une route
particulière qui est explicitement choisie au moment où le paquet entre dans le réseau (ou
même avant), au lieu que cette route soit l'aboutissement du routage dynamique habituel.
Ceci correspond au " Explicit Routing ". Avec " Explicit Routing ", il est possible de
sélectionner une autre route pour le LSP entre F et I, celle passant par G et H.

C E
A
D
Routeur
B Routeur
Routeur

Routeur
F
Routeur G H I

Routeur Routeur
Routeur Routeur

Figure 1.13  Mise en place d'un LSP avec "Explicit Routing"

Explicit Routing permet de spécier totalement ou partiellement le LSP et le problème


à résoudre revient à mettre en place un LSP en minimisant les métriques et en prenant
en compte les contraintes attachées à la route.

Constraint-based Routing Ainsi, le problème général lié au Constraint-Based


Routing est de prendre en compte toutes les contraintes attachées à chacun des LSP
lors de leurs établissements. Les contraintes de route et de bande passante ne sont pas
les seules contraintes pouvant être pris en compte, on trouve notamment : Anity :c'est
un ensemble de contraintes administratives pour le LSP. Path Attributes : pour savoir
si le LSP doit être spécié manuellement ou s'il doit être calculé dynamiquement par
constraint-based routing. Set-Up Priority : pour choisir quel LSP aura les ressources si
plusieurs LSP sont candidats. Holding Priority :pour décider si un LSP pourra être sus-
pendu pour laisser les ressources qu'il utilisait pour l'établissement d'un autre LSP. Ada-
patability :pour permettre la commutation d'un LSP sur un chemin optimisé qui pourrait
se libérer. Resilience : pour décider ou non de rerouter un LSP si le chemin emprunté
devenait indisponible à la suite d'un incident par exemple.

GMPLS [16] Le Generalized Multi-Protocol Label Switching (GMPLS) provient du


MPLS et plus précisément des extensions portées au MPLS pour les réseaux optiques.
GMPLS est destiné à traiter diérents types de technologies de transmission et de trans-
port. Son but est donc d'intégrer les couches de transmissions au MPLS et d'obtenir une
vision globale. Il fournira un plan de contrôle consolidé en étendant la connaissance de la
topologie du réseau à toutes les couches et permet de réaliser le management de la bande
passante. Le GMPLS consiste donc à faire converger le monde de l'optique et celui des
1.5. Architecture MPLS [15] 26

données. GMPLS est basé sur la notion de "label généralisé". Ainsi, Un label généralisé
peut représenter
. un brin unique de bre dans un faisseau,
. une bande unique de longueurs d'ondes dans une bre,
. une unique longueur d'onde dans une bande (ou une bre),
. ou un ensemble de Time-slots dans une longueur d'onde (ou une bre).
. Un label généralisé peut également porter un label qui représente un label MPLS
générique, un label Frame Relay ou un label ATM.
GMPLS est composé de trois principaux protocoles :
. Un protocole de signalisation : Resource Reservation Protocol with Trac Enginee-
ring extensions (RSVP-TE)
. Un protocole de routage : Open Shortest Path First with Trac Engineering exten-
sions (OSPF-TE)
. Un protocole de gestion des liens : Link Management Protocol (LMP).

Les nouveaux types de commutation Les grands principes hérités du MPLS


resteront les mêmes. Mais les protocoles de signalisation et de routage devront être étendus
ou modiés an de supporter diérentes technologies (en particulier le besoin de s'adapter
à la couche optique). Les réseaux de données et de transmission à venir seront généralement
constitués des éléments suivants :
. Des routeurs
. Des commutateurs (switch)
. Des ADM, brasseur SDH ou SONET
. Des systèmes DWDM
Ces réseaux et leurs éléments constitutifs pourront se servir du GMPLS comme d'un
moyen d'allouer des ressources dynamiquement sur le réseau et de provisionner des connexions
de bout en bout. Ils pourront obtenir un réseau optimisé en utilisant les techniques de
protection, de restauration et le Trac Engineering. Le MPLS ne faisait que de la com-
mutation de paquets sur des réseaux constitués essentiellement de routeurs et de com-
mutateurs, MPLS ne comprenait que des interfaces Packet Switch Capable (PSC). Le
GMPLS, quant à lui, pourra supporter d'autres types de commutations. Le GMPLS sera
donc constitué des types d'interfaces suivants : Packet Switch Capable (PSC), reconnaît
les limites des paquets et des cellules et prend ses décisions d'acheminement à partir du
contenu de l'en-tête du paquet ou de la cellule Time Division Multiplex Capable (TDM),
achemine les données des time slots Lambda Switch Capable (LSC), achemine les données
à partir des longueurs d'onde sur lesquelles les données sont transportées Fiber Switch Ca-
pable (FSC), achemine les données à partir de la position réelle des données dans l'espace
physique
1.6. La Qualité de service(QoS) [11, 18, 20] 27

1.6 La Qualité de service(QoS) [11, 18, 20]


1.6.1 Dénition
La qualité de service peut être appréciée diéremment selon les acteurs intervenant
dans une infrastructure de réseaux. Le besoin de la qualité de service est fortement ressenti
par un utilisateur nal quand Une application X s'exécute lentement, quand la diusion
d'une vidéo tourne au ralenti, quand la qualité des appels téléphoniques(voix sur IP)
est mauvaise, peut être moins bonne que celle des appels via satellite. En eet,l'évolution
actuelle des réseaux (débits, services, architecture) et l'arrivée des applications multimédia
dans les foyers comme dans les entreprises (visioconférence, VoIP, audio, vidéo, jeux en
réseaux, . . . ) ont démontré les limites du protocole IP qui ore un service au mieux (Best
Eort), celui-ci étant devenu obsolète pour répondre aux exigences de ces applications en
matière de débit et de délai et pour résoudre le problème de congestion(qui provoque de
la gigue et la perte de paquets) en cas de trac intense. D'autre part, Les opérateurs
réseau revendiquent la capacité de contrôler le partage de la bande passante sur un lien
particulier pour plusieurs classes de trac. ils voudraient pouvoir diviser le tracFlorek-
2003 en plusieurs classes et assigner à chacune une part de la bande passante disponible sur
ce lien dans un contexte de surcharge du réseau, et diérer l'usage de la bande passante non
utilisée ; une certaine souplesse ,donc, dans la gestion de la bande passante. Les diérentes
classes peuvent correspondre à des groupes d'utilisateurs diérents ou à des familles de
protocoles diérentes par exemple. On peut distinguer deux grandes problématiques pour
la gestion de la QoS dans un réseau IP :
 La gestion des phénomènes de congestion est un point fondamental pour garantir
la QoS des ux. En eet, les mécanismes de gestion des QoS n'auront un impact
eectif que lorsque le réseau sera chargé.
 L'ordonnancement (ou scheduling) des paquets est aussi un mécanisme fondamental
pour garantir la QoS des ux transportés. Ceci est évident si on considère des ux
hétérogènes, les rafales de certaines connexions pouvant perturber le trac temps
réel même s'il n'y a pas congestion. De ce fait, bien que la mise en ÷uvre d'or-
donnancements autres que FIFO soit dicile sur des routers à très haut débit, les
équipementiers réseau fournissent de plus en plus des mécanismes plus sophistiqués
réalisant un scheduling prenant en compte les classes de trac.

1.6.2 Critères de la Qualité de service


Les principaux critères qui permettent de juger de la qualité de service d'un système
sont :
 Débit (en anglais bandwidth), parfois appelé bande passante par abus de langage.
 Gigue (en anglais jitter) : elle représente la uctuation du signal numérique, dans
le temps ou en phase.
 Latence, délai ou temps de réponse (en anglais delay) : elle caractérise le retard
entre l'émission et la réception d'un paquet.
 Perte de paquet (en anglais packet loss) : lorsque les les d'attente sont pleines,
les paquets sont tout simplement rejetés.
1.6. La Qualité de service(QoS) [11, 18, 20] 28

1.6.3 Types d'applications


Les applications n'ont pas toutes les mêmes besoins en termes de qualité de service.
L'IETF a proposé une classication dans son premier modèle de qualité de service :
 Applications "temps réel" Leur caractéristique est que les données reçues après un
certain délai ne sont plus utilisables par l'application réceptrice. Parmi celles-ci, on
distingue :
 Applications "temps réel" non tolérantes : pour celles-ci, lorsque des données sont
perdues, le service ne peut être rendu (contrôle de procédé, vidéo haute qualité,
etc.).
 Applications temps réel tolérantes : l'application peut supporter une perte de
données au prix d'une perte de qualité. Deux comportements de l'application
sont distingués :
 Applications temps réel adaptatives : l'application détecte la perte de données
et s'adapte à celle-ci.
 Applications temps réel non adaptatives : l'application ne détecte pas la perte
de données.
 Applications élastiques Elles peuvent toujours attendre des données arrivant en re-
tard. Elles utilisent celles-ci immédiatement. On distingue trois catégories :
 Interactif par rafales, comme Telnet,
 Interactif par trains, comme FTP,
 Asynchrone par trains, comme SMTP.
A titre d'exemple, le tableau ci-dessous présente quelques applications et leur exigence
en qualité de service.

débit délai perte gigue


interactive bas bas aucun pas important
batch bas bas aucun pas important
fragile bas bas aucun pas important
voix bas bas aucun pas important
video bas bas aucun pas important

1.6.4 Mécanismes de la qualité de service


La gestion de la QoS dans les réseaux IP un ensemble de traitements supplémentaires
réalisés soit au niveau de la source de trac (terminal émetteur) soit dans diérents noeuds
relais du réseau. Ces traitements peuvent être du :
 Mise en forme du trac(trac shaping) : Il consiste à introduire du délai entre les
émissions de paquets de manière à éviter ou limiter les eets du trac en rafales.
 Le trac policing est une opération qui consiste à vérier que le trac émis est bien
conforme à la description qui en a été faite par la source.
 Le mécanisme de buer management, ou gestion de buer, consiste à éliminer des
paquets en cas de congestion du buer d'une interface de sortie de manière sélective,
en fonction des paramètres de QoS associés aux ux.
 L'opération de trac scheduling consiste à ordonnancer la transmission des paquets
1.6. La Qualité de service(QoS) [11, 18, 20] 29

présents dans les buers de l'interface de sortie en fonction des paramètres de QoS
associés aux ux. Cette opération peut être eectuée par diérents algorithmes tels
que le Leaky bucket (le plus simple) ou le Token Bucket (Principe du Sceau à
Jetons).
 Le traitement diérentié de paquets est un concept relativement ancien dans l'In-
ternet. Il est présent dès l'origine du protocole IPv4 avec le champ ToS, mais une
dénition trop vague a limité son déploiement. Ce concept a été re-déni pour orir
un traitement adapté aux besoins très hétérogènes des applications.

1.6.5 Modèles de la Qualité de service


L'ATM Forum (Asynchronous Transfer Mode), et le Frame-relay Forum ont établi un
standard QoS de niveau liaison de données (couche deux du modèle OSI) dans les réseaux
ATM et Frame-relay.
l'IETF, l'IUT-T (International Union for Telecommunications, Telecommunication) lui
s'est proposé de conserver le protocole IP et d'étudier son extension par des mécanismes
de QoS.

Modèle Best eort


C'est le modèle qui a prédominé dans l'Internet jusqu'à ce jour, il désigne l'absence
de qualité de service. Ce mode de fonctionnement a tout de même l'avantage :
 d'une grande souplesse puisqu'il n'y a besoin d'aucune correspondance avec les ux
qui transitent.
 de permettre des applications très variées.
 d'être moins coûteux et plus facile à maintenir qu'un réseau orant de la qualité de
service.
dans ce modèle , la gestion du phénomène de congestion est faite de manière réactive par
le mécanisme de fenêtre glissante du protocole TCP.

Modèle "Integrated Services(INTSERV) [6, 39, 42]


Il dénit des classes de service et propose d'assurer les qualités de service associées
par la réservation de ressources dans le réseau.Le modèle IntServ dénit une architecture
capable de prendre en charge la QoS sans toucher au protocole IP. IntServ utilise pour cela
un protocole spécique de signalisation appelé RSVP (Resource ReSerVation Protocol)
1. Le modèle
Le modèle est basé sur la dénition de classes de service et la réservation de res-
sources dans les diérents éléments du réseau. Ces ressources permettent d'assurer
une certaine qualité de service pour les ots identiés ayant requis cette qualité de
service.
2. classes de service
Les classes de service dénies dans IntServ sont les suivantes :
 Guaranteed : débit et temps de transit étroitement dénis ; à destination des
applications temps réel non tolérantes.
1.6. La Qualité de service(QoS) [11, 18, 20] 30

 Controlled-load : performance équivalente à celle donnée par un réseau sans qua-


lité de service non chargé, mais sans engagement sur les résultats ; pour les appli-
cations temps réel tolérantes.
 Best-eort : service normal ; pour les applications élastiques.
3. Les réservations
Les réservations de ressources destinées à permettre d'assurer la qualité de service
seront associées à des ots.Un ot est associé à une suite repérable de datagrammes
qui résultent de l'activité d'un même utilisateur et qui demandent la même qualité
de service, par exemple un ux vidéo circulant entre deux postes de travail. Les rou-
teurs doivent donc maintenir des tables d'états associées à ces ots. Les réservations
peuvent se faire de façon statique (par ex. conguration manuelle) ou dynamique.
Dans ce dernier cas, on devra utiliser un protocole de réservation de ressources et
RSVP constitue une proposition de protocole de ce type.
4. Fonctionnement du protocole RSVP

 RSVP est utilisé par une application pour demander au réseau d'assurer une
certaine qualité de service pour un ot donné. Ce même protocole sera utilisé par
les routeurs du réseau entre eux pour établir et maintenir les tables d'états liées
au ot.
 RSVP comme identie des ots unidirectionnels et est conçu pour supporter les
échanges multicast aussi bien que unicast. La réservation de ressources est ini-
tialisée par le site destinataire du ot. L'émetteur du ot envoie régulièrement
des messages de contrôle "path" vers le ou les destinataires. Chaque destinataire
répond par un message "resv" dans lequel il indique les critères de la qualité de
service qui lui convient. Les ressources nécessaires, si disponibles, sont réservées
par les routeurs sur le chemin destinataire vers l'émetteur.
 Dans le cas d'un ot multicast, les diérentes réservations concourantes sont agré-
gées. Dans le cas d'absence de message "path" pendant un certain temps, les
ressources réservées sont libérées. Les messages "path" et "resv" sont transmis
comme des datagrammes ordinaires en "best-eort".

Modèle Dierentiated Services (DIFFSERV) [7, 9, 24, 25]


L'avantage de DIFFSERV est qu'il n'y a plus nécessité de maintenir un état des sources
et des destinations dans les core routers, d'où une meilleure montée en charge en nombre
d'utilisateurs (scalabilité)

Principes de fonctionnement
 Le modèle DiServ apporte une QoS diérenciée pour chaque classe de service
(constituée d'une agrégation de micro-ux) selon un contrat prédéni (SLA, Ser-
vice Level Agreement) avec l'émetteur des ux de données. Ce contrat dénit un
ensemble de paramètres (bande passante garantie, pic de données acceptés, com-
portement en cas de non-respect du contrat. . . ) ainsi que les micro-ux associés à
chaque classe de service. On associe ensuite une SLA à un domaine DiServ. Un
1.6. La Qualité de service(QoS) [11, 18, 20] 31

domaine DiServ dénit un ensemble de n÷uds réseau appliquant une politique de


QoS commune.
 Le modèle DiServ s'articule autour de deux types de traitements :
1. les traitements complexes eectués dans les n÷uds d'extrémité.
2. les traitements simples des n÷uds intermédiaires.
 Les n÷uds d'extrémité sont les premiers équipements réseau auxquelles sont reliés
les ux. Chacun d'eux comporte un ensemble de modules appliquant des mécanismes
complexes de QoS (classication, marking, metering, shaping, dropping).
 Les n÷uds intermédiaires ont des comportements plus statiques mais aussi plus
simples que l'on regroupe sous le terme de PHB (Per-hop behaviour).

Architecture Les éléments de l'architecture DiServ sont :


Le champ DSCP
 Le modèle DiServ a été conçu pour être utilisé avec la couche réseau IP. Il utilise le
champ TOS (Type Of Service) déni initialement dans le protocole IPV4 mais peu
utilisé jusqu'à présent et fait partie intégrante du protocole IPV6 (champs Trac
Class).
 Le champ TOS a été renomé en DSCP (Dierentiated Service Code Point) lors du
passage au modèle diServ. La signication des bits est la suivante
1. Les bits 0 à 2 : Class Selector
2. Les codes DSCP de type xxx000 (ou x a la valeur 1 ou 0) correspondent aux
classes de services principales. Ceux-ci seront associées aux PHB qui permet-
tront le traitement diérencié des ux dans les routeurs intermédiaires. Plus la
valeur de codepoint est élevée, plus le ux correspondant sera prioritaire.
3. Les bits 0 à 5 : DSCP (Dierentiated Service CodePoint) Ce champ étend les
sélecteurs de classes (bits 0 à 2) via 3 bits supplémentaires. On obtient ainsi
une granularité supplémentaire (8 sous-classes par sélecteur de classe).
4. Les bits 5 à 7 : CU (Currently Unused) Ce champ est actuellement inutilisé
et donc ignoré par les routeurs intermédiaires. Il a pour but de faciliter les
extensions futures du protocole.

SLA (Service Level Agreement) Le but de la QoS est d'orir un service approprié
pour chaque classe. Ce service est déni au sein d'un contrat appelé SLA entre un client
(l'émetteur des ux de la classe ou un autre domaine DiServ) et un opérateur. Lors
d'un contrat SLA pour une classe donnée, on dénit le type de service oert ainsi qu'un
ensemble de règles pour le conditionnement du trac .

Les domaines DiServ Un domaine DiServ correspond à une zone contigue de


n÷uds conforme à au modèle DiServ et ayant une politique commune de policing et de
PHB.
1.7. Ingénierie du trac 32

Domaine Diffserv X
Domaine Diffserv Y

Routeurs d’extrmite
Routeurs intermediaires Routeurs intermediaires

Figure 1.14  Principe de fonctionnement MPLS

On associe généralement un domaine DiServ à un opérateur de service ou un intranet.


L'organisation responsable du domaine est aussi la garante du respect du contrat SLA
établi avec les émetteurs des ux. Ceci implique une adéquation entre les ressources mises
à disposition par l'organisation et les besoins (bande passante, latence. . . ) du contrat
SLA. Si des n÷uds réseau à l'intérieur d'un domaine ne sont pas conformes à DiServ,
les résultats sont alors imprévisibles.

Les régions DiServ Ce terme regroupe un ensemble de domaines DiServ appli-


quant des contrats de services SLA prédénis. Ces domaines DiServ eectuent sur leurs
n÷uds d'extrémité les conditionnements de trac nécessaires (TCA) à la correspondance
entre leurs PHB et ceux des autres domaines.

1.7 Ingénierie du trac


L'ingénierie de trac (Trac Engineering) est une collection d'objets de mécanismes
et de protocoles utilsés conjointement sur un réseau an de le mettre dans un état de
fonctionnement dit optimal. C'est un problème d'optimisation mathématique qui tend à
réaliser les objectifs suivants :
1. veiller à assurer la qualité de service , régie par un contrat, pour les utilisateurs du
réseau.
2. Pour les opérateurs : il s'agit de faire un usage optimal des ressources du réseau.
Un système ingénierie de trac peut être vu comme un système de contrôle en boucle, et
les ajustements apportés par ce système peuvent être considérés à diérentes échelles de
temps :
1. Le long terme (de quelques semaines à quelques mois ) : L'estimation et la prévision
du trac futur et la plannication de la capacité qui s'en suit se fait pour une période
1.7. Ingénierie du trac 33

relativement longue. En eet, la fourniture de routeurs et des liens entre ces routeurs
est coûteuse et prend du temps. Ces mises à jour sont opérées par semaine, par mois
ou voir par des années.
2. Le moyen terme (de quelques minutes à quelques jours ) : plusieurs cotrôles tombent
dans cette catégorie, par exemple, l'ajustement des paramètres des protocoles de
routage internes et/ou externes, l'établissement ou l'ajustement de LSP dans un
réseau MPLS an d'éviter à des classes de ux des routes congestionnées...etc
3. Le court terme (de quelques picoseconds à quelques minutes) : Cette catégorie
concerne les évenements et les traitements au niveau du paquet. L'observation se
fait dans un intervalle de temps de l'ordre de quelques RTD (Round Trip Delay = le
temps séparant l'émission d'un paquet et l'arrivée de son accusé de réception). Ces
mécanismes sont utilisés pour contrôler et/ou signaler la congestion aux extrémi-
tés d'une communication de telle façon qu'elles puissent ajuster la vitesse du trac
injecté dans le réseau.

1.7.1 Ingénierie de trac sans MPLS


Il existe plusieurs méthodes d'ingénierie de trac dans les réseaux IP. Une solution
consiste à manipuler les métriques des protocoles de routage IP. En eet, le routage IP
repose sur le plus court chemin vers une destination donnée. Tout le trac vers une même
destination ou un même point de sortie du réseau emprunte le même chemin. Il arrive
que le chemin IP soit congestionné alors que des chemins alternatifs sont sous- utilisés.
L'ingénierie de trac avec IP (IP-TE) représente une solution pour dépasser les limitations
du routage IP. Elle calcule un ensemble de chemins pour répondre aux demandes de la
matrice de trac sans saturer les liens, et calcule des métriques pour satisfaire ces chemins.
Ensuite, un partage de charge oert par le protocole de routage peut être utilisé pour
permettre à un routeur de partager équitablement la charge entre tous les chemins de
coût égal.
Un routage optimal (selon un critère d'optimisation donné) nécessite la détermination
des coûts sur chaque lien qui répondent au critère d'optimisation. Un large ensemble de
solutions a été proposé pour l'IP-TE .Toutes ces solutions consistent à optimiser les poids
des liens utilisés par la suite par le protocole de routage. Cette ingénierie de trac basée
sur l'optimisation des métriques IP peut bien fonctionner uniquement sur des petites
topologies avec un faible nombre de routeurs d'accès. Changer les coûts des liens sur tous
les chemins pour une grande topologie reste très dicile à mettre en oeuvre tenant compte
des risques d'instabilité, des problèmes de convergence IGP et des problèmes liés aux
boucles de routage. A n de gérer l'aspect dynamique du réseau, on a proposé des solutions
qui prennent en compte les scénarios de cas de panne dans leréseau. on a considéré dans
leur solution des cas de pannes panne qui peuvent se produire et également le changement
de la matrice de trac. Cette solution simule des cas de changement périodique du trac
qui se produisent pendant un jour.
Cette solution reste limitée car un changement brusque de la matrice de trac, ainsi
que les cas de pannes multiples, restent diciles à prédire.
Aussi les solutions d'IP-TE ne s'appliquent généralement pas lorsque l'on a des chemins
1.8. Conclusion 34

de capacités diérentes. En eet, les routeurs ne sont pas capables de faire un partage de
charge tenant compte de la capacité des liens.

1.7.2 Ingénierie de trac avec MPLS


L'application de MPLS à l'ingénierie de trac, appelée MPLS-Trac Engineering (MPL-
STE), représente une alternative pour répondre aux limitations de l'IP-TE. Elle Ore
essentiellement un routage explicite entre deux points du réseau. Ceci consiste à Laisser
une entité spécialisée décider des chemins et procéder à leur établissement dans le réseau.
Le routage explicite assure une bonne souplesse pour optimiser l'utilisation des ressources.
En plus de cette propriété fondamentale (le routage explicite), MPLS-TE ore aussi la
fonctionnalité de re-routage rapide (MPLS Fast Re-route). Gette fonctionnalité, permet,
en cas de panne dans le réseau, de garantir un temps de réparation très court (moins de
100 ms).
MPLS-TE permet d'établir des LSP pour l'ingénierie de trac, appelés TE-LSP. Les
TE-LSP sont routés de façon explicite en prenant compte des contraintes de trac (bande
passante, etc.) et les ressources disponibles dans le réseau. Ges TE-LSP peuvent être
utilisés par la suite pour transporter du trac entre les routeurs d'accès du réseau.
MPLS-TEassure des fonctions d'ingénierie de trac telles que l'optimisation de l'uti-
lisation des ressources, la garantie de la qualité de service (QoS) et le re-routage rapide
après une panne de noeud ou de lien dans le réseau.
MPLS-TE permet de résoudre le problème de partage de charge.

1.8 Conclusion
Cette étude nous a permis d'aborder les principales technologies participant ou sus-
ceptibles de participer à la mise en oeuvre D'un un réseau NGN. Nous avons notamment
insisté sur le protocole MPLS et ses capacités d'interopérabilité avec les techonologies
de coeur de réseau (ATM,FRAME RELAY, WDM, SDH,..etc.). Nous avons également
insisté sur la carence de l'IP en matière d'ingénierie de trac et le rôle de MPLS pour
pallier à ce défault.
Chapitre 2
Optimisation globale et les d'attente
Nombreux sont ceux parmi la communauté de la recherche opérationnelle qui se sont
intérêssé et s'intérêssent toujours à la résolution des problèmes d'optimisation par des
méthodes de recherche locale [4,13,31,32]. L'inconvénient de ces méthodes c'est de ne pas
pouvoir armer que l'optimum trouvé est bien l'optimum global. On peut même être loin
de celui-ci.
Nous nous intérêssons dans ce chapitre à la recherche de l'optimum global par des mé-
thodes "Branch and Bound"(ou algorithme par séparation et évaluation).
Un algorithme par séparation et évaluation, est une méthode générique de résolution de
problèmes d'optimisation, et plus particulièrement d'optimisation combinatoire ou dis-
crète.
C'est une méthode d'énumération implicite : toutes les solutions possibles du problème
peuvent être énumérées mais, l'analyse des propriétés du problème permet d'éviter l'énu-
mération de larges classes de mauvaises solutions. Dans un bon algorithme par séparation
et évaluation, seules les solutions potentiellement bonnes sont donc énumérées.
Dans ce chapitre, nous allons d'abord expliquer le fonctionnement des méthodes par sé-
paration et évaluation dans le cas de la programmation en nombres entiers à l'aide des
problèmes du sac à dos et celui du voyageur de commerce, ensuite nous expliquerons le
fonctionnement de la méthode dans le cas général et nous présenterons un algorithme
(QUADOPT) basé sur les techniques de relaxation linéaire et d'analyse par intervalles.
Nous terminons le chapitre par un exposé succint des notions les plus importantes des les
d'attente, notamment celles liées à la modélisation du temps d'attente dans un routeur
MPLS.

2.1 Cas de la programmation linéaire en nombres en-


tiers [10]
Un problème de programmation linéaire en nombres entiers est un problème de pro-
grammation linéaire standard avec des contraintes d'intégrité, c'est à dire qu'on exige
aux variables d'être entières. Formellement, si n désigne le nombre de variables, c'est un
problème de la forme :

35
2.1. Cas de la programmation linéaire en nombres entiers [10] 36

Maximiser (ou minimiser) C.X



 Ax ≤ b
Sous les contraintes x≥0
x∈N

Alors qu'il existe des algorithmes polynomiaux pour résoudre les problèmes de pro-
grammation linéaire en variables réelles (l'algorithme du simplexe n'en est pas un), ce
qui établit que ces problèmes sont polynomiaux, le problème de décision associé au pro-
blème de programmation linéaire en variables entières précédent est NP-complet. Parmi les
conséquences du fait qu'un problème est NP-complet gurent les propositions suivantes :
1. On ne connait pas d'algorithme polynomial pour résoudre ce problème.
2. Si l'on connaissait un tel algorithme, alors on aurait automatiquement des algo-
rithmes polynomiaux pour résoudre tous les problèmes de la classe NP, c'est à dire
à l'heure actuelle un trés grand nombre de problèmes répertoriés, venant d'horizons
divers et pour certains trés étudiés.
3. Avoir prouvé qu'un problème est NP-complet a des conséquence sur la façon dont
on cherche à le résoudre.
4. Lorsque l'on doit traiter des problèmes de grande dimension, on peut s'attendre à ce
que les algorithmes exactes ne reussissent pas à donner la solution optimale faute de
temps. On applique alors des méthodes dites heuristiques, qui sont censées donner,
en un temps raisonnable, une approximation de la solution ( sans que l'on puisse
parfois dire beaucoup sur la façon dont elles approchent l'optimum).
5. Pour les algorithmes exactes, on fera appel à des méthodes par séparation et éva-
luation, appelées aussi méthodes arborescentes ou encore branch and bound.

2.1.1 Problème du sac à dos


Supposons que nous désirions constituer le contenu d'un sac à dos et que nous ayons
envie d'y mettre n objets de volumes respectifs v1 , v2 , ..., vn . Ayant constaté que la somme
des volumes des n objets était supérieure au volume V du sac à dos, nous aectons à
chaque objet une utilité u1 , u2 , ..., un . Nous modélisons alors le problème en introduisant
n variables de décision x1 , x2 , ..., xn , à valeurs dans {0, 1}, la valeur 0 attribuée à la variable
xi signiant que nous n'emporterons pas l'objet i, la valeur 1 que nous le prenons. Si nous
voulons avoir le sac le plus utile, nous voyons que nous sommes amenés à résoudre le
problème suivant :
n
Max
X
uj xj
j=1
 Pn
vj .xj ≤ V
avec les contraintes j=1
xj ∈ {0, 1} pour 1 ≤ j ≤ n
Il s'agit là d'un problème de programmation linéaire en variables bivalentes (on dit
aussi en "0 − 1") à une seule contrainte connu sous le nom de problème du sac à dos
2.1. Cas de la programmation linéaire en nombres entiers [10] 37

(knapsack problem en anglais). Cependant,par abus de langage, on parlera encore de pro-


blème de sac à dos (ou parfois de problème de sac à dos généralisé) lorsque la contrainte
reste unique mais que les variables peuvent être entières positives ou nulles et non plus
nécessairement bivalentes.

Première heuristique Pour résoudre le problème du sac à dos (généralisé) on peut


avoir l'idée de "relâcher les contraintes d'intégrité" ; c'est à dire résoudre le problème en
variables réelles, puis d'arrondir les solutions obtenues en prenant leurs parties entières
par défault. Nous allons voir que cette méthode ne peut être considérée que comme une
heuristique sur l'exemple suivant :

Maximiser 10x1 + 8x2 + 5x3



6x1 + 5x2 + 4x3 ≤ 9
aveclescontraintes
i, j ∈ N pour 1 ≤ j ≤ 3

La relaxation des contraintes d'intégrité conduit à un problème de programmation linéaire


dont la résolution immédiate par la méthode du simplexe donne x∗1 = 1.5, x∗2 = 0, x∗3 =
0, etz ∗ = 15. La méthode des arrondis donne x∗1 = 1, x∗2 = x∗3 = 0, etz ∗ = 10. alors que le
problème admet la solution x∗1 = 0, x∗2 = 1, x∗3 = 1, etz ∗ = 13 dont nous verrons qu'elle est
optimale.

Seconde heuristique Une approche de style qualité/prix incite à un classement des


variables dans l'ordre décroissant des rapports utilité/volume. On peut alors examiner
les variables dans cet ordre et choisir de donner, à la variable examinée, la plus grande
valeur entière permettant de satisfaire la contrainte conte tenu des choix déjà faits. Un
tel algorithme est dit "glouton" parcequ'on traite les variables les unes aprés les autres en
prenant des décisions que l'on ne remet pas en cause. Pour notre exemple, les rapports en
question sont 5/3 pour x1 , 8/5 pour x2 et 5/4 pour x3 . L'ordre induit par l'examen des
rapports est donc x1 , x2 , x3 Compte tenu de la contrainte. La plus grande valeur possible
pour x1 est 1. Ayant donné la valeur 1 à x1 , on voit qu'on doit donner la valeur 0 à x2 et
à x3 . On retrouve ici la même solution que celle fournie par la méthode précédente( mais
c'est un hasard). Nous voyons aussi que pour l'une comme pour l'autre on ne peut parler
que d'heuristique.

2.1.2 Branch And Bound pour le problème du sac à dos


Ce type de méthode s'applique à la résolution de problèmes d'optimisation combina-
toire avec un grand nombre de solutions envisageables et, en particulier, à la résolution de
problèmes de programmation linéaire en nombre entiers où l'on peut dénir la notion de
solution réalisable, c'est à dire de solution satisfaisant les contraintes. Nous allons associer
à cette méthode une arborescence dont les sommets correspondent à des ensembles de so-
lutions réalisables, la racine de l'arborescence contenant l'ensemble de toutes ces solutions
réalisables. L'expansion de cette arborescence est régie selon quatre directionss :
2.1. Cas de la programmation linéaire en nombres entiers [10] 38

1. un principe de séparation,
2. un principe d'évaluation,
3. l'utilisation d'une borne ,
4. et une stratégie de développement.

Principe de séparation Le mot séparation représente le fait que nous partageons, en


fonction d'un certain critère, l'ensemble des solutions réalisables contenues dans un som-
met de cette arborescence (ensemble que nous ne connaissons pas explicitement) en sous
ensembles, ceux -ci devenant dans l'arborescence les ls du sommet considéré. La seule
exigence dans ce partage est que nous ne perdions ni n'ajoutions de solutions(autrement
dit, l'union des sous-ensembles associés aux ls d'un sommet doit être égale à l'ensemble
associé à ce sommet). Si on n'appliquait que le principe de la séparation, celle-ci serait
eectuée pour tout sommet contenant plus d'une solution.

Nous allons illustrer le principe de séparation seul à partir du problème du sac à dos.
Pour cet exemple nous pouvons appliquer les critères de branchement suivants :
1. Une première séparation sera eectuée selon les valeurs de x1 ; comme d'aprés la
contrainte , x1 ne peut prendre que les valeurs 0 ou 1, nous séparons l'ensemble
de toutes les solutions associées à la racine en deux sous-ensembles : l'un contient
toutes les solutions pour lesquelles x1 vaut 1 ;
2. une deuxième séparation sera faite de la même façon suivant les valeurs possibles
de x2 , à savoir 0 ou 1 ;
3. enn une troisième séparation aura lieu selon les valeurs possibles de x3 , 0, 1 ou 2 ,
sauf pour le sommet vide correspondant aux choix x1 = x2 = 1.
Le dessin suivant montre ce qu'est l'arborescence obtenue pour notre exemple. Les car-
rés y représentent les cas pour lesquels les trois variables sont entièrement déterminées.
Les sommets de l'arborescence barrés d'une croix en sont les sommets vides.

Il sut pour connaître la solution optimale, de calculer la valeur de la fonction objectif


pour toutes les feuilles non vides de l'arborescence obtenue. Cette méthode peut être
améliorée pour éviter l'examen de certaines branches. Il existe, en eet, deux raisons qui
permettent de ne pas développer un sommet de l'arborescence : lorsque l'on sait résoudre
directementle problème correspondant à ce sommet.
Le principe d'évaluation et la borne peuvent fournir de telles indications.
2.1. Cas de la programmation linéaire en nombres entiers [10] 39

X1=0 X1=1

X2=1
X2=0 X2=1 X2=0

X3=0 X3=1 X3=2 X3=0 X3=1 X3=2 X3=0 X3=1 X3=2

impossible: contrainte violée

Figure 2.1  Principe de séparation

Principe d'évaluatin et utilisation de la borne Dans un problème d'optimisation


écrit sous forme de maximisation d'un certain objectif,la borne correspond à une valeur
qu'on sait atteindre pour l'objectif, à l'aide d'une certaine solution réalisable et qui est
donc par dénition un minorant du maximum. Ainsi, pour le problème du sac à dos
abordé plus haut, les heuristiques précédentes ont montré que 10 est une borne inférieure
du maximum cherché.

Toujours dans le cas où on cherche un maximum, évaluer un sommet, c'est déterminer


un majorant de l'ensemble des valeurs de l'objectif correspondant aux solutions contenues
en ce sommet. Ainsi, ayant évalué un sommet S , on saura que pour l'ensemble des solu-
tions correspondant à S , on ne peut pas faire mieux que la valeur de l'évaluation. Une
évaluation d'un sommet est dite exacte si la valeur donnée par l'évaluation est atteinte
par un élément de l'ensemble associé au sommet. Pour l'exemple précédent, la relaxation
des contraintes d'intégrité avait permis d'obtenir la valeur 15. Ceci est donc un majo-
rant du maximum cherché en valeurs entières( en eet, quand on relâche les contraintes
d'intégrité, le domaine des solutions réalisables grandit et le maximum dans ce domaine
ne peut être que supérieur ou égal à celui du domaine en valeurs entières) et on peut
attribuer cette valeur comme évaluation de la racine. Cette évaluation n'est pas exacte,
car la solution qui donne 15 n'est pas à composantes entières.

La borne et l'évaluation permettent de ne pas développer un sommet S dans les deux


cas suivants (toujours pour une maximisation) qui viennent donc s'ajouter au cas précé-
2.1. Cas de la programmation linéaire en nombres entiers [10] 40

dent (les contraintes ne sont pas satisfaites) :


1. L'évaluation de S est inférieure ou égale à la borne,
2. l'évaluation de S est exacte ; dans ce cas, si cette évaluation est strictement supé-
rieure à la borne(si non on est dans le cas précédent), on a exhibé une solution
meilleure que celle associée à la borne : on modie donc la borne et on se retrouve
dans le cas précédent.
On voit qu'on a interêt à calculer une bonne borne et à concevoir une fonction d'éva-
luation assez ne an d'éliminer le plutôt possible le plus de branches possible. Mais en
même temps, ces calculs doivent pouvoir être eectués en un temps raisonnable. Dans
deux cas on ne peut pas séparer S
1. On sait que toutes les solutions contenues dans S sont au plus aussi bonnes qu'une
solution que l'on connait déjà (par comparaison entre l'évaluation de S et la borne
courante).
2. S est vide ou on connait la meilleure des solutions contenues dans S , soit parce que
l'évaluation est exacte, soit parcequ'une méthode directe a permis de conclure pour
ce sommet.

Stratégie de développement Le quatrième ingrédient consiste à déterminer la façon


dont on va construire l'arborescence, c'est à dire dans quel ordre on va appliquer le critère
de séparation aux sommets de l'arborescence.

Dans une première stratégie appelée "en profondeur", on peut faire une construction en
profondeur d'abord en descendant dans les branches jusqu'à ce que l'on trouve un sommet
que l'on peut éliminer, auquel cas on remonte pour redescendre dans une autre direction
(s'il en reste). Si l'arborescence était connue explicitement, cette construction correspon-
drait à l'application d'un parcours en profondeur à cette arborescence. Cette façon de
procéder présente plusieurs avantages, principalement au niveau de la place mémoire :
l'encombrement en place mémoire est souvent relativement peu important, puisqu'il ne
faut conserver que la description de la branche qu'on explore(il n'est pas nécessaire de
conserver la description complète de l'arborescence) ; elle possède également des avantages
au niveau des accés disques(en eet bien souvent on ne peut traiter tout le problème, vu
sa taille en mémoire centrale) ; enn elle permet plus facilement d'exploiter, quand il y'en
a, des informations disponibles au niveau du sommet qu'on examine et au moins partiel-
lement utilisables pour les ls de celui-ci.

On peut aussi commencer par séparer les sommets qui ont l'évaluation la plus grande(pour
une maximisation) en suspectant que ce sont eux qui contiennent la solution optimale ;
cest dans le sommet de plus grande évaluation qu'on a l'espoir, justié ou non, de trou-
ver la meilleure solution. Cette stratégie de type "meilleur d'abord", peut, pour certains
problèmes, être plus rapide du fait qu'on essaie, à chaque itération, d'exploiter la direc
tion qui semble la plus prometteuse ; en revanche, la gestion de l'arborescence n'est pas
triviale et consomme généralement beaucoup de place mémoire.
2.1. Cas de la programmation linéaire en nombres entiers [10] 41

Enn, on peut envisager une exploration en largeur d'abord, mais cette méthode est
trés rarement implémentée pour des questions d'ecacité et d'encombrement de la mé-
moire.

Application au problème de sac à dos : Nous pouvons reprendre l'étude de l'ar-


borescence précédente en utilisant comme fonction d'évaluation la résolution du simplexe
en variables réelles, qui est immédiate à eectuer dans le cas d'une seule contrainte : en
eet , il est facile de se convaincre que, lorsque l'on applique l'algorithme du simplexe à
un problème à une seule contrainte, si on choisit comme variable entrante la variable de
choix de plus petit indice, les variables étant indicées dans l'ordre décroissant des rapports
utilité/volume, on obtient l'optimum en une itération . La stratégie retenue sera celle du
parcours en profondeur d'abord. Enn, On rappelle que la borne obtenue à l'aide des
heuristiques vaut 10. On obtient alors l'arborescence ci-dessous, en supposant que l'on
a procédé à l'évaluation du sommet x1 = 0, x2 = 1 avant d'entamer la séparation du
sommet x1 = x2 = 0, ce qui nous a permis d'améliorer la borne grâce à une évaluation
de 13, qui était exacte. Les sommets de l'arborescence sont numérotés dans l'ordre selon
lequel on les rencontre lors du développement en profondeur d'abord.
S1

15

X1=0 X1=1
S5
S2

X2=1
X2=0 X2=1 X2=0

S3 S6
13 S4
11.25 13.75

évaluation exacte évaluation < borne

impossible: contrainte violée


10
X3=0 X3=1 X3=2

Figure 2.2  Application au problème du sac à dos

L'évolution du sommet S3 est obtenue par la solution x3 = 1, en plus des choix x1 = 0


et x2 = 1 . c'est donc une évaluation exacte. Par conséquent, il est inutile de développer
ce sommet et on interrompt l'exploration de cette branche . De plus, la valeur obtenue ,
réalisable , est meilleure que la borne ;on change donc celle-ci , qui passe de 10 à 13.

Renonçant au développement de S3, on remonte à S2 pour examiner, s'il en existe,


les autres choix relatifs à x2 , ce qui nous conduit à S4 avec x2 = 0 . on obtient alors
2.1. Cas de la programmation linéaire en nombres entiers [10] 42

11.25 comme évaluation de S4. Celle-ci étant inférieure ou égale à la nouvelle borne, on
ne développe pas S4 et on remonte en S2 puis en S1, puisque aucun autre choix n'est
possible pour x2 au niveau de S2. Quand on arrive en S5, la contrainte fait qu'il n'y a
qu'une seule possibilité viable pour x2 : 0, ce qui donne S6. Les choix pour x3 , au niveau
de S6, conduisent soit à des solutions non réalisables, soit à un sommet S7 d'évaluation
exacte mais moins bonne que la borne actuelle. On interrompt donc l'exploration de S6,
on remonte en S5 où il n'y a plus de prolongement réalisable ,puis en S1 où, de même,
il n'y a plus de prolongement à envisager. On a donc terminé : le maximum cherché vaut
13 et est atteint par x2 = x3 = 1 .

2.1.3 Application au problème du voyageur de commerce


Rappelons que le problème du voyageur de commerce est la recherche, dans un graphe
complet valué, d'un cycle hamiltonien (c'est-à-dire passant une fois et une seule par tous
les sommets ) de valuation totale minimum.
Ce problème est NP-dicile (plus précisément, le problème de reconnaissance associé est
NP-complet). Nous allons montrer qu'il fait partie de la classe des problèmes de pro-
grammation linéaire en variables 0 − 1, dont il est d'ailleurs un représentant extrêmement
célèbre. Nous décrirons ensuite une méthode par séparation et évaluation permettant de
le résoudre.

Forme linéaire en 0 − 1 du problème du voyageur de commerce Considérons le


graphe complet Kn = (X, E) à n sommets , c'est-à-dire le graphe d'ordre n où tous les
sommets sont adjacents deux à deux. On suppose de plus qu'on a déni une valuation sur
l'ensemble E des arêtes de ce graphe, autrement dit une application P de E dans R que
l'on appelle  poids , le poids d'une arête (u, v) étant noté P uv .
Associons à chaque arête (u, v) de Kn une variable bivalente Xuv qui vaut 1 si on garde
l'arête (u, v) pour constituer le cycle hamiltonien, 0 sinon.
On peut représenter la contrainte de constituer un cycle hamiltonien à l'aide des contraintes
suivantes :
1. Pour tout sommet v , la somme des valeurs des variables associées aux arêtes ayant
v comme extrémité est égale à deux ,ceci traduisant le fait que dans un cycle hamil-
tonien tout sommet est de degré deux ;
2. Pour tout sous-ensemble Y de X autre que X ,le nombre d'arêtes ayant ses deux
extrémités dans Y est strictement plus petit que |y| ; cette condition implique que
L'ensemble des arêtes gardées ne se décompose pas en plusieurs cycles.
Toutes ces contraintes s'expriment bien linéairement par rapport à l'ensemble des
variables du problème ,comme le montre la forme suivante :
X
M ax Puv .Xuv
(u,v)∈E
2.1. Cas de la programmation linéaire en nombres entiers [10] 43

 P
 ∀u ∈ X, Pv∈X Xuv = 2
avec les contraintes ∀Y ⊂ X avec Y 6= X, (u,v)∈E,u∈Y,v∈Y Xuv = 2
∀(u, v) ∈ E, Xuv ∈ {0, 1}

Dénition d'une fonction d'évaluation Soit G un graphe dans le quel on cherche


un cycle hamiltonien de poids minimum . une évaluation possible d'un sommet de l'ar-
borescence d'une procédure par séparation et évaluation est justiée par les remarques
triviales suivantes :
 Une chaîne constitue un arbre particulier ; la chaîne obtenue en supprimant d'un
cycle hamiltonien de G un sommet quelconque x0 et les deux aêtes qui lui sont
adjacentes est un arbre couvrant de G − x0 : elle est donc de poids supérieur ou
égale au poids d'un arbre minimum couvrant G − x0 ;
 dans un cycle hamiltonien , tout sommet à un degré égal à 2 ; la somme des poids des
deux arêtes d'un cycle hamiltonien adjacentes à un sommet x0 xé est supérieure
ou égale à la somme des poids des deux arêtes les plus légères incidentes à x0 dans
G.
Choisissant de façon arbitraire un sommet x0 ,le poids d'un cycle hamiltonien quelconque
est donc supérieur ou égal à la somme des poids des deux arêtes les plus légères adjacentes
à xo plus le poids d'un arbre de poids minimum couvrant G − x0 . cette quantité constitue
un minorant du poids d'un cycle hamiltonien optimal et pourra par conséquent constituer
une fonction d'évaluation pour l'arborescence (l'évaluation doit en eet fournir un tel
minorant puisque le problème de départ est un problème de minimisation) .

Description d'une méthode par séparation et évaluation Nous pouvons mainte-


nant décrire, parmi d'autres, une méthode par séparation et évaluation utilisant l'évalua-
tion déni ci-dessus.
On suppose qu'une borne a été calculée au préalable, par exemple à l'aide d'une des
méthodes exposée dans les deux derniers chapitre de ce livre (faute de mieux on peut
toujours partir d'un cycle hamiltonien choisis au hasard ,mais la borne qui en découlera
risque d'être assez mauvaise).
Choisissons une fois pour toutes un sommet x0 , an de procéder à l'évaluation décrite
ci-dessus. Comme toujours, la racine de l'arborescence contient toutes les solutions réali-
sables possibles, c'est-à-dire ici l'ensemble de tous les cycles hamiltoniens du graphe.
Arrivés à un sommet S de l'arborescence (y compris la racine), évaluons-le. Si l'évaluation
de S est supérieure ou égale à la borne (attention, nous sommes en train de résoudre un
problème de minimisation..), nous ne développons pas S et S est abandonné : nous savons
déjà faire au moins aussi bien.
Sinon, construisons le graphe partiel H correspondant à l'évaluation en ajoutant les deux
arêtes adjacentes à x0 de moindre poids dans le graphe courant G à celles d'un arbre de
poids minimum couvrant G − x0 : H est un graphe connexe d'ordre n possédant n arêtes.
Si H est un cycle hamiltonien , par dénition l'évaluation de S est exacte ; on peut alors
abandonner S : on ne fera pas mieux, en ce qui concerne les solutions contenues dans S ,
que ce qu'on vient d'obtenir ; en outre, si cette évaluation exacte est inférieure à la valeur
actuelle de la borne, on remet celle-ci à jour. Si H n'est pas hamiltonien , puisqu'il est
2.2. Cas de la programmation non linéaire mixte MINLP [28, 29] 44

connexe et comporte 2 arêtes, c'est qu'il contient au moins un sommet de degré stricte-
ment supérieur à deux.
Considérons un tel sommet et les i(i ≤ 3) arêtes e1 , e2 , ei auxquelles il est adjacent dans
H . Pour dénir le critère de séparation , remarquons , puisqu'un cycle hamiltonien est
un graphe dans lequel tous les sommets ont un degré égal à 2 , qu'on ne perd aucune
solution en considérant successivement celles qui ne contiennent pas e1 , puis celles qui ne
contiennent pas e2 ,..et ainsi de suite jusqu'à l'arête ei ; le sommet S de l'arborescence sera
donc séparé selon i branches. Chacune d'entre elles correspondant à l'interdiction d'une
des i arêtes ek (1 ≤ k ≤ 1).
On traduit la contrainte " ne pas contenir l'arête ek " par le fait de mettre le poids de ek
à l'inni dans le graphe courant G .

2.2 Cas de la programmation non linéaire mixte MINLP


[28, 29]
Dans ce genre de problèmes les variables prennent leurs valeurs Dans R. La fonction
objectif et les contraintes d'égalité et d'inégalités sur les variables sont quelconques(pas
forcément linéaires).
De manière formelle, un problème P peut être exprimé sous la forme :

 M inimiser f (x)
 Sous les contraintes



P ≡ gj (x) = 0, j = 1..k
gj (x) ≤ 0, j = k + 1..m




b ≤ x ≤ b̄

où f : Rn → R est la fonction objectif et gj : Rn → R représentent les contraintes du


problème.
L'ensemble des points (x1 , x2 , ..., xn ) satisfaisant les m contraintes gj est appelé espace
faisable. La résolution de P consiste à trouver un minimum global. C'est à dire un point
x∗ de l'espace faisable pour lequel la relation f (x∗ ) ≤ f (x) est vériée pour tous les points
faisables x.

Un point faisable x = (x1 , x2 , ..., xn ) est un minimum local (ou solution locale) s'il
0 0 0 0

existe un ε petit tel que

0 0
∀x = (x1 , x2 , ..., xn ), ∀i, |xi − xi | < ε, f (x) ≥ f (x )
Malgrés l'intérêt indiscutable du principe "Branch and Bound" sa mise en oeuvre dans
les problèmes continus présente des dicultés majeurs. Son application dans ce genre de
problèmes est qusiment prohibitive.
Cependant, ce principe resuscite l'intérêt de nouveau grâce aux progrés récents enregistrés
dans les techniques de relaxation linéaire et dans les techniques d'analyse par intervalles.
En eet, l'association de "Branch and Bound" à ces nouvelles techniques a permis de
2.2. Cas de la programmation non linéaire mixte MINLP [28, 29] 45

développer des méthodes trés ecaces de résolution globale. QUADOPT [28] est un al-
gorithme basé sur l'association de ces techniques.

Principe de l'algorithme
1. A partir d'un problème P , On détermine une relaxation linéaire R qui contient
forcément toutes les solutions de P .
2. La relaxation linéaire est construite de manière à simplier la résolution (on peut
par exemple utiliser l'algorithme du simplexe).
3. La solution L obtenue de R représente un minorant pour le minimum global O
(L ≤ O).
4. Un algorithme de recherche locale est utiisé pour déterminer un minimum local U
qui est un majorant de l'optimum O (U ≥ O). La gure 2.3 est une illustration
graphique de l'encadrement de l'optimum par L et U .

0
x

Figure 2.3  Illustration d'une étape de résoulution par BB

5. Lorsque U − L est aussi petit que l'on veut ou ne peut être rendu plus petit, on
considère l'optimum global atteint. Dans le cas contraire, l'espace de recherche cou-
rant est séparé en deux sous espaces qui vont correspondre à deux sous problèmes
indépendants P1 et P2 .
Le test d'arret qui permet de donner la solution globale risque de nous induire en erreur
lorsqu'on travaille sur les ottants. La gure 2.3 est une illustration de ce problème ex-
pliqué dans [28]. La communauté d'analyse par intervalles travaille sur la rigueur de la
résolution et s'est plus particulièrement intéressée au développement de méthodes pour
prouver la faisabilité des solutions. cet aspect est pris en charge dans l'algorithme détaillé
ci-dessous.
2.2. Cas de la programmation non linéaire mixte MINLP [28, 29] 46

Figure 2.4  Principe de fonctionnement MPLS

Algorithm 1 L'algorithme QUADOPT


Function QUADOPT(IN X , ε ; OUT S , [f ∗ , f¯∗ ]) ;
L ← X; S ← φ; (f ∗ , f¯∗ ) ← (−∞, +∞);
while w([f ∗ , f¯∗ ]) > ε do
X ← X tel que f X 00 = min(f X 00 : X ∈ L); L ← L − X ;
0 00 00 0

f X 0 ← min(f¯X 0 , f¯∗ );
X ← Reduce(X ) ;
0 0

f X 0 ← LowerBound(X ) ;
0

(f¯X 0 , Xp , P roved) ← U pperBox(X ) ;


0

if Proved then
S ← S ∪ Xp ;
end if
if X 6= φ then
0

0 0 0 0 0
(X1 , X2 ) ← Split(X ); L ← L ∪ (X1 , X2 );
end if
if L = φ then
(f ∗ , f¯∗ ) ← (+∞, −∞);
else 00 00
(f ∗ , f¯∗ ) ← (min(f X 00 : X ∈ L), min(f¯X 00 : X ∈ S))
end if
end while

L'algorithme reçoit, en entrée, l'ensemble X de tous les domaines de toutes les variables
du problème d'optimisation ainsi que la précision ε souhaitée pour le calcul de l'optimum
global.
En sortie, il délivre un encadrement [ f ∗ , f¯∗ ] de l'optimum et l'ensemble S des boites qui
encadrent les solutions prouvées faisables.
Dans la partie initialisation, l'ensemble des boites à traiter L recçoit la boite X (le
domaine des variables tout entier), l' encadrement de l'optimum c'est R tout entier,alors
que les solutions prouvées faisables ne sont pas encore connues.
Le traitement suivant est répété tant que la précision ε n'est pas encore atteinte :
 (ligne 6) On choisit dans la liste L des boites à traiter la boite X ayant la plus
0

petite borne inférieure de la fonction objectif, et on l'élimine de cet ensemble.


2.3. Modélisation du délai par les les d'attente [21, 26, 34, 41] 47

 (ligne 7) La borne supérieure de la fonction objectif dans le domaine X est calculée


0

en évaluant l'expression : min( f¯X 0 , f¯∗ )


 (ligne 8) La fonction Reduce(X 0 ) permet de réduire le domaine (la boite X 0 ) en
utilisant les techniques de ltrage provenant de la programmation par contraintes.
 (ligne 9) la fonction LowerBound( X 0 ) 0 détermine une borne inférieure rigoureuse
de la fonction objectif dans le domaine X en utilisant un programme linéaire obtenu
de la relaxation linéaire du problème initial dans ce domaine.
 (ligne 10) La fonction UpperBox( X ) correspond à la recherche d'un minimum
0

local dans X en utilisant les techniques de Hansen pour manipuler les systèmes
0

sous-déterminés. Si celui-ci existe, la nouvelle boite située entre la borne inf trouvée
précédemment et la borne sup(le minimum local trouvé) est ajoutée dans l'ensemble
des solutions prouvées faisables.
 (lignes 11,12,13,14) si la recherche du minimum local échoue, ça veut dire qu'il
n' existe pas de solutions faisables dans X , auquel cas cette boite est éliminée. On
0

élimine également la boite X si sa borne inf est supérieure à f¯∗ .


0

si non, l'espace de recherche X est scindé en deux sous espaces en choisissant


0

l'une des variables du problème et en divisant son domaine en deux sous domaines
donnant naissance à deux nouvelles boites qui seront ajoutées à l'ensembles des
boites à traiter L.
 (ligne 18) à chaque ronde de traitement (choix et traitement d'une boite), l'algo-
rithme met à jour les deux bornes de l'intervalle susceptible de contenir le minimum
global : f ∗ reçoit la plus petite borne inférieure des boites restantes L(min(f X 00 :
00
X ∈ L)), f¯∗ reoitlapluspetitebornesuprieuredesboitesprouvesf aisablesS(min(f¯X 00 :
00
X ∈ S))
L'algorithme s'arrête lorsque la précision ε est atteinte.

2.3 Modélisation du délai par les les d'attente [21,26,


34, 41]
2.3.1 Dénition
Un système le d'attente peut être décrit par : Un ensemble de clients qui arrivent dans
un service, attendent(généralement) que le service leur soit rendu et quittent le service
enn.
Dans le cas d'un réseau, le service est assuré par un routeur MPLS et les clients sont des
paquets IP de taille variablequi attendent leur routage sur le chemin LSP approprié.
La description formelle d'une le d'attente consiste à spécier trois parties : le processus
aléatoire qui régit l'arrivée des clients, le mécanisme du service (nombre de serveurs,
processus aléatoire régissant le temps de service,..) et une discipline pour la gestion du
service en fonction de l'arrivée des clients..
2.3. Modélisation du délai par les les d'attente [21, 26, 34, 41] 48

2.3.2 Processus d'arrivée


on suppose que les arrivées ne dépendent pas du nombre de clients présents dans la
le, on le caractérise alors par une distribution de probabilité qui régit le temps qui sépare
deux arrivées succéssives. Dans le cas des paquets qui arrivent dans un routeur MPLS leur
taille est diérente, on considère alors une taille moyenne de paquets λqui représentra le
paramètre λ (fréquence des arrivées) de la loi de Poisson. La capacité de la le peut être
limitée auquel cas les clients peuvent ne pas pouvoir rejoindre la le d'attente si non elle
est considérée de capacité innie. C'est un paramètre qui caractérise également les les
d'attente. Les valeurs possibles de ce paramètre sont [1, ∞] .

2.3.3 Processus de service


Le processus de service est également décrit par une distribution de probabilté. l'hypo-
thèse d'indépendance par rapport au nombre de clients présents dans la le est également
maintenue. La loi de probabilité qui régit le service est une loi exponentielle de paramètre
µ qui représente la vitesse moyenne à la quelle le service est eectué. Dans le cas d'un
routeur MPLS ce paramètre est le débit moyen disponible pour l'acheminement d'un pa-
quet. Le serveur peut ne pas être unique, cette valeur fait partie du modèle décrivant la
le d'attente et elle varie dans [1, ∞] .

2.3.4 Discipline de la le d'attente


Nous devons également décrire la discipline de la le d'attente, c'est à dire la manière
avec laquelle les clients rejoignent et quittent cette le d'attente. Nous distinguons les
politiques suivantes : FCFS : First Come First Served LCFS : Larst Come First Served
SIRO : Service in Random Order PR : Priority ...

2.3.5 Notation de KendallLee


Pour spécier les les d'attentes avec leurs paramètres décrits ci-dessus on adopte la
notation suivante :
A/B/X/Y /Z
A : est la distribution des arrivées dans le système
B : est la distribution du temps de service
X : Le nombre de serveurs
Y : Restriction sur la capacité du serveur (en nombre de clients) si non c'est l'inni
Z : La discipline dans la le d'attente.

quand Y = ∞ et Z = F CF S ils sont omis tous les deux.


Exemple : au lieu de M/M/1/∞/F CF S on écrit M/M/1
2.4. Conclusion 49

2.3.6 Mesures de performance d'une le d'attente


La performance des les d'attente est est évaluée selon l'un es paramètres suivants :
 Temps moyen d'attente d'un client
 le nombre moyen de clients dans le système
 temps d'occupation du serveur/temps d'inoccupation du serveur
Pour ce qui est du réseau, Nous nous intéressons particulièrement aux les d'attente
gérées au niveau des routeurs. Il s'agit de les d'attentes de la forme M/M/1 : M indique
que le processus qui régit les arrivées est un processus markovien (loi de poisson) identique
à celui qui régit le temps de service (loi exponentielle).
La mesure qui nous intéresse particulièrement est le délai.

Délai (engendré par un routeur) =délai dans la le d'attente +


délai de propagation(dépend de la distance du lien)+
temps de traitement (calcul du CRC,...)+

2.4 Conclusion
Les problèmes connus dits de "sac à dos" et de "voyageur de commerce" nous ont
permis de présenter la méthode par séparation et évaluation dans le cas de la program-
mation linéaire en nombre entiers. Nous avons ensuite présenté la méthode dans le cadre
de l'optmisation globale et de variables continues. En n de chapitre, nous avons présenté
les les d'attentes. C'est l'essentiel des outils de modélisation et d'optimisation auquels
on a eu recours dans ce travail. Dans le chapitre suivant nous aborderons le modèle de
réseau objet de l'optimisation.
Chapitre 3
Modele de reseau

Introduction
Dans ce chapitre nous étudions le modèle mathématique pour l'optimisation de "layout"
dans un réseau à base de routeurs MPLS décrit dans [4]. Nous avons apporté plus d'ex-
plications et d'enrichissements là où nous avons jugé utile de le faire.
Le réseau physique est un coeur de réseau (Backbone) MPLS fournissant des lignes de
transmissions reliant des noeuds. Ces lignes de transmission ont des capacités physiques
associées.
conformément aux techniques de trac ingeneering dans le cadre du MPLS, nous iden-
tions les noeuds par des LSR (Label Switched Router) débutant et nissant des LSP
(Label Switched Path) à travers lequel le trac est mené de la source à la destination.
Les LSP peuvent être établis manuellement ou en utilisant des protocoles de signalisation
tels que CR-LDP ou RSVP-TE. Les LSP sont établis au dessus des lignes de transmission
reliant les noeuds, une part de la capacité disponible leur est allouée. [4]

3.1 Eléménts du modèle


De manière formelle, le réseau physique est représenté par un graphe orienté G =
(X, U ) où X est l'ensemble des sommets 1, 2, 3........., N (lequels sommets représentent
des routeurs capables de fonctionner avec le protocole MPLS dans le réseau physique)net
U est l'ensemble des arcs orientés 1, 2, 3.........., M correspondant aux liens dans ce réseau(
c'est à dire des lignes de transmission de quelque nature que ce soit : bre optique, paire
torsadée ou autre).

3.1.1 Les liens


Le lien i est une ligne de transmission qui a une capacité Ci , qui correspond à la bande
passante ou le débit maximal sur ce lien. C est donc une matrice unicolonne (vecteur
de dimension M ) représentant le vecteur capacité. Il représente les débits maximaux
supportés par l'ensemble des liaisons.

50
3.1. Eléménts du modèle 51

 
c1
 c2 
(3.1)
 
C=
 ··· 

 ··· 
cM

3.1.2 Les chemins


On suppose que chaque paire de noeuds est reliée par un ou plusieurs chemins corres-
pondant aux diérents LSP pouvant être établis entre les deux routeurs (LSR) correspon-
dant dans la technologie MPLS.
Les paires de noeuds (m, n) sont indexés par i = 1, 2......Q avec Q = N (N − 1) le nombre
total de paires de noeuds.
Pour chaque paire de noeuds q = (m, n) on identie une ressource demandée par la va-
riable dq , qui consiste, en fait, en le débit requis (ou devant être alloué) pour cette paire
de noeuds. Cette demande peut être satisfaite via dirents chemins acycliques kq qui est
le nombre total de chemins LSP potentiels reliant m à n.
le débit demandé sera donc réparti sur un sous ensemble des diérents chemins LSP qui
convergeront vers la même destination( une partie des chemins est utilisée seulement,
suivant le résultat de l'optimisation).
Ces chemins sont indexés par a1q , a2q , ......., akq q . Chaque chemin akq peut être représenté par
un vecteur indéxé par les arcs dont les composantes sont akq,i tels que akq,i = 1 si le chemin
akq contient l'arc i et akq,i = 0 sinon.
Nous ne considérons que les chemins acycliques ; aucun d'entre eux ne doit traverser plus
d'une fois le même noeud ou lePmême arc.
On peut représenter les K = Q q=1 kq chemins entre toutes les paires de noeuds comme
une matrice

a11,1 · · · ak1 a1Q,1 akQ


 
1,1 ··· ··· ··· ··· Q,1
 a1 · · · ak1 · · · ··· ··· a1Q,1 ··· akQ 
(3.2)
 1,2 1,2 Q,1 
A= . . .. .. ... .. .. ... .. 
 .. .. . . . . . 
1 k1 kQ
a1,1 · · · a1,M · · · · · · · · · a1Q,M · · · aQ,M

Cette matrice peut être représentée de manière plus compacte par :

.. . . . .
. A2 .. · · · .. Aq .. · · · · · · .. AQ
 
A= A1 (3.3)

où Aq est la matrice d'incidence arcs-chemins correspondant aux Kq chemins reliant


la paire de noeuds q .
3.1. Eléménts du modèle 52

3.1.3 Les coûts associés aux chemins


W est la matrice unicolonne representant le vecteur de dimension K contenant les
poids(coûts) wqk associés aux chemins akq . Ces poids représentent des coûts, laissés à l'ap-
préciation des opérateurs Télécom. Ca peut correspondre au nombre de liens constituant
le chemin si on veut associer le coût à la complexité du réseau.
En eet, on considère que le "layout" est d'autant plus complexe que ne le sont les chemins
qui composent celui-ci
w11
 

 ··· 

 w1k1 
.. 
 
. 


wi1 
 

(3.4)
 
W = ··· 
wiki 
 

.. 
 
. 


1 
wQ

 
··· 
 

k
wQQ

3.1.4 Les demandes


Le trac IP peut être considéré à deux niveaux de granularité diérents : paquet et
ot [1, 23].
L'étude du processus stochastique décrivant l'arrivée des paquets a montré une forte dis-
parité suivant les diérentes échelles de temps : court terme, moyen terme et long terme.
Par conséquent l'utilisation du sceau à jetons pour décrire son comportement n'est pas
adapté. D'où le recours à considérér le trac entre une paire de noeuds plutôt au niveau
des ots de paquets ou des agrégats de ots.
Un ot peut être déni comme une suite de paquets générés par la même application entre
une paire de noeuds(source-destination) et proches les uns des autres temporellement.
Des mesures dans le backbone Internet ont montré que le trac sur ses liens est plus ou
moins prévisible : L'intensité du trac présente des cycles de longues périodes d'utilisation
intense suivies de longues périodes de faible utilisation.
Cette périodicité suggère une modélisation de l"intensité du trac par un processus sto-
chastique. L'utilisation des ots permet de mieux caractériser la demande et la QOS
requise. la demande est donc représentée par le vecteur :
 
d1
 d2 
 . 
D =  ..  (3.5)
 
 . 
 .. 
dQ
3.1. Eléménts du modèle 53

3.1.5 Les ots par chemin


Un arc (lien) donné est traversé par des chemins LSP pouvant être établis entre des
paires de noeuds diérentes ; ces ots convergents sur cet arc ne doivent pas dépasser
la capacté de l'arc. Autrement dit la somme des ots alloués à chacun de ces chemins
(traversant ce lien) doit être inférieure ou égale à la capacité de cet arc.
Le dimensionnement du réseau conformément à une fonction objectif fournie par l'opé-
rateur fera,en général, usage de plusieurs chemins reliant chaque paire de noeuds pour
satisfaire la demande. Chaque chemin de l'ensemble des chemins reliant une paire de
noeuds particulière se verra attribuer une partie de la demande (débit) requise pour cette
paire de noeuds.
Cette valeur est le résultat de l'optimisation de la topologie virtuelle étant donnée la to-
pologie physique. La somme des ots alloués aux diérents chemins reliant une paire de
noeuds donnée doit être égale à la demande.
Supposons que le ot alloué au chemin akq est noté fqk . le vecteur représentant le ot global
est une matrice unicolonne :
f11
 

 ··· 

 f1k1 
.. 
 
. 


fi1 
 

(3.6)
 
F = ··· 
fiki 
 

.. 
 
. 


fQ1 
 

··· 
 

k
fQQ

Soit R = (rq,i ) la matrice d'incidence demande-chemin de dimension QxK telle que :

1 si i ∈ [k1 + k2 + ..... + kq−1 + 1, k1 + k2 + ..... + kq−1 + kq ]



rq,i = (3.7)
0 si non

avec 1 ≤ q ≤ Q et 1 ≤ i ≤ K

3.1.6 La contrainte de satisfaction de la demande


La somme des ots traversant les chemins reliant la paire de noeuds q doit être égale
à la demande. ce qui s'écrit :
3.1. Eléménts du modèle 54

R.F = D
c'est la contrainte sur la demande.

3.1.7 La contrainte sur la capacité


Un arc (lien) donné est traversé par des chemins reliant des paires de noeuds dié-
rentes ; la somme des ots alloués à chacun de ces chemins (incluant cet arc) doit être
inférieure ou égale à la capacité de cet arc.
c'est la contrainte sur la capacité des liens.
Soit xi la valeur de la somme des ots traversant le lien i pour 1 ≤ i ≤ M et X la
matrice unicolonne de dimension M.
 
x1
 x2 
 . 
X =  ..  (3.8)
 
 . 
 .. 
xM

Cette contrainte s'écrit alors :

X = A.F ≤ C

3.1.8 La contrainte sur le délai par chemin


Aucun chemin k parmi l'ensemble de tous les chemins reliant une paire de noeuds
donnée q qui se voit attribuer un ot fqk > 0 ne doit dépasser un délai ( θq ) de bout en
bout autorisé pour cette paire de noeuds.
M
λakq,i
≤ θq , 1 ≤ q ≤ Qet1 ≤ k ≤ Kq
X
hkq
c − xi
i=1 i

où hkq est une variable binaire indiquant si le chemin akq est utilisé ou pas.
H est une matrice unicolonne dénie par :
3.1. Eléménts du modèle 55

h11
 

 ··· 

 hk11 
.. 
 
. 


h1i 
 

(3.9)
 
H= ··· 
hki i 
 

.. 
 
. 


h1Q 
 

··· 
 

k
hQQ

avec
si fqk > 0

1
hkq =
0 si non

3.1.9 La contrainte de débit maximal


Une borne sup est prévue pour une paire de noeuds donnée q , on n'autorise pas plus
de bande passante que δq .
La contrainte s'écrit alors :
fqk ≤ hkq .δq 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq

3.1.10 Domaines des variables


hkq indique si un chemin k reliant une paire de noeuds q correspondant à un LSP est
utilisé ou non, lacontrainte sur cette variable s'écrit :
hkq ∈ {0, 1} 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq

fqk indique le ot(le débit) alloué sur un chemin k reliant une paire de noeuds q corres-
pondant à un LSP si celui-ci est utilisé. Cette variable est trés liée à hkq . lacontrainte sur
cette variable s'écrit :
fqk ≥ 0, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq

3.1.11 La fonction objectif


Le coût d'opérations pour de larges réseaux est lié à la complexité de celui-ci.
On dénit la complexité d'un "Layout" comme le nombre de liens nécessaire au transport
d'une certaine matrice de demandes D. Autrement dit, les coûts des opérations et de la
maintenance liés à la quantité de chemins à établir et maintenir lorsque le "layout" est
en place.
3.1. Eléménts du modèle 56

D'habitude, les fonctions objectifs utilisées pour l'optimisation du "layout" tendent à


minimiser certaines mesures pour la performance du réseau (généralement des fonctions
du délai total sur le réseau ou la charge sur les liens). Les "layout" obtenus par ces
fonctions vont tenter de distribuer les ots sur les chemins de manière à équilibrer les
charges sur ceux-ci menant à une variation faible du délai d'un lien à un autre.
Les modèles proposant ces fonctions objectifs [14,22,27] supposent un coût proportionnel
à l'utilisation de la capacité. Ce qui n'est pas de l'avis des opérateurs qui considèrent
que les coûts de déploiement de la capacité ont été déja pris en compte dans la phase de
plannication.
La question réelle est donc : une fois la topologie du réseau physique est donnée, quel
dimensionnement pour le réseau en termes de "layout" et de ots. Il s'agit donc de réduire
la complexité, on doit alors minimiser une fonction objectif de la forme :
Q kq
!
Minimiser
X X
hkq wqk
q=1 k=1

Cette fonction objectif tendra à minimiser la somme des variables binaires (relatives
au choix ou non des diérents chemins entre les paires de noeuds) pondérée par les coûts
de ces chemins.
La conguration (ou l'établissement) de ces chemins engendrent donc un coût pour l'opé-
rateur et qui est justement représenté par les valeurs de wqk . Par conséquent, l'optimisation
va aller dans le sens de minimiser le nombre de chemins qui receveront les ots constituant
la matrice de demandes.
Ceci aura pour eet de voir le délai de bout en bout des chemins reliant diérentes paires
de noeuds présenter une disparité élevée par rapport à la moyenne. ce qui va accentuer le
déséquencement des paquets à l'arrivée (au niveau du noeud récepteur).
En eet, dans une stratégie par paquet,ceux-ci vont emprunter des chemins ,avec des dé-
lais de bout en bout trés diérents, ils vont arriver dans le désordre total, ce qui impose
un reséquencement des paquets.
L'eet est moindre dans une stratégie par ot.
An de minimiser cette disparité, la fonction objectif suivante fait apparaître un terme
qui prend en compte le délai de bout en bout global du layout.

Q kq Q kq M
!
λakq,i
Minimiser
X X X X X
α hkq wqk + β k
hq
q=1 k=1 q=1 k=1
c − xi
i=1 i

Le deuxième terme de la somme en l'occurence


Q kq M
X X X λakq,i
hkq
q=1 k=1
c − xi
i=1 i

provient de la modélisation du délai d'attente global dans le réseau par la théorie des les
d'attente. En eet, le délai nécessaire pour traverser un lien donné reliant deux noeuds
est modélisé par une le d'attente de type M/M/1 [21, 26, 41].
3.1. Eléménts du modèle 57

Il est obtenu de la manière suivante : pour chaque paire de noeuds et pour tous les chemins
LSP retenus pour cette paire, on comptabilise les délais moyens sur chaque arc composant
ce LSP. La minimisation de ce deuxième terme permet de tenir compte de la charge sur
l'ensemble des liens du réseau et permet de produire des "layouts" qui tendent à équilibrer
la distribution de la charge sur le réseau tout en gardant une complexité réduite.
α et β permettent de contrôler l'importance des deux termes l'un par rapport à l'autre.
Le paramètre λ quant à lui représente une taille moyenne des paquets.

3.1.12 Les coûts des chemins


Les coûts associés aux chemins wqk peuvent être utilisés par les opérateurs pour aner
l'évaluation le "layout". En particulier, les coûts évalués en nombre de sauts minimisent
une fonction du nombre de liens utilisés. En mettant les coûts des arcs à 1, on minimise
le nombre de chemins et on favorise les chemins ayant le moins d'arcs.
M
akq,i , 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
X
wqk =
i=1

3.1.13 Formulation du problème


Etant donné un réseau physique constitué de routeurs MPLS et une matrice de trac
(des paquets ou des ots d'octets nécessitant un certain débit entre chaque paire de
noeuds). Le problème est de trouver un ensemble de chemins et une allocation de ots
sur ces chemins de façon à optimiser un certain coût en garantissant une certaine qualité
de service( en particulier le délai de bout en bout et la disponibilité d'un débit minimum
pour chaque paire de noeuds).
En plus de la matrice de trac D, on suppose donnés les éléments suivants :
 A La matrice indiquant tous les chemins du réseau et les arcs leur appartenant.
 C Vecteur capacité décrivant la capacité maximale de chaque arc du réseau.
 ∆ Vecteur débit maximum autorisé sur chaque chemin reliant toutes les paires de
noeuds.
 Θ Vecteur délai maximum autorisé sur chaque chemin reliant toutes les paires de
noeuds.
 W les poids(coûts) associés aux diérents chemins.
Le problème d'optimisation se resume alors de la manière suivante :
Q kq M
λakq,i
Minimiser α W.H + β
X X X
t
hkq
q=1 k=1
c − xi
i=1 i

Sous les contraintes :


A.F ≤ C
R.F = D
3.2. Nature du problème 58

M
λakq,i
≤ θq , 1 ≤ q ≤ Qet1 ≤ k ≤ Kq
X
hkq
c − xi
i=1 i

fqk ≤ hkq .δq 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq


hkq ∈ {0, 1} 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
fqk ≥ 0, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq

Dans la partie expérimentation, ce problème sera référencé par : PNL

3.2 Nature du problème


Les matrices A et R et les vecteurs unicolonnes D et C sont des constantes : A
représente l'ensemble des chemins possibles entre toutes les paires de noeuds possibles du
réseau, R indique quels chemins relient quelles paires de noeuds, D est la matrice des
demandes et C le vecteur capacité.
Les variables du problème sont :
 hkq (qui indiquent si un chemin donné (k) reliant une paire de noeuds donnée (q) est
utlisé dans la solution optimale ou pas) sont entières bivalentes.

 fqk (qui indiquent la quantité de ot alloué sur un chemin donné (k) reliant une paire
de noeuds donnée (q) si celui-ci est retenu dans la solution optimale) sont continues.

Les contraintes :
 L' ensembles des contraintes relatives au délai de bout en bout est non linéaire :

M
λakq,i
≤ θq , 1 ≤ q ≤ Qet1 ≤ k ≤ Kq
X
hkq
c − xi
i=1 i

 la contrainte sur le débit maximal autorisé par paire de noeuds

fqk ≤ hkq .δq 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq


est linéaire.
 la contrainte de positivité et de bivalence des hkq

hkq ∈ {0, 1} 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq

est linéaire
 la contrainte de positivité des fqk

Gressier − Soudan − 1995fqk ≥ 0, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq

est linéaire
3.3. Conclusion 59

La fonction objectif :
 Le terme
Q kq
!
c.a.d est linéaire
X X
t
W.H hkq wqk
q=1 k=1

 Le terme
Q kq M
!
λakq,i
est non linéaire
X X X
hkq
q=1 k=1
c − xi
i=1 i

globalement, la fonction objectif est non linéaire.

La fonction objectif et une partie des contraintes sont non linéaires, une partie des
variables est continue l'autre est entière ; il s'agit donc d'un probmlème MINLP(Mixed
Integer Non Linear Programing).
Le nombre de variables total du problème est de 2K , où K est le nombre de chemins total
du réseau. Ce nombre augmente exponentiellement avec la taille de celui-ci.

3.3 Conclusion
Le modèle mathématique développé dans ce chapitre correspondant au problème de
détermination d'un "layout" optimisé sur un réseau physique, montre qu'il s'agit d'un
problème NP-Complet.
Le problème inhérent est de trouver l'optimum en un temps borné. Les solutions envisa-
geables dans ce cas, sont des solutions approchées qui font l'impasse sur diérents aspects
du modèle. Les solutions obtenues sont plus ou moins acceptables selon l'interprétation
qu'on en fait dans le problème réel modélisé.
Dans le chapitre quatre nous discuterons les solutions proposées dans [4] ainsi que celles
que nos propositions.
Deuxième partie
Contributions

60
Chapitre 4
Ranement du modèle et linéarisation
Cette partie est consacrée à notre conribution, d'une part en proposant une alternative
pour la fonction objecif, d'autre part dans la méthode de résolution. En eet, au lieu de
chercher un minimum local par des méthodes de recherche approchées, la linéarisation de
la fonction objectif va nous permettre d'améliorer le temps de recherche en appliquant
l'algorithme QUADOPT [28] qui est un algorithme de recherche du minimum global, La
linéarisation permettant d'améliorer considérablement le temps de recherche.
Nous présentons les deux démarches de linéarisation que nous avons adoptées ainsi que le
modèle stochastique implémenté pour la génération de matrices de test.

4.1 Le modèle nonlinéaire étudié


Dans le chapitre précédent, la problématique de dimensionnement du réseau MPLS a
été formulée comme suit :
Q kq M
λakq,i
Minimiser α W.H + β (4.1)
X X X
t
hkq
q=1 k=1
c − xi
i=1 i

A.F ≤ C
R.F = D
M
λakq,i
≤ θq , 1 ≤ q ≤ Qet1 ≤ k ≤ Kq
X
hkq
c − xi
i=1 i

fqk ≤ hkq .δq 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq


hkq ∈ {0, 1} 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
fqk ≥ 0, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
Ce modèle est nonlinéaire. Les travaux de Becker ont porté sur l'utilisation du solveur
MINLP [17] permettant de résoudre ce modèle en fournissant une solution approchée.

61
4.2. Linéarisation du modèle 62

L'inconvénient évident de cette résolution réside dans la qualité de la solution fournie qui
peut être éloignée de la solution optimale. Justement, on propose ici de faire appel à des
solveurs d'optimisation globale garantissant l'optimalité de la solution. Dans le chapitre
suivant, nous ferons appel au solveur BARON [36].

Problème de référence la fonction objectif la plus utilisée traditionnellement dans


l'optimisation des réseaux est celle qui minimise le délai de bout en bout exclusivement.
An de voir comment varie l'optimum aprés avoir introduit un deuxième terme dans
la fonction objectif, Nous avons également traité ce problème pour s'en servir comme
référence. Le modèle est donc le suivant :
Q kq M
λakq,i
Minimiser
X X X
hkq
q=1 k=1
c − xi
i=1 i

A.F ≤ C
R.F = D
M
λakq,i
≤ θq , 1 ≤ q ≤ Qet1 ≤ k ≤ Kq
X
hkq
i=1
c i − x i

fqk ≤ hkq .δq 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq


hkq ∈ {0, 1} 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
fqk ≥ 0, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq

4.2 Linéarisation du modèle


La non linéarité du modèle (4.1) est dûe au terme
Q kq M
X X X λakq,i
hkq
q=1 k=1
c − xi
i=1 i

qui intervient à la fois dans la fonction objectif et dans la contrainte du délai entre chaque
paire de noeuds.

0 ≤ x i ≤ ci (4.2)
λ
0≤ <∞
ci − x i
On peut poser
λ
yi =
ci − x i
4.2. Linéarisation du modèle 63

4.2.1 Linéarisation du terme quadratique principal


Linéarisation de
M
X
hkq akq,i yi
i=1

Qu'on peut réécrire


rqk = hkq zqk

M
X
zqk = akq,i yi
i=1

On en déduit que

rqk = [if (hkq = 1) then zqk else 0]


Cette expression a l'avantage de garder toute la sémantique du terme quadratique
d'origine. C'est idéalement ce qu'on cherche dans tout processus de linéarisation.

hkq prend ses valeurs dans {0, 1}. On peut d'ores et déjà écrire que :

1 si zqk > 0

k
hq =
0 si non
En eet zqk représente le délai d'attente sur le chemin LSP akq qui est certainement nul
si le hemin n'est pas utilisé et certainement positif dans le cas contraire.
Cette dépendance entre les variables zqk et hkq peut être exprimée dans les deux contraintes
suivantes :

 k k
 hq ≤ zq .M
&
 k zqk
hq ≥ M

où M est un nombre trés grand trés grand.


En eet, hkq = 0 va être exprimé dans

hkq ≤ zqk .M

quant à hkq = 0 il va être exprimé dans

zqk
hkq ≥
M
Ainsi le terme hkq .zqk se trouvera simplié en zqk dans l'expression de la fonction objectif
et dans la contrainte sur le délai. Il en resulte que :

zqk = rqk
4.3. Linéarisation du terme stochastique λ
ci −xi
64

La linéarisation nale obtenue est alors :


Q kq Q kq
Minimiser α
X X X X
hkq wqk +β zqk
q=1 k=1 q=1 k=1

Sous les contraintes :


A.F ≤ C
R.F = D
zqk ≤ θq , 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
hkq ≤ zqk .M, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
zqk
hkq ≥ , 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
M
fqk ≤ hkq .δq , 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
hkq ∈ {0, 1}, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
fqk ≥ 0, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
zqk ≥ 0, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
Dans la partie expérimentation, ce problème sera référencé par : PL

4.3 Linéarisation du terme stochastique ci−x


λ
i

Soit le terme stochastique


λ
yi = (4.3)
ci − x i
qui exprime le temps d'attente dans un routeur MPLS. On rappelle que :
 λ est la taille moyenne des paquets, exprimée en bits.
 ci est la capacité du lien i, exprimée en bps .
 xi est la somme des ots traversant le lien i.
|
yi exprime nalement le temps d'attente. La formulation (4.3) a la vertu d'exprimer le
temps d'attente en tenant compte des paramétres spéciques au lien i. L'utilisation de la
variable xi dans ce terme, permet de préciser le temps d'attente en fonction de la réalité
du lien, à savoir la somme des ots le travesant.

Contrairement à la sous-section précédente où on a réussi à produire une linéarisation


qui maintient toutes les variables du terme quadratique, le terme (4.3) est plus délicat
à linéariser tout en gardant ses variables. En eet, la forme fractionnaire du terme com-
plique toute tentative de reformulation mathématique équivalente.
4.3. Linéarisation du terme stochastique λ
ci −xi
65

Justement, au lieu d'essayer de reformuler d'une façon équivalente ce terme, on fera


appel à une relaxation. Cette dernière consiste à reformuler en simpliant le terme en
question, ici (4.3), en essayant de garder le plus de sémantique.

Dans la fonction objectif globale, le terme


Q kq M
X X X λakq,i
β hkq
q=1 k=1
c − xi
i=1 i

est contrôlé par le coecient β . Ce terme est antagoniste au premier terme, dans la me-
sure ou le premier tend à obtenir un "layout" moins complexe, c'est à dire contenant le
moins de chemins LSP possibles ce qui aura pour eet de surcharger le peu de chemins
utilisés et, par conséquent, les liens les composant ; Alors que La minimisation du second
terme tendra à produire des solutions qui réduiront la charge sur les LSP et par voie de
conséquence sur les liens composant ces chemins.
En faisant l'hypothèse que ce terme pourrait varier linéairement, nous pouvons produire
le raisonnement suivant :

0 ≤ xi < ci (4.4)
λ λ
0≤ <
ci − x i ci
M M
X λ.akq,i X λ.akq,i
0≤ <
c − xi
i=1 i i=1
ci
ou encore
M M
X X λ.akq,i
0≤ λ.akq,i .yi <
i=1 i=1
ci
Posons
M
X
tkq = λ.akq,i .yi
i=1
λ.akq,i
Le domaine de tkq est alors : [0,
PM
i=1 ci [
Nous proposons la relaxation suivante :
Q kq Q kq
Minimiser α
X X X X
hkq wqk +β tkq
q=1 k=1 q=1 k=1

Sous les contraintes :


A.F ≤ C
R.F = D
M
λ.akq,i
1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
X
0≤ tkq < ,
i=1
ci
4.3. Linéarisation du terme stochastique λ
ci −xi
66

fqk ≤ hkq .δq , 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq


hkq ∈ {0, 1}, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
fqk ≥ 0, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
Dans la partie expérimentation, ce problème sera référencé par : PRL
Cette relaxation suppose que le débit maximal n'est jamais atteint, hypothèse qui nous
semble être réaliste. On note que la formulation de la variable yi n'utilise pas xi , rendant
le temps d'attente dépendant seulement de la capacité du lien et la taille moyenne des
paquets. On ignore ainsi les ots courants.

Dans le chapitre expérimental, nous évaluerons la pertinence de ce modèle linéaire.

On note que MINLP trouve souvent un minimum local très rapidement. Cependant,
il existe plusieurs instances où les solveurs globaux améliorent nettement la solution pro-
posée par MINLP.

4.3.1 Génération des matrices de trac


La génération de la matrice du trac suit un processus aléatoire inspiré de [4]. Nous
l'avons implémenté de la manière suivante :

Algorithm 2 Algorithme pour la génération aléatoire de la matrice de trac


Etant donné un graphe dont les arcs sont valués représentant le réseau physique : saisie
des noeuds, des arcs et des valuations(capacités)
On calcule tous les chemins possibles du graphe
On aecte à une proportion p de paires de noeuds une demande de ot calculée à partir
d'une variable aléatoire suivant une loi uniforme dans l'intervalle [0, Caq ]
Nous aectons au reste des paires de noeuds, la proportion restante (1-p), une demande
de ot calculée à partir d'une variable aléatoire suivant une loi uniforme dans l'intervalle
[0, Y aCq ]
Génération des chiers AMPL (modèle et data)

Cq représente la capacité totale dispnible pour la paire de noeuds q lorsqu' aucune


activité n'est enregistrée dans le réseau. a est un facteur d'echelle, qui nous permet de
réduire graduellement la capacité dsiponible pour la paire de noeuds q , ce qui est équivalent
à injecter du trac dans le réseau, c'est à dire de plus en plus de noeuds partciperont à
ce trac, ce qui augmente la probabilité d'être proche de matrices de trac réelles.

On dénit Y comme le rapport M aximumq Cq


M inimumq Cq
, c'est le rapport entre la capacité de la
paire de noeuds la mieux connectée sur celle qui est la moins connectée. cette valeur per-
met d'introduire un degré d'asymétrie dans le modèle.
4.4. Conclusion 67

4.4 Conclusion
An de rendre possible le calcul de l'optimum global dans un temps borné, nous avons
tenté de raner le modèle de [4] de deux manières : en linéariusant le terme non linéaire
λakq,i
ci − x i
ensuite en faisant une relaxation linéaire qui élimine qui la variable xi . Dans le chapitre
suivant, nous évaluerons cette linéarisation et cette relaxation en appliquant des solveurs
connus dans le domaine.
Chapitre 5
Mise en oeuvre et expérimentation
Nous présentons d'abord, le laguage AMPL et le principe de fonctionnement de celui
là, les réseaux physiques qui ont servi de platforme de test et également l'implémentation
du modèle stochastique pour la génération de matrices de trac inspiré de [4] ainsi que la
génération des chiers AMPL correspondant aux instances du problème étudié.
On décrira,ensuite, les structures internes du programme de génération des matrices de
ots. Puis, on abordera en détail l'expérimentation des deux démarches que nous avons
proposées.

5.1 Concepts du Langage AMPL [3]


Avant tout algorithme d'optimisation à appliquer (tout solveur) à un problème, un
eort important doit être fourni dans la formulation du modèle sous-jacent et de générer
les structures de données nécessaires.
Si les algorithmes devaient se comporter avec les problèmes d'optimisation comme le font
les humains, les phases de génération et de formulation de modèles seraient relativement
simples.
En réalité, cependant, il y' a beaucoup de diérences entre la forme du problème formulée
par un être-humain et la forme dans la quelle le problème est résolu par un algorithme.
Une translation entre la première forme vers la deuxième forme nécessite des eorts consi-
dérables. Dans l'approche traditionnelle, Le travail est divisé entre l'être-humain et l'or-
dinateur.
D'abord, une personne comprenant les modèles écrit un programme dont les sorties re-
présentent les structures de données requises. Ensuite un ordinateur compile et exécute
le programme pour créer la forme algorithmique. Cette méthode et souvent coûteuse et
sujette aux erreurs ; plus contraignant encore, le programme doit être  debuggé  par
une personne maîtrisant les modèles même si ses sorties (la forme algorithmique) ne sont
pas destinées à être lues par un humain.
Dans le cas particulier de l'optimisation linéaire et non linéaire la plus grande partie de
la forme de l'algorithme est la représentation matricielle des coecients des contraintes.
Typiquement, c'est une matrice non homogène dont le nombre de lignes et de colonnes se
chire en milliers et dont les éléments non nuls apparaissent dans des formes imprévisibles.

68
5.1. Concepts du Langage AMPL [3] 69

Un programme informatique qui produit une représentation de ces coecients dans une
forme compacte est appelé un générateur de matrices. Plusieurs langages de programma-
tion ont été conçus spéciquement pour écrire des générateurs de matrices [19], ainsi que
des langages généralistes ont été utilisés dans cette perspective. Plusieurs des dicultés
inhérentes à la translation du modèle mathématique vers la forme algorithmique peuvent
être surmontées par l'utilisation directe d'un langage de modélisation pour la program-
mation mathématique.
Un langage de modélisation est conçu pour exprimer un modèle mathématique dans une
forme pouvant être soumise directement à un ordinateur pour être traitée entièrement par
celui-ci sans avoir à écrire le moindre programme.
Les avantages des langages de modélisations sur les générateurs de matrices ont été abor-
dés en détail dans [19].
Nous décrivons Dans cette section un langage de modélisation trés utilisé dans la com-
munauté de la recherche opérationnelle, il s'agit du langage AMPL [35].
AMPL (Mathematical Programming Language) est un langage de modélisation algébrique
pour exprimer des problèmes d'optimisation linéaires et non-linéaires sur des variables dis-
crètes ou continues. Ce langage a été développé dans les laboratoires Bell, il consiste en
une notation commune et des concepts familiers proches de la forme algébrique.
Comparé aux langages précédents, AMPL est remarquable par la généralité de sa syntaxe
et par la similarité de ces expressions à la notation algébrique utilisée dans la rédaction
des modèles mathématiques.
Ampl en lui même ne peut être utilisé que pour spécier des classes de modèles de pro-
grammation mathématique. Pour une utilisation courante du langage, il doit être intégré
dans un système qui gère les données, les modèles et les solutions.

Principe de fonctionnement [2] L'utilisateur du langage AMPL rédige son modèle


dans la syntaxe AMPL en utilisant un éditeur de texte de son choix et sauvegarde dans un
chier modèle de type texte dont l'extension est, en général  .mod . , Il rédige également
un chier Data dans un chier d'extension  .dat .
La première tâche du  translateur AMPL  est de lire ces deux chiers et d'écrire
une représentation de ce problème(linéaire ou non linéaire) dans une forme adaptée à
la résolution par les algorithmes d'optimisation(Solveurs). Il doit également garder des
informations pour lister la solution optimale dans une forme appropriée.
5.1. Concepts du Langage AMPL [3] 70

Model File DATA File 1 DATA File 2

AMPL

Interaction d’AMPL avec


Le serveur Neos

MPS(text)
or Binary Interface Web Internet
File

Solvers
Cplex Minos loqo Solvers Neos
Server

E−Mail Internet
Solution File

Figure 5.1  Principe de fonctionnement d'AMPL

Le translateur réalise ce travail en sept phases : analyse syntaxique, lecture des don-
nées, génération, collection,  presolve  et sortie.
1. Analyse La phase d'analyse lit le chier modèle et le transforme en un arbre des
expressions. Elle utilise un programme LEX pour l'analyse lexicale et un analyseur
produit par le générateur d'analyseur YACC. LEX t YACC simplient considéra-
blement le développement de langage.
2. Lecture La phase de la lecture des données permet de contrôler et de vérier la
conformité de celles-ci, comme les paramètres et les ensembles peuvent apparaître
dans un ordre quelconque dans le chier DATA. Les données ne peuvent être contrô-
lées que lorsque tout a été lu. Ainsi, on vérie les doubles dénitions, les ensembles
contenant des éléments dupliqués, les membres sont à la bonne dimension, et les
valeurs saisies pour les paramètres sont bien des nombres ...etc.
3. Compilation La phase de compilation transforme l'arbre des expressions (généré
dans la phase précédente) an de permettre une évaluation ecace des ensembles,
5.1. Concepts du Langage AMPL [3] 71

paramètres, variables et les autres entités dérivées. Elle déplace les invariants de
l'intérieur des boucles par exemple. Comme le contenu des ensembles d'index dépend
du chier Data, la compilation doit donc suivre la lecture des données.
4. Génération Dans la phase de génération qui suit immédiatement, Les Data sont
minutieusement contrôlées et toutes les entités dérivées sont calculées. On vérie
toutes les conditions imposées par le modèle ( les restrictions de l'intégralité et la
non négativité sur les paramètres) et que les indices sont valides pour les composants
du modèle qu'ils indexent.

5. Collection A la conclusion de l'étape précédente, le  translateur  aura créé une


liste de tous les termes linéaires et non linéaires) dans le modèle. Une variable
peut,cependant, apparaître dans deux ou plus de termes dans la même fonction ob-
jectif ou la contrainte.
La phase de collection combine ces diérentes apparences en une seule et classe les co-
ecients de chaque variable de façon à correspondre à l'ordre donné aux contraintes.
6. Presolve Aprés l'accomplissement des cinq phases précédentes, on envisage dans
cette phase de rendre le problème moins important ou plus facile à résoudre en
procédant aux éventuelles transformation suivantes :
(a) élimination des variables qui n'apparaissent ni dans la fonction objectif ni dans
les contraintes
(b) eacement des variables xées à une valeur, soit parce que la borne sup et la
borne inf sont égales soit par des contraintes d'égalité qui impliquent une seule
variable. Dans ce cas, même les contraintes sont éliminées. Ces actions peuvent
produire elles mêmes des situations de variables uniques dans une contraintes,
on le fait, alors sur plusieurs passages.
(c) conversion en bornes de toute contrainte d'inégalité impliquant une seule va-
riable. Ces bornes sont combinées avec celles spéciées dans la déclaration de la
variable. Plusieurs passages également sont nécessaires puisque des contraintes
de ce type peuvent emerger aprés chaque passage.
(d) conversion des doubles contraintes d'inégalité en contrintes d'égalité ou en
bornes
(e) Suppression des contraintes d'inégalité qui peuvent être lâches dans des solu-
tions faisables. Ce genre de contraintes est détecté en remplaçant les variables
par la valeur de la borne (sup ou inf). Ce test permet également de détecter des
contraintes qui ne seront jamais satisfaites, auquel cas l'utilisateur est averti
de la non validité de son modèle.
7. Sortie La phase nale de sortie consiste à produire une forme du modèle translaté
susceptible d'être traitée par un optimiseur(solveur). Cette sortie est conforme à la
forme standard MPS [12] .
5.2. Mise en oeuvre du programme de génération des matrices de ots et de chiers AMPL 72

5.2 Mise en oeuvre du programme de génération des


matrices de ots et de chiers AMPL
Il s'agit d'une application écrite en java. Essentiellement trois classes ont été dénies :
la classe graph, objet principal de l'application ; la classe arc et la classe demande(qui
exprime une demande de débit entre une paire de noeuds donnée).

En entrée on reçoit un graphe ( sommets , arcs et valuation sur les arcs qui repré-
sentent la capacité du lien associé à cet atc).
On extrait les éléments essentiels de ce graphe, notamment les chemins élementaires entre
toutes les paires de noeuds en utilisant la structure de "List".
Le modèle stochastique de génération de matrices de trac précédent exige de calculer Cq
que nous avons interprété comme le ot maximum pouvant être acheminé entre la paire
de noeuds q.
Nous avons implémenté pour celà, l'algorithme de Ford-Fulkerson qui s'applique à un
graphe simple valué. Ce qui n'est pas le cas de nos graphes qui sont forcément des 2-
graphe, car les liens dans le réseau sont bidirectionnels.
Pour surmonter cet obstacle, On extrait des sous graphes partiels.
Une fois la matrice de trac générée, nous créons les deux chiers AMPL (modèle et Data)
correspondants qui vont être soumis aux diérents solveurs.

5.3 Les réseaux physiques de test


An d'étudier notre problème, nous avons eu recours aux réseaux physiques des gures
(5.2,5.3). les tailles des problèmes représentés dans ces gures sont relativement modestes.
Les solveurs connus dans le domaine peuvent donc en venir à bout et aboutir à l'optimum
en un temps acceptable.

Première topologie physique de test


 C'est un graphe de 4 sommets et 6 arcs(liens).
 Capacité des liens 2.5 Gbps
 Nombre total de chemins 24
 Nombre de variables 48
 Nombre de contraintes 68
5.3. Les réseaux physiques de test 73

2 GBPS

Noeud 1 Noeud 2

2 GBPS
2 GBPS

2 GBPS

2 GBPS

2 GBPS
2 GBPS

Noeud 3 Noeud 4

2 GBPS

Figure 5.2  Réseau de test1

Deuxième topologie physique de test


 C'est un graphe de 4 sommets et 8 arcs(liens).
 Capacité des liens 2.5 Gbps
 Nombre total de chemins 38
 Nombre de variables 76
 Nombre de contraintes 98
5.4. Résolution des modèles linéaires et non linéaires 74

2 GBPS

Noeud 1 Noeud 2

2 GBPS
2 GBPS

2 GBPS

2 GBPS

2 GBPS
2 GBPS 2 GBPS

2 GBPS

Noeud 3 Noeud 4

2 GBPS

Figure 5.3  Réseau de test2

5.4 Résolution des modèles linéaires et non linéaires


Pour la résolution des diérents modèles, en l'occurence le modèle non linéaire proposé
dans [4] ainsi que les modèles linéaires obtenus par les deux démarches de linéarisation
présentées dans le chapitre précédent, nous avons opté pour les solveurs suivants :
CPLEX Solveur linéaire global.
BARON Solveur global développé dans la communauté d'optimisation globale, utilisant
des techniques de programmation par contraintes, et d'analyse par intervalles.

5.5 Expérimentation
L'expérimentation a été faite sous Linux Debian 11.2. Le processeur est un CoreI3.
L'application que nous avons réalisée et qui interagit avec l'environnement AMPL et le
serveur Neos (sur internet) a été développée avec le langage Java.
Pour chaque expérience, vingt cinq matrices de demandes(qui représentent une demande
de trac à un instant donné) ont été générées avec l'algorithme 2 et ont servi pour
expérimenter les diérents modèles. Globalement, les étapes de l'expérimentation sont les
suivantes :
1. On saisit le réseau physique.
2. On xe les paramètres liés aux limites physiques du réseau, au modèle stochastisque
et à la charge du réseau.
3. On calcule les chemins, leurs coûts et les ots max pouvant être acheminés entre les
diérentes paires de noeuds.
5.5. Expérimentation 75

Réseau1 : sauts et chemins


α = 4 et p = 2 α = 3 et p = 2
Matrice P NL PL P RL P NL PL P RL
Chem sauts Chem sauts Chem sauts Chem sauts Chem sauts Chem sauts
1 12 16 12 16 12 16 12 16 12 16 12 16
1 12 14 13 14 14 18 12 16 12 16 12 14
2 14 14 12 14 12 16 12 16 13 15 13 15
3 13 15 12 16 12 14 13 17 15 18 13 17
3 12 14 12 16 14 18 12 14 12 16 12 15
4 13 14 12 16 12 16 12 16 13 15 14 16
5 13 15 12 16 12 16 NR NR NR NR NR NR
6 14 13 13 14 14 18 12 16 13 15 15 16
7 15 16 12 16 12 16 12 16 12 16 12 16
8 12 18 15 16 12 16 12 16 14 16 14 17
9 12 17 12 16 15 16 14 18 12 16 16 16
10 13 16 13 14 12 16 15 16 14 16 13 15
11 12 13 12 16 12 16 12 16 15 18 14 16
12 14 14 12 16 14 17 12 16 13 16 15 16
13 12 16 12 14 12 16 12 14 12 14 13 15
14 12 14 12 16 12 14 13 15 12 16 14 16
15 13 14 12 16 14 17 12 16 14 17 12 14
16 13 15 12 16 12 16 15 17 12 16 12 16
17 12 16 12 16 12 16 12 16 12 16 15 17
18 13 15 12 16 14 17 13 14 12 15 13 15
19 14 18 12 16 12 16 12 16 12 16 12 14
20 14 16 14 17 12 16 13 13 12 13 16 18
21 16 18 12 16 12 16 14 16 14 14 12 16
22 13 16 14 17 12 16 12 15 13 15 15 17
23 15 16 12 16 12 16 14 17 14 16 14 16
24 14 17 12 16 12 16 12 15 12 16 13 15
25 13 18 12 16 12 16 12 14 12 16 12 12
M oyenne 12 16 12 16 12 16 12 16 12 16 12 16

Figure 5.4  Expérimentation des modèles sur Net1(Solveurs Baron-Baron)

4. On génère les trois chiers modèles AMPL pour PNL,PL et PRL.


5. On génère un chier Data AMPL
6. On sélectionne un solveur de l'une des deux manières :
 On choisit un solveur local parmi ceux proposés.
 On en choisit un parmi ceux disponibles dans le serveur Neos disponible sur
Internet, auquel cas les resultats sont communiqués par Mail.
La section suivante présente l'analyse des resultats obtenus. Les tableaux ci-dessous repré-
sentent les performances des solveurs Cplex et Baron sur le modèle non linéaire (PNL)et
les modèles linéaires(PL et PRL).
5.5. Expérimentation 76

PNL

PL
14.00
X PRL

12.00

x x
10.00 x x
x

8.00 x
x
microsecondes

x
6.00 x
x x
x
x x
4.00
x x x
x
x x
2.00 x x
x x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Matrices

Figure 5.5  delai global dans le réseau Net1 pour a = 4

PNL

PL
14.00
X PRL

12.00

10.00

x x

8.00 x x
x x
x
microsecondes

x
6.00 x
x x
x
x x
4.00
x x x
x
x x
2.00 x x
x x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Matrices

Figure 5.6  delai global dans le réseau Net1 pour a = 3


5.5. Expérimentation 77

Réseau1 : sauts et chemins


α = 4 et p = 2 α = 3 et p = 2
Matrice P NL PL P RL P NL PL P RL
Chem sauts Chem sauts Chem sauts Chem sauts Chem sauts Chem sauts
1 13 14 12 16 12 16 12 16 13 15 14 16
2 13 15 12 16 12 16 14 18 12 16 12 13
3 14 13 13 14 14 18 12 16 13 15 15 16
4 15 16 12 16 12 16 12 16 12 16 12 16
5 12 14 13 14 14 18 12 16 12 16 12 14
6 14 14 12 14 12 16 12 16 13 15 13 15
7 13 15 12 16 12 14 13 17 15 18 13 17
8 12 14 12 16 14 18 12 14 12 16 12 15
9 14 14 12 16 14 17 12 16 13 16 15 16
10 12 16 12 14 12 16 12 14 12 14 13 15
11 12 14 12 16 12 14 13 15 12 16 14 16
12 13 14 12 16 14 17 12 16 14 17 12 14
13 13 15 12 16 12 16 15 17 12 16 12 16
14 12 16 12 16 12 16 12 16 12 16 15 17
15 13 15 12 16 14 17 13 14 12 15 13 15
16 14 18 12 16 12 16 12 16 12 16 12 14
17 12 18 15 16 12 16 NR NR NR NR NR NR
18 12 17 12 16 15 16 14 18 12 16 16 16
19 13 16 13 14 12 16 15 16 14 16 13 15
19 12 13 12 16 12 16 12 16 15 18 14 16
20 15 16 12 16 12 16 14 17 14 16 14 16
21 14 17 12 16 12 16 12 15 12 16 13 15
22 13 18 12 16 12 16 NR NR NR NR NR NR
23 14 16 14 17 12 16 13 13 12 13 16 18
24 16 18 12 16 12 16 14 16 14 14 12 16
25 13 16 14 17 12 16 12 15 13 15 15 17
M oyenne 12 16 12 16 12 16 12 16 12 16 12 16

Figure 5.7  Expérimentation des modèles sur Net1(Solveurs Baron-Cplex)

PNL

PL
14.00
X PRL

12.00

10.00 x
x

8.00 x x x x
microsecondes

x
x
6.00 x
x
x
x x x
4.00
x x x
x
x x
2.00 x
x x
x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Matrices

Figure 5.8  delai global dans le réseau Net1 pour a = 4


5.5. Expérimentation 78

Réseau1 : sauts et chemins


α = 4 et p = 2 α = 3 et p = 2
Matrice P NL PL P RL P NL PL P RL
Chem sauts Chem sauts Chem sauts Chem sauts Chem sauts Chem sauts
1 14 16 14 17 12 16 13 13 12 13 16 18
2 16 18 12 16 12 16 14 16 14 14 12 16
3 13 16 14 17 12 16 12 15 13 15 15 17
4 15 16 12 16 12 16 14 17 14 16 14 16
5 14 17 12 16 12 16 12 15 12 16 13 15
6 13 18 12 16 12 16 12 14 12 16 12 12
7 12 14 13 14 14 18 NR NR NR NR NR NR
8 14 14 12 14 12 16 12 16 13 15 13 15
9 13 15 12 16 12 14 13 17 15 18 13 17
10 12 14 12 16 14 18 12 14 12 16 12 15
11 13 14 12 16 12 16 12 16 13 15 14 16
12 14 14 12 16 14 17 12 16 13 16 15 16
13 12 16 12 14 12 16 NR NR NR NR NR NR
14 12 14 12 16 12 14 13 15 12 16 14 16
15 13 14 12 16 14 17 12 16 14 17 12 14
16 13 15 12 16 12 16 15 17 12 16 12 16
17 12 16 12 16 12 16 12 16 12 16 15 17
18 13 15 12 16 14 17 13 14 12 15 13 15
19 14 18 12 16 12 16 12 16 12 16 12 14
20 13 15 12 16 12 16 14 18 12 16 12 13
21 14 13 13 14 14 18 12 16 13 15 15 16
22 15 16 12 16 12 16 12 16 12 16 12 16
23 12 18 15 16 12 16 NR NR NR NR NR NR
24 12 17 12 16 15 16 14 18 12 16 16 16
25 13 16 13 14 12 16 15 16 14 16 13 15
M oyenne 12 16 12 16 12 16 12 16 12 16 12 16

Figure 5.10  Expérimentation des modèles sur Net2(Solveurs Baron-Baron)

PNL

PL
14.00
X PRL

12.00

10.00

8.00 x
x
microsecondes

x
x x
6.00 x
x x
x x

x
4.00
x x x x
x x
x
2.00 x x
x x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Matrices

Figure 5.9  delai global dans le réseau Net1 pour a = 3


5.5. Expérimentation 79

PNL

PL
14.00
X PRL

12.00

10.00 x

x x
8.00
x
microsecondes

x x
x
x
6.00 x
x

x x
4.00
x x x
x
x x
x
2.00 x x
x x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Matrices

Figure 5.11  delai global dans le réseau Net2 pour a = 6

PNL

PL
14.00
X PRL

12.00

10.00 x
x

8.00 x
x
microsecondes

x x x
6.00 x
x x
x x
x x
4.00
x x x
x
x x
2.00 x x
x x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Matrices

Figure 5.12  delai global dans le réseau Net2 pour a = 5


5.5. Expérimentation 80

Réseau1 : sauts et chemins


α = 4 et p = 2 α = 3 et p = 2
Matrice P NL PL P RL P NL PL P RL
Chem sauts Chem sauts Chem sauts Chem sauts Chem sauts Chem sauts
1 12 14 13 14 14 18 12 16 12 16 12 14
2 14 14 12 14 12 16 12 16 13 15 13 15
3 14 14 12 16 14 17 12 16 13 16 15 16
4 12 16 12 14 12 16 12 14 12 14 13 15
5 12 14 12 16 12 14 13 15 12 16 14 16
6 13 14 12 16 14 17 12 16 14 17 12 14
7 13 15 12 16 12 16 15 17 12 16 12 16
8 13 15 12 16 12 16 14 18 12 16 12 13
9 14 13 13 14 14 18 12 16 13 15 15 16
10 13 14 12 16 12 16 12 16 13 15 14 16
11 12 18 15 16 12 16 12 16 14 16 14 17
12 12 17 12 16 15 16 14 18 12 16 16 16
13 13 16 13 14 12 16 15 16 14 16 13 15
14 12 13 12 16 12 16 12 16 15 18 14 16
15 16 18 12 16 12 16 14 16 14 14 12 16
16 13 16 14 17 12 16 12 15 13 15 15 17
17 15 16 12 16 12 16 14 17 14 16 14 16
18 14 17 12 16 12 16 NR NR NR NR NR NR
19 13 18 12 16 12 16 12 14 12 16 12 12
20 12 16 12 16 12 16 12 16 12 16 15 17
21 13 15 12 16 14 17 13 14 12 15 13 15
22 14 18 12 16 12 16 12 16 12 16 12 14
23 14 16 14 17 12 16 13 13 12 13 16 18
24 15 16 12 16 12 16 12 16 12 16 12 16
25 13 15 12 16 12 14 13 17 15 18 13 17
M oyenne 12 16 12 16 12 16 12 16 12 16 12 16

Figure 5.13  Expérimentation des modèles sur Net2(Solveurs Baron-Cplex)

PNL

PL
14.00
X PRL

12.00

10.00

8.00 x
x
x
microsecondes

x x
6.00 x x
x x
x x
x x x
4.00
x x x
x
x x
x x
2.00 x
x x

.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Matrices

Figure 5.14  delai global dans le réseau Net2 pour a = 6


5.6. Résultats et analyse 81

PNL

PL
14.00
X PRL

12.00

x x
10.00 x x
x

8.00 x
x
microsecondes

x
6.00 x
x x
x
x
x x
4.00 x
x x x
x
x x x
2.00 x
x

.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Matrices

Figure 5.15  delai global dans le réseau Net2 pour a = 5

5.6 Résultats et analyse


Une étude comparative a été réalisée pour les modèles PNL,PL et PRL sur les réseaux
de test présentés ci-dessus, en utlisant les mêmes paramètres et les mêmes topologies.
Pour les trois modèles, nous avons associé des couts aux chemins ( wqk ) correspondant au
nombre d'arcs composant chaque chemin(des valeurs typiques de wqk pour les réseaux Net1
et Net2 sont 1,2 et 3), les autres paramètres sont instanciés de la manière suivante :
 δq = 2.5 Gbps, Les ots sur les chemins peuvent aller jusqu'au maximum de la
capcité disponible.
 θq = 30 µS (microsecondes) , c'est le délai maximum autorisé pour une paire de
noeuds.
 α = 1 et β = 1, On attribue la même importance aux deux termes constituant
la fonction objectif (le terme représentant la complexité du "layout" et le terme
représentant le délai global dans le réseau).
 a = 3 et a = 4, respectivement pour rééter une charge moyenne dans le réseau
Net1 et une surcharge dans celui-là.
 a = 5 et a = 6, respectivement pour rééter une charge moyenne dans le réseau
Net2 et une surcharge dans celui-là.
 Dans le cas du réseau Net1, toutes les paires de noeuds sont reliées de manière
équivalente : deux chemins existent entre toute paire de noeud et le ot maximum
que l'on peut véhiculer entre toute paire de noeuds vaut 5 Gbps. Y = M aximumq Cq
M inimumq Cq
=1
Dans le cas du réseau Net2, quelques paires de noeuds peuvent véhiculer un ot
maximum allant jusqu'à 7.5 Gbps, alors que d'autres ne peuvent véhiculer que 5
Gbps. le rappaort est alors de Y = 1.5. Les tables ( 5.4,5.7,5.10,5.13 ) donnent
5.6. Résultats et analyse 82

des solutions pour les problèmes posés pour les deux réseaux et pour des charges
moyennes (a=4 pour Net1 et a=6 pour Net2) mais également pour une surcharge
des réseaux(a=3 pour Net1 et a=5 pour Net2).
les solutions sont données sous forme de nombres de chemins utilisés et de nombre
de sauts total pour ces chemins.
La mention NR représente une solution non réalisable.
Conclusion Générale
Le travail eectué dans ce mémoire constitue une exploration trés fructueuse dans
le domaine des réseaux nouvelle génération qui intègrent dans une même plateforme ré-
seau des services et des applications divers longtemps déployés dans des infrastructures
séparées. Ce qui constitue un interêt majeur pour les opérateurs de télécommuncation
(coût d'opérations et de maintenance) d'une part, et pour les utilisateurs naux, d'autre
part, qui ont accés à des applications et services de plus en plus diversiés sur un même
terminal.
Nous avons mis l'accent sur le protocole MPLS qui joue un rôle prépondérant dans
la cohabitation de ces applications de caractéristiques diérentes dans le même réseau,
malgrés leurs exigences qui dièrent en matière de qualité de service. En eet, Le protocole
MPLS est à même de travailler le routage ou la commutation sur des ots de données
plutôt que sur des paquets, il peut déterminer, alors, quels chemins sont à même d'assurer
la qualité de service exigée par ces diérents ots de données.
Nous avons étudié le modèle d'un réseau à base de routeurs implémentant MPLS ex-
posé dans [4]en vue d'optimiser l'établissement des LSP (constitution de chemins logiques
entre les diérentes paires de noeuds) sachant que l'établissement et la conguration de
ceux-ci engendrent un coût pour l'opérateur qu'il voudrait minimiser. Le problème s'est
avéré être non linéaire mixte (NP-complet), problème résolu dans [4] par des méthodes
approchées de recherche locale.
Notre démarche était d'aller vers une résolution golabale. Pour assurer le calcul de
l'optimum dans un délai acceptable, nous avons opté pour la simplication du terlme qui
est responsable de la non linéarité du modèle. Nous l'avons fait de deux manières :
La première consiste à linéariser ce terme qui pose problème et qui apparaît à la fois
dans la fonction objectif et dans l'une des contraintes. c'est un terme quadratique dont le
passage à une forme linéaire n'est pas du tout évident.
Le deuxième ranement opéré a consisté en une relaxation linéaire qui tient du modèle
stochastique M/M/1 lui même, puisque à notre avis les paramètres dont il faut tenir
compte sont les λet Ci seulement. Ce qui nous permettra d'éliminer xi . Les résultats
expérimentaux ont plus ou moins conrmé nos hypothèses.
Dans le volet perspectives, nous pensons que le modèle de le d'attente ne traduit pas
toute la réalité des les d'attentes engendrées dans les routeurs MPLS. En eet, les ots
ne sont pas tous égaux en matière d'exigence en (bande passante, délai,...) c'est à dire la
qualité de service. Les ots doivent être servis diéremment, ils doivent, alors se trouver
dans des les diérentes ou la même ile avec plusieurs serveurs, ce qui traduit mieux la
réalité. Le modèle se trouvera alors modié.

83
Annexe A
-

1 Eléments de base du langage AMPL [3]


Les cinq grandes parties d'un modèle algébrique sont : les ensembles, les paramètres, les
variables, la fonction objectif et les contraintes. Ils sont aussi les cinq types de composants
dans un modèle AMPL. Le reste de cette section présente brièvement chaque composante
et sa représentation AMPL.

Ensembles
Un ensemble est un groupement de plusieurs éléments distincts, mais de même type.
En particulier, tous les éléments doivent avoir le même nombre de composantes (tous des
paires, des triplets,...). La denition d'un ensemble commence par { et ni par }.
Un ensemble peut être n'importe quelle collection non ordonnée d'objets pertinents à
un modèle. Par exemple, le modèle de planication de la production optimise la production
d'un ensemble de produits qui sont fabriqués à partir d'un ensemble de matières premières.
AMPL groupe les produits et les matières premières en utilisant les déclarations :
set P; # Produits
set R; # mateiéres premières
Un autre type de jeu est une suite d'entiers. Dans le modèle de l'échantillon, la séquence
de toute période allant de 1 à T est un tel ensemble. Il est représenté dans AMPL par
l'expression 1..T , où T est un paramètre dont la valeur est le nombre de périodes.

Paramètres
Un paramètre est une valeur pertinente à un modèle. Le type le plus simple d'un pa-
ramètre est une valeur unique, telle que le nombre de périodes dans notre exemple.

On déclare un paramètre selon le format général suivant :


param nom [ index ] [ attribs ] ;
La partie index est une partie optionnelle pour dénir la taille de l'ensemble.

84
1. Eléments de base du langage AMPL [3] 85

attribs :
binary, le paramètre doit être binaire,
integer, le paramètre doit être entier,
symbolic, le paramètre peut prendre une valeur alphanumérique
(par exemple le nom d'un élément d'un autre ensemble).
relop expr, où relop peut être < <= = == ! = <> > >=.
in setxpr, vérifie si le paramètre appartient à un
ensemble donné.
:= expr, définition du paramètre.
default expr même chose que pour la déclaration
d'un ensemble.
La plupart des déclarations AMPL qui déclarent des paramètres spécie également
certaines restrictions sur ces paramètres. Par exemple, le nombre de périodes est déclaré
par : param T > 0 integer ;

Variables
Les variables d'un programme linéaire sont déclarées comme les paramètres. La seule
diérence est que les valeurs des variables doivent être déterminées par optimisation,
tandis que les valeurs des paramètres sont xes, c'est-à-dire fournies à l'avance.
Le format général de délaration des variables est le suivant :

var nom [ index ] [ attribs ] ;

attribs :
binary, la variable est binaire
integer, la variable est entière
>= expr, si la variable est inférieurement borné
<= expr, si la variable est supèrieurement borné
:= expr, valeur xée

Une déclaration typique de la variable "matières premières" dans l'exemple ci-dessus est
donnée comme suit :
var x {P,1..T} >= 0; # unités de produits fabriqués dans la période

Contraintes
Une contrainte peut être une égalité ou une inégalité linéaire sur les paramètres et les
variables.
En prenant l'exemple de planication de production, une contrainte de solde relative
à l'inventaire d'une période à l'autre serait :
stock {i in R, t in 1..T }:
s [i,t+1] = s [i,t] - sum {j in P} a [i,j] * x [j,t] ;
# stock pendant la prochaine période = période actuelle
- matières premières
1. Eléments de base du langage AMPL [3] 86

Objectif
Une fonction objectif est une expression linéaire sur les paramètres et les variables. La
déclaration de la fonction objectif est de la forme suivante :
maximize name [alias] [index] : expression ;
ou
minimize name [alias] [index] : expression ;
À titre d'exemple, considérons la fonction objectif :
maximize profit:
sum {t in 1..T } sum {j in P} c [j,t] * x [j,t]
- sum {i in R} d [i] *s [i,t]
+ sum {i in R} f [i] * s [i,T+1]
# total sur toutes les périodes du profit estimé
# - le coût de stockage + coûts de la valeur des
# matières premières après la dernière période
Annexe B
Les chiers modèles générés ci-dessous correspondentrespectivement à la formulation
non linéaire, linéaire et la relaxation linéaire :

1 Fichier modèle AMPL du modèle non linéaire


param N > 0 integer; # nombre de noeuds
param M > 0 integer; # nombre de d'arcs (liens)
param K > 0 integer; # nombre maximun de chemins possibles.
param lambda > 0; # taille moyenne des paquets
param alpha > 0; # facteur d'importance (nombre de chemins)
param beta > 0; # facteur d'importance (délai de bout en bout)
param epsilone > 0; # infiniment petit

################################
### Definition des ensembles ###
################################

set noeuds := 1..N; # ensemble de noeuds


set arcs := 1..M; # ensemble d'arcs
set couples := {n1 in noeuds, n2 in noeuds : n1 <> n2}; # ensemble de couples source-destination
set indice_chemins := 1..K; # k est l'ensemble des indices qui parcourent tous les chemins possibles
set incidence_chemin_arc within {(m,n) in couples, k in indice_chemins, i in arcs};# matrice d'incidence
chemins_arcs
set chemins := setof {(m,n,k,i) in incidence_chemin_arc} (m,n,k);# liste des chemins dans la matrice
d'incidence chemins_arcs
set chemins_par_lien {i in arcs} := {(m,n,k,j) in incidence_chemin_arc: i = j};# liste des chemins
traversant l'arc i
set liens_par_chemin {(m,n,k) in chemins} := {j in arcs : (m,n,k,j) in incidence_chemin_arc};
# arcs utilises par le chemin (m,n,p)

##################
### Parametres ###
##################

param C {arcs} >= 0; # capacite des liens

param d {couples} >= 0; # matrice des demandes

param cout_du_chemin {(m,n,k) in chemins} := card{liens_par_chemin[m,n,k]}; # cout par chemin = nombre


de sauts

param delta {couples} >= 0; # une limite dans les flux par chemin ( pour assurer chemin_utilise = 0 ou 1)

param teta {couples} >= 0; # delai maximum a admettre entre source_destination

#################
### Variables ###
#################

var h {chemins} binary; # chemin utilise = 1, chemin non utilise = 0

87
2. Fichier modèle AMPL du modèle linéaire 88

var flux_sur_chemin {chemins} >= 0;

var flux_sur_lien {i in arcs} = sum{(m,n,k,i) in chemins_par_lien[i]} flux_sur_chemin[m,n,k];


# flux total su le lien i

var delai_sur_lien {i in arcs} = 1/(C[i]-flux_sur_lien[i]);


# delai sur le lien

var delai_sur_chemin{(m,n,k) in chemins} = sum{i in liens_par_chemin[m,n,k]} delai_sur_lien[i];


# delai associe a un chemin

##########################
### Fonction Ojectif ###
##########################

minimize cout_total : (alpha*sum {(m,n,k) in chemins} cout_du_chemin[m,n,k]*h[m,n,k])


+(beta*sum {(m,n,k) in chemins} h[m,n,k]*sum {i in arcs} lambda*delai_sur_lien[i]);

###################
### Contraintes ###
###################

subject to contrainte_de_capacite {i in arcs} : flux_sur_lien[i] <= C[i]; # contrainte_de_capacite

subject to contrainte_de_demande {(m,n) in couples} : sum {(m,n,k) in chemins} (flux_sur_chemin[m,n,k]) = d[m,n];


# contrainte demande

subject to contrainte_de_delai {(m,n,k) in chemins} : delai_sur_chemin[m,n,k]*h[m,n,k] <= teta[m,n];


# contrainte_delai par lien

subject to contrainte_de_flux_sur_chemin {(m,n,k) in chemins} : flux_sur_chemin[m,n,k] <= delta[m,n]*h[m,n,k];

2 Fichier modèle AMPL du modèle linéaire


param N > 0 integer; # nombre de noeuds
param M > 0 integer; # nombre de d'arcs (liens)
param K > 0 integer; # nombre maximun de chemins possibles.
param lambda > 0; # taille moyenne des paquets
param alpha > 0; # facteur d'importance (nombre de chemins)
param beta > 0; # facteur d'importance (délai de bout en bout)
param epsilone > 0; # infiniment petit

################################
### Definition des ensembles ###
################################

set noeuds := 1..N; # ensemble de noeuds


set arcs := 1..M; # ensemble d'arcs
set couples := {n1 in noeuds, n2 in noeuds : n1 <> n2}; # ensemble de couples source-destination
set indice_chemins := 1..K; # k est l'ensemble des indices qui parcourent tous les chemins possibles
set incidence_chemin_arc within {(m,n) in couples, k in indice_chemins, i in arcs};# matrice
d'incidence chemins_arcs
set chemins := setof {(m,n,k,i) in incidence_chemin_arc} (m,n,k);# liste des chemins dans la matrice
d'incidence chemins_arcs
set chemins_par_lien {i in arcs} := {(m,n,k,j) in incidence_chemin_arc: i = j};# liste des chemins
traversant l'arc i
set liens_par_chemin {(m,n,k) in chemins} := {j in arcs : (m,n,k,j) in incidence_chemin_arc};
# arcs utilises par le chemin (m,n,p)

##################
### Parametres ###
##################
3. Fichier modèle AMPL du modèle relaxation linéaire 89

param C {arcs} >= 0; # capacite des liens

param d {couples} >= 0; # matrice des demandes

param cout_du_chemin {(m,n,k) in chemins} := card{liens_par_chemin[m,n,k]};


# cout par chemin = nombre de sauts

param delta {couples} >= 0; # une limite dans les flux par chemin ( pour assurer chemin_utilise = 0 ou 1)

param teta {couples} >= 0; # delai maximum a admettre entre source_destination

#################
### Variables ###
#################

var h {chemins} binary; # chemin utilise = 1, chemin non utilise = 0

var flux_sur_chemin {chemins} >= 0;

var flux_sur_lien {i in arcs} = sum{(m,n,k,i) in chemins_par_lien[i]} flux_sur_chemin[m,n,k];


# flux total su le lien i

var delai_sur_lien {i in arcs} = 1/(C[i]-flux_sur_lien[i]); # delai sur le lien

var delai_sur_chemin{(m,n,k) in chemins} = sum{i in liens_par_chemin[m,n,k]} delai_sur_lien[i];


# delai associe a un chemin

##########################
### Fonction Ojectif ###
##########################

minimize cout_total : (alpha*sum {(m,n,k) in chemins} cout_du_chemin[m,n,k]*h[m,n,k])


+(beta*sum {(m,n,k) in chemins} h[m,n,k]*sum {i in arcs} lambda*delai_sur_lien[i]);

###################
### Contraintes ###
###################

subject to contrainte_de_capacite {i in arcs} : flux_sur_lien[i] <= C[i]; # contrainte_de_capacite

subject to contrainte_de_demande {(m,n) in couples} : sum {(m,n,k) in chemins} (flux_sur_chemin[m,n,k]) = d[m,n];


# contrainte demande

subject to contrainte_de_delai {(m,n,k) in chemins} : delai_sur_chemin[m,n,k]*h[m,n,k] <= teta[m,n];


# contrainte_delai par lien

subject to contrainte_de_flux_sur_chemin {(m,n,k) in chemins} : flux_sur_chemin[m,n,k] <= delta[m,n]*h[m,n,k];

3 Fichier modèle AMPL du modèle relaxation linéaire


param N > 0 integer; # nombre de noeuds
param M > 0 integer; # nombre de d'arcs (liens)
param K > 0 integer; # nombre maximun de chemins possibles.
param lambda > 0; # taille moyenne des paquets
param alpha > 0; # facteur d'importance (nombre de chemins)
param beta > 0; # facteur d'importance (délai de bout en bout)
param epsilone > 0; # infiniment petit

################################
### Definition des ensembles ###
################################

set noeuds := 1..N; # ensemble de noeuds


4. Fichier Data AMPL 90

set arcs := 1..M; # ensemble d'arcs


set couples := {n1 in noeuds, n2 in noeuds : n1 <> n2}; # ensemble de couples source-destination
set indice_chemins := 1..K; # k est l'ensemble des indices qui parcourent tous les chemins possibles
set incidence_chemin_arc within {(m,n) in couples, k in indice_chemins, i in arcs};# matrice d'incidence
chemins_arcs
set chemins := setof {(m,n,k,i) in incidence_chemin_arc} (m,n,k);# liste des chemins dans la matrice
d'incidence chemins_arcs
set chemins_par_lien {i in arcs} := {(m,n,k,j) in incidence_chemin_arc: i = j};# liste des chemins
traversant l'arc i
set liens_par_chemin {(m,n,k) in chemins} := {j in arcs : (m,n,k,j) in incidence_chemin_arc};
# arcs utilises par le chemin (m,n,p)

##################
### Parametres ###
##################

param C {arcs} >= 0; # capacite des liens

param d {couples} >= 0; # matrice des demandes

param cout_du_chemin {(m,n,k) in chemins} := card{liens_par_chemin[m,n,k]}; # cout par chemin = nombre de sauts

param delta {couples} >= 0; # une limite dans les flux par chemin ( pour assurer chemin_utilise = 0 ou 1)

param teta {couples} >= 0; # delai maximum a admettre entre source_destination

#################
### Variables ###
#################

var h {chemins} binary; # chemin utilise = 1, chemin non utilise = 0

var flux_sur_chemin {chemins} >= 0;

var flux_sur_lien {i in arcs} = sum{(m,n,k,i) in chemins_par_lien[i]} flux_sur_chemin[m,n,k];


# flux total su le lien i

var delai_sur_lien {i in arcs} = 1/(C[i]-flux_sur_lien[i]); # delai sur le lien

var delai_sur_chemin{(m,n,k) in chemins} = sum{i in liens_par_chemin[m,n,k]} delai_sur_lien[i];


# delai associe a un chemin

##########################
### Fonction Ojectif ###
##########################

minimize cout_total : (alpha*sum {(m,n,k) in chemins} cout_du_chemin[m,n,k]*h[m,n,k])


+(beta*sum {(m,n,k) in chemins} h[m,n,k]*sum {i in arcs} lambda*delai_sur_lien[i]);

###################
### Contraintes #$12$& $16$##
###################

subject to contrainte_de_capacite {i in arcs} : flux_sur_lien[i] <= C[i]; # contrainte_de_capacite

subject to contrainte_de_demande {(m,n) in couples} : sum {(m,n,k) in chemins} (flux_sur_chemin[m,n,k]) = d[m,n];


# contrainte demande

subject to contrainte_de_delai {(m,n,k) in chemins} : delai_sur_chemin[m,n,k]*h[m,n,k] <= teta[m,n];


# contrainte_delai par lien

subject to contrainte_de_flux_sur_chemin {(m,n,k) in chemins} : flux_sur_chemin[m,n,k] <= delta[m,n]*h[m,n,k];

4 Fichier Data AMPL


# Nombre de noeuds = 4
4. Fichier Data AMPL 91

# Nombre de liens(arcs) = 8
# Nombre de chemins = 24
###########################################;
data;
data;
param N := 4;
param M := 8;
param K := 24;
param lambda := 6400.0;
param alpha := 1.0;
param beta := 1.0;
param epsilone := 1.0E-4;
param C :=
1 2500.0
2 2500.0
3 2500.0
4 2500.0
5 2500.0
6 2500.0
7 2500.0
8 2500.0
;
set incidence_chemin_arc :=
(1,2,1,*) 1
(1,2,2,*) 4 6 8
(1,3,1,*) 1 3
(1,3,2,*) 6 8
(1,4,1,*) 1 3 5
(1,4,2,*) 8
(2,1,1,*) 2
(2,1,2,*) 3 5 7
(2,3,1,*) 2 6 8
(2,3,2,*) 3
(2,4,1,*) 2 8
(2,4,2,*) 3 5
(3,1,1,*) 2 4
(3,1,2,*) 5 7
(3,2,1,*) 4
(3,2,2,*) 1 5 7
(3,4,1,*) 2 4 8
(3,4,2,*) 5
(4,1,1,*) 2 4 6
(4,1,2,*) 7
(4,2,1,*) 4 6
(4,2,2,*) 1 7
(4,3,1,*) 6
(4,3,2,*) 1 3 7
;
param d default 0.0 :
1 2 3 4 :=
1 . 1540.2426472710936 122.90583907910177 1599.0144277247834
2 1335.9640592222725 . 1252.227012148573 828.2704345221038
3 560.5691615615908 1047.897802264371 . 707.0037517846724
4 664.6726070816178 1244.7372558239117 405.0838235336888 .
;
param delta default 0 :
1 2 3 4 :=
1 . 2500.0 2500.0 2500.0
2 2500.0 . 2500.0 2500.0
3 2500.0 2500.0 . 2500.0
4 2500.0 2500.0 2500.0 .
;
param teta default 0 :
1 2 3 4 :=
1 . 3.0E-5 3.0E-5 3.0E-5
2 3.0E-5 . 3.0E-5 3.0E-5
3 3.0E-5 3.0E-5 . 3.0E-5
4 3.0E-5 3.0E-5 3.0E-5 . ;
Bibliographie
[1] P. Huang A. Feldman, A.C. Gibert and W. Willinger. Dynamics of ip trac : A
study of the role of variability and the impact of control. SIGCOM, 1999.
[2] R. A. Fourer, Gay, D.M., and Kernighan B.W. AMPL : A Mathematical Programming
Language. University of Michigan, 1995.
[3] R. A. Fourer, Gay, D.M., and Kernighan B.W. AMPL : A Modeling Language for
Mathematical Programming . Duxbury Press / Brooks/ Cole Publishing Company,
2002.
[4] S. Beker. Techniques d'Optimisation pour le Dimensionnement et la Reconguration
Des Réseaux MPLS. PhD thesis, ENST, Ecole Nationale Supérieure des Télécom-
munications, 2004.
[5] Gérard Bouyer. La hiérarchie numérique synchrone . ENSEA, 1997.
[6] R. Braden, L. Zhang, S. Berson, S. Herzog, and S. Jamin. Resource reservation
protocol (rsvp). Technical Report 2205, Network Working Group, 1997.
[7] Octavio Napoleón MEDINA CARVAJAL. Algorithmes d'attribution de priorité du
modèle DiServ. PhD thesis, ENST, Ecole Nationale Supérieure des Télécommuni-
cations, 2001.
[8] Laura Chapell. Introduction à la conguration de routeurs Cisco . CampusPress,
1999.
[9] Laura Chapell. Implémentation du modèle DiServ dans les routeurs Cisco . Cam-
pusPress, 2002.
[10] I. Charon and A. Germa. Méthodes d'optimisation combinatoire . Masson, 1996.
[11] Claudine Chassagne. Etude générale de la qos. Technical report, CNRS UREC, 1998.
[12] Robert G. Batson Der-San Chen and Yu Dan. Applied Integer Programming : Mo-
deling and Solution. Whiley, 1981.
[13] Isabelle Devarenne. Études en recherche locale adaptative pour l'optimisation combi-
natoire. PhD thesis, Université DE Technologie DE Belfort-Monbeliard, 2007.
[14] T. Jimenez E. Altman, T. Basar and N. Shimkin. Competitive routing in networks
with polynomial costs. INFOCOM, 2000.
[15] R. Callon E. Rosen, A. Viswanathan. Multiprotocol label switching architecture.
Technical Report 3031, Network Working Group, 2001.
[16] Adrian Farrel and Igor Bryskin. GMPLS : Architecture and Applications . Elsevier
Inc, 2006.

92
BIBLIOGRAPHIE 93

[17] R. Fletcher and S. Leyer. Numerical experience with lower bounds for miqp branch
and bound. SIAM Journal of Optimization , 8(2) :604616, 1998.
[18] Sébastien Florek. Qualité de service sur réseau IP . ENSEA, 2003.
[19] Robert Fourer. Modeling languages versus matrix generators for linear programming.
Journal ACM Transactions on Mathematical Software (TOMS , 9(2), 1983.
[20] Eric Gressier-Soudan. Réseaux et QoS. CNAM, 1999.
[21] D. Gross and C. M. Harris. Fundamentals of Queueing Theory . Wiley, 1998.
[22] F. Yeang-Sung Lin H. Hsu. Near-optimal constrained routing in virtual circuit net-
works,. INFOCOM, 2001.
[23] Roberts J.W. Self-similar network trac and performance evaluation, chapter engi-
neering for quality of service. Wiley-Interscience, 2000.
[24] S. Blake K. Nichols, F. Baker, and D. Black. Dénition des champs ds dans les
en-têtes d'ipv4 et ipv6. Technical Report 2474, Network Working Group, 1998.
[25] S. Blake K. Nichols, F. Baker, and D. Black. Dénition des champs ds dans les
en-têtes d'ipv4 et ipv6. Technical Report 2475, Network Working Group, 1998.
[26] Leonard Kleinrock. Queueing Systems Theory . Wiley, 1975-1976.
[27] P. Georgatsos L. Georgiadis, K. Floros and S. Sartzetakis. Lexicographically optimal
balanced networks. INFOCOM, 2001.
[28] Yahia Lebbah, Claude Michel, and Michel Rueher. An ecient and safe framework for
solving optimization problems. Journal of Computational and Applied Mathematics ,
199 :372377, 200.
[29] Yahia Lebbah, Michel Rueher, and Claude Michel. A global ltering algorithm for
handling systems of quadratic equations and inequations. Lecture Notes in Computer
Science, 2470 :109123, 2002.
[30] Jean Luc Montagnier. Les Réseaux d'entreprise par la pratique . Eyrolles, 2003.
[31] J. Nocedal and S.J. Wright. Numerical optimisation. Springer, 42(5) :20762097,
2004.
[32] LAI Hien Phuong, PHAM Quang Dung, Yves Deville, and HO Tuong Vinh. Modèles
heuristiques et metaheuristiques en comet pour le problème bin packing. Technical
Report 27, Institut de la francophonie pour l'informatique, 2008.
[33] Guy Pujolle. Les Réseaux. Editions Eyrolles, 2006.
[34] Philppe Robert. Réseaux et les d'attente : méthodes probabilistes . Springer, 2000.
[35] David M. Gay Robert Fourer and Brian W. Kernighan. A modeling language for
mathematical programming. Management Science , 36 :519554, 1990.
[36] V. Sahinidis and M. Twarmalani. Baron 5.0 : Global optimisation of mixed-integer
nonlinear programs. Technical report, University of Illinois at Urbana-Champaign,
Department of Chemical and Biomolecular Engeneering, 2002.
[37] V. Sahinidis and M. Twarmalani. Convexication and Global Optimization in Conti-
nuous and Mixed-Integer Nonlinear Programming . Kluwer Academic Publishers
Group, 2002.
BIBLIOGRAPHIE 94

[38] A. Sayeed and M.J. Morrow. MPLS and Next-Generation Networks : Foundations
for NGN and Enterprise Virtualization . Cisco Press, 2006.
[39] S. Shenker and J. Wroclawski. General characterization parameters for integrated
service network elements. Technical Report 2215, Network Working Group, 1997.
[40] H.D. Sherali and W.P. Adams. A Reformulation-Linearization Technique for Solving
Discrete and Continuous Nonconvex Problems . Kluwer Academic Publishing, 1999.
[41] W.L. Whinston. Operations Research : Applications and Algorithms , pages 569574.
Duxbury Press, Boston, USA, second edition, 2003.
[42] J. Wroclawski. The use of rsvp with ietf integrated services. Technical Report 2215,
Network Working Group, 1997.

Vous aimerez peut-être aussi