Въведен е модул на ядрото, който може значително да ускори OpenVPN

Разработчиците на пакета за виртуална частна мрежа OpenVPN представиха модула на ядрото ovpn-dco, който може значително да ускори работата на VPN. Въпреки факта, че модулът все още се разработва с поглед само към клона linux-next и има експериментален статус, той вече е достигнал ниво на стабилност, което позволява да се използва за осигуряване на работата на услугата OpenVPN Cloud.

В сравнение с конфигурацията, базирана на интерфейса tun, използването на модул от страна на клиента и сървъра, използващ шифър AES-256-GCM, направи възможно постигането на 8-кратно увеличение на пропускателната способност (от 370 Mbit/s до 2950 Mbit /с). При използване на модула само от страна на клиента пропускателната способност се увеличава три пъти за изходящия трафик и не се променя за входящия трафик. При използване на модула само от страна на сървъра, пропускателната способност се увеличава с 4 пъти за входящ трафик и с 35% за изходящ трафик.

Въведен е модул на ядрото, който може значително да ускори OpenVPN

Ускорението се постига чрез преместване на всички операции по криптиране, обработка на пакети и управление на комуникационни канали към страната на ядрото на Linux, което елиминира излишните разходи, свързани с превключването на контекста, прави възможно оптимизирането на работата чрез директен достъп до вътрешните API на ядрото и елиминира бавния трансфер на данни между ядрото и потребителско пространство (криптирането, декриптирането и маршрутизирането се извършват от модула, без да се изпраща трафик към манипулатор в потребителското пространство).

Отбелязва се, че отрицателното въздействие върху производителността на VPN се дължи главно на операции за криптиране, изискващи ресурси, и забавяния, причинени от превключване на контекста. Разширенията на процесора като Intel AES-NI бяха използвани за ускоряване на криптирането, но контекстните превключватели останаха пречка до появата на ovpn-dco. В допълнение към използването на инструкции, предоставени от процесора за ускоряване на криптирането, модулът ovpn-dco допълнително гарантира, че операциите за криптиране са разделени на отделни сегменти и се обработват в многонишков режим, което позволява използването на всички налични процесорни ядра.

Текущите ограничения на внедряването, които ще бъдат разгледани в бъдеще, включват поддръжка само за режими AEAD и „няма“, както и шифри AES-GCM и CHACHA20POLY1305. Поддръжката на DCO се планира да бъде включена в изданието на OpenVPN 2.6, планирано за 4-то тримесечие на тази година. Понастоящем модулът се поддържа в бета-тестващия OpenVPN3 Linux клиент и експериментални версии на OpenVPN сървъра за Linux. Подобен модул, ovpn-dco-win, също се разработва за ядрото на Windows.

Източник: opennet.ru

Добавяне на нов коментар