A fost introdus un modul kernel care poate accelera semnificativ OpenVPN

Dezvoltatorii pachetului de rețea privată virtuală OpenVPN au introdus modulul kernel ovpn-dco, care poate accelera semnificativ performanța VPN. În ciuda faptului că modulul este încă în curs de dezvoltare cu un ochi doar la ramura linux-next și are statut experimental, a atins deja un nivel de stabilitate care îi permite să fie folosit pentru a asigura funcționarea serviciului OpenVPN Cloud.

În comparație cu configurația bazată pe interfața tun, utilizarea unui modul pe partea client și server folosind cifrul AES-256-GCM a făcut posibilă obținerea unei creșteri de 8 ori a debitului (de la 370 Mbit/s la 2950 Mbit). /s). Când se folosește modulul numai pe partea clientului, debitul a crescut de trei ori pentru traficul de ieșire și nu s-a modificat pentru traficul de intrare. Când utilizați modulul numai pe partea de server, debitul a crescut de 4 ori pentru traficul de intrare și cu 35% pentru traficul de ieșire.

A fost introdus un modul kernel care poate accelera semnificativ OpenVPN

Accelerația este obținută prin mutarea tuturor operațiunilor de criptare, procesare a pachetelor și gestionare a canalelor de comunicație către partea kernel-ului Linux, ceea ce elimină supraîncărcarea asociată cu comutarea contextului, face posibilă optimizarea muncii prin accesarea directă a API-urilor interne ale nucleului și elimină transferul lent de date între nucleu. și spațiul utilizatorului (criptarea, decriptarea și rutarea sunt efectuate de modul fără a trimite trafic către un handler din spațiul utilizatorului).

Se remarcă faptul că impactul negativ asupra performanței VPN este cauzat în principal de operațiunile de criptare care necesită mult resurse și de întârzierile cauzate de schimbarea contextului. Extensiile de procesor, cum ar fi Intel AES-NI, au fost folosite pentru a accelera criptarea, dar schimbările de context au rămas un blocaj până la apariția ovpn-dco. Pe lângă utilizarea instrucțiunilor furnizate de procesor pentru a accelera criptarea, modulul ovpn-dco asigură în plus că operațiunile de criptare sunt împărțite în segmente separate și procesate în modul multi-threaded, ceea ce permite utilizarea tuturor nucleelor ​​CPU disponibile.

Limitările actuale de implementare care vor fi abordate în viitor includ suportul pentru modurile AEAD și „niciunul” și cifrurile AES-GCM și CHACHA20POLY1305. Suportul DCO este planificat să fie inclus în lansarea OpenVPN 2.6, programată pentru al 4-lea trimestru al acestui an. Modulul este suportat în prezent în clientul Linux OpenVPN3 de testare beta și în versiunile experimentale ale serverului OpenVPN pentru Linux. Un modul similar, ovpn-dco-win, este de asemenea dezvoltat pentru nucleul Windows.

Sursa: opennet.ru

Adauga un comentariu