En kärnmodul har introducerats som avsevärt kan snabba upp OpenVPN

Utvecklarna av det virtuella privata nätverkspaketet OpenVPN har introducerat kärnmodulen ovpn-dco, som avsevärt kan påskynda VPN-prestandan. Trots att modulen fortfarande utvecklas med ett öga enbart på linux-next-grenen och har experimentell status, har den redan nått en stabilitetsnivå som gör att den kan användas för att säkerställa driften av OpenVPN Cloud-tjänsten.

Jämfört med konfigurationen baserad på tun-gränssnittet, gjorde användningen av en modul på klient- och serversidan med AES-256-GCM-chifferet det möjligt att uppnå en 8-faldig ökning av genomströmningen (från 370 Mbit/s till 2950 Mbit) /s). När modulen endast användes på klientsidan tredubblades genomströmningen för utgående trafik och ändrades inte för inkommande trafik. Vid användning av modulen endast på serversidan ökade genomströmningen med 4 gånger för inkommande trafik och med 35% för utgående trafik.

En kärnmodul har introducerats som avsevärt kan snabba upp OpenVPN

Acceleration uppnås genom att flytta alla krypteringsoperationer, paketbearbetning och kommunikationskanalhantering till Linux-kärnsidan, vilket eliminerar de overhead som är förknippade med kontextväxling, gör det möjligt att optimera arbetet genom att direkt komma åt de interna kärn-API:erna och eliminerar långsam dataöverföring mellan kärnan och användarutrymme (kryptering, dekryptering och routing utförs av modulen utan att skicka trafik till en hanterare i användarutrymmet).

Det noteras att den negativa effekten på VPN-prestanda främst orsakas av resurskrävande krypteringsoperationer och förseningar orsakade av kontextbyte. Processortillägg som Intel AES-NI användes för att påskynda kryptering, men kontextväxlar förblev en flaskhals fram till tillkomsten av ovpn-dco. Förutom att använda instruktioner från processorn för att påskynda kryptering, säkerställer ovpn-dco-modulen dessutom att krypteringsoperationer delas upp i separata segment och bearbetas i flertrådsläge, vilket tillåter användning av alla tillgängliga CPU-kärnor.

Aktuella implementeringsbegränsningar som kommer att åtgärdas i framtiden inkluderar endast stöd för AEAD- och "ingen"-lägen och AES-GCM- och CHACHA20POLY1305-chiffer. DCO-stöd planeras att inkluderas i releasen av OpenVPN 2.6, planerad till fjärde kvartalet i år. Modulen stöds för närvarande i den betatestade OpenVPN4 Linux-klienten och experimentella versioner av OpenVPN-servern för Linux. En liknande modul, ovpn-dco-win, utvecklas också för Windows-kärnan.

Källa: opennet.ru

Lägg en kommentar