Objectifs
L'objectif général de cette recherche est de proposer et de
montrer la faisabilité d'une
nouvelle approche pour l'évaluation des
performances des réseaux (trafics, architectures, protocoles).
Ce projet de recherche coopérative s'articule autour des 4 axes
complémentaires suivants :
-
l'acquisition et la mise en place
d'un réseau expérimental d'une douzaine de PC;
-
la simulation/émulation d'architectures et de protocoles
(du Web, notamment) sur ce réseau;
-
l'analyse statistique des mesures prélevées lors des expériences
réalisées dans l'étape 2;
-
la validation de divers modèles mathématiques développés par
les partenaires du projet à partir des
informations rassemblées et analysées dans l'étape 3.
Nous allons maintenant détailler chacune de ces étapes.
Etape 1. Un réseau expérimental pour l'analyse des
performances
Le réseau consistera en une douzaine de PC sous Unix connectés
par un switch. Chaque PC sera muni d'une carte réseau à 100Mb.
Ce réseau sera localisé à l'INRIA Sophia Antipolis.
Pourquoi un tel réseau? Pourquoi ne pas utiliser un simulateur?
(par exemple ns [9])?
Un réseau est une entité complexe
qui met en oeuvre des composants et des protocoles très
hétérogènes.
La reproduction de ces mécanismes par simulation (par exemple, une
connexion TCP) est nécessairement sommaire sous peine d'être réduit
à simuler de petits réseaux (quelques noeuds, quelques connexions
TCP). Or, on sait bien que c'est l'interaction de ces différents
éléments qui grêvent les performances des réseaux (Internet).
Il est donc particulièrement important de les reproduire le plus
fidèlement possible (en particulier les connexions TCP qui
constituent l'ingrédient de base de l'Internet) pour ne pas courir
le risque d'arriver à des conclusions erronées.
Quoi de plus fidèle que la réalité? C'est ce principe qui a
guidé notre choix vers ce réseau expérimental.
Concernant les applications Web, voici maintenant quelques détails
sur la façon dont les requêtes seront générées.
Les utilisateurs seront virtuels mais le
trafic qu'ils généreront (des requêtes) sera réel.
Plus précisément, les requêtes de chaque utilisateur
seront générées (émulées)
par un logiciel (WAGON)
basé sur des modèles mathématiques
de comportements typiques d'utilisateurs Web. Ces modèles,
paramétrables, ont
été obtenus à partir de l'analyse de nombreuses traces collectées
sur différents types de serveurs Web. Chaque PC pourra
simuler le comportement de plusieurs utilisateurs.
En revanche, les bits généres par chaque requête seront transmis
physiquement sur le réseau selon les protocoles en vigueur dans le
réseau (contrôle de flux, routage, ordonnancement, etc.).
Ce réseau pilote pourra, dans le cas de certaines expériences,
être interconnecté (via RENATER) à la plateforme
expérimentale existant à l'ENST. On aura ainsi créé un réseau
hétérogène qui nous permettra de tester grandeur nature
divers algorithmes (notamment) multipoint (cf. Etape 2).
Si le besoin s'en fait sentir, ce réseau pourra toutefois être autonome.
Ainsi, une expérience pourra-t-elle être reconduite plusieurs fois
sous les mêmes conditions (de congestion, notamment) et les
résultats obtenus ne seront donc pas bruités par des trafics
exogènes comme c'est le cas dans l'Internet.
Etape 2. Evaluation de performance d'architectures et de
protocoles
Nous allons passer en revue quelques applications visées.
- Evaluation du nouveau protocole http-ng
http-ng est actuellement en cours de développement par le W3C. Le projet MISTRAL est impliqué dans
cette réalisation en ce qui concerne les aspects d'évaluation des
performances (en particulier la comparaison avec les versions
précédentes de http, c'est-à-dire http/1.0 et http/1.1).
Pour ce faire nous allons utiliser le réseau expérimental. Les
3 versions de http seront installés sur différents PC de façon
à comparer les différences de performance.
On testera aussi l'évolution des performances en fonction des
différentes versions de tcp utilisé (Reno, Vegas, etc.).
Ceci est un cas typique où un simulateur comme ns ne peut pas
être d'un grand secours à moins de coder en ns
toutes ces versions de http et de tcp, tâche assez irréaliste.
- Evaluation d'architectures de mémoire cache
Nous implémenterons sur le réseau différentes architectures de
mémoire cache (architectures hiérarchiques typiquement) et
analyserons leurs performances en présence de différentes
stratégies (caches coopératifs, politiques push, etc.).
Ici encore, on s'attachera à observer la variation des performances
en fonction des protocoles utilisés (http, tcp).
- Evaluation de protocoles de transport multipoint fiables
La capacité d'offrir des services multipoint fiables devient un élément
clé de l'architecture des réseaux IP [2, 3, 12].
En l'absence d'un standard
(comme TCP pour le point à point), les applications se chargent
elles-mêmes d'assurer les fonctions requises. Profitant de
l'expertise acquise dans ce domaine par le groupe Réseaux Haut
Débit nous implémenterons et évaluerons grandeur nature
divers mécanismes de fiabilité (notamment à base
de codes correcteur d'erreurs de type FEC -- forward error congestion), de gestion des acquittements
dans le but d'éviter la prolifération des messages d'acquittement,
et de contrôle de flux (adaptation de la source aux conditions de
trafic).
L'évaluation des performances dans ce contexte doit impérativement
prendre en compte l'hétérogénéité qui peut exister entre les
différents récepteurs à un instant donné (distance,
délai de bout en bout, capacité de transmission).
Ceci sera réalisé en interconnectant ce réseau pilote avec la
plateforme de l'ENST, comme indiqué précédemment.
Etape 3. Collecte et analyse statistique des données
Des campagnes de mesures (mesure du trafic, délais, etc.) intensives
seront réalisées lors des expériences indiquées dans l'étape
2. Profitant de la maîtrise d'oeuvre total du réseau en
configuration ``autonome'', les fichiers
log auront une résolution inférieure à celle que l'on trouve
en général (de l'ordre de la seconde) ce qui nous permettra
d'affiner les statistiques. Cette amélioration de la résolution
sera obtenue en modifiant le noyau Unix sur chacune des machines du
réseau. La qualité des mesures effectuées sera cruciale pour
le bon déroulement de l'étape 4, notamment lorsqu'il s'agira
de mettre en évidence d'éventuelles corrélations sur le
long terme.
Etape 4. Validation et mise en oeuvre de modèles
mathématiques de trafic
Après la révélation en 1991 de l'existence de propriétés
de corrélations sur le long terme [13]
des trafics dans les réseaux
modernes, une forte mobilisation de la communauté en évaluation
des performances a eu lieu dans le but à la fois de comprendre ces
phénomènes non-standards et de les modéliser.
La cause profonde de ces phénomènes et leur impact
réel sur les performances des réseaux sont encore mal connus.
Cependant, plusieurs modèles de trafic capables de reproduire, au
moins partiellement, certains de ces phnomènes ont vu le jour
(on trouvera leurs références dans [1, 8, 7, 11]).
L'analyse et la validité de ces modèles restent néanmoins
des problèmes largement ouverts que nous adresserons dans cette
action.
Dans le cadre de ce projet les recherches porteront aussi sur
l'analyse multifractale du trafic.
Des études menées dans le projet FRACTALES [7, 11]
ont montré qu'une description
plus fine du trafic Internet peut etre obtenue via une analyse
multifractale, qui ne se restreint pas à une étude de la
dépendance longue,
mais considère aussi la partie haute fréquence du signal. Ce type
de caractérisation est utile si l'on veut étudier des variations
à des échelles de temps courtes, et son
application au trafic Web pourrait permettre une gestion fine
des paramètres du cache. Ceci nécessite en particulier de trouver
de nouveaux modèles de trafic à base de cascades. Ce type de
modèle a été étudié dans le projet FRACTALES et
récemment par d'autres auteurs à AT&T.
Nous prévoyons en particulier dans cette partie
d'obtenir les spectres multifractals de cascades aléatoires plus
générales que celles étudiées jusqu'ici, et de développer
de nouvelles méthodes statistiques d'estimation de ces spectres.
L'adéquation de ces modèles aux mesures prélevées dans
l'étape 3 sera étudiée ce qui nécessitera le développement
de procédures d'identification des paramètres.
En parallèle, nous étudierons la validité de
modèles de prévision de la congestion basés sur des techniques
d'inférences statistiques.
Cette approche pour évaluer en temps réel la
congestion d'une connexion (bande passante disponible, trafic
transverse, etc.) est différente de celles utilisées jusqu'à
maintenant et essentiellement basées sur l'utilisation de la
procédure ping de Unix [4, 10]. L'idée (comme dans
[4, 10]) est de supposer l'existence d'un goulôt
d'étranglement le long de la connexion et de modéliser ce routeur
par une file d'attente simple composée de quelques paramètres; les
quantités cherchées (taux du trafic transverse, capacité
mémoire du routeur, débit) sont alors obtenues sous forme close
après estimation de ces paramètres. Cette dernière procédure
peut-être réalisée à partir des observations récoltées à
la source et/ou au destinataire. Rappelons que la connaissance à
chaque instant de la congestion du réseau permettra l'adaptation
des procédures de contrôle aux conditions de trafic
(FEC par exemple dans le cas d'application temps-réel),
d'où une meilleure qualité de service.