Представен е модул на ядрото, способен многократно да ускори OpenVPN

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

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

Представен е модул на ядрото, способен многократно да ускори OpenVPN

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

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

От текущите ограничения при реализацията, които в бъдеще ще бъдат премахнати, се отличава поддръжката само на AEAD и ‘none’ (без удостоверяване) и шифровете AES-GCM и CHACHA20POLY1305. Поддръжката на DCO се планира да бъде внедрена в версията на OpenVPN 2.6, която е насрочена за четвъртото тримесечие на текущата година. В момента модулът се поддържа в бета-тест на Linux клиента на OpenVPN3 и в експерименталните сборки на OpenVPN сървъра за Linux. Подобен модул ovpn-dco-win също се разработва за Windows ядрото.

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

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster