Protocoles de transport hautes performances : développement et validation à large échelle d'un nouveau protocole fondé sur XCP (eXplicit Control Protocol) XCP (eXplicit Control Protocol) est un protocole de transport proposé par Dina Katabi (ACM SIGCOMM 2002). XCP représente une approche différente dans le domaine des algorithmes de contrôle de congestion, car il utilise l'assistance des routeurs. Cette approche est fondamentale pour les réseaux à grand produit bande passante X délai, où TCP est loin d'obtenir de bons résultats. XCP permet ainsi d'obtenir de hautes performances dans une large gamme d'infrastructure de réseaux. Grâce a son algorithme de contrôle des flux, qui sépare les mécanismes d'efficacité et d'équité, XCP est capable de obtenir un très haut niveau d'équité entre flux tout en maximisant l'utilisation de ressources. XCP est construit sur un nouveau principe : donner aux participants du réseau l'information nécessaires pour maximiser leur performance. Les paquets de donnée XCP portent dans leur en-tête de congestion un champ avec le débit souhaité par l'émetteur. Les routeurs exécutent des allocations de bande passante per-flow. De cette façon, les émetteurs connaissent le débit maximal lors de l'aller-retour des paquets. Le protocole XCP est étudié depuis 2004 dans l'équipe RESO du LIP. Une approche originale de XCP est actuellement en cours de modélisation et de simulation dans l'équipe RESO (http://perso.ens-lyon.fr/dino-martin.lopez-pacheco/these/XCP/xcp-varenv.html). Ce stage portera sur la mise en oeuvre et le déploiement de ce protocole de transport hautes performances fondé sur XCP. Le développement aura lieu dans le système d'exploitation Linux et pourra se baser sur des développements pré-existants. La validation de l'impleméntation aura lieu sur une plate-forme locale de test. Des expérimentations seront menées sur la plate-forme Grid5000 et devront démontrer les capacités d'extensibilité du protocole. Competences requises : Programmation en C/JAVA - Connaissances sur le développement dans le noyau linux appréciées. Pointeurs : XCP : http://www.ana.lcs.mit.edu/dina/XCP/ XCP for Linux : http://www.mosebekk.no/ Grid5000 : http://www.grid5000.fr Co-encadrement : Dino Lopez Pacheco (Equipe RESO / LIP) : http://perso.ens-lyon.fr/dino-martin.lopez-pacheco/