Aller au contenu

ODP : OpenDataPlane

Réseau

ODP : OpenDataPlane. « Plan de données ouvert », par analogie avec une prise électrique universelle qui permet de brancher le même appareil dans des pays aux prises différentes.

Objectif : ODP est une interface de programmation open source pour écrire des applications de traitement de paquets portables d'un matériel à l'autre. Le même code doit tourner sur un processeur généraliste comme sur une puce réseau dotée d'accélérateurs.

Place dans la NFV : Dans la virtualisation des fonctions réseau, ODP sert à construire le plan de données de fonctions virtualisées sans se lier à un fabricant. Il côtoie DPDK et les projets de FD.io, qui visent des objectifs voisins.

Abstraction assumée : Là où d'autres bibliothèques exposent finement le matériel, ODP décrit le traitement voulu et laisse chaque implémentation l'exécuter au mieux sur sa puce. La portabilité a un prix : il faut parfois croire le fabricant sur parole quand il promet que son implémentation est la plus rapide.

Ce qui arrive si on s'en passe

Écrire le traitement de paquets directement pour une puce donnée, sans couche d'abstraction comme ODP, lie la fonction réseau à un fabricant : changer de matériel impose de réécrire le plan de données, et la migration se paie en mois de développement plutôt qu'en recompilation. Ignorer à l'inverse le prix de l'abstraction conduit à tenir pour acquises des performances que seule la mesure sur chaque implémentation peut établir. Le plan de données reste portable tant qu'on ne demande pas à chaque fabricant de prouver ses chiffres, exigence accueillie en général avec l'enthousiasme d'un contribuable devant un contrôle fiscal.

Explication de la marmotte

Les équipements qui font circuler Internet doivent trier des millions de messages par seconde. Pour aller vite, ils utilisent des puces spéciales, différentes selon chaque fabricant. Écrire un programme pour chacune serait épuisant. Cette boîte à outils propose une façon commune de décrire le travail à faire, et chaque fabricant se charge de la traduire pour sa propre puce. Un peu comme une recette de cuisine écrite une fois, que chaque cuisinier adapte à son propre four.

Où ce terme est utilisé

← Tout le glossaire