La vitrine de diffusion des mémoires et thèses de l'ÉTS
RECHERCHER

Chaînage automatisé de programmes BPF par application de correctifs

Téléchargements

Téléchargements par mois depuis la dernière année

Plus de statistiques...

Brodeur, Alexis (2023). Chaînage automatisé de programmes BPF par application de correctifs. Mémoire de maîtrise électronique, Montréal, École de technologie supérieure.

[thumbnail of BRODEUR_Alexis.pdf]
Prévisualisation
PDF
Télécharger (350kB) | Prévisualisation

Résumé

BPF est une technologie du noyau de Linux recevant une augmentation fulgurante d’attention dans les domaines de la télécommunication et de la sécurité informatique. BPF permet l’exécution de programmes directement dans le noyau de Linux pour de grandes améliorations de performances. Ces programmes peuvent observer et surveiller le système, filtrer des paquets réseau, router des paquets, etc. Dans bien des cas d’utilisation, il est nécessaire d’appliquer plusieurs opérations orthogonales séquentiellement dans des programmes BPF. Permettre l’enchaînage automatisé de programmes implémentant ces opérations permet d’ouvrir la porte à un écosystème plus vif et dynamique permettant la composition de programmes. En permettant la consommation de programmes BPF orthogonaux, il devient intéressant de permettre aux programmes d’être utilisés de la même façon que nous utilisons les conteneurs aujourd’hui. Avec une telle approche, composer plusieurs programmes provenant de sources tiers afin d’obtenir un comportement désiré offre des avantages considérables pour l’industrie. Nous proposons donc dans ce travail une nouvelle approche pour enchaîner des programmes BPF qui ne présente pas de perte de performances significative, et présentant une meilleure compatibilité sur diverses architectures CPU et versions du noyau de Linux. Nous comparons cette approche à d’autres approches existantes telles XDP Dispatcher et le chaînage manuel. Nous comparons la performance de notres approches avec les autres par l’évaluation du débit maximum, temps CPU, et nombre de cycles CPU de chaque approches pour toutes les versions LTS de Linux présentement supportée lors de l’écriture de ce travail. Nous montrerons par ces résultats que notre approche ne souffre pas de pertes de performances significatives comparativement aux autres approches, et nous argumentons de points de comparaison plus subjectifs tel la compatibilité, l’orthogonalité des programmes, etc. Il est espéré que ce travail aidera à l’implémentation de nouveaux outils pour l’écosystème BPF.

Titre traduit

Automated sequencing of BPF programs by patching

Résumé traduit

BPF is an important technology at the core of the Linux kernel that has received an increase in attention and contribution from multiple fields of computer science like networking and security. BPF allows execution of precompiled programs directly inside the Linux kernel for significant performance improvements over other approaches. These programs can monitor a running system, filter network packets, route network packets, etc. In many use cases, there is a need to run multiple orthogonal programs sequentially, like packet filtering or packet routing. Allowing the automation of program chaining will allow even more notable improvements to the ecosystem surrounding this technology by improving how programs can be coupled together to acheive more complex use cases. In this work, we propose a novel approach to chain the execution of BPF programs without harming performance and offering better compatibility compared to similar approaches. We compare our novel approach with XDP Dispatcher and manual program chaining. For all approaches, we compare performances by measuring the transfer speed, run time and CPU cycles used for multiple LTS versions of the Linux kernel. We show that our approach is a viable alternative that does not suffer from performance costs and argue its boons on more subjective matters like compatibility, program orthogonality, etc. We hope this work will aid in the development of new tools in the BPF ecosystem.

Type de document: Mémoire ou thèse (Mémoire de maîtrise électronique)
Renseignements supplémentaires: "Mémoire présenté à l’École de technologie supérieure comme exigence partielle à l’obtention de la maîtrise avec mémoire". Comprend des références bibliographiques (pages 51-53).
Mots-clés libres: linux, kernel, bpf
Directeur de mémoire/thèse:
Directeur de mémoire/thèse
Gherbi, Abdelouahed
Programme: Maîtrise en ingénierie > Génie
Date de dépôt: 01 févr. 2024 14:24
Dernière modification: 01 févr. 2024 14:24
URI: https://espace.etsmtl.ca/id/eprint/3338

Gestion Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt