L’objectif de NFV (Network Functions Virtualization) porté par l’organisation OPNFV (Open Platform for NFV) est de virtualiser de plus en plus de fonctions représentées aujourd’hui par des matériels spécialisés [4]. C’est la cas des Firewalls, des routeurs, des générateurs de trafic, des analyseurs de réseau, mais aussi des commutateurs avec Open vSwitch qui supporte d’être piloté par un contrôleur SDN.

Dans ce domaine, les machines virtuelles de type KVM représentent une réponse toute adaptée, mais le fait que bon nombre de ces services soient supportés par le système d’exploitation Linux a tout naturellement poussé le concept de conteneur de type Docker pour gagner en taille et en performance. On oublie, également trop souvent, le concept LXD de Canonical, qui apporte un compromis entre la virtualisation système et la virtualisation applicative.

VM vs Conteneur

La performance est justement un élément clé pour la réussite de cette approche. Un travail important a été effectué pour accélérer les traitements réseau sur les serveurs. Des travaux, dans un premier temps isolés, ont permis d’atteindre des performances extrêmes avec de simples serveurs standards. Netmap a été intégré nativement dans le système FreeBSD. DPDK (Data Plane Development Kit ) sert de support à de nombreuses applications réseau qui dépassent le 100 Gigabit sur un processeur Intel Xeon. PF_RING supporte l’application ntopng pour la capture des paquets à haut débits. DPDK supporte VMXNET3 de VMware [10] [11], mais toutes mes expérimentations sur le sujet m’ont amené à conclure que la performance ne pouvait être tenue qu’avec des gros paquets. Des applications DPDK basées sur des petits paquets nécessitent l’utilisation du « Direct Assignment » qui fait perdre de nombreux avantages de la virtualisation.

DPDK

L’organisation FD.io s’est structurée pour rassembler des projets dont l’objectif est d’accélérer le « Data Plane » sur diverses architectures (x86, ARM, et PowerPC) et différents environnements (Bare-metal, VM, conteneur), jusqu’à pouvoir remplacer les matériels spécialisés. Pour avoir participé à beaucoup d’expérimentations dans ce domaine, je sais que l’objectif est déjà atteint pour des coûts qui deviennent marginaux.

Une des implémentations la plus connue du concept de NFV, associé au cloud et au terme SDN, est CORD (Central Office Re-architected as a Datacenter), dans lequel le système ONOS se trouve impliqué. L’objectif est de remplacer le point central des connexions téléphoniques et internet pour le grand public par un DataCenter.