Vývojári balíka na vytváranie virtuálnych súkromných sietí OpenVPN Predstavili sme jadrový modul ovpn-dco, ktorý výrazne zlepšuje výkon VPN. Hoci sa modul momentálne vyvíja iba pre vetvu linux-next a považuje sa za experimentálny, už dosiahol úroveň stability, ktorá umožňuje jeho použitie na napájanie služby. OpenVPN Cloud.
V porovnaní s konfiguráciou založenou na rozhraní tun, použitie modulu na strane klienta aj servera so šifrovaním AES-256-GCM viedlo k osemnásobnému zvýšeniu priepustnosti (z 370 Mbit/s na 2950 Mbit/s). Pri použití modulu iba na strane klienta sa priepustnosť zvýšila trojnásobne pre odchádzajúcu prevádzku a zostala nezmenená pre prichádzajúcu prevádzku. Pri použití modulu iba na strane servera server Priepustnosť sa zvýšila štvornásobne pre prichádzajúcu prevádzku a o 35 % pre odchádzajúcu prevádzku.

Zrýchlenie sa dosahuje presunutím všetkých šifrovacích operácií, spracovania paketov a správy komunikačných kanálov na stranu jadra. Linux, čo eliminuje réžiu spojenú s prepínaním kontextu, umožňuje optimalizáciu priamym prístupom k interným API jadra a eliminuje pomalý prenos dát medzi jadrom a používateľským priestorom (šifrovanie, dešifrovanie a smerovanie vykonáva modul bez odosielania prevádzky do obslužného programu používateľského priestoru).
Je potrebné poznamenať, že negatívny vplyv na produktivitu VPN Hlavnými úzkymi miestami sú šifrovacie operácie náročné na zdroje a oneskorenia pri prepínaní kontextu. Na zrýchlenie šifrovania sa používali rozšírenia procesorov, ako napríklad Intel AES-NI, ale prepínanie kontextu zostalo úzkym miestom až do zavedenia modulu ovpn-dco. Okrem použitia inštrukcií poskytovaných procesorom na zrýchlenie šifrovania modul ovpn-dco tiež rozdeľuje šifrovacie operácie do samostatných segmentov a spracováva ich viacvláknovo, čo mu umožňuje využiť všetky dostupné jadrá CPU.
Medzi súčasné implementačné obmedzenia, ktoré budú v budúcnosti vyriešené, patrí podpora iba pre režimy AEAD a „none“ (bez autentifikácie) a šifry AES-GCM a CHACHA20POLY1305. V tejto verzii sa plánuje zahrnutie podpory pre DCO. OpenVPN 2.6, naplánované na 4. štvrťrok tohto roka. Modul je momentálne podporovaný v beta testovaní. Linux-klient OpenVPN3 a v experimentálnych zostaveniach servera OpenVPN pre LinuxPodobný modul, ovpn-dco-win, sa vyvíja aj pre jadro. Windows.
Zdroj: opennet.ru
