Воведен е модул на јадрото кој може значително да го забрза OpenVPN

Програмерите на пакетот за виртуелна приватна мрежа OpenVPN го воведоа модулот ovpn-dco кернелот, кој може значително да ги забрза перформансите на VPN. И покрај фактот што модулот сè уште се развива со око само на следната гранка на Linux и има експериментален статус, тој веќе достигна ниво на стабилност што овозможува да се користи за да се обезбеди функционирање на услугата OpenVPN Cloud.

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

Воведен е модул на јадрото кој може значително да го забрза OpenVPN

Забрзувањето се постигнува со преместување на сите операции за шифрирање, обработка на пакети и управување со комуникациски канали на страната на кернелот на Линукс, со што се елиминираат трошоците поврзани со префрлувањето на контекстот, се овозможува оптимизирање на работата со директно пристапување до внатрешните API-и на кернелот и се елиминира бавниот пренос на податоци помеѓу кернелот и кориснички простор (шифрирањето, дешифрирањето и рутирањето ги врши модулот без испраќање сообраќај до управувачот во корисничкиот простор).

Забележано е дека негативното влијание врз перформансите на VPN главно е предизвикано од операциите за шифрирање со интензивни ресурси и одложувањата предизвикани од префрлување на контекстот. Процесорските екстензии како што е Intel AES-NI беа користени за да се забрза шифрирањето, но контекстните прекинувачи останаа тесно грло до појавата на ovpn-dco. Покрај користењето на инструкциите обезбедени од процесорот за забрзување на шифрирањето, модулот ovpn-dco дополнително осигурува дека операциите за шифрирање се поделени во посебни сегменти и се обработуваат во режим со повеќе нишки, што овозможува користење на сите достапни јадра на процесорот.

Тековните ограничувања на имплементацијата што ќе се решат во иднина вклучуваат поддршка само за режимите AEAD и „не“, и шифрите AES-GCM и CHACHA20POLY1305. Поддршката за DCO се планира да биде вклучена во објавувањето на OpenVPN 2.6, закажано за четвртиот квартал од оваа година. Модулот моментално е поддржан во бета-тестирањето OpenVPN4 Linux клиент и експериментални изданија на OpenVPN серверот за Linux. Сличен модул, ovpn-dco-win, исто така се развива за кернелот на Windows.

Извор: opennet.ru

Додадете коментар