[uanog] IPSec performance @ x86

Sergey Smitienko hunter at comsys.com.ua
Wed Feb 1 23:32:48 EET 2017


Все в порядке.  Берете linux, толкого его настраиваете в плане ethernet, 
прогоняете сколько_вам_там_надо, видите cpu load, и добавляете
к этому скорость шифрования. Получаете примерно ожидаемую цифру.

> Ребята,
> Посмотрите исходники:
> https://github.com/openssl/openssl/blob/master/apps/speed.c
>
> openssl speed - это цикл на одних и тех же данных, т.е. ничего, кроме 
> вычислительной мощности процессора он не показывает: данные будут в 
> кэше L1 после первого же оборота.
>
> IPSec на шлюзе - это принять пакет, заглянуть в таблицу маршрутизации, 
>  заглянуть а SPD, заглянуть в SAD, зашифровать и выслать. Для 
> маленьких пакетов само шифрование занимает лишь малую часть 
> процессорного времени, необходимого на обработку каждого пакета.
>
> Андрей
>
> On 1 Feb 2017, at 11:41, Sergey Smitienko <hunter at comsys.com.ua 
> <mailto:hunter at comsys.com.ua>> wrote:
>
>> Привет.
>>
>> core.i7.6700k#openssl speed -evp aes-128-cbc
>>
>> Doing aes-128-cbc for 3s on 16 size blocks: 227357080 aes-128-cbc's 
>> in 3.00s
>> Doing aes-128-cbc for 3s on 64 size blocks: 64897721 aes-128-cbc's in 
>> 3.00s
>> Doing aes-128-cbc for 3s on 256 size blocks: 16590421 aes-128-cbc's 
>> in 3.00s
>> Doing aes-128-cbc for 3s on 1024 size blocks: 4189099 aes-128-cbc's 
>> in 3.00s
>> Doing aes-128-cbc for 3s on 8192 size blocks: 524904 aes-128-cbc's in 
>> 3.00s
>>
>> OpenSSL 1.0.2g  1 Mar 2016
>> built on: reproducible build, date unspecified
>> options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) 
>> blowfish(idx)
>> compiler: cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC 
>> -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 
>> -DL_ENDIAN -g -O2 -fstack-protector-strong -Wformat 
>> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 
>> -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall 
>> -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT 
>> -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM 
>> -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM 
>> -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
>> The 'numbers' are in 1000s of bytes per second processed.
>> type             16 bytes     64 bytes    256 bytes   1024 bytes 8192 
>> bytes
>> aes-128-cbc    1212571.09k  1384484.71k  1415715.93k  1429879.13k 
>> 1433337.86k
>>
>> В блоках по 64 байта (самый плохой случай -  voip) дает 1.3 гигабайта 
>> в секунду при полной загрузки одного ядра.
>> Без AES-NI
>>
>> The 'numbers' are in 1000s of bytes per second processed.
>> type             16 bytes     64 bytes    256 bytes   1024 bytes 8192 
>> bytes
>> aes-128 cbc     167418.06k   182451.93k   188739.07k   187727.19k 
>> 194005.67k - 182 мегабайта в секунду.
>>
>> В обоих случаях это больше, чем нужно, для загрузки гигабитного канала.
>> Скорости работы AES в openssl и в linux kernel практически можно 
>> считать одинаковыми.
>>
>> А AES-256 не нужен. AES-256 на самом деле слабее, чем AES-128.
>> "Assuming you're talking about AES 128 versus AES 256, there is a 
>> known weakness in the key expansion function that affects AES256.
>> Fundamentally, the weakness reduces the complexity of AES256 to that 
>> lower than AES128."
>> http://eprint.iacr.org/2009/374
>>
>>
>> > В Intel NIC гигабитках и старше есть аппаратная поддержка IPSec/AES,
>> > которая типа дает wire speed шифрование.
>> >
>> >> Привет,
>> >>
>> >> есть задача - запустить сеть с шифрованием трафика на основе механизма
>> >> GRE over IPSec/IKEv2 (GRE нужен для dynamic routing, IPSec - для
>> >> совместимости с решениями других производителей - таковы
>> >> требования).Если у кого есть опыт использования open source / x86 для
>> >> подобных задач, поделитесь им, пожалуйста:
>> >>
>> >>   * на каких программно-аппаратных конфигурациях какую предельную
>> >>     производительность удалось получить (до начала потерь пакетов)?
>> >>       o CPU/MB/RAM (тип, частота)
>> >>       o NIC (производитель, модель)
>> >>       o операционная система
>> >>       o софт / библиотеки
>> >>       o алгоритм и длина ключа для симметричного шифрования (в
>> >>         реальности - интересует, конечно же, AES-256)
>> >>
>> >> Спасибо!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uanog.kiev.ua/pipermail/uanog/attachments/20170201/6d429644/attachment-0001.html>


More information about the uanog mailing list