Udviklerne af OpenVPN-pakken til oprettelse af virtuelle private netværk har præsenteret ovpn-dco-kernemodulet, der potentielt kan betydeligt forbedre VPN-ydeevnen. Selvom modulet stadig er under udvikling med fokus på linux-next-grenen og har status som eksperimentelt, har det allerede nået et stabilitetsniveau, der gør det muligt at implementere det i OpenVPN Cloud-tjenesten.
Sammenlignet med konfigurationen baseret på tun-interface har anvendelsen af modulet på klient- og serversiden, når AES-256-GCM-kryptering anvendes, givet en stigning i båndbredden med 8 gange (fra 370 Mbit/s til 2950 Mbit/s). Ved kun at anvende modulet på klientsiden er båndbredden steget tre gange for udgående trafik og er uændret for indgående trafik. Når modulet anvendes kun på den ene side, server båndbredden er steget 4 gange for indgående trafik og med 35% for udgående.

Accelerationen opnås ved at flytte alle krypteringsoperationer, pakkeprocessering og kommunikationskanaladministration til Linux-kernen, hvilket fjerner overhead omkostningerne ved kontekstskift, giver mulighed for optimering gennem direkte adgang til kernen's interne API og eliminerer langsom dataoverførsel mellem kernen og brugerrummet (kryptering, dekryptering og routing udføres af modulet uden at sende trafik til brugeroperationsbehandleren).
Det bemærkes, at de negative virkninger på ydeevnen VPN primært skyldes ressourcekrævende krypteringsoperationer og forsinkelser forårsaget af kontekstskift. For at accelerere krypteringen har CPU-udvidelser som Intel AES-NI været anvendt, men kontekstskift forblev et flaskehalsproblem indtil ovpn-dco. Udover at anvende de instrukser, som processoren leverer, til at accelerere krypteringen, er der i ovpn-dco-modulet desuden sikret opdeling af krypteringsoperationerne i separate segmenter og deres behandling i multitrådede tilstande, hvilket muliggør udnyttelse af alle tilgængelige CPU-kerner.
Fra de nuværende implementeringsbegrænsninger, som vil blive fjernet i fremtiden, fremgår det, at der kun er støtte til AEAD- og 'none' (uden autentifikation) indstillinger samt krypteringsmetoderne AES-GCM og CHACHA20POLY1305. Støtte til DCO planlægges at blive inkluderet i udgivelsen af OpenVPN 2.6, som er planlagt til fjerde kvartal af det nuværende år. I øjeblikket understøttes modulet i den igangværende beta-test af OpenVPN3 Linux-klienten og i eksperimentelle builds af OpenVPN-serveren til Linux. Et lignende modul, ovpn-dco-win, udvikles også til Windows-kernen.
Kilde: opennet.ru
