Aller au contenu

VPP : Vector Packet Processing

Réseau

VPP : Vector Packet Processing, moteur de traitement de paquets en espace utilisateur, publié en logiciel libre au sein du projet FD.io (Fast Data input/output) de la Linux Foundation. « Le routeur qui traite les paquets par cartons entiers plutôt qu'à l'unité », par analogie avec le caissier qui scannerait tout le chariot d'un coup au lieu de rouvrir le tiroir-caisse à chaque article.

Vecteurs : Au lieu de faire traverser toute la chaîne de traitement à un paquet avant de passer au suivant, VPP fait passer un lot de paquets, le vecteur, à travers chaque nœud d'un graphe (réception, recherche de route, réécriture, émission). Les instructions de chaque nœud restent dans le cache du processeur pendant tout le lot, ce qui améliore nettement le débit.

Origine : Issu d'une technologie de Cisco, le code a été ouvert en 2016 avec la création de FD.io. Il tourne sur des processeurs généralistes et s'appuie le plus souvent sur DPDK (Data Plane Development Kit) pour lire et écrire directement sur les cartes réseau.

Fonctions : Routage IPv4 et IPv6, commutation, NAT, tunnels VXLAN, IPsec, listes de contrôle d'accès : il sert de plan de données à des routeurs logiciels, des passerelles VPN et des fonctions réseau virtualisées, piloté par une API plutôt que par une console.

Visibilité : Les paquets ne passent plus par la pile réseau du noyau : tcpdump, nftables et les outils habituels ne les voient pas. VPP fournit ses propres traces, compteurs et captures, qu'il vaut mieux avoir appris à lire avant l'incident.

Ce qui arrive si on s'en passe

Sans moteur de ce type, un routeur ou une passerelle logicielle sur serveur standard plafonne à ce que la pile réseau du noyau sait traiter : au-delà, il faut revenir au boîtier dédié, plus cher et moins souple. Avec VPP, le traitement quitte le noyau et ses protections familières : pare-feu du système, journaux, sondes et outils de capture habituels ne voient plus rien. Le service doit donc recevoir ses propres règles de filtrage et ses propres exports de flux vers la supervision, et suivre les versions de FD.io comme tout logiciel exposé au trafic, car un défaut d'analyse de paquet y devient une faille du plan de données.

Explication de la marmotte

Pour faire passer des données très vite, un ordinateur doit traiter des millions de petits paquets chaque seconde. VPP est un logiciel qui les traite par groupes plutôt qu'un par un, comme une caissière qui passerait tout un chariot d'un coup. L'ordinateur garde ainsi les mêmes instructions en tête pour tout le groupe et va beaucoup plus vite. Il sert à fabriquer des routeurs et des pare-feu logiciels. En contrepartie, les outils de surveillance habituels ne voient plus ces paquets : il faut en prévoir d'autres.

Où ce terme est utilisé

← Tout le glossaire