Uveden je modul kernela koji može značajno ubrzati OpenVPN

Programeri OpenVPN paketa za virtualno privatno umrežavanje predstavili su ovpn-dco kernel modul, koji može značajno ubrzati VPN performanse. Unatoč činjenici da se modul još uvijek razvija sa okom samo na linux-next granu i ima eksperimentalni status, već je dostigao nivo stabilnosti koji mu omogućava da se koristi za osiguranje rada OpenVPN Cloud servisa.

U poređenju sa konfiguracijom zasnovanom na tun interfejsu, korišćenje modula na strani klijenta i servera koristeći AES-256-GCM šifru omogućilo je postizanje 8 puta povećanja propusnosti (sa 370 Mbit/s na 2950 Mbit /s). Kada se modul koristi samo na strani klijenta, propusnost se povećala tri puta za odlazni promet i nije se promijenila za dolazni promet. Kada se modul koristi samo na strani servera, propusnost je povećana za 4 puta za dolazni saobraćaj i za 35% za odlazni saobraćaj.

Uveden je modul kernela koji može značajno ubrzati OpenVPN

Ubrzanje se postiže premještanjem svih operacija šifriranja, obrade paketa i upravljanja komunikacijskim kanalima na stranu jezgre Linuxa, što eliminira troškove povezane s prebacivanjem konteksta, omogućava optimizaciju rada direktnim pristupom internim API-jima kernela i eliminira spori prijenos podataka između kernela. i korisnički prostor (šifriranje, dešifriranje i rutiranje obavlja modul bez slanja prometa rukovaocu u korisničkom prostoru).

Primjećuje se da je negativan utjecaj na performanse VPN-a uglavnom uzrokovan operacijama enkripcije koje zahtijevaju velike resurse i kašnjenjima uzrokovanim prebacivanjem konteksta. Proširenja procesora kao što je Intel AES-NI korišćena su za ubrzavanje enkripcije, ali prebacivanje konteksta je ostalo usko grlo sve do pojave ovpn-dco. Osim korištenja instrukcija koje daje procesor za ubrzanje enkripcije, ovpn-dco modul dodatno osigurava da su operacije šifriranja podijeljene u zasebne segmente i obrađene u višenitnom načinu rada, što omogućava korištenje svih dostupnih CPU jezgara.

Trenutna ograničenja implementacije koja će se rješavati u budućnosti uključuju podršku samo za AEAD i 'none' modove i AES-GCM i CHACHA20POLY1305 šifre. Planirano je da DCO podrška bude uključena u izdanje OpenVPN 2.6, zakazano za 4. kvartal ove godine. Modul je trenutno podržan u beta testiranju OpenVPN3 Linux klijenta i eksperimentalnim verzijama OpenVPN servera za Linux. Sličan modul, ovpn-dco-win, takođe se razvija za jezgro Windows-a.

izvor: opennet.ru

Dodajte komentar