En kjernemodul har blitt introdusert som kan øke hastigheten på OpenVPN betydelig

Utviklerne av den virtuelle private nettverkspakken OpenVPN har introdusert ovpn-dco-kjernemodulen, som kan øke VPN-ytelsen betydelig. Til tross for at modulen fortsatt utvikles med et øye kun til linux-next-grenen og har eksperimentell status, har den allerede nådd et stabilitetsnivå som gjør at den kan brukes til å sikre driften av OpenVPN Cloud-tjenesten.

Sammenlignet med konfigurasjonen basert på tun-grensesnittet, gjorde bruken av en modul på klient- og serversiden ved bruk av AES-256-GCM-chifferet det mulig å oppnå en 8-dobling av gjennomstrømmingen (fra 370 Mbit/s til 2950 Mbit) /s). Ved bruk av modulen kun på klientsiden, tredoblet gjennomstrømningen for utgående trafikk og endret seg ikke for innkommende trafikk. Ved bruk av modulen kun på serversiden økte gjennomstrømningen med 4 ganger for innkommende trafikk og med 35 % for utgående trafikk.

En kjernemodul har blitt introdusert som kan øke hastigheten på OpenVPN betydelig

Akselerasjon oppnås ved å flytte alle krypteringsoperasjoner, pakkebehandling og kommunikasjonskanaladministrasjon til Linux-kjernesiden, noe som eliminerer overhead knyttet til kontekstbytte, gjør det mulig å optimere arbeidet ved direkte tilgang til de interne kjerne-API-ene og eliminerer langsom dataoverføring mellom kjernen. og brukerplass (kryptering, dekryptering og ruting utføres av modulen uten å sende trafikk til en behandler i brukerrommet).

Det bemerkes at den negative innvirkningen på VPN-ytelsen hovedsakelig er forårsaket av ressurskrevende krypteringsoperasjoner og forsinkelser forårsaket av kontekstbytte. Prosessorutvidelser som Intel AES-NI ble brukt for å øke hastigheten på kryptering, men kontekstsvitsjer forble en flaskehals frem til bruken av ovpn-dco. I tillegg til å bruke instruksjoner levert av prosessoren for å øke hastigheten på kryptering, sørger ovpn-dco-modulen i tillegg for at krypteringsoperasjoner er delt inn i separate segmenter og behandlet i flertrådsmodus, som tillater bruk av alle tilgjengelige CPU-kjerner.

Gjeldende implementeringsbegrensninger som vil bli adressert i fremtiden inkluderer kun støtte for AEAD- og "ingen"-moduser, og AES-GCM- og CHACHA20POLY1305-chiffer. DCO-støtte er planlagt inkludert i utgivelsen av OpenVPN 2.6, planlagt i 4. kvartal i år. Modulen støttes for tiden i beta-testingen av OpenVPN3 Linux-klienten og eksperimentelle bygg av OpenVPN-serveren for Linux. En lignende modul, ovpn-dco-win, utvikles også for Windows-kjernen.

Kilde: opennet.ru

Legg til en kommentar