ovpn-dco, un modulo de Kernel para acelerar el rendimiento de OpenVPN

Hace algunos dias los desarrolladores de OpenVPN dieron a conocer la noticia de que han introducido un módulo de kernel llamado «ovpn-dco» el cual tiene como principal tarea el acelerar significativamente el rendimiento de la VPN.

A pesar de que el módulo todavía se está desarrollando en la rama linux-next y tiene el estado de una experimental, ya ha alcanzado un nivel de estabilidad que hizo posible su uso para asegurar el funcionamiento de OpenVPN.

En comparación con la configuración basada en la interfaz tun, el uso del módulo en el lado del cliente y del servidor con el uso del cifrado AES-256-GCM permitió un aumento de 8 veces en el rendimiento (de 370 Mbit/s a 2950 Mbit s).

Cuando se usa el módulo solo en el lado del cliente, el rendimiento se triplica para el tráfico saliente y no cambia para el tráfico entrante. Cuando se usa el módulo solo en el lado del servidor, el rendimiento se multiplica por 4 para el tráfico entrante y en un 35% para el tráfico saliente.

La seguridad es una de las cosas más importantes a considerar cuando está en línea. Cuanto más seguras estén sus comunicaciones en línea con cifrado, mejor. El cifrado de datos ha ralentizado la velocidad de la computación en el pasado, lo que ha mejorado con las CPU modernas. Pero podemos hacer más. OpenVPN acaba de introducir un nuevo desarrollo que aumentará la velocidad para sus usuarios al quedarse sin espacio del kernel: OpenVPN Data Channel Offload (DCO).

La aceleración se logra moviendo todas las operaciones de cifrado, procesamiento de paquetes y administración de canales al kernel de Linux, lo que elimina la sobrecarga asociada con el cambio de contexto, hace posible optimizar el trabajo al acceder directamente a las API internas del kernel y elimina la transferencia lenta de datos entre el kernel y el espacio de usuario. (el módulo realiza el cifrado, el descifrado y el enrutamiento sin enviar tráfico a un controlador en el espacio de usuario).

Cabe señalar que el impacto negativo en el rendimiento de la VPN se debe principalmente a operaciones de cifrado que consumen muchos recursos y a los retrasos provocados por el cambio de contexto. Se utilizaron extensiones de procesador como Intel AES-NI para acelerar el cifrado, pero los cambios de contexto seguían siendo un cuello de botella antes de ovpn-dco.

Además de utilizar las instrucciones proporcionadas por el procesador para acelerar el cifrado, el módulo ovpn-dco también proporciona la división de las operaciones de cifrado en segmentos separados y su procesamiento en modo multiproceso, lo que hace posible utilizar todos los núcleos de CPU disponibles.

Para una VPN de espacio de usuario, como OpenVPN, la sobrecarga de cifrado y los cambios de contexto limitan las velocidades. Con las CPU modernas, la sobrecarga de cifrado ha mejorado a través de extensiones como Intel AES-NI, que a su vez mejora las velocidades para los usuarios de OpenVPN.

Pero la sobrecarga con cambios de contexto aún necesita ser abordada. A medida que aumentan las velocidades de Internet personal y comercial y las aplicaciones utilizan más ancho de banda, los usuarios esperan velocidades más rápidas con las comunicaciones en línea. Por lo tanto, el impacto de estos gastos generales se ha vuelto más notable.

De las limitaciones actuales que se mencionan de la implementación y que además se eliminarán en el futuro, solo se destacan los modos AEAD y ‘none’ (sin autenticación) y los cifrados AES-GCM y CHACHA20POLY1305.

Tambien se menciona que está previsto que el soporte de DCO se incluya en el lanzamiento de la versión de OpenVPN 2.6, previsto para el cuarto trimestre de este año. Actualmente, el módulo es compatible con el cliente Linux beta abierto OpenVPN3 y las compilaciones experimentales del servidor OpenVPN para Linux. También se está desarrollando un módulo similar ovpn-dco-win para el kernel de Windows.

Finalmente si estás interesado en conocer más al respecto sobre la nota, puedes consultar los detalles en el siguiente enlace.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.