VEPA : une nouvelle perspective pour la commutation réseau des datacenters

La virtualisation des serveurs a changé la donne du marché des datacenters. Pour répondre aux nouveaux enjeux qui en découlent, la technologie émergente VEPA portée par l'IEEE mérite d'être étudiée.

Le contexte
La technologie émergente VEPA (Virtual Ethernet Port Aggregator), développée dans le cadre du projet de normalisation 802.1Qbg porté par l’IEEE (Institute of Electrical and Electronics Engineers), apparaît comme une solution efficace en réponse à quelques-unes des problématiques des environnements ultra-virtualisés. Pour le vérifier, comparons l’approche traditionnelle de commutation réseau des datacenters, à base de commutateurs virtuels, et l’approche VEPA, puis examinons leurs principales difficultés de déploiement et leurs effets sur l’infrastructure de virtualisation et de mise en réseau.

La virtualisation des serveurs a changé la donne du marché des datacenters. Ses avantages sont nombreux, allant d'une meilleure utilisation des ressources à la réduction des coûts via la consolidation des serveurs, en passant par l'accroissement de la disponibilité et de la fiabilité des applications. La technique consiste à faire fonctionner plusieurs serveurs virtuels, également appelés machines virtuelles ou VM (Virtual Machines), sur un même serveur physique. Une machine virtuelle est un système d'exploitation complet intégrant les applications exécutées par celui-ci. Pour permettre l'exécution de plusieurs machines virtuelles sur un même serveur physique, une couche logicielle, dénommée hyperviseur, assure l'abstraction entre le matériel informatique et les machines virtuelles. Cette abstraction permet de migrer des machines virtuelles entre différents serveurs physiques.

Les machines virtuelles fonctionnant sur un même serveur physique communiquent entre elles et avec les systèmes extérieurs au moyen d'un commutateur virtuel (vswitch). Il s'agit d'un commutateur de couche 2, fonctionnant généralement au sein de l'hyperviseur sous la forme d'un logiciel et dont le rôle est d'établir la communication entre les machines virtuelles d'un même serveur physique, ainsi qu'entre ces VM et les systèmes extérieurs au serveur physique. Tout hyperviseur intègre un commutateur virtuel, dont les fonctionnalités sont variables.

Le commutateur virtuel a pour effet de confier les tâches de mise en réseau au serveur. Ce nouveau paradigme implique de retester et de réadapter les outils et solutions réseau classiques pour les redéployer dans l'environnement virtualisé. Il peut être dans certaines circonstances une entrave à  l'adoption des technologies de virtualisation. A titre d'exemple, les opérateurs de réseaux et administrateurs de serveurs étaient auparavant répartis en deux équipes distinctes, avec des processus, outils et domaines de contrôle propres. Mais à présent que la plupart des serveurs intègrent d'emblée des commutateurs virtuels, les tâches les plus élémentaires, telles que le provisioning des VM, nécessitent parfois davantage de coordination entre ces deux équipes, qui doivent faire en sorte que la configuration du commutateur virtuel reste alignée sur celle du réseau physique. Le manque de visibilité sur le trafic inter-VM au sein du réseau complique le dépannage et la surveillance des communications inter-VM. Sans compter que les serveurs faisant fonctionner de 8 à 12 VM jusqu'à présent, devraient bientôt passer de 32 à 64 VM, augmentant la charge de travail des administrateurs, tenus de protéger les VM les unes des autres, mais aussi des menaces extérieures. Dans ces environnements ultra virtualisés, il faut redévelopper, recertifier et redéployer les appliances et outils réseau traditionnels, qu'il s'agisse de pare-feu ou encore de systèmes IDS/IPS (de détection et de prévention d'intrusions), pour garantir la conformité des communications inter-VM établies via les switch aux mêmes normes et exigences de sécurité que celles auxquelles sont soumis les environnements non-virtualisés. Mais l'insuffisance de normes applicables aux commutateurs virtuels complique également la tâche, en plus des importants coûts de formation, d'interopérabilité et de gestion imposés par la disparité des technologies d'hyperviseur.

Le serveur physique se transforme alors en véritable environnement de mise en réseau, avec ses propres exigences d'interopérabilité, de déploiement, de certification et de test. Au final, une telle configuration va à l'encontre de l'un des objectifs de la virtualisation, qui est de mettre la capacité excédentaire des serveurs au service des applications qui en ont besoin. Le « réseau interne au serveur » risque en effet de mobiliser une part significative de cette capacité excédentaire, privant certaines applications de ressources (capacité de mémoire, processeurs...) .

L'approche VEPA
Plusieurs solutions sont envisageables en réponse à ces problématiques. Pour les organismes de normalisation et un nombre croissant d'équipementiers, le protocole VEPA (Virtual Ethernet Port Aggregator) constituerait une alternative prometteuse au commutateur virtuel. Il consiste à transférer la gestion du trafic généré par les machines virtuelles sur un serveur au commutateur réseau externe. Ce dernier établit alors la connectivité entre les VM d'un même serveur physique et entre ces VM et le reste de l'infrastructure. Pour ce faire, il faut incorporer au commutateur réseau physique un nouveau mode de retransmission, qui redirige le trafic vers son port source pour établir une boucle de communication entre les VM d'un même serveur.

Ce « relais miroir » ("hairpin"/ "reflective-relay" mode) renvoie une copie du paquet à la destination ou la VM cible du serveur quand et comme il le faut. En situation de trafic de diffusion ou de multidiffusion, le protocole VEPA assure la réplication du paquet de chaque VM du serveur en local.

Susceptible de créer des boucles et problèmes de diffusion en environnement non-virtualisé, cette méthode a longtemps été boudée par la plupart des fabricants de commutateurs réseau. Mais l'avènement de la virtualisation a inversé la tendance. De nombreux équipementiers réseau commencent en effet à proposer des commutateurs réseau compatibles pour permettre la commutation des machines virtuelles par simple mise à niveau logicielle ou de microprogramme. Et le protocole VEPA s'inscrit également dans l'effort de normalisation du groupe de travail 802.1Qbg de l'IEEE. Il peut être implémenté sur un serveur sous la forme d'un logiciel formant une couche fine au sein de l'hyperviseur ou sous la forme de cartes réseau, auquel cas il peut être associé à des technologies de virtualisation d'Entrée/Sortie PCIe, comme SR-IOV. L'hyperviseur Linux KVM, par exemple, intègre le protocole VEPA sous sa forme logicielle.

VEPA réaffecte la gestion de la commutation du serveur au réseau physique, rendant ainsi le trafic des machines virtuelles visible par le commutateur réseau externe. Ce faisant, il uniformise également le fonctionnement des outils et des processus réseau au sein des environnements virtualisés et non-virtualisés, indépendamment des technologies d'hyperviseur utilisées. Les appliances réseau de type pare-feu et systèmes IDS/IPS, ainsi que les fonctionnalités de commutation réseau éprouvées, notamment les listes de contrôle des accès (ACL), les mécanismes de contrôle de la qualité de service (QoS) et les systèmes de mise en miroir de ports, sont immédiatement libérées au profit du trafic des VM et de la commutation inter-VM. Ainsi l'adaptation, les tests et le déploiement des nouvelles appliances réseau virtuelles, particulièrement coûteuses ne sont plus nécessaires. VEPA permet en outre aux administrateurs de reprendre le contrôle du réseau à l'aide d'une interface centralisée gérant le provisioning, la surveillance et le dépannage de l'ensemble des fonctions de mise en réseau des machines virtuelles. La délégation des fonctions de mise en réseau du serveur au commutateur réseau externe présente également l'avantage de libérer les ressources du serveur à la faveur des applications, ainsi que d'accroître le débit de commutation entre les serveurs virtualisés et non-virtualisés de 1 à 10 Gbit/s et à 40 Gbit/s, puis bientôt 100 Gbit/s. L'approche VEPA favoriserait ainsi l'évolutivité des environnements virtualisés, en simplifierait l'administration, en réduirait les coûts et, par conséquent, accélérerait l'adoption des technologies de virtualisation.

Malgré les nombreux avantages que nous venons d'exposer, la méthode traditionnelle de commutation du trafic inter-VM interne au serveur peut s'avérer plus adaptée à certains environnements que l'approche VEPA. C'est le cas des environnements où un serveur physique fait fonctionner un grand nombre de machines virtuelles avec un trafic interne intense. Il est alors préférable de conserver la gestion du trafic inter-VM au sein du serveur, notamment pour réduire les temps de latence. On peut aussi envisager de contourner le commutateur virtuel logiciel de l'hyperviseur en ayant recours aux fonctionnalités de commutation des nouvelles cartes réseau, via le support émergent des standards de virtualisation d'entrées/sorties, tels que SR-IOV (Single Root I/O Virtualization). Mais cette décision doit être examinée minutieusement au regard de la complexité de mise en oeuvre, des investissements financiers et des efforts de sécurité qu'implique une telle approche.

Conclusion
La généralisation des technologies de virtualisation des serveurs s'accompagne de difficultés de commutation du trafic entre les machines virtuelles d'un même serveur et entre serveurs. L'approche VEPA de commutation inter-VM, développée pour pallier ces difficultés, offre une alternative intéressante à la méthode classique de commutation virtuelle. La normalisation du protocole devrait bientôt fournir les outils et les capacités nécessaires pour rendre leur réseau et leur infrastructure de serveurs compatibles avec VEPA.