Précédent : Présentation générale et
objectifs Remonter : Projet RODEO, Réseaux à haut
Suivant : Grands domaines d'application
L'Internet actuel fournit un service de type « le réseau fait de son mieux mais sans garantie », qui revient en fait à proposer à une application un canal de transmission dont les caractéristiques (débit, délai, pertes) ne sont pas connues à l'avance et peuvent varier au cours de la durée de vie de l'application. Deux approches sont possibles pour obtenir une bonne qualité de transmission. La première approche est d'adapter ou contrôler le processus de transmission en fonction des caractéristiques du canal, le but étant de minimiser l'impact négatif de ces caractéristiques (par exemple un taux de pertes élevé) sur la qualité de la transmission. La deuxième approche est de modifier le service fourni par l'Internet, et en particulier de l'enrichir de nouvelles classes de service qui offrent des garanties de qualité, comme par exemple un taux de pertes maximal garanti. Nos travaux cette année ont porté sur les deux approches.
La première approche revient donc à adapter le processus de transmission, et plus généralement le comportement des applications, en fonctions des caractéristiques du canal de transmission, c'est-à-dire du réseau. Il faut pour la mettre en oeuvre d'abord estimer en temps réel ces caractéristiques, ensuite identifier lesquelles sont importantes pour l'application en question, enfin concevoir des mécanismes de contrôle qui permettent d'obtenir une qualité de transmission adéquate. Nos travaux portent sur chacune de ces étapes, et particulièrement sur 1) l'étude des caractéristiques (délai, pertes, gigue) des connexions Internet (à la fois point à point et multipoint) et de leur impact sur la conception de mécanismes de contrôle efficaces, et 2) le développement de mécanismes spécifiques pour applications interactives (audio/vidéo/jeux). Les méthodes mises en jeu sont l'instrumentation et la mesure, l'identification de paramètres, la modélisation analytique, et les théories de l'information et des files d'attente.
La deuxième approche pour obtenir une bonne qualité de transmission sur l'Internet cherche à modifier le service fourni par le réseau afin d'être à même d'offrir aux applications des garanties de performance. Ces garanties peuvent être soit déterministes (par exemple : le délai de transit à travers le réseau sera inférieur à 150 ms pour tous les paquets) soit stochastiques (par exemple : la probabilité que le délai dépasse 150 ms est inférieure à 1%). Nos travaux cette année ont porté sur la fourniture de garanties stochastiques. Le but est toujours d'obtenir des mécanismes simples (qui pourront donc être déployés dans l'Internet relativement rapidement) et robustes.
Nous avons donc développé des mécanismes simples, basés sur l'ajout d'un seul bit spécial dans l'en-tête des paquets. Ce bit permet d'identifier les paquets ayant droit à un service de meilleure qualité que le service habituel. Il reste encore à identifier la sémantique de ce bit (qui peut identifier des paquets nécessitant un délai faible, ou un débit élevé, etc), à définir des algorithmes d'ordonnancement dans les routeurs (pour allouer des ressources aux paquets prioritaires), à définir une politique de tarification (pour empêcher tous les utilisateurs d'identifier tous leurs paquets comme étant prioritaires), et à quantifier le service fourni aux paquets prioritaires et aux autres.
Nous avons également développé des mécanismes de contrôle d'admission. Ces mécanismes ont pour but de limiter le nombre de connexions admises dans le réseau afin d'être sûr qu'un niveau suffisant de ressources est alloué aux connexions déjà admises, et donc d'offrir à ces connexions des garanties de performance. Les travaux ont porté cette année sur la robustesse de tels mécanismes en face d'erreurs d'estimation sur les caractéristiques de trafic des nouvelles connexions, ou sur leur durée de vie, etc.
Notre approche s'appuie sur la spécification des besoins des applications en ESTEREL et sur un « compilateur de protocoles » appelé ALFred basé sur les concepts ALF/ILP et qui va générer automatiquement le protocole de communication adapté à l'application à partir de sa spécification.
Nous avons suivi le plan suivant :
L'idée de base d'Application Level Framing (ALF) est de faire en sorte que ce soit le protocole qui s'adapte aux besoins de l'application et non l'inverse. L'application est considérée comme la plus apte à déterminer les stratégies à adopter lorsque des données sont perdues ou arrivent hors séquence. Cette conception d'une architecture intégrée et flexible nécessite, d'une part, que le système de communication ait accès à la sémantique de l'application, et, d'autre part, que l'application ait aussi un moyen d'agir sur le contrôle et la synchronisation du système de communication.
Afin de valider cette approche intégrée, nous avons voulu analyser et mesurer quel était le véritable impact d'ALF sur l'architecture et les performances du système de communication.
Pour notre étude, nous avons développé une application de transfert d'images JPEG qui se prête bien au concept ALF. Cette dernière utilise le format JFIF (JPEG File Interchange Format), format minimal de fichier qui permet d'échanger des images compressées JPEG.
Notre analyse porte principalement sur les points suivants :
Traiter les paquets hors séquence nous paraît un facteur important d'accroissement des performances. Les unités de données peuvent en effet être délivrées directement à l'application sans attendre le paquet suivant ou précédent.
Des mesures de performance ont été effectuées. Les résultats préliminaires montrent l'intérêt de l'approche ALF.