[ON] Представлен модуль ядра, способный в разы ускорить OpenVPN

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Ответить
Аватара пользователя
rssbot
Бот
Сообщения: 6002
ОС: gnu/linux

[ON] Представлен модуль ядра, способный в разы ускорить OpenVPN

Сообщение rssbot »

Разработчики пакета для создания виртуальных частных сетей OpenVPN представили модуль ядра ovpn-dco, позволяющий существенно ускорить производительность VPN. Несмотря на то, что модуль пока развивается с оглядкой только на ветку linux-next и имеет статус экспериментального, он уже достиг уровня стабильности, позволившего задействовать его для обеспечения работы сервиса OpenVPN Cloud.


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



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


Отмечается, что негативное влияние на производительность VPN оказывают главным образом ресурсоёмкие операции шифрования и задержки, вызванные переключением контекста. Для ускорения шифрования привлекались процессорные расширения, такие как Intel AES-NI, но переключения контекста до появления ovpn-dco оставались узким местом. Помимо применения предоставляемых процессором инструкций для ускорения шифрования в модуле ovpn-dco дополнительно обеспечено разделение операций шифрования на отдельные сегменты и их обработка в многопоточном режиме, что позволяет задействовать все имеющиеся ядра CPU.



Из текущих ограничений реализации, которые в будущем будут устранены, выделяется поддержка только режимов AEAD и 'none' (без аутентификации) и шифров AES-GCM и CHACHA20POLY1305. Поддержку
DCO планируют включить в состав выпуска OpenVPN 2.6, запланированного на 4 квартал нынешнего года. В настоящее время модуль поддерживается в проходящем бета-тестирование Linux-клиенте OpenVPN3 и в экспериментальных сборках сервера OpenVPN для Linux. Похожий модуль ovpn-dco-win также развивается для ядра Windows.




Источник: https://www.opennet.ru/opennews/art.shtml?num=55843
(opennet.ru, основная лента)
Спасибо сказали:
Ответить