Mémoire de maîtrise (2024)
Résumé
Depuis les années 2010, la modernisation des réseaux de données comme Internet a introduit les concepts de séparation des plans de réseaux, et notamment de programmabilité du plan de données. Il est à cet effet apparu le langage de programmation P4, qui permet de programmer l’intégralité des fonctionnalités d’équipements réseaux comme des commutateurs. Ce langage reste de bas niveau, et bien que ses possibilités soient très vastes, il n’en demeure pas moins qu’il n’est pas toujours intuitif de les programmer pour des applications courantes, comme les applications à états. Nous démontrons qu’il y a un intérêt à proposer dans le langage P4 une structure de hautniveau permettant de programmer aisément des machines à états pour le traitement de paquets. Cette structure permet notamment de programmer un équilibreur de charge par agrégats de paquets ou un pare-feu par combinaison de ports. En nous basant sur le projet FlowBlaze.p4, nous montrons les avantages qualitatifs de notre approche, qui permet une intégration dans l’écosystème de développement P4 grâce à la modification directe du compilateur P4 de référence p4c. Pour ce qui est des gains quantitatifs, la conversion vers notre syntaxe n’affecte pas les performances des applications par rapport à FlowBlaze.p4. Mais nous explorons dans la deuxième partie de ce mémoire des optimisations de la compilation pour améliorer les conditions d’exécution des applications. Cela permet dans l’exemple de l’équilibreur de charge de diminuer le nombre de lignes de P4 nécessaires à son exécution de 66 % tandis que les performances en termes de débit augmentent de leur côté de 62 %. La généralisation de ces optimisations permet d’obtenir un gain en débit de 27 % pour le cas du pare-feu par combinaison de ports, et de 75 % pour un pare-feu à états.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
