Bol predstavený modul jadra, ktorý môže OpenVPN výrazne urýchliť

Vývojári balíka virtuálnych privátnych sietí OpenVPN predstavili modul jadra ovpn-dco, ktorý dokáže výrazne zrýchliť výkon VPN. Napriek tomu, že modul je stále vyvíjaný len s ohľadom na vetvu linux-next a má experimentálny status, už dosiahol úroveň stability, ktorá umožňuje jeho použitie na zabezpečenie prevádzky služby OpenVPN Cloud.

V porovnaní s konfiguráciou založenou na rozhraní tun umožnilo použitie modulu na strane klienta a servera pomocou šifry AES-256-GCM dosiahnuť 8-násobné zvýšenie priepustnosti (z 370 Mbit/s na 2950 Mbit /s). Pri použití modulu len na strane klienta sa priepustnosť trojnásobne zvýšila pre odchádzajúcu prevádzku a nezmenila sa pre prichádzajúcu. Pri použití modulu iba na strane servera sa priepustnosť zvýšila 4-krát pre prichádzajúcu prevádzku a o 35 % pre odchádzajúcu prevádzku.

Bol predstavený modul jadra, ktorý môže OpenVPN výrazne urýchliť

Zrýchlenie sa dosiahne presunutím všetkých operácií šifrovania, spracovania paketov a správy komunikačných kanálov na stranu jadra Linuxu, čo eliminuje réžiu spojenú s prepínaním kontextu, umožňuje optimalizovať prácu priamym prístupom k interným rozhraniam API jadra a eliminuje pomalý prenos údajov medzi jadrom. a užívateľský priestor (šifrovanie, dešifrovanie a smerovanie vykonáva modul bez odosielania prevádzky na obsluhu v užívateľskom priestore).

Je potrebné poznamenať, že negatívny vplyv na výkon VPN je spôsobený najmä šifrovacími operáciami náročnými na zdroje a oneskoreniami spôsobenými prepínaním kontextu. Na urýchlenie šifrovania sa používali rozšírenia procesorov, ako napríklad Intel AES-NI, ale kontextové prepínače zostali prekážkou až do príchodu ovpn-dco. Modul ovpn-dco okrem použitia inštrukcií poskytovaných procesorom na zrýchlenie šifrovania navyše zabezpečuje, že šifrovacie operácie sú rozdelené do samostatných segmentov a spracovávané vo viacvláknovom režime, čo umožňuje využitie všetkých dostupných jadier CPU.

Medzi súčasné obmedzenia implementácie, ktoré sa budú riešiť v budúcnosti, patrí podpora iba pre režimy AEAD a „none“ a šifry AES-GCM a CHACHA20POLY1305. Podpora DCO sa plánuje zahrnúť do vydania OpenVPN 2.6, ktoré je naplánované na 4. štvrťrok tohto roka. Modul je v súčasnosti podporovaný v beta testovacom kliente OpenVPN3 Linux a experimentálnych zostavách servera OpenVPN pre Linux. Podobný modul, ovpn-dco-win, sa vyvíja aj pre jadro Windows.

Zdroj: opennet.ru

Pridať komentár