Byl představen modul jádra, který může OpenVPN výrazně zrychlit

Vývojáři balíčku virtuálních privátních sítí OpenVPN představili modul jádra ovpn-dco, který může výrazně zrychlit výkon VPN. Navzdory skutečnosti, že modul je stále vyvíjen pouze s ohledem na větev linux-next a má experimentální status, již dosáhl úrovně stability, která umožňuje jeho použití pro zajištění provozu služby OpenVPN Cloud.

Ve srovnání s konfigurací založenou na rozhraní tun umožnilo použití modulu na straně klienta a serveru využívajícího šifru AES-256-GCM dosáhnout 8násobného zvýšení propustnosti (z 370 Mbit/s na 2950 Mbit /s). Při použití modulu pouze na straně klienta se propustnost zvýšila trojnásobně u odchozího provozu a nezměnila se u příchozího provozu. Při použití modulu pouze na straně serveru se propustnost zvýšila 4krát pro příchozí provoz a o 35 % pro odchozí provoz.

Byl představen modul jádra, který může OpenVPN výrazně zrychlit

Zrychlení je dosaženo přesunem všech šifrovacích operací, zpracování paketů a správy komunikačních kanálů na stranu linuxového jádra, což eliminuje režii spojenou s přepínáním kontextu, umožňuje optimalizovat práci přímým přístupem k interním rozhraním API jádra a eliminuje pomalý přenos dat mezi jádry. a uživatelský prostor (šifrování, dešifrování a směrování provádí modul bez odesílání provozu na handler v uživatelském prostoru).

Je třeba poznamenat, že negativní dopad na výkon VPN je způsoben hlavně šifrovacími operacemi náročnými na zdroje a zpožděními způsobenými přepínáním kontextu. K urychlení šifrování byla použita rozšíření procesorů, jako je Intel AES-NI, ale kontextové přepínače zůstávaly úzkým hrdlem až do příchodu ovpn-dco. Kromě použití instrukcí poskytovaných procesorem pro urychlení šifrování modul ovpn-dco navíc zajišťuje, že šifrovací operace jsou rozděleny do samostatných segmentů a zpracovávány ve vícevláknovém režimu, což umožňuje využití všech dostupných jader CPU.

Mezi aktuální omezení implementace, která budou v budoucnu řešena, patří podpora pouze pro režimy AEAD a „none“ a šifry AES-GCM a CHACHA20POLY1305. Plánuje se, že podpora DCO bude zahrnuta do vydání OpenVPN 2.6, které je naplánováno na 4. čtvrtletí tohoto roku. Modul je v současné době podporován v beta-testovacím linuxovém klientovi OpenVPN3 a experimentálních sestaveních serveru OpenVPN pro Linux. Podobný modul, ovpn-dco-win, je vyvíjen také pro jádro Windows.

Zdroj: opennet.ru

Přidat komentář