Port-Range Rule Management and Matching-Path Measurement for eBPF-Based Network Functions
Ce document propose une optimisation légère pour la fonction réseau basée sur eBPF, ZFW, qui réordonne les règles de plages de ports selon leurs bornes inférieures et implémente une terminaison anticipée dans le chemin de données, réduisant ainsi considérablement les étapes de balayage et la latence tout en améliorant la prévisibilité du traitement des règles.
Article original sous licence CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Dans l'immense infrastructure invisible qui porte nos vies numériques, il existe une couche de logiciels qui fait office de gardien pour les réseaux informatiques. Ce logiciel, connu sous le nom de fonction réseau, décide quels paquets de données sont autorisés à passer et lesquels doivent être arrêtés, un peu comme un agent de sécurité vérifiant les pièces d'identité à l'entrée d'un bâtiment. Pendant des années, ces gardiens fonctionnaient selon des règles fixes et rigides. Cependant, les systèmes modernes ont évolué pour utiliser une technologie flexible appelée eBPF, qui permet de programmer ces contrôles de sécurité de manière dynamique au cœur de l'ordinateur. Ce changement offre un grand pouvoir, permettant aux administrateurs de mettre à jour les politiques de sécurité instantanément sans redémarrer le système. Pourtant, cette flexibilité introduit un défi caché : à mesure que la liste des règles s'allonge, le temps nécessaire au logiciel pour trouver la bonne règle peut devenir imprévisible. Si la liste n'est pas bien organisée, le système pourrait perdre du temps à vérifier des dizaines de règles non pertinentes avant de trouver celle qui importe, ralentissant ainsi l'ensemble du réseau.
Un chercheur nommé Bo Xie, de l'Institut de recherche en ingénierie numérique de Wuhan, s'est donné pour mission de résoudre ce problème spécifique d'inefficacité au sein d'un outil réseau open-source appelé ZFW. Le problème central identifié était que l'outil conservait sa liste de règles de plages de ports dans l'ordre exact où elles avaient été ajoutées, plutôt que de les organiser logiquement. Imaginez une bibliothèque où les livres sont placés sur une étagère dans l'ordre où ils ont été livrés au bâtiment, plutôt qu' par ordre alphabétique de titre. Si un client veut un livre qui a été livré en dernier, il doit passer devant tous les autres livres de l'étagère pour le trouver. Dans le monde numérique, cela signifiait que si un service Internet populaire était ajouté tardivement à la liste de sécurité, chaque flux de trafic pour ce service devait parcourir toutes les règles sans rapport avant d'atteindre la bonne. Le chercheur a également constaté que le système manquait d'un signal d'« arrêt » ; même s'il était mathématiquement impossible qu'une règle ultérieure corresponde au trafic actuel, le logiciel continuait de vérifier quand même.
Pour corriger cela, l'équipe a introduit deux changements simples mais efficaces dans la manière dont le système gère et vérifie ces règles. Premièrement, ils ont modifié le côté gestion afin que, chaque fois qu'une nouvelle règle est ajoutée, le système l'insère automatiquement à la position correcte basée sur son numéro de début, plutôt que de simplement l'ajouter à la fin de la liste. Deuxيèmement, ils ont mis à jour le mécanisme de vérification à haute vitesse à l'intérieur de l'ordinateur pour qu'il cesse l'analyse dès qu'il rencontre une règle qui commence par un nombre supérieur au trafic qu'il tente de faire correspondre. Comme la liste est désormais triée, le système sait que s'il a dépassé un certain point, aucune règle future ne peut correspondre, ce qui lui permet d'interrompre la recherche immédiatement. Cette approche repose sur l'hypothèse que les règles ne se chevauchent pas de manière à créer de la confusion, une condition que les chercheurs ont veillé à respecter via la couche de politique avant l'installation des règles.
Les résultats des tests de ces changements furent frappants par leur clarté. Dans une expérience contrôlée où le système devait gérer cent règles, la méthode originale obligeait le logiciel à parcourir en moyenne cent entrées pour trouver une correspondance pour un port populaire. Avec la nouvelle méthode de tri et d'arrêt précoce, cette moyenne est tombée à seulement une entrée. Les chercheurs ont mesuré cela en comptant le nombre exact d'étapes effectuées par le logiciel, une métrique qui reflète directement l'effort requis pour traiter chaque donnée. Dans les scénarios où la règle cible était placée tout à la fin de la liste originale, l'amélioration fut une réduction de quatre-vingt-dix-neuf pour cent du travail que l'ordinateur devait accomplir. Même dans les cas où le trafic ne correspondait à aucune règle, le nouveau système pouvait souvent s'arrêter après avoir vérifié la toute première entrée si le nombre du trafic était inférieur à la plus petite règle de la liste.
Cependant, l'étude a également révélé une distinction importante entre l'efficacité du logiciel lui-même et la vitesse totale de la connexion réseau. Lorsque les chercheurs ont testé le système sur un serveur de cloud public, où le trafic Internet voyage sur de longues distances et à travers de nombreux autres ordinateurs, le temps total pour qu'une requête se termine ne s'est amélioré que d'environ deux pour cent. Ce faible gain s'explique par le fait que le temps passé à attendre que les données voyagent sur Internet et le temps que l'ordinateur passe à gérer ses propres tâches internes ont éclipsé les minuscules économies réalisées par la vérification plus rapide des règles. En revanche, lorsque les tests ont été effectués dans un environnement local étroitement contrôlé, où les données n'avaient pas à voyager loin, le temps total pour une requête a chuté de près de vingt pour cent. Cette différence a prouvé que, bien que l'optimisation rende le processus de vérification des règles beaucoup plus efficace, la vitesse globale d'une connexion est toujours fortement influencée par des facteurs extérieurs au logiciel, tels que la distance réseau et la charge du système.
Les chercheurs ont également testé le système sous diverses conditions, incluant des modèles de trafic mixtes où certaines requêtes correspondaient à des règles et d'autres non, et ils ont comparé différentes versions du logiciel pour isoler les effets du tri par rapport à l'arrêt précoce. Ils ont découvert que le tri des règles était le principal moteur de l'amélioration pour le trafic courant, tandis que la fonction d'arrêt précoce apportait un gain significatif pour le trafic ne correspondant à aucune règle. L'étude conclut que cette approche légère offre un moyen fiable de rendre la sécurité réseau plus prévisible et efficace sans nécesseler une refonte complète du système existant. Elle a démontré qu'en organisant simplement la liste des règles et en donnant au logiciel la permission de cesser la recherche lorsqu'il connaît la réponse, les administrateurs peuvent garantir que leurs fonctions réseau fonctionnent de manière constante, même à mesure que le nombre de règles de sécurité augmente. Ce travail constitue une démonstration pratique que, dans les systèmes numériques complexes, l'ordre dans lequel les choses sont disposées est tout aussi important que les règles elles-mêmes.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.