Un module de noyau a été introduit qui peut accélérer considérablement OpenVPN

Les développeurs du package de réseau privé virtuel OpenVPN ont introduit le module de noyau ovpn-dco, qui peut considérablement accélérer les performances du VPN. Malgré le fait que le module est encore en cours de développement en vue uniquement de la branche Linux-next et qu'il ait un statut expérimental, il a déjà atteint un niveau de stabilité qui lui permet d'être utilisé pour assurer le fonctionnement du service OpenVPN Cloud.

Par rapport à la configuration basée sur l'interface tun, l'utilisation d'un module côté client et côté serveur utilisant le chiffrement AES-256-GCM a permis d'obtenir un débit multiplié par 8 (de 370 Mbit/s à 2950 Mbit /s). Lors de l'utilisation du module uniquement côté client, le débit a été multiplié par trois pour le trafic sortant et n'a pas changé pour le trafic entrant. Lors de l'utilisation du module uniquement côté serveur, le débit a augmenté de 4 fois pour le trafic entrant et de 35 % pour le trafic sortant.

Un module de noyau a été introduit qui peut accélérer considérablement OpenVPN

L'accélération est obtenue en déplaçant toutes les opérations de chiffrement, le traitement des paquets et la gestion des canaux de communication du côté du noyau Linux, ce qui élimine la surcharge associée au changement de contexte, permet d'optimiser le travail en accédant directement aux API internes du noyau et élimine la lenteur du transfert de données entre le noyau. et l'espace utilisateur (le cryptage, le déchiffrement et le routage sont effectués par le module sans envoyer de trafic à un gestionnaire dans l'espace utilisateur).

Il est à noter que l’impact négatif sur les performances du VPN est principalement dû aux opérations de chiffrement gourmandes en ressources et aux retards provoqués par le changement de contexte. Des extensions de processeur telles qu'Intel AES-NI ont été utilisées pour accélérer le chiffrement, mais les changements de contexte sont restés un goulot d'étranglement jusqu'à l'avènement d'ovpn-dco. En plus d'utiliser les instructions fournies par le processeur pour accélérer le chiffrement, le module ovpn-dco garantit en outre que les opérations de chiffrement sont divisées en segments séparés et traitées en mode multithread, ce qui permet d'utiliser tous les cœurs de processeur disponibles.

Les limitations de mise en œuvre actuelles qui seront abordées à l'avenir incluent la prise en charge des modes AEAD et « aucun » uniquement, ainsi que les chiffrements AES-GCM et CHACHA20POLY1305. Le support DCO devrait être inclus dans la version d'OpenVPN 2.6, prévue pour le 4ème trimestre de cette année. Le module est actuellement pris en charge dans les tests bêta du client Linux OpenVPN3 et dans les versions expérimentales du serveur OpenVPN pour Linux. Un module similaire, ovpn-dco-win, est également en cours de développement pour le noyau Windows.

Source: opennet.ru

Ajouter un commentaire