Description
Date depot: 17 octobre 2019
Titre: Conception d'extensions noyau sûres pour des fonctions de virtualisation réseau
Encadrant :
Julien SOPENA (LIP6)
Directeur de thèse:
Fabrice KORDON (LIP6)
Domaine scientifique: Sciences et technologies de l'information et de la communication
Thématique CNRS : Systèmes et réseaux
Resumé:
L’avènement de la virtualisation des fonctions réseaux a bouleversé les codes d’opération des réseaux télécom. La virtualisation permet une meilleure flexibilité, l’automatisation des déploiements et des gains de coûts. Cependant, l’intérêt de la virtualisation est mitigé par de limitations de performance de la pile TCP/IP du noyau Linux. En effet, Linux a une capacité d'émission et de réception autour de 4 Mpps alors que les dernières cartes réseaux permettent d’atteindre des débits de 40 Mpps à 100 Mpps. Pour compenser ce problèmes, des solutions d’accélération de traitement de paquets ont été introduites ces dernières années qui reposent soit sur des technologies dites de court-circuit noyau et celles dites de pre-stack processing reposant sur BPF.
L'approche court-circuit noyau repose sur une implémentation de la pile TCP/IP optimisée en espace utilisateur et spécifique à l'application. Cette technologie implique l'utilisation de cartes réseau spécifiques qui sont même de délivrer les paquets en espace utilisateur. Si cette solution permet un important gain de performance, elle a des implications non négligeables en terme du modèle de sécurité des noyaux existants. Elle demande aussi un re-conception complète de l'application. L'approche pre-stack processing repose sur la possibilité d'injecter de manière sûre du code au sein du noyau. Cette solution vise à diminuer le nombre d'appels à l’espace utilisateur. L’isolation entre le programme noyau et le programme injecté est réalisée par des techniques d’analyse du code source intégrées dans le noyau. Si cette approche est maintenant bien admise dans le cadre d'applications de filtrage, son utilisation pour des applications de virtualisation réseau reste à démontrer.
L’objectif de la thèse est de proposer de nouveaux mécanismes permettant d’implémenter des extensions du noyau Linux avec des garanties de performance et de sûreté. Il s’agit pour la thèse de proposer des mécanismes permettant de l’étendre pour permettre l’implémentation de services réseaux complexes comme des fonctions de DPI, d’analyse de données, ou de mise en cache. Il s'agit dans un premier temps de mettre en oeuvre des cas concret d'extensions noyau et de comprendre et analyser les limitations notamment en terme de vérification et expressivité. Dans un deuxième temps, il s'agira de proposer des extensions à BPF pour améliorer les temps de vérification et de chargement des extensions.
Doctorant.e: Ghigoff Yoann