Tel 00004662
Tel 00004662
Tel 00004662
THÈSE
pour obtenir le grade de
DOCTEUR DE L’INPG
Directeur de Thèse :
M. Andrzej Duda
Jury :
3
4
A mes parents,
A mon frère,
5
6
Remerciements
Cette thèse, intitulée « Algorithmes et Mécanismes pour la Qualité de Service dans des
Réseaux Hétérogènes » a été soutenue le 20 décembre 2002 à l’Institut National
Polytechnique de Grenoble devant le jury composé de Mme Brigitte Plateau, Mme Pascale
Primet, Mr Ahmed Serhrouchni et M. Andrzej Duda.
• Mme Brigitte Plateau, Professeur à l’INPG, qui m’a fait l’honneur de bien vouloir présider
ce jury de thèse ;
• Mme Pascale Primet, Maître de Conférences à l’Ecole Normale Supérieure de Lyon, ainsi
que Mr Ahmed Serhrouchni, Maître de Conférences à l’Ecole Nationale Supérieure des
Télécommunications de Paris, qui ont accepté d’être les rapporteurs de ma thèse et pour
l’intérêt qu’ils ont porté à ce travail ;
• M. Andrzej Duda, Professeur à l’Institut National Polytechnique de Grenoble, qui a été
mon directeur de thèse et qui m’a accueilli chaleureusement, soutenu et encouragé durant
toutes ces années de travail, et qui m’a inculqué tout ce que je n’aurai pas pu apprendre
sans sa présence.
Un grand merci à mon collègue de bureau Dominique Decouchant, Chercheur au CNRS, qui a
eu la tendre gentillesse de m’avoir agréablement et paternellement épaulé durant cette
dernière année qui a été la plus difficile, mais aussi la plus souriante grâce à sa présence et sa
bonne humeur permanentes.
Mes sincères remerciements sont adressés à toute l’équipe drakkar, au sein de laquelle j’ai été
agréablement accueillie pour effectuer ce travail.
Enfin, je ne pourrai oublier les membres du laboratoire qui m’ont apporté un grand confort de
travail dans la joie et la bonne humeur : tout d’abord, les Professeurs Jean-Pierre Giraudin qui
m’a apporté de précieux conseils et Dominique Rieu pour ses conseils maternels et son écoute
permanente. Christiane Plumeré pour son amabilité à pouvoir résoudre les petits incidents
techniques qui arrivaient aux mauvais moments , sa sympathie humaine et son sourire
naturel ; Martine Pernice, Liliane Di Giacomo, Solange Roche, pour le soutien qu’elles m’ont
apporté, leur bonne humeur quotidienne et leur précieuse aide administrative ; les étudiants
Mhamed Saidane et Walid Khayati pour les longues nuits passées dans le laboratoire. Samia
Menif, Ibtissem Hassine, Tony, Stéphane Lo-Presti et tous ceux qui m’ont longuement
soutenu et encouragé lors des moments difficiles et avec qui j’ai partagé les pires et les
meilleurs moments de la thèse.
7
8
Résumé
Les réseaux actuels sont assujettis à certaines critiques, notamment lorsque le trafic de
données qui les traverse se diversifie (Internet par exemple). La notion de qualité de service
(QoS) devient alors un concept important si l’on désire transporter l’information avec un
maximum de fiabilité. Les plus importantes métriques de QoS sont le débit, le délai (ainsi que
la gigue) et le taux de pertes. Par ailleurs, la multiplicité des applications conduit à une
hétérogénéité des données, ce qui amène à une classification en deux principales catégories :
les flots élastiques qui représentent les applications qui requièrent un débit soutenu ; d’autre
part, les applications non-élastiques qui sont exigeantes en délai. Pour garantir la qualité de
service au niveau de ces applications, des études ont été menées pour effectuer de la
différenciation de service et par conséquent attribuer un degré de priorité à chaque paquet
appartenant à une classe de flot. De nos jours, plusieurs algorithmes d’ordonnancement sont
mis en œuvre pour réaliser ce processus, et sont classés en deux catégories : tout d’abord, les
ordonnanceurs différenciés tels que ABE ; ensuite, les ordonnanceurs à différenciation
proportionnelle qui permettent de partager équitablement les ressources entre les applications,
selon leurs besoins (WTP, par exemple). Toutefois, la proportionnalité ne s’est jusque-là
effectuée que selon un seul critère de qualité, c’est-à-dire soit en terme de débit, de délai ou de
taux de perte. Le travail de cette thèse consiste à cet effet, à remédier aux insuffisances
présentées par les mécanismes de différenciation proportionnelle basée sur un seul paramètre
de qualité. Il a donc été question de proposer un nouvel algorithme d’ordonnancement à
différenciation proportionnelle, fondée sur la fonction de puissance mettant en jeu le délai et
le débit : ordonnancement par PSP (Power as a Scheduling Parameter). Ainsi, un partage de
ressources délai-débit s’effectuera équitablement entre les applications élastiques et non-
élastiques de manière à ce qu’aucune classe ne puisse subir de phénomène de famine.
L’implémentation et les tests de l’ordonnanceur ont été réalisés au moyen de l’outil de
simulation ns-2. Les résultats offrant une validation probante de l’algorithme, des perspectives
de recherches à base de cette nouvelle méthode sont à l’esprit.
9
10
Table des matières
1. Introduction générale............................................................................................................ 23
Problématique...................................................................................................................... 23
Plan du document ................................................................................................................ 25
2. Qualité de service (QoS) ...................................................................................................... 31
2.1 Introduction .................................................................................................................... 31
2.2 Définition de la Qualité de service ................................................................................. 31
2.3 Paramètres de garantie de la qualité de service.............................................................. 33
2.3.1 Garanties de délai ....................................................................................................... 33
2.3.2 Garanties de débit ....................................................................................................... 34
2.4 Classification des flots ................................................................................................... 35
2.4.1 Flots élastiques ........................................................................................................... 36
2.4.2 Flots non-élastiques .................................................................................................... 37
2.4.2.1 Les applications fermes en temps-réel ............................................................. 37
2.4.2.2 Les applications temps-réel adaptatives........................................................... 37
2.5 Routeurs et qualité de service......................................................................................... 38
2.6 Le modèle à intégration de services : IntServ ................................................................ 39
2.6.1 Définition.................................................................................................................... 39
2.6.2 Caractérisation des flots ............................................................................................. 41
2.6.3 Classes de service ....................................................................................................... 42
2.6.3.1 Le service best-effort........................................................................................ 42
2.6.3.2 Le service « controlled-load » .......................................................................... 42
2.6.3.3 Le service garanti ............................................................................................. 43
2.6.4 Le protocole RSVP..................................................................................................... 44
2.7 Le modèle à différenciation de services : DiffServ........................................................ 46
2.7.1 Principe du service différencié ................................................................................... 46
2.7.2 Architecture des routeurs DiffServ............................................................................. 47
2.7.2.1 Les routeurs de bordure : les « edge routers ».................................................. 48
2.7.2.2 Les routeurs de coeur : les « core routers »...................................................... 49
2.7.3 Classes de services de DiffServ.................................................................................. 50
2.7.3.1 Le service « Best-Effort » ................................................................................ 51
2.7.3.2 Le service « Assured Forwarding ».................................................................. 51
2.7.3.3 Le service « Expedited Forwarding » .............................................................. 51
2.8 Conclusions .................................................................................................................... 52
3. Algorithmes et mécanismes d’ordonnancement .................................................................. 57
3.1 Introduction .................................................................................................................... 57
11
3.2 Algorithmes d’ordonnancement ..................................................................................... 57
3.2.1 Algorithmes à files d’attente unique........................................................................... 57
3.2.2 Algorithmes à files d’attente multiples....................................................................... 59
3.3 Politiques d’ordonnancement ......................................................................................... 60
3.3.1 FIFO ........................................................................................................................... 61
3.3.2 FIFO+ ......................................................................................................................... 62
3.3.3 Fair Scheduling : FQ .................................................................................................. 63
3.3.4 Weighted FQ : WFQ .................................................................................................. 63
3.3.5 Worst-case Fair Weighted Fair Queuing :WF2Q........................................................ 64
3.3.6 Virtual Clock : VC...................................................................................................... 66
3.3.7 Self-Clocked Fair Queuing : SCFQ............................................................................ 67
3.3.8 Priority Queuing : PQ ................................................................................................. 68
3.3.9 Class Based Queuing : CBQ....................................................................................... 69
3.3.10 Alternative Best-Effort : ABE .................................................................................. 70
3.3.11 Hierarchical Fair Share Curve : HFSC ..................................................................... 71
3.4 Mécanismes de gestion de file d’attente ........................................................................ 72
3.4.1 La politique DropTail ................................................................................................. 72
3.4.2 La politique RED........................................................................................................ 73
3.4.3 La politique RIO......................................................................................................... 74
3.4.4 La politique WRED .................................................................................................... 75
3.5 Conclusions .................................................................................................................... 76
4. Ordonnancement à base de puissance pour une différenciation proportionnelle................. 81
4.1 Introduction .................................................................................................................... 81
4.2 Modèle de différenciation proportionnelle..................................................................... 81
4.2.1 Différenciation proportionnelle de délai .................................................................... 82
4.2.2 Différenciation proportionnelle de pertes................................................................... 83
4.3 Ordonnancement par WTP............................................................................................. 83
4.4 Un ordonnanceur équitable à base de puissance : PSP .................................................. 84
4.4.1 Approche de la fonction de puissance ........................................................................ 85
4.4.2 Modélisation de l’ordonnanceur PSP ......................................................................... 87
4.5 Topologie des réseaux à ordonnancement PSP.............................................................. 90
4.5.1 Marqueur et démarqueur ............................................................................................ 92
4.5.2 Flots de données ......................................................................................................... 92
4.5.3 L’ordonnanceur .......................................................................................................... 93
12
4.6 Conclusions .................................................................................................................... 93
5. Simulations et résultats......................................................................................................... 97
5.1 Introduction .................................................................................................................... 97
5.2 Le simulateur ns-2.......................................................................................................... 97
5.3 Implémentation de l’algorithme ..................................................................................... 98
5.3.1 Topologie du réseau simulé........................................................................................ 99
5.3.2 Génération du trafic .................................................................................................... 99
5.3.2.1 Trafic TCP........................................................................................................ 99
5.3.2.2 Trafic UDP ..................................................................................................... 100
5.3.3 Marqueurs et démarqueurs ....................................................................................... 100
5.3.3.1 Marqueur ........................................................................................................ 100
5.3.3.2 Démarqueur.................................................................................................... 100
5.3.4 L’ordonnanceur PSP................................................................................................. 100
5.4 Courbes et Interprétations ............................................................................................ 102
5.4.1 Scénario n°1.............................................................................................................. 103
5.4.2 Scénario n°2.............................................................................................................. 105
5.4.3 Scénario n°3.............................................................................................................. 107
5.4.4 Scénario n°4.............................................................................................................. 109
5.4.5 Scénario n°5.............................................................................................................. 111
5.4.6 Scénario n°6.............................................................................................................. 113
5.4.7 Scénario n°7.............................................................................................................. 115
5.4.8 Scénario n°8.............................................................................................................. 118
5.5 Conclusions .................................................................................................................. 120
6. Conclusions et perspectives ............................................................................................... 123
Conclusion générale .......................................................................................................... 123
Perspectives ....................................................................................................................... 124
Bibliographie.......................................................................................................................... 129
Annexes.................................................................................................................................. 139
13
14
Table des figures
Figure 2.1 : Perception de la QoS dans les réseaux ................................................................. 32
Figure 2.2 : Aspect tridimensionnel de la QoS ........................................................................ 33
Figure 2.3 : Besoins en délai et bande passante des applications ............................................ 35
Figure 2.4 : Utilité d’une application élastique en fonction de la bande-passante................... 36
Figure 2.5 : Utilité d’une application temps-réel ferme en fonction de la bande-passante...... 37
Figure 2.6 : Utilité d’une application temps-réel adaptative en fonction de la bande-passante38
Figure 2.7 : Principe général du modèle à intégration de service ............................................ 40
Figure 2.8 : Modules internes d’un routeur IntServ ................................................................. 40
Figure 2.9 : Principe du Token Bucket .................................................................................... 41
Figure 2.10 : Messages PATH et RESV pour la réservation de ressources............................ 44
Figure 2.11 : Positionnement du champ DSCP dans les paquets IP ........................................ 47
Figure 2.12 : Aspect général d’un réseau DiffServ .................................................................. 48
Figure 2.13 : Principe de fonctionnement d’un routeur « edge »............................................. 49
Figure 2.14 : Architecture d’un routeur interne ...................................................................... 49
Figure 2.15 : Eléments constitutifs d’un réseau DiffServ ....................................................... 50
Figure 2.16 : Qualités requises pour des applications sous DiffServ....................................... 52
Figure 3.1 : Mécanismes d’ordonnancement par estampillage ................................................ 58
Figure 3.2 : Ordonnancement à files multiples ........................................................................ 59
Figure 3.3 : Scénario utilisant l’ordonnancement FIFO........................................................... 61
Figure 3.4 : Mécanisme d’ordonnancement FIFO+ ................................................................. 62
Figure 3.5 : L’ordonnancement par Weighted Fair Queuing ................................................... 64
Figure 3.6 : Distribution des paquets pour les politiques GPS et WF2Q ................................. 65
Figure 3.7 : Exemple d’ordonnacement par Virtual Clock ...................................................... 66
Figure 3.8 : Ordonnancement par PQ....................................................................................... 69
Figure 3.9 : Mécanisme utilisé par l’ordonnancement Class-Based Queuing ......................... 70
Figure 3.10 : Procédé de l’Alternative Best-Effort .................................................................. 71
Figure 3.11 : Modèles des courbes de services de HFSC ........................................................ 72
Figure 3.12 : Gestion de file d’attente par DropTail ................................................................ 73
Figure 3.13 : Mécanisme de fonctionnement de RED ............................................................. 74
Figure 3.14 : Fonctions de probabilité d’élimination de RIO .................................................. 75
Figure 3.15 : Principe de WRED ............................................................................................. 75
Figure 3.16 : Principe de fonctionnement de WRED............................................................... 76
15
Figure 4.1 : Mécanisme de différenciation décrit par WTP ..................................................... 83
Figure 4.2 : Courbe de débit dans des conditions idéales d’un réseau..................................... 85
Figure 4.3 : Délai d’un système en fonction de sa charge........................................................ 86
Figure 4.4 : Détermination du point maximum de puissance .................................................. 86
Figure 4.5 : Aspect théorique de la courbe de puissance ......................................................... 87
Figure 4.6 : Diagramme d’arrivées et de départs de deux paquets .......................................... 88
Figure 4.7 : Principe de distinction du paramètre de puissance ............................................... 89
Figure 4.8 : Topologie d’un réseau expérimental .................................................................... 91
Figure 4.9 : Modélisation de la topologie du réseau ................................................................ 91
Figure 4.10 : Mécanisme du marqueur..................................................................................... 92
Figure 4.11 : Principe de fonctionnement du démarqueur ....................................................... 92
Figure 4.12 : Mécanisme d’ordonnancement PSP ................................................................... 93
Figure 5.1 : Représentation modulaire de l’outil de simulation ns-2 ....................................... 98
Figure 5.2 : Architecture du réseau simulé .............................................................................. 99
Figure 5.3 : Courbes de délai sous PSP : scénario n°1........................................................... 103
Figure 5.4 : Courbes de délai sous WTP : scénario n°1......................................................... 103
Figure 5.5 : Courbes de débit sous PSP : scénario n°1 .......................................................... 104
Figure 5.6 : Courbes de puissance sous PSP : scénario n°1................................................... 104
Figure 5.7 : Courbes de délai sous PSP : scénario n°2........................................................... 105
Figure 5.8 : Courbes de délai sous WTP : scénario n°2......................................................... 106
Figure 5.9 : Courbes de débit sous PSP : scénario n°2 .......................................................... 106
Figure 5.10 : Courbes de puissance sous PSP : scénario n°2................................................. 107
Figure 5.11 : Courbes de délai sous PSP : scénario n°3......................................................... 107
Figure 5.12 : Courbes de délai sous WTP : scénario n°3....................................................... 108
Figure 5.13 : Courbes de débit sous PSP : scénario n°3 ........................................................ 108
Figure 5.14 : Courbes de puissance sous PSP : scénario n°3................................................. 109
Figure 5.15 : Courbes de délai sous PSP : scénario n°4......................................................... 110
Figure 5.16 :Courbes de délai sous WTP : scénario n°4........................................................ 110
Figure 5.17 : Courbes de débit sous PSP : scénario n°4 ........................................................ 111
Figure 5.18 : Courbes de puissance sous PSP : scénario n°4................................................. 111
Figure 5.19 : Courbes de délai sous PSP : scénario n°5......................................................... 112
Figure 5.20 : Courbes de délai sous WTP : scénario n°5....................................................... 112
Figure 5.21 : Courbes de débit sous PSP : scénario n°5 ........................................................ 113
Figure 5.22 : Courbes de puissance sous PSP : scénario n°5................................................. 113
16
Figure 5.23 : Courbes de délai sous PSP : scénario n°6......................................................... 114
Figure 5.24 : Courbes de délai sous WTP : scénario n°6....................................................... 114
Figure 5.25 : Courbes de débit sous PSP : scénario n°6 ........................................................ 115
Figure 5.26 : Courbes de puissance sous PSP : scénario n°6................................................. 115
Figure 5.27 : Courbes de délai sous PSP : scénario n°7......................................................... 116
Figure 5.28 : Courbes de délai sous WTP : scénario n°7....................................................... 116
Figure 5.29 : Courbes de débit sous PSP : scénario n°7 ........................................................ 117
Figure 5.30 : Courbes de puissance sous PSP : scénario n°7................................................. 117
Figure 5.31 : Courbes de délai sous PSP : scénario n°8......................................................... 118
Figure 5.32 : Courbes de délai sous WTP : scénario n°8....................................................... 118
Figure 5.33 : Courbes de débit sous PSP : scénario n°8 ........................................................ 119
Figure 5.34 : Courbes de puissance sous PSP : scénario n°8................................................. 120
17
18
Liste des abréviations
ABE Alternative Best-Effort
AF Assured Forwarding
BE Best-Effort
CBQ Class Based Queuing
CL Controlled-Load
CSCP Class Selector Code Points
DiffServ Differentiated Services
DSCP DiffServ Code Point
ECN Early Congestion Notification
EDF Earliest Deadline First
EDS Equivalent Differentiated Services
EF Expedited Forwarding
FIFO First In First Out
FQ Fair Queuing
GPS Generalized Processor Sharing
GS Guaranteed Service
HDP Hybrid Proportional Delay
HFSC Hierarchical Fair Share Curve
IETF The Internet Engineering for Task Force
IntServ Integrated Services
IP Internet Protocol
MDP Mean-Delay Proportional
OPWA One Pass With Advertising
PHB Per-Hop-Behavior
PLR Proportional Loss Rate
PQ Priority Queuing
PSP Power as a Scheduling Parameter
QoS Quality of Service
RED Random Early Detection
RIO RED with In and Out
RSVP Resource reSerVation setup Protocol
RTCP Real-time Transfer Control Protocol
RTP Real Time Protocol
SCFQ Self-Clocked Fair Queuing
Sdp Scheduler Differenciation Parameter
SLA Service-Level Agreement
TCP Transfer Control Protocol
UDP User Datagram Protocol
UML Unified Modeling Language
VC Virtual Clock
WF²Q Worst-case Fair Weighted Fair Queuing
WFQ Weighted Fair Queuing
WRED Weighted RED
WTP Waiting Time Priority
YESSIR YEt another Sender Session Internet Reservations
19
20
INTRODUCTION GÉNÉRALE
22
1. Introduction générale
Problématique
L’objet du travail qui a été présenté dans cette thèse provient directement d’une constatation
quant à l’utilisation courante des réseaux de communication. Internet est un réseau à
commutation de paquets qui fournit un service d’acheminement des paquets « au mieux »,
plus connu sous l’appellation « Best-Effort ». Par cela, nous entendons que le réseau n’est pas
capable d’assurer une garantie de service aux paquets, soit en délai, soit en débit, soit en
pertes. Tous les types de trafic qui traversent le réseau sont par conséquent traités de la même
manière. Pour les applications qui circulaient aux débuts de l’Internet, ces limitations
n’étaient pas incommodantes en raison de l’insensibilité aux variations temporelles des
applications (le courrier électronique, ou le transfert de fichiers par exemple) ; d’autre part, la
charge des réseaux était bornée ce qui laissait suffisamment de bande-passante disponible
pour le trafic en circulation. Mais aujourd’hui, la naissance de nouvelles applications a fait
d’Internet un réseau à usage plus hétérogène en terme de type de données et par conséquent
plus délicat face à la garantie de service attendue par les utilisateurs. Ainsi, la vidéo et l’audio
sont venus se substituer aux autres applications. Cependant, ces dernières ont des
caractéristiques, sur le réseau, différentes de celles des applications insensibles au délai. De ce
fait, il en découle deux principales catégories de trafic qui traversent couramment les réseaux :
les applications que nous qualifions d’élastiques, caractérisées par une insensibilité à la
métrique « temps » (telles que les e-mails); ce type de trafic devient alors plus
« gourmand » en terme de débit ;
les applications moins sensibles en débit mais exigeantes en délai, que nous qualifions de
non-élastiques ; la vidéo-conférence et la téléphonie sur Internet en sont les exemples les
plus répandus
Ces deux métriques sont, entres autres, à la base d’un besoin de garantie minimum à
percevoir. La notion de Qualité de Service (ou QoS) intervient à cet effet, puisque pour
satisfaire les besoins de ces applications, il est nécessaire de pouvoir leur fournir une qualité
de service qui leur soit adaptée.
Depuis l’apparition de cette revendication, d’importants travaux sont menés dans le domaine
de la qualité de service pour proposer des solutions remédiant aux insuffisances alors
constatées. En particulier, les groupes de l’IETF (The Internet Engineering for Task Force) se
sont penchés sur deux idées. Tout d’abord, un premier groupe, IntServ (Integrated Services)
qui a proposé une architecture à base de réservation de ressources pour chaque flot. Cette
23
dernière s’effectue au moyen du protocole RSVP (Resource Reservation Setup Protocol) pour
gérer cette réservation au niveau de chaque flot, et ainsi fournir de manière individuelle la
ressource requise par l’application demandeuse de qualité de service. Cependant, cette
solution s’est avérée insuffisante pour des réseaux à large dimensionnement. IntServ n’est pas
propice à des réseaux de grande envergure.
C’est pourquoi un second groupe de travail a abordé le problème en proposant une garantie se
service basée sur la différenciation de service. Le groupe DiffServ (Differentiated Services)
fonde son concept sur une gestion de trafic par classe, sur des méthodes de conditionnement
du trafic à l’entrée du réseau et sur le marquage de celui-ci en fonction de son appartenance à
une classe, pour un traitement spécifique. Trois principaux services de DiffServ sont mis en
œuvre : le service « Best-Effort » pour les paquets à traiter « au-mieux » comme le fait
Internet actuellement ; le service « Assured Forwarding » pour des classes à priorité plus
grande que le « Best-Effort » ; enfin le service « Expedited Forwarding » pour les classes les
plus prioritaires.
Parallèlement à ces travaux, les routeurs ont de même pour fonction de pouvoir distribuer les
ressources du réseau aux applications selon des politiques d’ordonnancement. Les algorithmes
sont conçus pour un traitement selon une échelle microscopique des données, à savoir un
traitement au niveau des paquets et non des flots. L’ordonnancement est en effet le processus
qui permet d’acheminer les paquets vers la sortie des routeurs selon une gestion déterminée.
Les multiples travaux de recherches effectués sur cette notion ont conduit à un nombre
important de techniques d’ordonnancement, chacune se basant sur une métrique pour
appliquer l’algorithme de traitement des paquets. Nous distinguons à cet effet les mécanismes
qui fondent leur traitement en fonction de l’aspect temporel des paquets, notamment le temps
d’attente des paquets au sein d’une file d’attente. D’autres algorithmes sont conçus pour
acheminer les paquets en fonction du débit qui leur est offert. L’ordonnancement adopte une
forme de différenciation par classe de paquet et par métrique. Cependant, ces techniques ne
sont pas parfaitement performantes pour tous les types de scénarii existants et dans la plupart
des cas, certaines applications seront désavantagées par rapport à d’autres. Ceci a conduit à
l’introduction d’une nouvelle notion dans le monde de l’ordonnancement : la proportionnalité.
La proportionnalité constitue, par définition, à attribuer à deux ou plusieurs entités une part
proportionnelle de ressources. Du point de vue ordonnancement proportionnel, il s’agit par
conséquent d'allouer à chaque classe de flots qui se présente une part équitable d’une métrique
de qualité de service. Les études menées jusque-là dans cette direction ont traité les aspects
suivants : différenciation proportionnelle de délai (ordonnancement WTP – Waiting Time
Priority, par exemple), différenciation proportionnelle de pertes (ordonnancement PLR –
Proportional Loss Rate). Par ces différenciations, seules les classes exigeantes en délai seront
avantagées : les applications multimédia seraient donc toujours plus prioritaires que les
applications élastiques. Si nous considérons ce mécanisme dans la réalité, vu la quantité
d’applications temps-réel qui circule, nous observerons un faible pourcentage d’applications
élastiques sur les réseaux. Or cette dernière situation n’est pas envisageable car il est
nécessaire de laisser circuler ce type de trafic, de la même manière que le trafic non-élastique.
C’est sur cette constatation que nous avons orienté l’axe de nos recherches. Ainsi, nous avons
choisi de répondre aux besoins des deux catégories de trafic, en leur offrant de manière
proportionnelle la réponse à leurs requêtes : besoin en débit pour les applications élastiques ;
besoin en délai pour les applications temps-réel.
24
Le présent travail est donc construit à partir de ces derniers éléments, à savoir les exigences
temporelles, en débit, et sur la différenciation proportionnelle. Il s’agit donc de proposer un
prototype d’ordonnanceur capable d’acheminer les paquets appartenant à des classes de trafic
différentes, tout en garantissant leurs besoins respectifs (en débit ou délai, selon le cas) pour
une bonne qualité de service. D’autre part, tenir compte du phénomène de famine qui ne doit
pas figurer lors des traitements, dans le but d’offrir à chaque classe son besoin sans pour
autant discriminer l’une ou l’autre classe. Le procédé de notre approche découle d’une
fonction de puissance définie dans [86] mettant en évidence le rapport des métriques « délai »
et « débit ».
Plan du document
Le corps de cette thèse est organisé comme suit :
Nous consacrons, dans un second temps, un chapitre à la qualité de service en définissant tout
d’abord la notion en tant que telle, puis en présentant les paramètres qui garantissent la qualité
de service dans un réseau. Nous exposons, de même, les différentes techniques développées
par les communautés de recherches, à savoir les modèles à intégration de service IntServ, puis
les modèles à différenciation de service DiffServ. Pour chacun de ces modèles, nous détaillons
les architectures et les différents services offerts qui permettent d’assurer la qualité de service
du trafic sur le réseau.
Dans le troisième chapitre, nous abordons la définition et la classification des flots circulant
sur les réseaux. Nous définirons ainsi l’hétérogénéité, puisque notre travail s’est basé sur
l’hétérogénéité des applications qui traversent tous les jours nos réseaux. Nous présentons par
la suite les algorithmes d’ordonnancement dans leur contexte général, puis les mécanismes
d’ordonnancement existants, qui se basent sur la métrique du débit ou du délai pour
acheminer les paquets.
25
Nous clôturons le document par une conclusion émanant des résultats que nous aurons
montrés, puis nous proposons des perspectives de recherches vers d’autres axes, en se basant
sur le prototype que nous avons développé.
26
Introduction
Présentation générale du thème
générale
I
Problématique
Algorithmes et Mécanismes
Algorithmes
Paramètres de QoS
Etat de l’art
d’ordonnancement
Qualité de Service
III
II
d’ordonnancement
Modèles de services
FIFO WFQ PQ …
IntServ DiffServ
Gestion de files d’attente
Classes de Classes de
service service
RED WRED RIO
puissance pour une différenciation
WTP
Proposition et validation
IV
Ordonnanceur à base
de puissance :
PSP
Simulations et résultats
ns-2 Implémentation
V
Conclusions
perspectives
Conclusions
VI
&
27
28
QUALITÉ DE SERVICE (QoS)
29
30
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
2.1 Introduction
Aux débuts de l’Internet, la préoccupation principale était de pouvoir acheminer des paquets
d’une source vers une destination, indépendamment de leur temps de transit. Les trafics qui
circulaient sur les réseaux n’étaient pas encore autant diversifiés pour rencontrer les
problèmes que nous percevons aujourd’hui : encombrement du réseau, ralentissement des
téléchargements, mauvaise qualité de l’information en cas de surcharge du réseau, etc… De
nos jours, les flux traversent les réseaux du monde selon une échelle de diversification et une
échelle temporelle aléatoires. Nous sommes donc de plus en plus exigeants en qualité de
réception de l’information : la qualité de service intervient en conséquence, pour obtenir une
satisfaction de réception. Cette dernière peut se traduire sous la forme de l’intégralité ou du
temps de réception.
Le présent chapitre est consacré à la présentation de la qualité de service déployée dans
l’Internet. Nous commençons par donner des définitions de la qualité de service, à la suite de
quoi nous étudions les différents trafics qui traversent les réseaux pour obtenir une
classification des flots. Nous exposons dans un troisième temps les mécanismes étudiés par
les groupes de travail s’intéressant au domaine pour la gestion de la qualité de service. Puis
nous concluons le chapitre par un récapitulatif et une étude critique des mécanismes proposés
pour offrir la qualité de service dans les réseaux.
31
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Hôte A Hôte B
Application Application
Coopération inter-couches pour la QoS
Présentation Présentation
Session Session
Transport Transport
Réseau Réseau
Liaison de Liaison de
données données
Physique Physique
Nous pouvons considérer la qualité de service comme un aspect tridimensionnel basé sur trois
composantes : une composante « étendue » , un modèle de contrôle et une garantie de
transmission :
32
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Garantie de
transmission
Modèle de
contrôle
Etendue
33
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
enfin, le délai d’attente et de traitement des paquets à l’intérieur des files d’attente,
déterminé par la charge du réseau, ainsi que les politiques de traitement de l’information
dans les routeurs pour obtenir une fluidité maximale de l’écoulement de l’information.
34
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Délai (ms)
10000 Transfert
de fichiers
1000
100
Jeux
10 interactifs
Voix
1
Vidéo
35
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Selon [95], la fonction d’utilité des flots élastiques est représentée par la figure ci-dessous. On
remarque bien l’utilité de disposer d’un minimum de bande-passante pour garantir une
certaine efficacité d’utilisation des applications élastiques. A mesure que la bande-passante
s’accroît, l’utilité de l’application augmente, d’où le facteur d’élasticité.
Utilité
Bande-passante
Les besoins de performance pour des applications élastiques sont donc plutôt orientés vers les
débits (nécessité de bande-passante) et l’intolérance aux pertes. Par ailleurs, selon les
applications, les délais sont plus ou moins importants pour garantir la qualité de service de ces
flux.
36
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Utilité
fermeté
Bande-passante
37
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Les applications temps-réel qui adaptent leur taux de transmission en fonction de l’état du
réseau (rate-adaptive applications) : lorsqu’une congestion se produit à l’intérieur du
réseau, la bande-passante dédiée diminue et les délais restent faibles. La performance de
ces applications n’est donc pas liée aux délais (ceux-ci étant suffisamment faibles), mais
plutôt au partage de la bande-passante. L’ajustement du taux de transmission peut
s’effectuer selon deux cas de figure. En effet, dans un premier cas, la transmission peut
être régulée à la source de manière explicite, en réponse aux conditions du réseau. La
connaissance de l’état du réseau doit, par conséquent, pouvoir être gérée. La régulation du
taux de transmission peut, d’autre part, être effectuée implicitement, en choisissant un
niveau et une priorité d’élimination de certains paquets selon des politiques déterminées
de telle sorte que ni le réseau, ni l’information, ne soient brutalement affectés. Dans ce
cas, on permet donc une faible tolérance de pertes de paquets.
Les applications temps-réel adaptatives ont des besoins de bande-passante intrinsèques pour
pouvoir fonctionner correctement. Les performances sous l’utilisation d’une large bande-
passante sont indiscutables : les qualités de l’information reçue sont donc celles attendues. De
faibles bande-passantes impliquent une nette dégradation de la qualité.
Pour les applications de cette catégorie, la fonction d’utilité donne l’allure présentée à la
figure 2.6. L’état transitoire ne s’effectue pas brusquement comme il était le cas pour les
applications fermes. Dans ce cas, la transition se fait progressivement, ce qui montre le
caractère adaptatif pour une certaine étendue de bande-passante.
Utilité
Adaptabilité
Bande-passante
38
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
service des données transmises. Cependant, les liaisons et les routeurs sont entièrement
impliqués dans la qualité avec laquelle un flux peut être transmis. En effet, les liens (qu’ils
soient filaires ou radios), possèdent des caractéristiques de délai, de débit et de disponibilité
variables. De même, les routeurs ont un impact significatif sur ces caractéristiques. En effet,
les fonctions d’un routeur consistent à contrôler l’intégrité d’un paquet reçu sur leur interface
d’entrée, puis déterminer l’interface de sortie correspondante en fonction de la destination
souhaitée, et enfin stocker le paquet dans la file d’attente appropriée. Lorsque le
fonctionnement se dégrade (surcharge du réseau, par exemple), les files d’attente se
remplissent, ce qui introduit un délai supplémentaire dans la transmission des paquets. Selon
la stratégie adoptée par la file d’attente, on peut assister à une élimination des paquets en sus
par le routeur qui s’efforce de réagir de la sorte pour éviter certains cas de figures (fortes
congestions qui peuvent rendre le réseau inexploitable, les pertes de paquets des flots qui
circulent, etc…). Or, toutes ces actions ont un impact sur les paramètres de qualité de service.
C’est pourquoi des politiques de contrôle et de gestion du trafic sont implémentées au cœur
des routeurs. Par ces mécanismes, il est question de limiter et/ou de prévenir le phénomène de
congestion que nous développerons ultérieurement.
Jusque-là, nous avons présenté les aspects de base de la qualité de service. Dans ce qui suit,
nous nous intéressons à la manière d’implémenter cela à l’intérieur d’un réseau pour
bénéficier au mieux d’une qualité avoisinant celle que l’on demande. Le paragraphe suivant
expose les modèles soulevés par les groupes de recherche de l’Internet qui se penchent sur
l’aspect qualité de service.
2.6.1 Définition
Le groupe de travail « Integrated Services » a été développé en 1994 lorsque le multimédia est
apparu et est devenu un domaine à part entière de l’Internet. Conçu à la même époque
qu’ATM, le système avait pour objectif d’offrir un service semblable sur la couche réseau
d’Internet. Le but était donc de pouvoir « améliorer » le réseau Internet et d’en faire un réseau
à intégration de services. Il a fallu en effet pouvoir différencier l’utilisation de la bande-
passante disponible entre les flots multimédia et les flots de données [54]. Les besoins requis
par chacun de ces types de flots n’étant pas les mêmes, le groupe de l’IntServ a défini un
ensemble de classes de services qui, implémentées au sein des routeurs, devraient allouer aux
flots une certaine qualité de service, à chaque traversée des routeurs, pour les acheminer
jusqu’à destination avec cette QoS [100].
39
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
tout d’abord, le réseau doit être contrôlé et soumis aux mécanismes de contrôle
d’admission des flux ;
la nécessité de disposer de mécanismes de réservation de ressources pour obtenir
différents services. Pour cela, l’émetteur envoie une requête de réservation de bande
passante qui doit être acceptée par l’ensemble des équipements qui seront traversés par
les flux. Le protocole utilisé est le RSVP (Ressource reSerVation Protocol)
[15,5,9,73,16,101] (nous le détaillerons ultérieurement).
Hôte A Hôte B
Ressource Reservation
Les réseaux à intégration de services sont donc constitués de routeurs qui assurent les
fonctionnalités de contrôle d’admission de flux et de réservation de ressources. Leur
architecture est présentée dans la figure 2.8 :
Démon RSVP
Contrôle d’admission
Flot entrant Flot sortant
Routage Classificateur Ordonnanceur
40
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Pour pouvoir utiliser les services définis pour les réseaux à intégration de services, le groupe
IntServ a dû définir et déterminer une propriété pour caractériser les trafics d’un tel réseau.
[94] décrit des paramètres de spécification de trafic contenus dans une variable de
spécification TSpec (Traffic Specification). La caractérisation s’effectue selon le modèle
représenté par la figure ci-dessous : le token bucket (« seau à jetons »).
Jetons
Capacité : b
Débit : r Limiteur de
flot
débit crête : p
Le token bucket regroupe trois paramètres parmi cinq du TSpec. Tout d’abord, par sa capacité
(paramètre b) et par le débit autorisé (paramètre r), il permet de contrôler le débit moyen du
flot. Le paramètre p est utilisé pour limiter le débit crête. Les deux autres paramètres de
41
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
TSpec qui interviennent dans la spécification des flots sont « la taille maximale » du
paquet contenu dans le flot (notée M), et « la plus petite unité de traitement» (notée m). Ces
deux paramètres ne caractérisent les flots que par rapport à l’implémentation des mécanismes
de qualité de service. Ainsi, on ne pourra garantir une certaine qualité de service qu’aux
paquets du flot n’excédant pas la taille maximale définie dans TSpec. Le paramètre « m »
indique que tous les paquets dont la taille lui sera inférieure, seront tout de même traités
comme un paquet ayant cette taille « m ».
Paramètre Description
b Capacité du « seau »
p Débit crête
42
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
trouve particulièrement dans des conditions de réseaux non congestionnés. La garantie est
donc fournie pour le débit. Mais contrairement au best-effort, le service de charge contrôlée
ne détériore pas la qualité du flot lorsque le réseau est surchargé. En effet, les applications qui
demandent ce type de service doivent tenir informé le réseau du trafic qui va le traverser, de
manière à obtenir une meilleure exploitation du service et du réseau lui-même. Néanmoins, le
réseau ne promet pas de garanties temporelles.
La variable de spécification de trafic (TSpec) est nécessaire pour identifier la conformité des
paquets par rapport au service. La formule suivante nous montre les besoins auxquels doivent
se plier les flots pour bénéficier du service « controlled load ».
Durée_burst ≤ r.M + b
La durée d’un burst correspond à la durée nécessaire pour transmettre la taille maximale d’un
burst au débit demandé. Si sa durée vérifie l’équation ci-dessus, alors le flot est pris en charge
par le service à charge contrôlée ; sinon, le trafic est traité comme du best-effort, ou peut être
éliminé.
TSpec qui caractérise le trafic pour lequel nous demandons le service garanti ; nous avons
précédemment défini les paramètres de TSpec ;
RSpec qui permet de spécifier les ressources à réserver. RSpec est défini au moyen de
deux éléments :
- R (Requested Rate), qui spécifie un taux de service désiré (exprimé en
octets/s) pour lequel le trafic sera envoyé. Dans [93] l’auteur démontre
que pour réduire le temps d’attente au niveau de la file, on doit avoir R
> r (r étant le paramètre de TSpec identifiant le débit moyen du token
bucket)
- S (Slack term) qui définit la différence entre le délai attendu et le délai
obtenu. Cette valeur, exprimée en micro-secondes, permet au réseau
d’ajuster le taux alloué pour obtenir les délais requis. Elle peut être
utilisée par une entité du réseau pour réduire la réservation locale de
ressources d’un flot. Dans certains cas, la présence d’une valeur dans ce
champ peut augmenter la probabilité d’effectuer avec succès une
réservation de bout en bout. [25]
La classe de service garanti permet ainsi d’apporter aux applications un contrôle considérable
du point de vue délai. Le délai d’une application se subdivisant en plusieurs sous-délais, seul
le délai d’attente est déterminé par le service garanti , grâce au paramètre R de RSpec (les
autres délais sont plutôt liés aux propriétés physiques du réseau). De ce fait, une application
peut précisément estimer à l’avance quel délai de mise en attente le service garanti peut offrir.
Par conséquent, si le délai d’une application est supérieur à celui attendu, celle-ci peut
modifier le token-bucket du trafic ainsi que le taux de données pour obtenir un plus faible
délai.
43
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Pour les performances qu’il offre, ce service est particulièrement adapté aux applications
temps-réel non adaptatives ayant des exigences de qualité de service très strictes (chapitre 3).
Fonctionnant au niveau de la quatrième couche du modèle OSI, la couche transport, RSVP est
caractérisé par les éléments suivants :
l’hétérogénéité du protocole : des récepteurs qui reçoivent un même flot peuvent recevoir
une qualité de service différente ;
le protocole est orienté récepteur dans le sens où c’est le récepteur qui choisit la qualité de
service à fournir au flot ;
RSVP est dynamique puisque les réservations peuvent être renégociées à tout instant (cas
de changement de routage, par exemple) ;
les états de RSVP sont « relâchés » (soft-state) : l’état qui est maintenu dans les routeurs
au passage des messages doit être constamment rafraîchi par réémission des messages.
Cette caractéristique permet à de nouveaux participants de se joindre à une session de
façon dynamique.
Par ailleurs, le protocole de réservation de ressources est basé sur l’utilisation de deux types
de messages unidirectionnels :
le message PATH qui permet d’établir un état dans chaque nœud du réseau qu’il traverse
et qui trace le chemin à suivre par le second type de message;
le message RESV émis des récepteurs vers les émetteurs et qui consiste à réaliser la
réservation proprement dite.
Hôte A Hôte B
PATH
PATH PATH
PATH RESV
RESV
RESV
RESV
La figure 2.10 montre l’aspect unidirectionnel des messages PATH et RESV et illustre
globalement l’algorithme selon lequel fonctionne le protocole RSVP :
44
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
1. Une application qui désire obtenir une certaine qualité de service va effectuer une
demande de réservation de ressources. Pour cela, elle envoie des messages PATH qui
contiennent la spécification du flot (paramètre TSpec) qui seront acheminés jusqu’au(x)
destinataire(s).
2. En traversant chaque routeur du circuit, les messages PATH tracent une route créant un
« path-state » contenant l’adresse des routeurs précédents. De cette manière, un chemin
inverse est créé, et sera exploité au retour par le message RESV.
3. Chaque routeur ajoute des informations au message PATH. Ces dernières sont contenues
dans les objets ADSPEC (Advertising Specification) [101] et révèlent les qualités de
service que le routeur est capable d’attribuer. Ce mécanisme est défini dans [15] par
OPWA (One Pass With Advertising) puisqu’il s’agit à chaque passage de routeur, de
collecter des informations supplémentaires nécessaire à l’attribution de la qualité de
service.
4. Le routeur IntServ fait appel au processus de routage pour déterminer le lien de sortie sur
lequel sera envoyé le message pour atteindre le nœud suivant. Dès lors qu’un message
PATH est reçu, on connaît les caractéristiques du flot ainsi que le chemin qui a été
emprunté.
5. Pour obtenir la qualité de service requise, l’application envoie en, retour, un message
RESV qui atteindra l’émetteur en parcourant le même chemin emprunté par les messages
PATH, et ce, grâce aux « path states ». Le message RESV contient le TSpec caractérisant
le trafic pour lequel le récepteur veut réserver des ressources, et le RSpec spécifiant les
ressources à réserver.
6. Par le contrôle d’admission (figure 2.8), chaque nœud vérifie s’il y a suffisamment de
ressources disponibles pour attribuer le service demandé.
7. Un retour positif du contrôleur d’admission crée un état « Resv State » qui contient des
informations relatives à la réservation à réaliser, et le message RESV est envoyé vers le
nœud suivant.
L’algorithme de RSVP semble être bien complexe puisque chaque routeur doit subir plusieurs
opérations ; or les réseaux étant constitués d’un nombre important de nœuds, il est difficile de
concevoir l’utilisation de RSVP au sein de réseaux de grande envergure, et à forte charge. La
difficulté est notamment due aux communications générées par le protocole entre les
équipements, mais aussi au traitement qui est effectué par flots plutôt que par agrégats. Par
conséquent, il est incontestable de penser qu’un tel modèle est difficile à déployer à grande
échelle (problème de « passage à l’échelle » du protocole), et son utilité reste donc restreinte à
des niveaux de réseaux locaux de faible étendue.
Les recherches menées sur le passage à l’échelle se sont tout de même poursuivies et ont
abouti à une amélioration de RSVP, donnant naissance à RSVP+ [42] et à RSPV-Switching
[28], mais ces nouvelles versions ne sont pas exploitées, puisque les améliorations apportées
restent toujours quelque peu limitées.
Cependant, RSVP n’est pas nécessairement le seul protocole que peut utiliser IntServ pour la
réservation de ressources, mais il est le seul utilisé par le groupe de l’IETF. Un autre
protocole a été proposé dans YESSIR [84]. Fonctionnant au-dessus de RTCP, il accomplit la
fonction de réservation de ressources, orienté émetteur [92] , mais simplifie le processus de
45
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
réservation et allège la surcharge des routeurs. Néanmoins YESSIR héritant des fonctions de
RSVP, effectue des réservation par flot et reste tout de même limité puisqu’il ne traite pas la
réservation par agrégats, mais fournit uniquement des réservations de ressources pour des
utilisateurs finaux (end users).
46
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Source Address
Destination Address
0 1 2 3 4 5 6 7
CSCP unused
DSCP
Format du champ DS
47
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Hôte Hôte
Routeurs de cœur
Routeur
« edge »
l’opération de mise en forme (shape) a pour but de rendre conforme les paquets qui ne le
sont pas, et ce, par simple retardement de son acheminement. Après un certain temps de
retardement, les paquets deviendront conformes et seront injectés vers le module
d’étiquetage.
le processus d’élimination (drop) est nécessaire pour assurer un fonctionnement fiable du
routeur : tous les paquets qui ne sont pas conformes seront forcés à être éliminés. Les
flots pour lesquels il serait préférable d’utiliser cette méthode sont les flots interactifs. En
effet, si on choisit d’appliquer la mise en forme pour ce type de flots, les paquets subiront
un retard significatif et rendront l’interactivité de l’application impossible. C’est pourquoi
il leur est préférable d’être éliminés.
enfin, le mécanisme de marquage (mark) a pour effet d’attribuer une priorité aux paquets
en fonction du résultat fourni par l’opération de vérification. Par conséquent, en plus du
premier niveau de différenciation, une seconde classification est effectuée par l’opération
de marquage (nous verrons son utilisation au niveau des classes de service de DiffServ).
48
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Avant d’être envoyés vers l’intérieur du réseau, les paquets subissent une dernière opération :
l’étiquetage effectif du champ DSCP. La valeur attribuée au champ correspond au résultat de
toutes les opérations précédentes. Celle-ci peut être modifiée au sein d’autres routeurs de
bordure, selon le nouveau conditionnement qui va être appliqué au flot après sa traversée dans
les équipements. La marque qu'un paquet reçoit identifie la classe de trafic à laquelle il
appartient. Les paquets ainsi marqués sont alors envoyés dans le réseau avec cette mise en
forme.
DSCP marking
IN
shape
classifier
meter mark
OUT drop
49
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
Comme le montre la figure 2.14, le classificateur envoie les paquets vers différentes files
d’attente, selon l’identificateur placé dans le champ DS, préalablement marqué par les
routeurs d’entrée du réseau (les routeurs « edge »). Seule une partie du champ permet
d’indiquer la file d’attente appropriée : il s’agit du champ CSCP (Class Selector Code Points)
(cf. figure 2.11) qui, constitué de 3 bits, permet de coder la classe de service correspondant à
la catégorie du paquet. Ainsi, chaque file d’attente caractérise une classe de service et ne
recevra que les paquets qui sont conformes à ce service. Au niveau des files d’attente, des
mécanismes de gestion sont implémentés pour obtenir un maximum d’équité de traitement
lors de congestions. Les mécanismes d’ordonnancement, dont nous définirons les techniques
dans le chapitre 3, permettent de traiter les paquets en fonction de leur besoin en débit, délai,
etc…
Un troisième type de routeur est mis en jeu dans des réseaux utilisant DiffServ. Il s’agit des
routeurs de bordure (border router) placés en sortie des domaines DS pour relier deux réseaux
DS. Leur fonction consiste à remarquer les paquets et de les remettre en forme pour les
acheminer vers le sous-réseau suivant DS à travers les routeurs de bordure.
La figure 2.15 présente l’architecture d’un réseau à différenciation de services, et montre les
différents types de routeurs utilisés pour bénéficier de ce type de services. Nous distinguons
deux sous-réseaux DS utilisant chacun les principes de DiffServ. Ces deux sous-réseaux sont
reliés entre eux par des routeurs de bordure ; les routeurs de cœur peuvent être reliés entre
eux, ou à des routeurs de bordure ou encore à des routeurs « edge ». Enfin, les hôtes sont
directement rattachés aux routeurs « edge ». Entre ces derniers et les domaines DS, des
contrats de service appelé SLA (Service-Level Agreement) sont mis en œuvre pour spécifier
les classes de service supportées et la quantité de trafic autorisée pour chaque classe [103].
Ces informations sont nécessaires à connaître si un client désire obtenir des services
différenciés.
PHB
Routeur
de cœur
SLA
Sous-réseau DS
Routeur de Routeur
bordure SLA « edge »
Sous-réseau DS
50
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
[58] impose la contrainte suivante : au sein d’une même classe, les paquets qui appartiennent
à la précédence « x » sont prioritaires devant ceux ayant une précédence « y », et ce, pour
x < y. Ainsi, pour la classe 1, les paquets de précédence 2 seront prioritaires par rapport aux
paquets de précédence 3.
51
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
de délai et de gigue faibles [3]. On peut apparenter ce service à celui du service garanti du
groupe IntServ.
101 110
Nous résumons dans le tableau ci-dessous les différents services selon leur priorité, puis dans
la figure 2.16, nous donnons des exemples d’applications courantes en leur associant les
classes de services de l’architecture DiffServ :
Service Priorité
Best Effort Faible
Assured Forwarding Moyenne
Expedited Forwarding Forte
Tableau 2.3 : Récapitulatif des priorités de services DiffServ
Classe 3
Expedited Vidéoconférence
Forwarding
Classe 2
Assured Navigation internet
Forwarding
Classe 1
Best-Effort e-mail
Distribution
du trafic
2.8 Conclusions
Nous avons présenté dans cette section les différentes classes d’applications couramment
utilisées sur le réseau Internet. Chaque application est caractérisée par des besoins plus ou
moins exigeants en terme de délai, débit et/ou gigue, selon sa nature. Ces critères ont permis
aux membres de l’IETF d’effectuer une classification de priorité de l’acheminement de ces
flots sur le réseau, tout d’abord lors de la définition des réseaux à intégration de service
(IntServ), puis dans un second temps, après des recherches plus avancées, lors de la définition
des réseaux à différenciation de service (DiffServ) [74,75]. Nous proposons de récapituler
52
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
toutes les notions préalablement exposées dans le tableau ci-dessous. Pour chaque type
d’application, nous attribuons un niveau de débit, délai et gigue correspondants aux exigences
de celle-ci. Puis nous exposons le type de service qu’il est conseillé (fortement) d’attribuer à
chaque application, selon que l’on se place dans un réseau IntServ ou DiffServ.
La gestion de la qualité de service par IntServ et DiffServ présente tout de même quelques
limites.
Tout d’abord, IntServ emploi un mécanisme de réservation de ressources, qui doit être
implémentée au niveau de chaque routeur, ce qui conduit à une lourdeur de traitement.
D’autre part, IntServ applique ses algorithmes à une échelle macroscopique des données : la
gestion de QoS est par conséquent appliquée par flot. De ces limites découlent des critiques
en raison de son incapacité à gérer la QoS pour des réseaux largement déployés : le problème
de passage à l’échelle est un aspect important puisque l’envergure des réseaux ne cesse
d’accroître, et le trafic qui les traverse est en perpétuelle augmentation.
L’approche DiffServ consiste, quant à elle, à remédier aux problèmes de passage à l’échelle et
de complexité de gestion. Néanmoins, cette politique présente l’inconvénient de garantir une
différenciation absolue, c’est-à-dire que plus une classe est grande, plus elle sera privilégiée
pour le partage des ressources par rapport aux autres classes concurrentes. Ces mécanismes
engendrent une discrimination de répartition et par conséquent peut provoquer le phénomène
de famine entre les classes.
53
Chapitre 2 Qualité de service (QoS)
__________________________________________________________________________________________
54
ALGORITHMES ET MÉCANISMES
D’ORDONNANCEMENT
55
56
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
3.1 Introduction
La littérature a souvent tendance à confondre les notions d’ordonnancement et celles de
gestion de files d’attente. Or, ces deux concepts, bien qu’étroitement liés, sont néanmoins
différents. En effet, les mécanismes d’ordonnancement ont pour fonction de répartir les
ressources d’un même réseau entre plusieurs flots qui le traversent. La gestion de files
d’attente, quant à elle, se préoccupe de la gestion d’acheminement, de retardement ou
d’élimination des paquets appartenant à une même classe de flot. Dans ce chapitre, nous
présentons tout d’abord le principe général de l’ordonnancement, puis nous spécifions les
mécanismes existants les plus réputés. Nous exposons de même les politiques de gestion de
files d’attente pour mettre en évidence la différence qui existe entre les termes
« ordonnancement » et « gestion de files ».
57
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Flot 1 : r1= 2
5 10 10 5
1 2 3 4
Ordonnancement
Ei1 10 12.5 35 43
1 2 1 2 3 3
5 10 10 5
1 2 3 4
Ei2 15 17.5 35.5 40
Flot 2 : r2=1
En appliquant cette équation à notre exemple, avec l’hypothèse de la taille des paquets que
nous avons figée, Li1=Li2, on obtient des estampilles du flot 2 deux fois supérieures à celles du
flot 1. La conséquence qui en découle est que les paquets du flot 1 sont transmis avant ceux
du flot 2, et ainsi, le débit obtenu pour le flot 2 sera le double de celui réservé au flot 1.
58
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Pour définir ce temps virtuel, considérons les instants t1 et t2, tels que t2-t1 représente
l’intervalle pendant lequel on dispose de l’activité des flots.
Le temps virtuel, noté v(t), est alors défini par la formule suivante :
v(t2)−v(t1)= 1 (t 2 −t1)
∑ri ra
où ra indique le poids des classes actives.
En intégrant cette nouvelle notion de temps virtuel, la formule de calcul de l’estampille peut
prendre la tournure suivante :
Eik = 1 Lik +max(v(aik ),Eik−1 )
rk
La figure 3.2 représente le principe général de l’algorithme de base à file d’attente multiples.
File 1
File 2
Classificateur
File 3
File 4
Ordonnanceur Round-Robin
59
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Les algorithmes à files multiples ont été largement adoptés par différents auteurs. Tout
comme les mécanismes d’ordonnancement à file unique, nous détaillerons tous les moyens
utilisant les files multiples, au cours des prochaines sections, ce qui nous permettra de mieux
comprendre chacune des techniques, d’une part, et de mettre en valeur les atouts et les
faiblesses que chaque méthode expose.
60
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
comment sont implémentées les politiques d’ordonnancement et nous verrons quelles sont
celles qui assurent le partage de la bande-passante, et celles qui sont plutôt orientées délai.
3.3.1 FIFO
Souvent assimilé à la politique DropTail de gestion des files d’attente, l’ordonnancement de
type FIFO (First In First Out) est l’ancêtre et le plus facile d’implémentation de toutes les
politiques présentes. FIFO ne requière pas la présence de plusieurs files d’attente car son
principe repose sur l’algorithme suivant : les paquets sont envoyés vers la sortie dans le même
ordre de leur réception.
FIFO est très peu complexe mais présente néanmoins des inconvénients qui le rendent peu
efficace en présence de situations inadaptées. Ainsi, il est fortement recommandé de ne pas
utiliser ce mécanisme d’ordonnancement pour des réseaux DiffServ qui demandent une
classification des flots pour garantir des qualités de service adéquates aux demandes des
utilisateurs. FIFO ne peut en aucun cas assurer cette fonction de distinction des flots puisque,
d’une part, l’algorithme ne repose pas sur l’utilisation de multiples files, et d’autre part,
l’algorithme, en acheminant les paquets selon leur ordre d’arrivée, ne distingue en aucun cas
la classe des paquets (best-effort ou prioritaires). Enfin, les réseaux qui adoptent un
ordonnancement de ce type remarquent une forte consommation de la bande passante,
pouvant être due à l’envoi massif de données non nécessairement de type temps-réel, par
exemple, et pénalisant ainsi les éventuels flots qui exigent leur priorité dans le réseau. C’est
pourquoi ce type de mécanisme est notamment recommandé pour des réseaux à forte bande-
passante entraînant de faibles délais et présentant une rareté de congestion.
La figure 3.3 illustre un modèle de réseau mettant en œuvre deux machines qui utilisent des
applications différentes. Le premier client utilise des applications élastiques, par exemple un
transfert de fichiers (FTP); le second participe, par exemple, à une séance de vidéoconférence.
La première machine commence ses requêtes à l’instant t1, tandis que la deuxième utilise son
application à l’instant t2, tel que t1<<t2. Les paquets envoyés par l’application FTP se
présentent à l’entrée de la file d’attente avant les paquets de vidéoconférence et occupent
fortement la bande-passante disponible. L’ordonnancement étant du type FIFO, les paquets
qui se présentent en premier seront ceux qui seront délivrés en priorité. Ce cas de figure
montre bien que les paquets ayant une forte contrainte temporelle (flots non-élastiques) sont
retardés par la présence des autres paquets qui ne demandent pas nécessairement une
contrainte de délai. Les flots élastiques se trouvent par conséquent discriminés par rapport à la
qualité de service qui devrait leur être attribuée.
Flots élastiques
t1 FIFO
t2
Flots non-élastiques
61
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
3.3.2 FIFO+
Proposée par [22], la politique FIFO+ a pour but de garder une simplicité d’implémentation
de type FIFO, basée sur l’utilisation d’une file unique, mais en ajoutant des éléments de
garantie de service, en particulier du point de vue délai. [26] montre à cet effet, à travers une
étude analytique et simulée, l’efficacité d’un tel ordonnancement en matière de délai par
rapport à un algorithme d’équité, le Weighted Fair Queuing (WFQ), que nous développerons
par la suite.
Au niveau de chaque nœud, on mesure pour chaque classe, le délai moyen des paquets ;
Puis pour chaque paquet, on calcule la différence entre le délai mesuré et la moyenne
mesurée par classe ;
On rajoute à l’en-tête du paquet, un champ contenant la valeur de cette différence ; cette
opération permet ainsi à chaque nœud d’estimer l’instant d’arrivée d’un paquet dans le cas où
il aurait eu un service moyen ;
Le nœud insère le paquet dans la file en fonction de son temps effectif et son temps estimé.
Ainsi, les paquets qui arrivent plus tôt que la moyenne sont placés en fin de file, tandis que
ceux qui arrivent plus tardivement sont placés en tête de la file.
Malgré son efficacité en terme de délai par rapport à FIFO et WFQ, le procédé FIFO+ reste
une méthode à principe multiplexant. Cette caractéristique peut dans certains cas de figure, du
fait de la dépendance des flots, violer les contrats de performances de délai [26].
62
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Dans sa manière de servir les files d’attente, WFQ se base sur le principe employé par
l’algorithme Generalized Processor Sharing (GPS) [52] dont le comportement se résume
ainsi : les paquets qui sont placés en tête de file sont servis selon le poids qui leur est attribué,
et le traitement des files s’effectue cycliquement et séquentiellement.
WFQ utilise cet algorithme pour réaliser l’ordonnancement, et rajoute un processus de calcul
temporel pour chaque paquet (nous avons détaillé le calcul d’estampillage dans le paragraphe
3.2.1). Cette valeur permet ainsi de déterminer l’ordre dans lequel les paquets seront servis.
Les paquets qui auront la plus petite estampille seront ceux qui seront acheminés en priorité.
Nous proposons de schématiser par la figure 3.5 le processus d’ordonnancement adopté par
WFQ. En observant l’exemple que nous présentons, nous pouvons remarquer l’effet du poids
attribué aux files par rapport à la desserte des paquets, malgré le traitement séquentiel des
files. En effet, la première file dispose d’un poids de 50%, supérieur aux autres, ce qui permet
de pouvoir obtenir une transmission de plus d’un paquet issu d’une même file (les deux
premiers paquets de la file n°1).
63
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
50% BP 50 30
25% BP 85 70 100 85 75 70 50 30
25% BP 100 75
GPS
Estampillage
WFQ
WFQ est un algorithme efficace en terme de partage de débit, et peut aussi assurer de bonnes
garanties de délai si les routeurs qui implémentent cette politique disposent d’un mécanisme
de lissage du trafic [2]. Mais de par la complexité de l’algorithme, ces paramètres peuvent se
dégrader, notamment du point de vue délai, si le nombre de classes de service s’accroît
notablement.
Pour cela, nous illustrons dans la figure 3.9 trois principaux éléments :
tout d’abord, nous représentons l’arrivée des paquets de cinq flots qui se partagent la
bande-passante du lien de sortie : le premier flot se réserve 50% des ressources tandis que
les autres disposent de 10%. Chaque paquet est représenté par le binôme i,j où i
représente le numéro du paquet et j représente le numéro du flot ;
nous représentons ensuite la distribution des paquets et par conséquent leur temps de
départ dans le cas de l’utilisation de l’algorithme (théorique) GPS ;
enfin, nous schématisons le temps de départ des paquets en utilisant la politique
d’ordonnancement WF2Q.
64
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
0,2
0,3
0,4
0,5
0,6
0 5 10 Tps de départ
Ordre de service des paquets par GPS
0,2
0,3
0,4
0,5
0,6
0 5 10 Tps de départ
2
Ordre de service des paquets par WF Q
Figure 3.6 : Distribution des paquets pour les politiques GPS et WF2Q
Le schéma présente bien la distribution efficace des paquets dans WF2Q, sans discrimination
de service de paquets par rapport à d’autres, et, dans cet exemple précis avec peu de flots, les
garanties de délais peuvent être respectées. Mais la qualité de service des applications peut se
dégrader si plusieurs flots sont concurrents, notamment en terme de délais.
65
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Pour chaque paquet qui arrive dans la file, on calcule sa nouvelle variable V(i), telle que :
P(i)
V(i) =V(i) +
D(i)
L’ordonnanceur va ordonner les paquets selon l’ordre croissant des valeurs de cette
estampille.
Pour comprendre le mécanisme de l’algorithme, nous proposons de présenter un exemple
simple. Soit la figure suivante :
F1
VC
F2
F3
Pour simplifier, nous supposerons que les paquets sont tous de taille unitaire, et que les flots
ont chacun à disposition D(i)=1/3 de la bande-passante disponible.
Dans cet exemple, nous avons choisi une arrivée des flots en même temps, c’est-à-dire que
nous ne considérons pas le cas où l’un des flots est inactif durant les premières périodes.
L’ordonnancement des paquets s’effectue selon les valeurs calculées présentées dans le
tableau 3.1.
66
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Le cas de figure que nous avons présenté est un scénario idéal, c’est-à-dire qu’il prouve
l’efficacité en terme de partage équitable des ressources du réseau : chaque file obtient
effectivement le tiers de la bande-passante qui lui est attribuée. Néanmoins, cette situation est
difficilement envisageable dans la réalité puisque l’arrivée des flots se fait de manière
totalement aléatoire et il est très peu probable d’avoir des arrivées en même temps. Par
conséquent, nous affrontons un cas de figure différent qui met en doute l’efficacité de
l’algorithme que nous avons présenté. En effet, si l’on suppose une inactivité d’un flot durant
une période donnée, les autres flots actifs pourront bénéficier de la part qui leur est attribuée,
tandis qu’un pourcentage de bande-passante sera inexploité ; l’inefficacité de Virtual Clock
apparaît au moment où ce flot, jusque-là inactif, entre en activité. En effectuant les calculs
comme dans le tableau précédent, il est facile de montrer que le flot nouvellement actif
bénéficiera à lui seul, durant une période T, de l’écoulement de ses paquets uniquement,
tandis que les paquets des autres flots seront en attente. Cette situation se traduit en réalité par
une désynchronisation des horloges virtuelles (avance ou retard) entre elles, phénomène qui
induit un partage inéquitable.
Une variante de l’ordonnanceur Virtual Clock a été développée dans [29] pour des garanties
de délais au niveau de réseaux de transit, c’est-à-dire pour des réseaux à faible étendue. Les
résultats obtenus sont convaincants tout d’abord pour l’aspect temporel, puis pour des réseaux
à faible envergure ; mais le partage équitable du débit n’est pas mis en valeur.
L’ordonnancement par Virtual Clock n’est donc pas un mécanisme favorable à une garantie
en terme de débit si on se limite à l’algorithme en tant que tel. Une modification de ce dernier
a donné naissance à une nouvelle politique qui permet de remédier aux inconvénients de VC.
C’est ce que nous proposons de présenter dans le paragraphe suivant.
67
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
L’estampillage pour cet ordonnancement est calculé, pour chaque paquet, comme suit :
V(i)=Max(V(i),V)+ P
D(i)
Cette valeur va être associée au paquet et l’ordonnancement va s’effectuer selon les valeurs
croissantes des paquets.
Cette politique s’avère d’autant plus efficace qu’elle ne présente plus le phénomène de
décalage des horloges et assure donc un meilleur partage en terme de débit.
A la tête de toutes les files l’ordonnanceur vérifie la présence des paquets à l’intérieur de
chaque file et sert en priorité celles qui disposent de paquets prioritaires. Ainsi, les classes de
plus forte priorité pourront disposer de la totalité de la bande-passante disponible, tandis que
les autres classes ne pourront obtenir que ce qui leur sera resté après consommation par les
autres classes. L’inconvénient d’un tel mécanisme est la forte pénalité d’obtention de
ressources des paquets à faible priorité : si un important trafic de haute priorité circule sur le
réseau, tandis que certaines applications de priorité moindre apparaissent de temps à autre,
seul le premier sera correctement servi, tandis que les autres seront faiblement traités, voire
fortement discriminés. Pour remédier à ce problème et éviter d’attribuer aux classes
prioritaires beaucoup plus de ressources que les autres classes, il est nécessaire de placer un
contrôleur d’admission pour pouvoir conditionner correctement le trafic et éviter d’obtenir
uniquement du trafic à forte priorité. Mais il reste tout de même difficile de faire cohabiter sur
un même réseau à ordonnancement PQ des flots « Best-Effort » et des flots temps-réel pour
garantir une certaine équité du partage [19]. En effet, il est plus facile de pouvoir déterminer
les ressources à allouer pour une application de type « voix sur IP » (VoIP) en connaissant à
l’avance la taille des paquets, le volume et le comportement du trafic, que de pouvoir les
déterminer pour une application de vidéo interactive, pour laquelle les paramètres subissent
d’importantes variations. Les limites à poser pour servir les files prioritaires (taille de la file,
bande-passante maximale à fournir, etc..) sont donc très difficiles à définir dans ces
conditions, ce qui rend l’algorithme de Priority Queuing délicat à adopter pour des
concurrences de flots hétérogènes.
68
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Priorité Elevée
Ordonnancement
par priorité
Priorité Moyenne
Classification
Priorité Normale
Priorité Faible
Nous proposons une illustration du mécanisme pour mieux comprendre le principe utilisé par
l’ordonnancement CBQ (figure 3.9).
69
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Ordonnanceur
d’excès
Estimateur
FTP
Temps-réel : 25%
FTP
Classification
Interactives : 25%
Vidéoconférence
Transfert : 50%
Jeux réseaux
Ordonnanceur
général
L’algorithme CBQ, bien que remédiant à certains problèmes signalés par d’autres politiques
tels le partage plus équitable ou la redistribution de ressources inutilisées, reste tout de même
peu intéressant pour une variété hétérogène de flots. La raison majeure est que les paquets ne
sont pas tous identiques en taille et le taux d’arrivée est variable selon les applications : les
transferts de fichiers ont des débits variables, tandis que les flots temps-réel émettent selon un
débit plutôt constant, et la taille des paquets de ces applications est bien souvent différente. La
garantie de bande-passante peut être respectée, mais encore une fois, comme certains
ordonnancements que nous avons détaillés, la politique utilisée par Class-Based Queuing peut
souvent engendrer des délais importants pour les applications, ce qui pénalise les flots à forte
garanties de délai et la qualité de service pour ces classes ne sera pas respectée.
Pour garantir la fonction d’ordonnancement, ABE utilise, à la suite du marquage des paquets,
la technique de contrôle d’admission des paquets, suivie de la politique EDF (Earliest
Deadline First)[63]. La figure 3.10 illustre le module d’ABE.
70
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Flot non-adaptatif
EDF
Marqueur
Ctrl
Admission
Flot adaptatif
Module ABE
Le processus se base sur le principe utilisé par RED : les paquets marqués en bleu seront
éliminés selon la probabilité p, tandis que les paquets verts seront éliminés selon une
probabilité αp. Ces derniers subiront enfin un autre contrôle pour pouvoir leur assurer un
délai minimum. L’algorithme d’admission des paquets est détaillé dans [63].
Le mécanisme de EDF appliqué à ce niveau fonctionne comme suit : chaque paquet est
estampillé selon sa couleur. En effet, pour les paquets verts, on choisira de le marquer selon
son temps d’arrivée t, tandis que les paquets bleus seront marqués selon leur temps d’arrivée,
auquel on rajoute une constante. Cette opération de différenciation d’estampillage permet
ainsi de distinguer les paquets à faible délai des autres. De cette manière, les paquets verts
(demandant un faible délai) seront prioritaires par rapport aux autres, mais l’algorithme agit
de telle sorte qu’il n’y ait pas une discrimination totale vis-à-vis des paquets bleus.
71
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
service service
m2 = ri
uimax
m2 = ri
uimax
m1
m1
xi dimax xi = dimax
Les courbes exploitées par l’ordonnancement HFSC sont caractérisées par deux éléments
linéaires, m1 et m2, et xi qui représente le point d’intersection entre m1 et m2. Dans le cas
uimax
d’un modèle concave, on a ≥ ri (ou encore m2>m1) , ce qui se traduit par une allocation
dimax
de faibles délais. Dans le cas contraire, la courbe est convexe, se traduisant par un premier
segment m1 toujours nul.
C’est par ce principe qu’il est possible de découpler le facteur débit de celui du délai et ainsi
offrir aux applications au mieux les garanties qu’elles demandent.
72
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Malgré sa simplicité d’implémentation, cette méthode présente des faiblesses nuisibles à une
bonne utilisation du réseau, en particulier l’équité du partage de ce dernier : en effet, une
source qui émet à un débit supérieur à une autre source se verra pénalisée par l’élimination de
ses paquets. Par ailleurs, à cause d’importantes éliminations, des sources de type TCP ajustent
leur débit en fonction de la charge du réseau, ce qui fait osciller la charge du réseau entre deux
valeurs limites (maximale et minimale) et crée par conséquent un déséquilibre. Enfin, le
remplissage permanent des files d’attente entraîne une augmentation du délai des paquets,
pouvant être fortement néfaste à une application de type temps-réel, par exemple. Notons
aussi que cette politique ne permet en aucun cas de distinguer la priorité des trafics, et par
conséquent, tous les paquets, qu’ils soient en besoin de priorité ou non, sont traités de la
même manière.
RED fonctionne selon le principe suivant : la probabilité d’élimination d’un paquet est basée
sur l’intervalle de seuils définis [thresholdmin ; thresholdmax]. Lorsque la taille de la file
dépasse le seuil minimum, l’algorithme RED met en place sa politique d’élimination des
paquets. La probabilité d’élimination s’accroît linéairement à mesure que la taille de la file
augmente. Au-delà du seuil maximum autorisé, RED élimine systématiquement tous les
nouveaux paquets entrants.
73
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Pdrop
Pmax
Avg
thmin thmax
Cette politique de gestion de files d’attente est notamment utilisée pour les flots de type TCP
en guise de mécanisme de contrôle de congestion : en effet, la méthode ECN (Early
Congestion Notification) [57,88] utilise le même principe adopté par RED pour indiquer à une
source TCP d’adapter son débit d’émission en fonction de la charge du réseau.
L’aspect négatif de RED est qu’il s’agit d’un mécanisme qui ne permet pas de gérer la priorité
des paquets, ce qui pourrait largement affecter des flots à haute priorité demandant une
importante qualité de service.
Le principe de RIO est qu’il attribue des seuils et des poids de traitement selon l’appartenance
des flots à une classe de service bien précise et effectue son traitement d’élimination en
fonction de cette appartenance. En effet, nous pouvons remarquer sur la figure deux classes :
la classe « In » est considérée comme étant la plus prioritaire ; la classe « Out » bénéficie de
la priorité la plus faible. Les paquets qui appartiennent à la classe la moins prioritaire ont une
probabilité d’élimination plus important que les paquets marqués « In » et l’élimination est
effective à partir d’un certain seuil de taille moyenne de la file relativement faible par rapport
aux paquets concurrents classés « In ». Ceci permet d’attribuer la priorité de passage aux flots
qui demandent une forte qualité de service.
74
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
Pdrop
Pout
Pin
Avg
Minout Minin Maxout Maxin
Test
rejet
75
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
avg = old _ avg ×1− 1 + current _ queue _ size× 1
2n 2n
Si la taille moyenne calculée est inférieure au seuil autorisé, le paquet est mis en file
d’attente ;
Enfin, si la taille moyenne de la file est supérieure au seuil maximum, le paquet est
automatiquement éliminé.
La figure 3.16 présente un scénario de WRED agissant sur trois niveaux de priorité : les
paquets de faible précédence se voient rapidement éliminés, dès que la moyenne de la taille de
la file atteint un niveau relativement bas ; la probabilité d’élimination des paquets de plus
haute priorité est moindre, et s’effectue au moment où la moyenne de la taille de la file est
plus importante.
Pdrop
P0max
P1max
P2max
Avg
th0min th0max th1min th1max th2min th2max
3.5 Conclusions
De nombreuses politiques d’ordonnancement ont été étudiées pour tenter d’offrir une qualité
de service adaptée aux besoins des exigences des applications. Nous distinguons pour cela
trois grandes catégories d’ordonnancement :
les politiques qui offrent une garantie sur un paramètre de qualité de service : soit le délai,
soit le débit ; les ordonnanceurs basés sur la priorité (PQ par exemple) sont ainsi étudiés
pour des applications temps-réel mais ne sont pas conformes à une utilisation réelle à
cause du phénomène de famine causé par une arrivée heuristique des paquets ;
les algorithmes d’ordonnancement qui tentent de fournir une différenciation équitable sur
le partage des ressources entre les flots concurrents ; le problème de tels procédés est un
76
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
partage non parfaitement équitable si des conditions se présentent sur le réseau (tailles
différentes des paquets pour le cas de l’ordonnancement FQ) ;
les mécanismes tels que ABE qui constituent une approche intéressante pour les flots
temps-réel en terme de débit et de délai mais qui engendrent des forts taux de pertes, ce
qui en fait des algorithmes non judicieux.
Pour remédier aux faiblesses causées par les algorithmes basés sur une telle différenciation
(équitable ou relative à un paramètre), nous proposons dans le chapitre suivant une approche
différente d’ordonnancement, basée sur la proportionnalité de partage des ressources.
77
Chapitre 3 Algorithmes et mécanismes d’ordonnancement
__________________________________________________________________________________________
78
ORDONNANCEMENT À BASE DE
PUISSANCE POUR UNE
DIFFÉRENCIATION
PROPORTIONNELLE
79
80
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
4.1 Introduction
Nous avons évoqué au cours du chapitre précédent, les différents mécanismes
d’ordonnancement qui ont été développés dans le but d’améliorer l’acheminement du trafic
sur les réseaux. Parmi tous ceux-ci, nous n’avons pas pu spécifier de véritable mécanisme qui
puisse traiter l’équité entre le débit et le délai requis par les flots qui circulent de manière
aléatoire et hétérogène. Les algorithmes implémentés traitent l’une ou l’autre caractéristique,
mais jamais les deux en même temps. Cependant, la problématique de notre travail touche
particulièrement à cette équité débit-délai qui doit être respectée entre les classes pour offrir
aux différents types d’applications les besoins qu’ils requièrent, selon leur nature : plus de
délai et moindre débit pour les applications multimédia interactives ; plus de débit et un délai
moindre pour les applications utilisant le protocole TCP. Nous proposons dans ce chapitre de
définir tout d’abord ce que nous entendons par différencier un service, et plus
particulièrement la différenciation proportionnelle puisque nous visons d’attribuer les besoins
de qualité de service de manière équitable. Pour illustrer le principe, nous définissons un
ordonnanceur basé sur un modèle de différenciation particulier, Waiting Time Priority, établi
sur le délai d’attente des paquets à l’intérieur des files d’attente. Nous décrivons par la suite
l’approche que nous avons décidé d’adopter pour effectuer une différenciation reposant sur
les paramètres de délai et de débit : la puissance d’un réseau s’exprime selon le ratio
délai/débit et il est notable que ce paramètre met en jeu de manière rationnelle les deux
métriques que nous jugeons utiles pour notre travail. C’est pourquoi nous avons orienté notre
axe de recherche vers cette métrique, en appliquant la différenciation de service. Nous
clôturons le chapitre par la modélisation de notre approche ainsi que par l’architecture
générale des réseaux que nous avons testés.
81
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
Dans [31], les auteurs estiment que le meilleur moyen d’obtenir des performances de qualité
de service des réseaux est de se baser sur les métriques que peuvent donner les files d’attente.
Plus précisément, ils proposent d’observer les mesures sur les paquets, essentiellement le
temps d’attente à l’intérieur de ces files ainsi que le taux de pertes.
Le modèle de différenciation proportionnelle est défini de la manière suivante : pour une
période de mesure τ, et à un intervalle (t, t+τ), correspond une métrique de performance d’une
classe i, que l’on notera qi(t, t+ τ).
La différenciation impose la condition d’avoir, entre deux classes de trafic i et j, une équité
qi (t,t +τ) ci
exprimée sous la forme : = , et telle que les paramètres de différenciation respectent
q j (t,t +τ) c j
la condition : c1<c2<…< cn. Ainsi, en appliquant un algorithme de différenciation, il est
possible de contrôler la qualité de service attribuée à chaque classe et de préserver par
conséquent l’équité de distribution des ressources, selon les besoins préalablement établis :
aucune classe de trafic ne pourra donc être soumise à un phénomène de famine.
Une différenciation de ce type permet de fournir à toutes les classes de trafic concurrentes de
se partager équitablement les délais et ainsi chaque flot bénéficiera d’une ration en terme de
qualité temporelle, relative à sa demande. C’est sur cette théorie que différents mécanismes
d’ordonnancement temporel ont été élaborés et implémentés. Nous citerons à cet effet, les
algorithmes MDP (Mean-Delay Proportional) [78], HDP (Hybrid Proportional Delay) [34] et
WTP (Waiting Time Priority) [31,32,34].
82
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
L’aspect de différenciation proportionnelle de pertes est traité et mis en œuvre dans [33,10],
au moyen d’un nouveau mécanisme : le PLR (Proportional Loss Rate). Nous classerons cet
algorithme dans la catégorie des processus de gestion de files d’attente, car l’algorithme
n’assure par un véritable ordonnancement mais est plutôt orienté vers la fonction de décision
d’élimination d’un paquet, telle la gestion par l’algorithme RED.
La figure 4.1 illustre le principe de différenciation temporelle mise en œuvre par WTP. Tout
d’abord, l’ordonnanceur utilise une file d’attente par classe. A l’entrée de celui-ci, un
temporisateur associe à chaque paquet le temps de son entrée dans l’ordonnanceur.
L’estampillage permet ainsi de déterminer la durée passée par le paquet dans l’ordonnanceur.
D’autre part, on attribue à chaque file i (i.e à chaque classe i), un coefficient si. A la sortie du
mécanisme d’ordonnancement, WTP écoule les paquets qui possèdent la plus forte priorité.
La priorité est calculée de la manière suivante : le routeur calcule le temps passé par chaque
paquet qui se présente à la sortie de l’ordonnanceur, soit ωi, et le normalise en le multipliant
par le coefficient de la file d’attente auquel il appartient, soit si :
ϖ i(t)=ω.i(t).s i
File classe 1
s1
timer max (ωi.si)
File classe 2
s2
Information Estampille
83
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
L’algorithme utilisé par WTP favorise la desserte des paquets qui, d’une part ont reçu un
temps d’attente élevé, et, simultanément, d’autre part, qui appartiennent à la file dont le
coefficient est le plus important. En d’autres termes, la classe la plus prioritaire est celle dont
le coefficient si est le plus élevé.
La technique employée par WTP a pour inconvénient de ne pouvoir garantir des résultats
satisfaisants qu’à condition que la charge du réseau soit importante (au-delà de 70% de
charge). C’est pourquoi dans [36], il a été question de modifier l’algorithme de WTP de
manière à ce qu’il soit aussi fonctionnel pour des réseaux à charge moins importante, mais
restant toujours dans un contexte de charge modérée. L’ordonnanceur ainsi conçu, AWTP
(Adaptive Waiting Time Priority), permet non seulement de tenir compte de la moyenne du
temps d’attente des paquets à l’intérieur de la file, mais aussi de la charge mesurée à
l’intérieur du routeur. De ce fait, la différenciation se fait non plus uniquement lorsque le
réseau atteint une charge importante, mais s’effectue lorsqu’il atteint un niveau
d’encombrement raisonnable (à partir de 50%).
Malgré leur efficacité, ces deux ordonnanceurs sont conçus pour ne traiter la différenciation
qu’au niveau temporel. Cependant, les flots transportés par un réseau sont hétérogènes. Nous
les avons classés, dans le chapitre 3, selon les deux métriques qui font d’eux des flots
élastiques ou non élastiques. Néanmoins, si le réseau ne dispose pas de processus qui permet
de distribuer efficacement la qualité de service, les applications ne bénéficieront certainement
pas des ressources dont elles ont besoin. Une dégradation de la qualité apparaîtra
nécessairement pour au moins un type de flot : dégradation pour les flots élastiques si un
minimum de débit ne leur est pas attribué et/ou partagé ; dégradation pour les flots non
élastiques si le délai qu’ils demandent ne peut pas leur être offert. Ces deux affirmations nous
ont poussé à mener notre recherche selon l’objectif suivant : comment peut-on agir pour éviter
la dégradation des flots hétérogènes sur un réseau ? En d’autres termes, quel processus est-il
nécessaire d’utiliser pour distribuer équitablement les ressources d’un réseau en terme de
délai et de débit et ainsi obtenir une satisfaction des clients qui utilisent les diverses
applications ? Nous répondons à ces questions dans le paragraphe suivant.
L’algorithme que nous proposons permettra ainsi de classer et d’attribuer les priorités des
flots en fonction de leurs besoins, en attribuant une part de priorité proportionnelle aux
84
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
τ(λ) : le temps moyen de réponse d’un paquet qui correspond au temps moyen passé par
ce paquet dans le système ;
γ(λ) : le débit des paquets, soit le taux auquel arrivent les paquets dans le système.
Un système stable, sans pertes, est défini pour une charge inférieure à 100% de la capacité du
réseau. Dans de telles conditions, nous pouvons représenter les courbes idéales de débit
(figure 4.2) et de délai (figure 4.3).
γ(λ)
Système Système
stable instable
γmax
λs λ
Figure 4.2 : Courbe de débit dans des conditions idéales d’un réseau
Pour un système stable, c’est-à-dire un système pour lequel nous avons la condition de charge
λ ≤ λs (λs représente donc la charge maximale pour obtenir la stabilité) le débit croît
proportionnellement à la charge du réseau jusqu’à atteindre le débit maximal γmax. Au-delà de
la charge maximale, le système arrive à saturation et devient ainsi instable.
Les caractéristiques en termes de délai pour un système stable sont représentées par la courbe
ci-dessous :
85
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
τ(λ)
τmin
λmax λ
La figure 4.3 met en évidence l’évolution du temps moyen d’attente des paquets dans un
réseau, selon sa charge. A mesure que le réseau se charge, le délai augmente
considérablement, atteignant des valeurs très grandes pour une charge maximale λmax .
Des deux figures précédentes découle l’observation suivante : plus la charge du réseau
augmente, plus le débit augmente, mais le délai croît aussi de manière plus prononcée.
Cependant, le trafic qui circule étant de nature hétérogène, les besoins requis en terme de
débit et de délai sont aussi différents. Les applications temps-réel nécessitent, par exemple, de
faibles délais pour écouler l’information sans dégradation qualitative. Un compromis doit
alors être considéré pour garantir les caractéristiques requises pour chaque application. Celui-
ci peut-être décidé en observant simultanément le débit et le délai ; la fonction qui offre cette
possibilité est la fonction de puissance puisque, telle que nous l’avons décrite, elle met en jeu
ces deux paramètres en mettant en évidence le rapport débit/délai.
τmin
λk λmax λ
86
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
P(λk)
Pmax
λk λ
En rappelant l’expression de la puissance, P(λ )= γ(λ ) , nous noterons que la valeur de cette
τ(λ )
fonction ne peut excéder la valeur unitaire : 0 ≤ P(λ) ≤ 1. En effet, le facteur débit ne peut
excéder l’unité, le maximum de bande-passante pouvant être atteint étant de 100%.
Prioi(t)= 1 .sdp c
Pc(t)
γc(t)
Pc(t)=
τc(t)
Pour mieux comprendre notre approche de calcul des deux paramètres γc(t) et τc(t), nous
illustrons le processus d’arrivées/départs des paquets par la figure 4.6.
87
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
Paquets dans
le système t
Paquet n°0 Paquet n°1 Paquet n°2
2
1
Délai inter-départs
Chaque paquet qui arrive dans le réseau doit être estampillé à l’arrivée et au départ pour
permettre à l’ordonnanceur de calculer les priorités de chacun d’entre eux et pouvoir ainsi les
acheminer selon la valeur de ces dernières.
Le débit d’une classe de paquets γc(t) est déterminé au moyen de la taille du paquet qui se
trouve en service à l’instant t et du délai inter-départs, c’est-à-dire les délais qui séparent les
départs de deux paquets consécutifs. La formule ci-après permet de calculer ce débit :
Pour illustrer cette formule plus pratiquement, nous nous référons à la figure 4.6, ce qui donne
l’expression suivante, à l’instant t :
Taille paquet_1
γc(t)=
t −t dép− p0
où :
Taille paquet_1 représente la taille du paquet n°1, c’est-à-dire le paquet qui se trouve en
service à l’instant t ;
t est l’instant auquel nous avons convenu de calculer le débit ;
tdép-p0 représente le temps de départ du paquet précédent le départ du paquet n°1.
Pour calculer le délai d’un paquet i appartenant à une classe c, nous devons nous fier à
l’équation généralisée suivante :
τc=Tdép_p_c −Tarr_p_s+Tserv_proc_p
où :
Tdép_p_c indique le temps de départ du paquet en cours ;
Tarr_p_s indique le temps d’arrivée du paquet suivant ;
Tserv_proc_p indique le temps de service du prochain paquet.
Pour comprendre plus facilement le processus, nous nous référons à la figure 4.6 et obtenons
donc l’équation suivante :
88
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
En rappelant que la fonction de puissance est calculée en fontion du ratio débit/délai, nous
pouvons illustrer par la figure 4.7 la théorie sur laquelle est basée la différenciation de service
par PSP.
Courbe
de débit
Charge
λs
En fonction de la charge du réseau, nous avons représenté sur un même graphique les courbes
de débit (asymptotique) et de délai (exponentielle) d’une classe quelconque de trafic. Nous
avons de même défini deux zones de puissance : la première pour laquelle nous considérons
une puissance élevée ; une seconde qui définit l’espace de plus faible puissance. Ainsi, la
puissance étant un rapport de débit par rapport au délai, nous considérons qu’à partir d’un
certain taux de charge du réseau, λs, la puissance calculée est considérée comme importante ;
au-delà ce cette charge, la puissance est considérée comme faible. En-deçà de cette charge, la
courbe du débit est plus importante que celle du délai. Sur cette portion, à un instant donné, la
fonction de puissance donne une valeur supérieure ou égale à l’unité. Au-delà de λs, la courbe
du délai croît exponentiellement tandis que celle du débit tend vers une stabilisation : la
puissance correspondant à un instant donné sur cet intervalle est ainsi supérieure à l’unité. A
partir de cette distinction, nous avons basé notre approche sur la théorie suivante : les classes
de trafic qui ont une puissance supérieure à l’unité sont les applications qui sont gourmandes
en métrique temporelle ; celles qui ont une puissance inférieure sont les applications qui sont
plutôt exigeants en terme de débit.
A partir de cette théorie, en appliquant l’algorithme pour la différenciation sur deux classes de
données, il est possible d’attribuer la priorité de service d’un paquet en fonction de ses
besoins qualitatifs.
89
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
L’ordonnanceur que nous avons conçu attribue la priorité à un paquet appartenant à l’une des
files en fonction de la puissance calculée à un instant t donné. Le mécanisme agit de la
manière suivante : les paquets étant au préalable classés dans des files spécifiques en fonction
de la catégorie du flot, l’ordonnanceur PSP applique l’algorithme de calcul de la puissance
pour chaque paquet qui se situe à la sortie de la file. La priorité est attribuée à un paquet selon
la valeur de la métrique de puissance.
L’ordonnanceur, placé à la sortie des files d’attente, exécute l’algorithme PSP pour chaque
paquet qui attend d’être servi. Soient PUDP et PTCP les valeurs des puissances récupérées,
respectivement sur le prochain paquet de la file UDP et de la file TCP.
Une comparaison est opérée sur ces deux métriques, aboutissant à une décision d’attribution
de priorité, de manière équitable. La différenciation proportionnelle se traduit par les clauses
suivantes :
si PUDP=α PTCP, avec α>1, alors la priorité est léguée au paquet qui appartient au flot
UDP, c’est-à-dire celui qui demande des exigences temporelles pour assurer la garantie
de son application ;
sinon, l’ordonnanceur achemine vers la sortie le paquet qui appartient aux applications de
type TCP, gourmandes en bande-passante.
En appliquant une telle pratique, nous tentons d’éviter au maximum le phénomène de famine
qui, dans l’Internet actuel, se pose, rendant ainsi difficile la garantie de service de certaines
applications.
90
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
Source 1
Destination
Routeur 1 Routeur 2
marqueur
Source 2
ordonnanceur ordonnanceur
démarqueur
Flot
1..*
1..2 Routeur 1 Acheminer 1..* Paquet
Type : Enum (TCP, CBR)
1..*
1..*
1..*
Ordonnanceur
File d'attente
Type : Enum (PSP, LWTP)
Marker Demarker
1 1
Emetteur Récepteur
Relier Lien
Emprunter User
Bande passante
2..* 2..* 0..1
La figure 4.9 expose la topologie du réseau sous la forme d’une modélisation par UML [12].
UML (the Unified Modeling Language for object-oriented development) est un langage de
modélisation fondé sur la modélisation orientée objets. Nous avons choisi d’adopter ce
formalisme pour mettre en évidence les différentes caractéristiques des réseaux simulés que
nous présentons dans le chapitre suivant. D’autre part, cette modélisation nous permet d’avoir
une vue globale de ce que nous voulons représenter. Nous invitons le lecteur à se référer aux
annexes pour mieux comprendre les principes de base et les notations utilisées (classes,
associations, etc..).
91
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
Dans le contexte de notre recherche, nous avons adopté les faits suivants :
un utilisateur, qu’il soit émetteur ou récepteur, dispose d’un élément essentiel pour
identifier les paquets, et que nous décrirons par la suite : le marqueur pour l’émetteur et le
démarqueur pour le récepteur ;
les flots de données acheminés utilisent le protocole TCP ou UDP ;
les routeurs disposent du moyen d’ordonnancement PSP.
En-tête :
Information
Classe=i
Estampille
Le démarqueur, placé en aval du réseau, traite les paquets en provenance du dernier routeur.
Ces derniers, possédant au niveau de leur en-tête le marquage de la classe à laquelle ils
appartiennent, le démarqueur distribue les paquets aux destinataires concernés par la réception
de leurs paquets. La figure 4.11 schématise brièvement ce module.
Démarqueur Destinataire 1
Classe 1 Classe 2
Destinataire 2
92
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
un trafic représentatif d’applications élastiques, basé sur le protocole TCP dont nous
décrirons les caractéristiques exactes dans la section dédiée à l’implémentation des
algorithmes ;
une seconde catégorie représentative d’applications non-élastiques. Ces dernières sont
connues pour leur fonctionnement au-dessus des protocoles UDP ou RTP. Pour nos
simulations, nous avons orienté notre choix vers le premier protocole.
4.5.3 L’ordonnanceur
Situé au niveau du module de routage, le principe de fonctionnement de l’ordonnanceur PSP
est représenté par la figure 4.12.
File TCP
PTCP
PSP
Vers lien de
PUDP sortie
File UDP
La distribution des paquets à sa sortie est réalisée selon l’algorithme PSP. Naturellement, nous
rappelons que l’ordonnancement est exécuté de manière équilibrée, c’est-à-dire qu’en aucun
cas un flot ne doit subir d’inégalité de traitement. Les flots bénéficieront d’une part équitable
de ressources en débit ou en délai selon leur nature.
4.6 Conclusions
Nous avons présenté dans ce chapitre la modélisation d’un nouvel ordonnanceur à base de
puissance dont le but consiste à assurer une distribution équitable des paramètres de QoS qui
sont le débit et le délai. Ce partage s’effectue en faveur de deux types de trafic : un trafic basé
sur TCP pour représenter des applications élastiques, mais qui demandent un débit minimum ;
d’autre part, un trafic basé sur UDP pour modéliser des applications temps-réel et qui
demandent des garanties en terme de délai. Ce prototype nous amène à son implémentation.
Cette dernière, ainsi que la validation des résultats sont présentées dans le chapitre suivant.
93
Chapitre 4 Ordonnancement à base de puissance pour une différenciation proportionnelle
__________________________________________________________________________________________
94
SIMULATIONS & RESULTATS
95
96
5. Simulations et résultats
5.1 Introduction
Les réseaux de télécommunications, et en particulier les réseaux informatiques connaissent
une expansion sans précédent. La modélisation et la mise en place d’un nouveau prototype
nécessite sa validation par l’un des processus suivants : la simulation au moyen d’outils
spécifiques, ou l’expérimentation sur une plate-forme réelle.
Ne disposant pas d’une véritable plate-forme de tests, nous avons opté pour la solution de
simulation. Il existe actuellement différents outils de simulation de réseaux. Nous citerons par
exemple les simulateurs les plus utilisés par les chercheurs universitaires, tels que QNAP [87]
ou ns-2 (Network Simulator) [81] que nous pouvons obtenir gratuitement, ou encore, dans la
catégorie « logiciels payants », le simulateur OPNET [82]. A la suite des compromis dont
nous disposons (coût du logiciel, performances en terme de traitement des réseaux et files
d’attentes), nous avons orienté notre choix vers l’adoption du simulateur ns-2.
97
la succession des différentes opérations (à l’instant t1, envoi des données ; à l’instant t2
arrêt d’émission). Il spécifie enfin les différents comportements que prend le réseau vis-à-
vis de tel ou tel événement.
Exploitation des résultats : cette dernière phase consiste en un recueil des statistiques de
la simulation. Ces dernières peuvent être exploitées directement par ns-2 ou par l'un des
outils qui l'accompagnent (outil de tracé graphique : xgraph, outils d’animation de la
simulation : nam) ou bien elles seront archivées pour une utilisation ultérieure au moyen
d’autres outils de traitements statistiques.
ns-2 est organisé sous forme de classes : il offre une large bibliothèque de modules écrite dans
les langages OTcl et C++, caractérisant chaque élément de fonctionnement du réseau. On
trouve, par exemple, les classes Node pour définir un nœud, Link pour le lien physique,
DropTail pour la politique d’ordonnancement FIFO,...etc. Ces classes disposent de méthodes
qui permettent de personnaliser les propriétés des objets. L'utilisateur peut toujours modifier
ces modules et les adopter à ses propres besoins. Il peut de même en intégrer de nouveaux, ce
qui enrichit chaque jour la liste déjà présente. Ceci est valable pour tous les objets et les
méthodes de ns-2.
node.cc agent.cc
queue.cc
Program.tcl red.cc
tcp.cc udp.cc
xgraph nam
98
5.3.1 Topologie du réseau simulé
Procédure de
génération de
trafic TCP
Destination 1
Source 1
Destination 2
Module Module
PSP PSP
Procédure de
génération de
trafic UDP
99
5.3.2.2 Trafic UDP
Au-dessus du protocole UDP, nous avons choisi d’acheminer un trafic en temps-réel, pas
nécessairement ferme en garanties de délai. Pour cela, nous avons opté pour le choix d’un
trafic semblable à une application audio sur Internet. La modélisation d’un tel trafic se base
sur la génération de rafales de paquets successifs, suivis par un temps de latence. Dans ns-2,
un tel trafic est construit à partir du module Exponential On-Off qui offre à ce propos les
caractéristiques attendues. Une source de ce type possède quatre paramètres que nous avons
initialisés comme suit :
« PacketSize » est la taille constante des paquets générés par flot. Selon les scénarii
adoptés, nous avons fait varier la taille des paquets.
« burst_time » est le temps moyen pendant lequel le générateur est "on" et envoie les
rafales de paquets. Nous l’avons fixé à 500ms.
« idle_time » est le temps moyen pendant lequel le générateur est "off", c’est-à-dire le
temps pendant lequel la source arrête d’émettre les paquets appartenant à un même flot. Il
est fixé à 100ms.
« rate » est le débit auquel sont envoyés les paquets pendant les périodes "on" , soit
2Mbps.
5.3.3.1 Marqueur
Deux fonctions sont définies dans les marqueurs :
tout d’abord, la fonction de marquage des paquets pour différencier les paquets
appartenant aux différents flots. Pour nos simulations, nous avons convenu d’effectuer un
marquage déterministe, c’est-à-dire un marquage dont nous avons établi les valeurs
comme suit : nous avons choisi de marquer à « 1 » les paquets des flots TCP et à « 2 » les
paquets appartenant aux flots UDP ;
ensuite, la fonction d’estampillage pour favoriser le calcul du délai de bout en bout,
assuré par le démarqueur. Chaque paquet d’un flot qui s’apprête à quitter la file de sortie
de la source est marqué au niveau de son en-tête par le temps à cet instant.
5.3.3.2 Démarqueur
Placé en aval du réseau, le démarqueur achemine tout d’abord les paquets vers leur
destination. D’autre part, il est conçu pour donner les mesures statistiques relatives au débit,
délai et puissance de chaque classe, après traitement des paquets par l’ordonnanceur.
100
une seconde opération relative à la desserte du paquet, c’est-à-dire à la sortie de la file
d’attente : Dequeue.
Dans la suite, nous décrivons les algorithmes de chaque opération. Pour cela, nous disposons
des hypothèses suivantes :
le type temps est un enregistrement qui contient les données temporelles (horloge) ;
le type Tpaquet qui encapsule les données (donnees) contenues dans un paquet :
finenregistrement
Dequeue est responsable de la décision de service des paquets. C’est à ce niveau que toute
la fonctionnalité de l’ordonnanceur est centralisée. La fonction est décrite comme suit :
101
Fonction dequeue (classe:Tclasse , SDP:tableau [1.. Nbr_classes]
d’entiers) : Tpaquet
p : Tpaquet
i : entier
max_priorite : entier
classe_max_priorite : entier
prio : entier
C : entier
Nbr_classes : entier
tactuel : temps
tn-1 : tableau [1..Nbr_classes] d’entiers
ln-1 : tableau [1..Nbr_classes] d’entiers
dn-1 : tableau [1..Nbr_classes] d’entiers
Debut
max_priorite -1
Pour i de 1 à Nbr_classes faire
delai = tactuel – p.timestamp
p header_list(classe[i])
prio SDP[i]*((delai+ln-1+(p.taille)/C))*
(tactuel-tn-1[i]))/ln-1[i]
Les hypothèses que nous avons adoptées pour nos expériences sont les suivantes :
tout d’abord, pour toutes les mesures, nous avons fixé le facteur de différenciation spdc1 à
1 et sdpc2 à 2 ;
les files d’attente ont une très grande capacité, ce qui nous ramène à simuler un réseau
sans pertes ;
tous les liens ont une capacité de 25Mbps et un délai nul (pour faciliter les calculs) ;
102
chaque expérience a duré 100 secondes, de manière à avoir un scénario relativement
proche de la réalité, tout en restant dans l’esprit de simulation.
103
La figure 5.5 expose le débit sur les paquets des deux classes. A l’inverse des courbes de
délai, la croissance des débits ne se fait pas de manière exponentielle. Toutefois, la
différenciation se fait au même niveau de charge du réseau que pour le délai. Par ailleurs,
c’est autour de 80% de charge du réseau que la différenciation atteint son maximum et reste
quasiment constante jusqu’à la valeur maximale de la charge du réseau. Nous pouvons noter
la différence entre les deux classes : les mesures de débit pour la première classe restent
toujours au-dessus de celles de la seconde classe.
La figure 5.6 présente enfin les courbes de puissance de chaque classe pour donner une
représentation du résultat du rapport débit/délai.
De ces figures, nous pouvons déduire les conclusions suivantes :
en premier lieu, au niveau de la différenciation : le seuil de différenciation est
raisonnable. En effet, comparée à la courbe de délai utilisant le mécanisme
104
d’ordonnancement WTP (figure 5.4), nous remarquons que la différenciation s’effectue à
un niveau de charge de réseau inférieure à celle présentée par l’illustration 5.4. WTP a
justement pour inconvénient de n’agir correctement qu’à un niveau de charge
relativement important [36].
dans un second temps nous pouvons noter l’équilibre entre le débit et le délai des classes.
En effet, nous remarquons que la classe qui présente un délai plus élevée que sa
concurrente présente un débit plus important que cette même dernière, et inversement.
Par conséquent, nous pouvons remarquer cette équité entre le débit et le délai des classes
de trafic, favorisé par l’ordonnancement PSP.
Nous pouvons remarquer dans un premier temps l’instant de différenciation : peu avant 70%
de la charge du réseau, la différenciation s’effectue sur les classes TCP et UDP. En utilisant le
mécanisme WTP, la différenciation s’effectue plutôt au-delà de 75% de charge. D’autre part,
nous pouvons constater un augmentation plus rapide des courbes de délai, relativement aux
courbes de la figure 5.3, utilisant une seule taille de paquets pour tous les flots. Ce phénomène
est notamment dû à l’algorithme PSP qui met en jeu la taille des paquets pour le calcul de la
priorité. Cet événement n’est pas constaté pour la figure 5.8 qui montre les courbes de délai
des deux classes simulées dans les mêmes conditions mais utilisant l’algorithme
d’ordonnancement WTP. Ceci résulte du fait que WTP n’utilise en aucun cas la taille des
paquets. Enfin, l’écart de différenciation est plus important lorsque la taille des paquets est
diversifiée, notamment si nous utilisons des tailles assez importantes. Toutefois, pour la figure
5.7, nous notons toujours la supériorité de la courbe de la classe 1 par rapport à celle de la
classe 2, fait déjà constaté au niveau de la figure 5.3, et visé pour la validation de notre
prototype.
105
Figure 5.8 : Courbes de délai sous WTP : scénario n°2
La figure 5.9 illustre le débit par classe de trafic, en utilisant le mécanisme d’ordonnancement
PSP. La différenciation est visible pour une charge du réseau se situant autour de 40%. Entre
40% et 55%, la différenciation est faible puis elle s’accroît à partir de 60%. Par rapport à la
figure 5.5 qui expose les mêmes courbes pour une seule taille de paquets, la différenciation de
débit est légèrement différente. Ceci s’explique par la faible présence de flots, malgré la
différence de taille des paquets.
106
Figure 5.10 : Courbes de puissance sous PSP : scénario n°2
107
Figure 5.12 : Courbes de délai sous WTP : scénario n°3
Les figures 5.11 et 5.12 présentent les résultats des délais pour chaque classe, tout d’abord en
utilisant l’algorithme PSP, puis WTP. Celles-ci montrent en premier lieu la différenciation
visée du point de vue délai, à savoir la supériorité des délais de la classe 1 par rapport à celles
de la classe 2 dont les flots sont moins demandeurs en délai mais plus fermes en débit.
D’autre part, nous remarquons toujours l’efficacité de PSP devant WTP quant au seuil de
différenciation. Enfin, l’écart de différenciation reste approximativement le même que celui
de la seconde série de simulations puisque la taille de paquet rajoutée n’est pas très importante
par rapport aux tailles déjà existantes, d’une part ; d’autre part, le tirage des tailles se faisant
aléatoirement, il est probable que peu de flots ayant des paquets à 250 octets aient été
envoyés.
Le débit des deux classes, illustré par la figure 5.13, montre une faible différenciation entre
40% et 55% de charge du réseau ; au-delà de cette dernière valeur, la différenciation est plus
convaincante. Le réseau n’atteignant pas la saturation, les débits n’adoptent pas de forme
108
linéaire constante. Par contre, nous pouvons remarquer une légère stabilité autour de 100% de
charge du réseau. Cette allure aurait été précoce si la taille des files d’attente était
dimensionnée selon une réalité existentielle.
Les figures 5.15 et 5.16 représentent les mesures de délai moyen des paquets de la classe 1 et
de la classe 2, respectivement en utilisant le mécanisme d’ordonnancement PSP, puis WTP.
Une première constatation est visible pour les résultats sous PSP : la différenciation de délai
est remarquable dès une faible charge du réseau (à partir de 10%), et reste constamment faible
jusqu’à 65% de charge où la différenciation atteint une plus grande valeur. Sous WTP, la
différenciation ne s’effectue que tardivement, pour environ 70% de charge.
D’autre part, nous remarquons un écart de différenciation moindre que les scénarii précédents.
Ce phénomène est dû au nombre plus important de flots qui traversent le réseau et est mis en
évidence, par ailleurs, par l’augmentation plus rapide des délais.
109
Figure 5.15 : Courbes de délai sous PSP : scénario n°4
La figure 5.17 expose les différents débits des deux classes de trafic TCP et UDP. La
différenciation est nette sur la figure et c’est effectivement autour de 10% de charge qu’elle
s’accroît et que l’écart de différenciation augmente jusqu’à environ 90% pour garder un écart
constant. Par ailleurs, la première classe montre un débit plus important que la première, ce
qui valide l’idée relative aux flots élastiques qui utilisent une bande passante plus importante
que les flots non-élastiques.
Le résultat visé est nettement plus perceptible pour cette série d’expériences, puisque nous
disposons d’un nombre important d’applications sur le réseau, durant un intervalle de temps
significatif, comparable à un intervalle d’utilisation des réseaux dans la réalité. Une
application à fort débit dispose de moins de délai (temps d’attente relativement important) et
inversement.
110
Figure 5.17 : Courbes de débit sous PSP : scénario n°4
La figure 5.18 est l’illustration de la puissance par classe de trafic. Nous observons la nette
différence d’écart entre les deux courbes, particulièrement pour la classe n°1 qui voit sa
puissance quasiment divisée par 2.
111
Comme pour les précédentes expériences, nous commençons par présenter les courbes de
délais des paquets appartenant aux flots TCP et UDP, tout d’abord en utilisant l’ordonnanceur
PSP, puis en adoptant l’algorithme WTP. Les figures 5.19 et 5.20 sont les illustrations de ces
résultats.
112
partir de 65% de charge ; d’autre part, l’écart de différenciation est plus significatif pour notre
algorithme que pour WTP, ce qui montre son efficacité.
La figure 5.21 montre la différenciation des classes du point de vue débit. Nous observons le
net écart qui se produit à mesure que la charge du réseau augmente. Le débit de la première
classe reste toujours supérieur à celui de la seconde classe. Ce comportement confirme
l’efficacité d’un tel procédé à base de PSP. Cette différenciation peut aussi être observée sous
l’angle de la puissance par classe, montrée par la figure 5.22.
113
octets. Les paquets des flots élastiques sont ainsi supérieurs à ceux des flots non-élastiques.
La figure 5.23 met en évidence le délai mesuré pour chaque classe, sous l’action de
l’ordonnanceur PSP. Tout d’abord, une très faible différenciation entre la classe 1
représentant la classe élastique et la classe 2 est remarquable autour de 40% de charge. Cette
différenciation s’accroît à mesure que le réseau se trouve chargé et celle-ci est nettement
visible dès 55% de charge.
Ces observations ne sont pas mises en évidence pour la figure 5.24 qui présente, sous WTP,
les délais pour chaque classe. Par conséquent, nous pouvons déduire que la différenciation sur
le délai est plus précoce en utilisant l’ordonnancement PSP qu’en utilisant la politique WTP.
La figure 5.25 présente le débit des paquets de chaque classe lorsque le réseau est soumis à la
politique d’ordonnancement PSP. Lorsque la taille des paquets pour les flots est déterministe,
nous remarquons une nette différence de débit entre les deux classes. D’autre part, nous
114
notons la supériorité du débit de la classe 1 par rapport à celle de la seconde classe. Ceci
traduit et confirme en effet les besoins respectifs des deux classes en terme de débit : la classe
temps-réel qui dispose (et qui a besoin) d’un débit moindre que celui requis par la classe
élastique.
115
Figure 5.27 : Courbes de délai sous PSP : scénario n°7
116
La figure 5.28 montre la différenciation du délai sous WTP. Il est à noter visiblement que
cette figure est tout à fait comparable avec la figure 5.20 pour laquelle les paquets des classes
de trafic sont distribués aléatoirement pour chaque flot. Nous déduisons de cette comparaison
que WTP ne tient en aucun cas compte de la taille des paquets et par conséquent n’effectue
pas de différenciation comme le montre l’algorithme PSP.
Les courbes présentées par la figure 5.29 exposent le débit de chaque classe de trafic. La
différenciation est remarquable, mais du fait du nombre important de flots qui circulent, la
différenciation est quelque peu moindre par rapport à la figure 5.25. De même, les débits
représentés présentent des valeurs plus faibles que la figure 5.25, toujours du fait de la
présence d’un nombre important de flots sur le réseau.
117
La puissance des classes présentée par la figure 5.30 montre parfaitement le rapport entre le
débit et le délai des classes de trafic. Les puissances sont quasi divisées par deux, toujours du
fait du nombre de flots concurrents. Par rapport à la figure 5.22, nous pouvons distinguer une
légère différence entre les puissances respectives mesurées. Ce résultat découle de la
distribution de la taille des paquets pour les flots (déterministe pour le cas de figure actuel ;
heuristique pour le cas de la figure 5.22)
118
Les figures 5.31 et 5.32 montrent respectivement les résultats temporels sous PSP et sous
WTP pour le cas de figure exposé dans ce scénario.
Nous notons la différenciation remarquable pour un faible taux de charge du réseau dans le
cas où l’ordonnancement utilisé est PSP, ce qui n’apparaît pas pour l’ordonnancement WTP.
D’autre part, en comparant la figure 5.31 avec la figure 5.27 pour laquelle la différence entre
les tailles des paquets est moindre, nous remarquons une meilleure différenciation pour le cas
de figure du scénario n°8. Par conséquent, nous pouvons conclure que plus la taille des
paquets est faible, plus la différenciation est importante.
La figure 5.33 met en évidence la différenciation du point de vue débit. Les courbes montrent
la faible consommation de la bande-passante car les paquets appartenant à cette classe sont de
petite taille. En comparant cette figure avec la figure 5.29, nous pouvons constater le
phénomène suivant : la classe pour laquelle la taille des paquets a été modifiée a vu son débit
nettement inférieur à celui de la figure 5.29.
Nous pouvons ainsi juger de l’impact de la taille des paquets sur l’obtention du partage des
ressources d’un réseau en terme de débit.
La figure 5.34 expose la conséquence directe des figures précédentes (5.31 et 5.33) : la
puissance des classes est nettement inférieure à celle présentée dans la figure 5.30, toujours du
fait de l’écart qui se pose entre la taille des paquets des flots TCP et UDP.
119
Figure 5.34 : Courbes de puissance sous PSP : scénario n°8
5.5 Conclusions
Nous avons présenté au cours de ce chapitre, l’implémentation de notre mécanisme basé sur la
puissance et assurant l’équité entre les métriques « délai » et « débit » des applications qui,
d’une part sont gourmandes en débit et d’autre part celles qui le sont vis-à-vis du délai. Nous
avons par la suite exposé plusieurs cas de figures pour réaliser des simulations au moyen de
l’outil ns-2 et avons présenté, pour chaque scénario, les résultats des différentes mesures sous
la forme de graphes : délais, débits et puissances pour chaque classe de trafic. Nous avons de
même comparé notre algorithme avec le mécanisme WTP, présenté dans le chapitre
précédent, en confrontant les graphiques des deux mécanismes.
120
CONCLUSIONS & PERSPECTIVES
121
122
Chapitre 6 Conclusions et perspectives
__________________________________________________________________________________________
6. Conclusions et perspectives
Conclusion générale
L’objectif de cette thèse a été l’étude de la qualité de service (QoS) et des techniques
d’ordonnancement des paquets à l’intérieur de réseaux hétérogènes.
Dans une première partie, nous avons identifié les paramètres qui définissent la qualité de
service d’un réseau, et sur lesquels il faut agir pour garantir une qualité de service au-dessus
d’un réseau. Les métriques qui nous permettent de définir la qualité de service sont le débit, le
délai et par conséquent la gigue, ainsi que le taux de pertes des données. Ces éléments sont en
effet essentiels pour juger de la qualité de transmission des informations et par conséquent,
sont primordiaux pour définir la qualité de service. Par ailleurs, nous avons évoqué les
mécanismes de qualité de service à un niveau global, en présentant les architectures proposées
par les groupes de travail IntServ et DiffServ. Ces architectures sont basées sur deux
approches différentes, mais ont pour point commun de tenter d’offrir à chaque application le
maximum de ressources pour leur assurer une crédibilité correcte de transmission. La
première théorie se base sur le principe de contrôle d’admission des flots ainsi que de la
réservation de ressources au moyen du protocole RSVP. Cette approche définit trois classes
de service : le service « best-effort » pour permettre d’acheminer les données sans aucune
garantie ; le service à charge contrôlée pour offrir une certaine garantie de débit ; enfin le
service garanti qui permet d’attribuer de meilleures garanties temporelles et en débit que les
précédents services. L’approche DiffServ permet, quant à elle, d’effectuer une différenciation
de services en se basant sur les micro-flux : les paquets sont ainsi marqués au niveau de leur
en-tête pour leur attribuer des degrés de priorités selon les applications auxquelles ils
appartiennent et leurs besoins en débit, délai et/ou pertes. Dans cette architecture, le service
« best effort » est destiné aux applications à faible priorité ; le service « assured forwarding »
dédié aux applications qui demandent une priorité moyenne, telles la navigation sur le Web ;
enfin, le service à forte priorité, « expedited forwarding » associé aux applications temps-réel.
Dans la seconde partie de ce document, nous avons défini les réseaux hétérogènes comme
étant des réseaux transportant des informations de diverses natures. Cette hétérogénéité
découle des multiples applications qui circulent sur l’Internet actuel, à savoir des simples
transferts de données (applications FTP par exemple), des applications multimédia telles que
la transmission de voix, vidéo, applications interactives, etc… D’une manière plus précise,
nous avons réalisé une classification de ces données hétérogènes en deux grandes catégories
en exposant les critères spécifiques par lesquels ils se distinguent : tout d’abord, les flots
élastiques qui doivent leur appellation à leur capacité de s’adapter à un environnement à
variations temporelles. Cette catégorie englobe les applications du type transfert de fichiers,
123
Chapitre 6 Conclusions et perspectives
__________________________________________________________________________________________
fonctionnant au-dessus du protocole TCP et sont aussi connus pour leur ferme besoin en débit.
La seconde famille des flots est qualifiée de non-élastique ; contrairement à la catégorie
précédente, les applications qui font partie de cette famille sont sujets à de forts besoins de
garanties en terme de délai : nous y avons classé les applications temps-réel qui sont elles-
mêmes divisées en deux classes : d’une part, les applications fermes telles que la téléphonie
ou voix sur IP ; d’autre part, les applications plus souples, telles que la vidéoconférence.
Nous nous sommes de même intéressés à la manière dont tous ces flots sont traités à
l’intérieur des routeurs. Nous avons ainsi présenté, dans un premier temps, les algorithmes
d’ordonnancement sous un aspect général, en distinguant les mécanismes conçus pour les files
d’attente simples, et ceux adaptés pour les files d’attente multiples. Puis nous avons
longuement discuté des politiques d’ordonnancement en faisant un état de l’art de l’existant.
Nous avons pu distinguer à la suite de cette étude deux catégories d’ordonnancement : celle
qui s’intéresse à un ordonnancement selon le délai et qui se trouve avantageux pour les
applications non-élastiques à forte contrainte temporelle ; la seconde famille des
ordonnanceurs vise la deuxième catégorie des applications, en favorisant leur fluidité selon le
paramètre du débit et en leur attribuant par conséquent un minimum de leur besoin concernant
cette métrique pour les écouler avec un minimum de rigueur.
La troisième partie de la thèse a visé la problématique que nous avons soulevée et a consisté à
présenter l’approche de notre proposition. Il a été tout d’abord question d’aborder le problème
de l’ordonnancement à différenciation proportionnelle, aspect primordial de notre axe de
recherche. Nous avons en effet pu noter au cours du chapitre dédié à l’ordonnancement, que
les mécanismes adoptés n’ont en aucun cas traité une équité proportionnelle de partage de
ressources entre les applications hétérogènes. L’ordonnancement n’a en effet été réalisé qu’en
tenant compte d’un seul paramètre de qualité de service, soit le délai, soit le débit, soit le taux
de pertes. Mais nous n’avons jamais pu traiter un partage équitable proportionnel basé sur les
deux principales caractéristiques que nous avons dégagées à la suite de la classification des
flots : nous entendons par cela le débit et le délai, traités simultanément. L’approche que nous
avons proposée est fondée sur cette idée de différenciation équitable en fonction du débit et du
délai. Pour ce faire, nous nous sommes référés à une métrique d’évaluation des performances
des réseaux, qui met en jeu aussi bien le débit que le délai, et ce, de manière simultanée. Ce
paramètre, exprimé sous forme de rapport débit/délai n’est autre que la puissance et permet de
déterminer l’apogée des performances d’un réseau. Notre ordonnanceur, a été conçu pour
assurer une différenciation proportionnelle entre, d’une part, les applications élastiques, et
d’autre part, les applications non-élastiques qui se partagent le réseau de manière concurrente.
De ce fait, les applications se verront attribuer des priorités d’écoulement de leur trafic de
manière tout à fait proportionnelle selon le débit et le délai requis par chaque classe de flot.
L’implémentation et les tests ont été réalisés au moyen du simulateur ns-2 sur différentes
topologies de réseaux.
Les résultats, présentés et discutés au sein de la dernière partie montrent nettement la
différenciation attendue. Ainsi, nous avons pu démontrer qu’en présence d’un certain nombre
d’applications sur un même canal, il est possible d’éviter le phénomène de famine des
ressources de manière à satisfaire une certaine qualité de service à chaque application. Les
distributions de priorités se faisant selon les requis en débit et délai, chaque flot bénéficiera
d’une part relative à ses besoins.
Perspectives
Cette thèse a été réalisée dans le cadre d’une étude de la qualité de service pour des réseaux
hétérogènes. Nous avons limité notre définition d’hétérogénéité à la diversité des flots. Ainsi,
les réseaux hétérogènes représentent les réseaux sur lesquels circulent des données mixtes.
124
Chapitre 6 Conclusions et perspectives
__________________________________________________________________________________________
125
Chapitre 6 Conclusions et perspectives
__________________________________________________________________________________________
126
BIBLIOGRAPHIE
127
128
Bibliographie
__________________________________________________________________________________________
Bibliographie
[1] Page web du projet “Qualité de service sur réseaux sans-fil”, Disponible sur
http://drakkar.imag.fr/AIRS.html
[3] Anurag, “Study of Expedited Forwarding in Differentiated Service and its Performance
Characteristics using CBQ Implementation”
[5] F. Baker, J. Krawczyk, A. Sastry, “RSVP Management Information Base using SMIv2”,
RFC 2206, September 1997
[6] M. Baldi, “Real-time Services over Packet Switching Networks”, Thèse de doctorat -
Polytechnique de Turin – 1998
[7] B. Baynat “ Théorie des files d’attente – Des chaînes de Markov aux réseaux à forme
produit », Edition Hermès, Juin 2000
[8] C.R. Bennett, H. Zhang, “WF2Q: Worst-case Fair Weighted Fair Queuing”, In
Proceedings of IEEE Infocom'96, San Francisco, CA, March 1996, pp. 120-128
[9] L. Berger, T. O'Malley, “RSVP Extensions for IPSEC Data Flows” , RFC 2207 ,
September 1997
[10] U. Bodin, A. Jonsson, and O. Schelon. “On Creating Proportional Loss Differentiation :
Predictability and Performance”, In Proceedings of IWQoS 2001, pp. 372-386, Karlsruhe,
Germany, June 2001
[11] T. Bonald and J. W. Roberts, “Performance of bandwith Sharing Mechanisms for Service
Differenciation in the Internet”, ITC Specialist Seminar, Monterey, CA, USA, 18-20
September, 2000
129
Bibliographie
__________________________________________________________________________________________
[13] C. Boutremans, J.Y. Le Boudec, “Adaptive Delay Aware Error Control for Internet
Telephony”, Proceedings of 2nd IP-Telephony Workshop, pp.81-92, Columbia University,
New York, April 2001
[17] C. Chassagne, “De l’utilité des mesures dans les réseaux et dans l’Internet”, Rapport,
Septembre 1997, disponible sur
http://www.urec.fr/metrologie/metrologie.html
[18] C. Chassagne. “Qualité de service dans l’Internet”. Rapport, Août 1998, disponible sur
http://www.urec.fr/metrologie/article-qos.html
[19] R. Chipalkatti, J.F. Kurose, and D. Towsley, “Scheduling Policies for Real-Time and
Non-Real-Time Traffic in a Statistical Multiplexer”, Proceedings of IEEE Infocom'89, pp.
774-783, Ottawa Canada
[21] “Weighted Random Early Detection on the Cisco 12000 Series Router” , Technical
Support, September 1999
[23] D.Clark, W.Fang, “Explicit Allocation of Best Effort Packet Delivery Service”, ACM
Transactions on Networking, August 1998
[26] R. Cruz, “Service Burstiness and Dynamic Burstiness Measures : A Framework”, Journal
of High Speed Networks, vol.1, no.2, 1992, pp. 105-127
130
Bibliographie
__________________________________________________________________________________________
[28] C.Deleuze, “Qualité de Service dans l’Internet : Problèmes liés au haut débit et au facteur
d’échelle”, Thèse de Doctorat, Université Paris VI, Janvier 2000
[29] C. Deleuze and S. Fdida, « Stateless Virtual Clock : Un ordonnanceur de paquets pour les
garanties de délai dans les réseaux de transit », CFIP’2000, Toulouse, France, 17-20 Octobre
2000
[31] C. Dovrolis and P. Ramanathan, “A case for Relative Differentiated Services and the
Proportional Differentiation Model”, IEEE Network, September/October 1999
[33] C. Dovrolis and P. Ramanathan, “Proportional Differentiated Services, Part II : Loss Rate
Differentiation and Packet Dropping”, IEEE/IFIP International Workshop on Quality of
Service (IWQoS), pp. 52-61, Pittsburgh, June 2000
[36] L. Essafi, G. Bloch, A. Andres, “An Adaptive Waiting Time Priority Scheduler for the
Proportional Differentiation Model”, High-performance Computing Symposium, 22-26 April
2001
[37] T.S. Eugene Ng, D.C. Stephens, I. Stoica, H. Zhang, “Supporting Best-Effort Traffic
with Fair Service Curve”, GLOBECOM'99, Rio de Janerio, Brazil, December 1999
[38] P. Ferguson, G. Huston, J. Wiley, “Quality of Service : Delivering QoS in the Internet
and in Corporate Networks” , 1998
[41] S. Floyd , and V. Jacobson, , “Random Early Detection Gateways for Congestion
Avoidance”, vol.1, no.4, August 1993, pp. 397-413
131
Bibliographie
__________________________________________________________________________________________
[42] S.Gai, D.Dutt, N.Elfassy, Y.Bernet, “RSVP+ : An Extension to RSVP”, Internet Draft ,
June 1999. draft-sgai-rsvp-plus-00.txt
[43] B. Gaidioz, “Création et mise en oeuvre d’un nouveau service DiffServ : le « Fair
Forwarding » “, DEA d’Informatique Fondamentale de l’ENS-Lyon, Juin 2000
[45] B. Gaidioz and P. Primet. “EDS: A New Scalable Service Differentiation Architecture
for Internet”. In Proceedings of International Symposium on Computer Communication
(ISCC) 2002, pages 777-782, Taormina, Italy, July 2002.
[47] J.A Garcia-Macias and L. Toumi, “Wireless Local Access to the Mobile Internet”,
chapitre à paraître en Mars 2003 dans Handbook of Wireless Internet, Edité par M. Illyas et B.
Furht, CRC Press Florida
[51] S.J. Golestani, “A Self-Clocked Fair Queuing Scheme for Broadband Applications”,
Proceedings of IEEE INFOCOM’94, Toronto, Italy, June 1994, pp.636-646
[52] A.K. Parekh, R.G. Gallager, “A Generalized Processor Sharing Approach to Flow
Control in Integrated Services Networks: The Single-Node Case”, IEEE/ACM Transactions
on Networking, vol. 1, no. 3, June 1993, pp.344—357
[53] A.G. Greenberg, N. Madras, “How Fair is Fair Queuing”, Journal of ACM, vol.39, no.3,
July 1992, pp. 568-598
[54] R. Guérin and V. Persi, “Quality-of-Service in Packet Networks: Basic Mechanisms and
Directions”, Computer Networks, Vol. 31, N. 3, pp. 169-189, February 1999
132
Bibliographie
__________________________________________________________________________________________
[55] H. Gundersen, F. Trydal, “QoS for real-time IP traffic”, Graduate Thesis, Agder
University College, Norway, May 2001
[56] L. Gzara, “Les patterns pour l’ingénierie des Systèmes d’Information Produit”, Doctorat
de l’INPG, spécialité Génie Industriel, Décembre 2000.
[58] J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, “RFC 2597 - Assured Forwarding PHB
Group” , June 1999
[61] P. Hurley and all., “The ABE Service” , Internet Draft, draft-hurley-alternative-best-
effort-01.txt, November 2000
[62] P.Hurley, J.Y. Le Boudec, P. Thiran “The Alternative Best-Effort Service”, SSC
Technical Report SSC/1999/036, Institute for Computer Communication and Applications,
Lausanne, September 1999
[64] P. Hurley, J.-Y. Le Boudec, P. Thiran, and M. Kara. “ABE : Providing low delay service
within best effort. IEEE Networks, 15(3) : 60-69, May 2001
[66] K. Kilkki, J.Ruutu, “Simple Integrated Media Access – an Internet Service Based on
Priorities”, Proceedings of the 6th International Conference on Telecommunication Systems
Modeling and Analysis - TN, USA- March 5-8, 1998
[67] L. Kleinrock, “A Delay Dependent Queue Discipline”, Journal of ACM, vol.14, no.2,
1967, pp.242-261
[68] L. Kleinrock, “Queuing Systems, volume II”, John Wiley and Sons, 1976
[69] F. Li, N. Seddigh, B. Nandy, and D. Matute. “An Empirical Study of Today’s Internet
Traffic for Differentiated Services IP QoS”, The Fifth IEEE Symposium on Computers and
Communication (ISCC 2000), Antibes, France, July 2000
[70] R. R.-F. Liao and A.T. Campbell, “Dynamic Core Provisioning for Quantitative
Differentiated Service”, In Proceedings of IWQoS 2001, pp. 404-418, Karlsruhe, Germany,
June 2001
133
Bibliographie
__________________________________________________________________________________________
[72] R. Makkar and all., “Empirical Study of Buffer Management Scheme for Diffserv
Assured Forwarding PHB”, The Ninth International Conference on Computer
Communication and Networks (IC3N’2000), Las Vegas, October 2000
[73] A. Mankin, and all, “Resource ReSerVation Protocol (RSVP) -- Version 1 Applicability
Statement --Some Guidelines on Deployment”, RFC 2208, September 1997
[75] O. N. Medina, J-M. Bonnin, L. Toutain, “ Service DiffServ pour les flux audio et vidéo”,
Colloque Francophone pour l’Ingénierie des Protocoles (CFIP’2000), Toulouse, France, 17-
20 Octobre 2000
[76] J. Nagle, “On Packet Switches with Infinite Storage”, RFC 970, December 1985
[77] J. Nagle, “On Packet Switches with Infinite Storage”, IEEE Transactions on
Communications, vol. 35, pp. 435-438, 1987
[79] K. Nichols, S. Blake, F. Baker, D. Black, “Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers”, RFC 2474, December 1998
[84] P. Pan, H. Schulzrinne, “YESSIR : A Simple Reservation Mechanism for the Internet”,
Computer Communication Review ACM SIGCOMM , Vol.29, no2, April 1999
[86] C. Kolias and L. Kleinrock, “The Power Function as a Performance and Comparison
Measure for ATM Switches”, Globecom'98, pp. 381-386,Sydney, Australia, November 1998
[87] http://www-rst.int-evry.fr/~hebutern/IT21/Simu.html
134
Bibliographie
__________________________________________________________________________________________
[91] J. W. Roberts, “Engineering for Quality of Sevice”, France Télécom – CNET, Issy les
moulineaux, France, July 1998
[95] S. Shenker, “Fundamental Design Issues for the Future Internet”, IEEE Journal of
Selected Areas in Communication, vol. 13, no. 7, September 1995, pp. 1176-1188
[96] E. Siegel, “Designing Quality of Service, Solution for the Enterprise”, Wiley Editions,
1999
[97] I. Stoica, H. Zhang, T.S. Eugene Ng, “A Hierarchical Fair Service Curve Algorithm for
Link-Sharing, Real-Time and Priority Service”, Proceedings of SIGCOMM'97, Cannes,
France, 1997, pp. 249-262
[98] A. Striegel and G. Manimaran, “Differentiated Services : Packet Scheduling with Delay
and Loss Differentiation”, Computer Communications, vol.25, no.1, pp.21-31, Jan. 2002
[99] L.Toutain, “Internet à Intégration de services”, Colloque GRES 97, Brest, France,
Septembre 1997
[100] P. White and J. Crowcroft. “Integrated services in the Internet : the next stage in
Internet : state of the art”, Proceedings of the IEE, Vol.85, no.12, pp.1934-1946, December
1997
[101] J. Wroclawski, “The Use of RSVP with IETF Integrated Services”, RFC 2210,
September 1997
135
Bibliographie
__________________________________________________________________________________________
[103] X. Xiao and L.Ni, “Internet QoS : The Big Picture”, IEEE Network, vol.13, no.2, pp.1-
13
[104] L.Zhang, and all, “RSVP : A New Resource reservation Protocol”, IEEE Network
Magazine, pp. 8-18, September 1993
[105] L.Zhang, “Virtual Clock: A New Traffic Control Algorithm for Packet Switching
Networks”, Proceedings of SIGCOMM '90, pp. 19-29
136
ANNEXES
137
138
Annexes
Les concepts manipulés dans UML sont de quatre natures. On distingue des concepts
structurels (les classes, les interfaces, les collaborations, etc.), comportementaux (les inter-
actions, les états d’objets), annotationnels (les notes) et de groupement (les package, les sous-
systèmes, etc.)
Les relations permettent de lier les concepts. UML offre quatre types de relations : les
associations, les généralisations, les dépendances et les réalisations.
Les diagrammes constituent des représentations graphiques d’ensemble de concepts. Ils sont
définis par des graphes connexes dont les sommets sont des concepts et les arcs des relations
inter-concepts. Les diagrammes permettent de représenter les systèmes sous différentes
perspectives et différents niveaux d’abstractions. UML offre neuf types de diagrammes
offrant des visions statiques ou dynamiques des systèmes.
Diagramme
Exemple de diagramme
Une classe UML comprend trois compartiments qui permettent respectivement de représenter
le nom de la classe, ses attributs et ses opérations. Si un diagramme de classes est trop
important (trop de classes et de relations) ou si seule une vision globale est nécessaire, il est
possible de donner une vision moins complète des classes, par exemple en ne faisant
apparaître que les noms des attributs et/ou des opérations, voire en ne donnant que le premier
compartiment (nom de la classe). Ce premier compartiment peut être doté d’un stéréotype
permettant de “ typer ” les classes.
Les rôles dans une association décrivent comment une classe voit l’autre classe au travers de
l’association. Cette notion est particulièrement importante dans deux cas. Le premier cas
concerne les associations multiples entre deux classes. Le deuxième cas pour lequel la notion
de rôle est fondamentale est celui des associations récursives. Une association récursive relie
une classe à elle-même.
Dans une association, chaque rôle porte une multiplicité qui indique combien (au minimum et
au maximum) d’objets de la classe jouant le rôle peuvent être liés à un objet de la classe
associée. Les multiplicités usuellement utilisées sont les suivantes :
1 Un et un seul
0..1 Zéro ou un
M..N De M à N
* De Zéro à plusieurs
0..* De Zéro à plusieurs
1..* De un à plusieurs
A.4 Héritage
La relation d’héritage permet d’établir des classifications de concepts. Dans un premier temps
on peut l’assimiler à une inclusion ensembliste : X est une“ sorte de ” Y qui est elle-même
une sorte de Z. La relation d’héritage permet d’organiser les classes par niveau d’abstraction.
141