Presentado un módulo del kernel capaz de acelerar OpenVPN varias veces

Los desarrolladores del paquete para crear redes privadas virtuales OpenVPN han presentado el módulo del núcleo ovpn-dco, que permite aumentar significativamente el rendimiento de VPN. Aunque el módulo aún está en desarrollo y actualmente solo se centra en la rama linux-next y tiene un estatus experimental, ya ha alcanzado un nivel de estabilidad que permite su uso para el servicio OpenVPN Cloud.

En comparación con una configuración basada en la interfaz tun, la aplicación del módulo tanto del lado del cliente como del servidor al utilizar el cifrado AES-256-GCM ha permitido un aumento de la capacidad de transmisión de 8 veces (de 370 Mbit/s a 2950 Mbit/s). Al aplicar el módulo solo en el lado del cliente, la capacidad de transmisión aumentó tres veces para el tráfico saliente y no cambió para el tráfico entrante. Al aplicar el módulo solo del lado servidores la capacidad de transmisión aumentó 4 veces para el tráfico entrante y un 35% para el tráfico saliente.

Presentado un módulo del kernel capaz de acelerar OpenVPN varias veces

El aumento de velocidad se logra al trasladar todas las operaciones de cifrado, procesamiento de paquetes y gestión del canal de comunicación al núcleo de Linux, lo que permite eliminar la sobrecarga asociada con el cambio de contexto, optimizar el funcionamiento mediante el acceso directo a la API interna del núcleo y evitar la lenta transmisión de datos entre el núcleo y el espacio del usuario (el cifrado, la descifrado y el enrutamiento se realizan mediante el módulo sin enviar tráfico al manejador en el espacio del usuario).

Se destaca que el impacto negativo en el rendimiento VPN se debe principalmente a las operaciones de cifrado que consumen muchos recursos y a las demoras provocadas por el cambio de contexto. Para acelerar el cifrado se han utilizado extensiones de procesador, como Intel AES-NI, pero los cambios de contexto, hasta la aparición de ovpn-dco, seguían siendo un cuello de botella. Además de utilizar las instrucciones proporcionadas por el procesador para acelerar el cifrado, el módulo ovpn-dco también asegura la segmentación de las operaciones de cifrado en segmentos separados y su procesamiento en modo multihilo, lo que permite aprovechar todos los núcleos de CPU disponibles.

De las limitaciones actuales de la implementación, que se resolverán en el futuro, se destaca el soporte solo para los modos AEAD y 'none' (sin autenticación) y los cifrados AES-GCM y CHACHA20POLY1305. Se planea incluir el soporte de DCO en la próxima versión de OpenVPN 2.6, prevista para el cuarto trimestre de este año. Actualmente, el módulo está en pruebas beta en el cliente Linux de OpenVPN3 y en versiones experimentales del servidor OpenVPN para Linux. Un módulo similar, ovpn-dco-win, también se está desarrollando para el núcleo de Windows.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster