ݺߣ

ݺߣShare a Scribd company logo
Intel DPDK в решениях
для противодействия
DDoS-атакам от 40 Гбит/с
Дмитрий Козлюк, ведущий разработчик по сетевым решениям
АО «БИФИТ»
О чем доклад?
• Intel DPDK
• Нюансы из практики
(на примере DDoS).
• DPDK и криптоускорители
• Виртуализация
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 2
Нужны программные решения
на открытой платформе
• Себестоимость разработки
• Адаптация к новым реалиям
• Время обновления
• Масштабируемость
• Vendor lock
• Доверие производителю
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 3
Защита средствами Linux
• Предел — 5 Mpps. (Атака в 30 Mpps стоит 10 USD.)
• Любой ввод/вывод —
это переключения
контекстов
и прерывания.
• Защиту в ядре
трудно писать.
Application
TCP/IP
skb, sk_buff
NetFilter
IRQ
NIC
User space
Kernel space
Hardware
SYN cookie FW rules
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 4
Intel DPDK
• Data Plane Development Kit — набор средств для высокопроизводительной
обработки больших объёмов сетевого трафика.
• Первый релиз в 2010 (6WIND).
• Open-source с 2013 г. (покупка Intel):
• десятки патчей в сутки;
• общение с разработчиками в mailing list;
• собственные правки, патчи «из будущего».
• Написано в Intel и для Intel.
• Более 40 сетевых карт 11 производителей + виртуальные.
• Linux/BSD, GCC/ICC/Clang.
• x86_64, arm, power8
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 5
Intel DPDK: Poll Mode Driver
Poll mode driver (PMD)
работает с NIC
из userspace
без участия ядра
и прерываний.
Linux kernel
igb_uiovfio_pci
DPDK
uio
NIC
PMD
Application
LPM
ACL
QoS
power
NUMA
hash
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 6
Что дает DPDK существующему ПО?
Приложение Без DPDK DPDK Ускорение
Nginx 6K RPS 18K RPS 3,0
Open vSwitch 1,2M pps 12M pps 10,0
Memcached 1,2M pps 4M pps 3,3
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 7
Intel DPDK: настройка NIC
Единый интерфейс для настройки из приложения:
• очередей RX/TX;
• receive side scaling (RSS);
• FlowDirector;
• offloading.
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 8
Библиотеки DPDK
• LPM (longest prefix match) для маршрутизации
• 12 Mpps / ядро
• ACL — advanced classification library
• FlowSpec со 100 000 правил на 40 Гбит/с
• IPv6 (LPM, фрагментация, хэши)
• Quality of Service (QoS)
• Политики и группы политик на уровне DPDK
• Token bucket (лимиты)
• IPC
• Хэш-таблицы, деревья поиска, кольцевые буферы
• Blacklist на всем пространстве IPv4
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 9
Чем DPDK не является?
• Не framework, а kit.
• Нет TCP/IP стека:
• универсального стека не бывает;
• есть библиотеки для написания нужного;
• mTCP, lwIP, picotcp, libuinet, NUSE, opendp, seastar, ...
• Не распределяет нагрузку автоматически.
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 10
Альтернативы DPDK
Netmap PF_RING
??
DPDK
LPM
ACL
QoS
power
NUMA
hash
IPv6 lcore limit
CryptoPMD
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 11
Пример: Mitigator —
защита от DDoS-атак
• L2 Bridge
• Поддерживает асимметрию трафика.
• REST API
• BGP FlowSpec
Mitigator
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 12
Атаки и контрмеры
• IP/TCP/UDP/ICMP Fragmentation Flood
• ICMP Flood
• TCP SYN Flood
• TCP SYN-ACK Flood
• TCP ACK Flood
• TCP RST/FIN Flood
• HTTP Flood
• Slow HTTP attacks
• DNS Flood
• VoIP Flood
• SSL renegotiation
• Amplification Attacks (DNS, NTP, SSDP, …)
• …
• Обработка фрагментированных IP пакетов
• Валидация пакетов
• Черный список по исходящим IPv4 адресам
• Фильтрация по странам
• Фильтрация по правилам (ACL)
• Защита от TCP Flood
• Защита от HTTP Flood
• Защита от DNS Flood
• Фильтрация по регулярным выражениям
(L4 payload)
• Блокировка при превышении порогов
• Ограничение полосы (rate-limit)
• Ограничение трафика на IP адрес
получателя
• Отправка BGP FlowSpec правил
• Защита игровых серверов Valve
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 13
Non-Uniform Memory Access (NUMA)
RAM local
node 0
CPU #0
0 1
8 9
2 3
10 11
CPU #1
4 5
12 13
6 7
14 15
NIC #1 NIC #2
QPI
PCIe PCIe
DDR
RAM local
node 1
DDR
200 нс
400 нс
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 14
Пример распределения нагрузки
Генератор трафика Warp17, 2 сетевых порта, 32 логических ядра.
• Определяем состав узлов NUMA:
• узел 0: порт 0 — ядра 0—7, 18—23
• узел 1: порт 1 — ядра 8—16, 24—31
• Распределяем ядра
с учетом NUMA:
• Итого занято 28 из 32 ядер (FC FC FF FF)
В: почему простаивают ядра 16 и 17, 24 и 25?
О: hyper-threading: физические ядра уже загружены логическими 0, 1, 8 и 9.
Задача Порт Ядра Маска (ядро = бит)
Управление — 0, 1 00 00 00 03
Порт 0 0 2—7, 18—23 00 FC 00 FC
Порт 1 1 8—16, 26—31 FC 00 FF 00
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 15
Receive Side Scaling (RSS)
TRAFFIC
⇓⇓⇓
+-----+
| RSS |
+-----+
↓↓ ↓↓ ⇄ ↓↓ ↓↓
+--+ +--+ +--+ +--+
| | | | | | | |
| | | | | .| |.:|
|:.| |.:| |::| |::|
|::| |::| |::| |::|
|::| |::| |::| |::|
|::| |::| |::| |::|
+--+ +--+ +--+ +--+
q1 q2 q3 q4
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 16
Атака на RSS
TRAFFIC
⇓⇓⇓
+-----+
| RSS |
+-----+
⇄ ↓↓
+--+ +--+ +--+ +--+
| | | | |::| | |
| | | | |::| | |
| | | | |::| | |
| | | | |::| | |
| | | | |::| | |
| | | | |::| | |
+--+ +--+ +--+ +--+
q1 q2 q3 q4
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 17
Offloading
• DPDK позволяет управлять TX/RX offloading для каждого порта
из приложения.
• Включённый offloading не дает использовать simple path и векторную
обработку (на картах Intel).
• Генерация трафика: 1 ядро, 1 порт 10 Гбит/с (line rate 14,88 Mpps):
• Не выгодно, если пакеты не меняются (редко меняются) при обработке.
Path Offloading Скорость, Mpps
simple no 7,00 (100 %)
full no 6,61 ( 94 %)
full yes 7,74 (110 %)
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 18
Mitigator vs 40 Gbps (59,52 Mpps)
Атака Защита Производительность
SYN Flood TCPFloodProtection 59 Mpps
DNS Flood DNSFloodProtection line-rate
IP Spoofing Flood Global IPv4 Blacklist line-rate
TCP Random Spoof TCP Flood Protection line-rate
DNS + SNMP Amp. Advanced ACL 200K rules line-rate
Random trash 64B RegExFilter 20K signatures line-rate
Random trash 128B RegExFilter 20K signatures line-rate
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 19
Pktgen
Генератор L3—L4 трафика с любыми адресами и флагами.
• Внутренняя разработка BIFIT для тестирования своих
решений.
• ICMP/SYN/.../DNS-flood, воспроизведение атак PCAP
• Stateless (не устанавливает соединения)
• 4 × 10 Гбит/с, 10 ядер: line rate (60 Mpps)
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 20
Warp17
Генератор L4—L7 трафика с собственным стеком TCP/IP
(для тестирования).
• Juniper Networks, open source, 2016 г.
• TCP и UDP со случайными данными, простой HTTP.
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 21
DPDK и криптография
• Архитектурные параллели:
• сетевая карта — криптоускоритель;
• отправка пакетов — запросы на выполнение операций;
• прием пакетов — забор результатов операций.
• Та же проблема: доступ к ускорителю через ОС.
• То же решение: poll mode driver.
• То что нужно для DPI и VPN.
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 22
DPDK Crypto PMD API
• Единый асинхронный интерфейс к разным устройствам.
• Сейчас: симметричное шифрование, цифровая подпись,
аутентификация.
• Подпись за одну операцию, если поддерживает ускоритель.
• В разработке: асимметричные алгоритмы, сжатие данных.
• Управление памятью через имеющийся DPDK API.
• Можно считать пакет из сети и передать на расшифровку —
без копирования.
• Не зависит от сетевой части DPDK.
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 23
Оборудование
• Intel QuickAssist (QAT, чипы DH89xxCC).
• Нужен специальный драйвер (отдельно от DPDK);
• даже для сборки нужна машина с QAT.
• Расширения в процессорах Intel:
• AES NI
• libsso: KASUMI, SNOW 3G, ZUC, ...
• ARMv8
• Балансировщик нагрузки на криптоускорители.
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 24
QuickAssist & OpenSSL
На примере операции AES-128-CBC-HMAC-SHA1.
Размер запроса,
байт
OpenSSL,
Гбит/с
OpenSSL + QuickAssist,
Гбит/с
64 0,01 0,43
1024 0,12 6,85
4096 0,49 25,03
16384 1,83 50,12
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 25
Поддержка виртуализации
Поддерживаются «из коробки»:
• KVM: virtio
• VMware ESX: Paravirtual VMXNET3
• Xen: paravirtual NIC
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 26
Доставка трафика в ВМ:
PCI Passthrough
Host VM
NIC DPDK
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 27
Доставка трафика в ВМ: SR-IOV
Host VM
VF DPDK
VM
VF DPDKNIC (PF)
vfio-pci
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 28
Single-Root Input/Ouput Virtualization
Доставка трафика в ВМ: vhost-user
Host KVM
vNIC DPDK
KVM
vNIC DPDKNIC?
vhost-user
enabled
switch
(DPDK)
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 29
LXC
• Приложение с DPDK — обычное Linux-приложение.
• RW-доступ к /dev/uio* или /dev/vfio/*:
lxc.cgroup.devices.allow = c 247:0 rwm
lxc.cgroup.devices.allow = c 247:1 rwm
• Явное указание приложению количества доступной памяти:
• lxc.cgroup.hugetlb.1G.limit_in_bytes = 8589934592
$ dpdk-app [...] -m 8192
• Unprivileged containers.
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 30
Выводы
• DPDK позволяет строить быстрые, чисто программные
защиты на оборудовании общего назначения.
• Доступ к сетевой карте перестает быть «узким местом».
• Им становится: ЦП, шина PCI, память, задержки в сети
• Warp17: 1,8 млн. TCP-сеансов в секунду, но только back-to-back.
• DPDK годится не только для сетевых решений.
• Open-source дает преимущество.
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 31
Что почитать?
• DPDK:
• сайт, документация, mailing list: http://dpdk.org/
• DPDK Summit: https://dpdksummit.com/
• TCP-стеки:
• mTCP: https://github.com/eunyoung14/mtcp
• lwIP: http://savannah.nongnu.org/projects/lwip
• picotcp: http://www.picotcp.com
• libuinet: https://github.com/pkelsey/libuinet
• NUSE: https://github.com/libos-nuse/net-next-nuse
• opendp: https://github.com/opendp/dpdk-ans
• seastar: https://github.com/scylladb/seastar
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 32
Что почитать?
• Нюансы DPDK:
• опыт Brocade vRouter:
https://events.linuxfoundation.org/sites/events/files/slides/DPDK-Performance.pdf
• рекомендации Intel: https://software.intel.com/en-us/articles/dpdk-performance-
optimization-guidelines-white-paper
• Криптография:
• OpenSSL и QuickAssist:
http://www.intel.com/content/dam/www/public/us/en/documents/solution-
briefs/accelerating-openssl-brief
• DPDK PMD: /harryvanhaaren/symmetric-crypto-for-dpdk-
declan-doherty
• развитие DPDK PMD: https://dpdksummit.com/Archive/pdf/2016Userspace/Day01-
Session06-Userspace2016.pdf
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 33
Спасибо за внимание!
Дмитрий Александрович Козлюк
kozlyuk@bifit.com
Mitigator.ru
РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 34

More Related Content

What's hot (19)

CodeFest 2014. Круглов И. — События на каждом углу. Путешествие в мир системн...
CodeFest 2014. Круглов И. — События на каждом углу. Путешествие в мир системн...CodeFest 2014. Круглов И. — События на каждом углу. Путешествие в мир системн...
CodeFest 2014. Круглов И. — События на каждом углу. Путешествие в мир системн...
CodeFest
Программно-технические комплексы для работы с геолого-геофизическими данными
Программно-технические комплексы для работы с геолого-геофизическими даннымиПрограммно-технические комплексы для работы с геолого-геофизическими данными
Программно-технические комплексы для работы с геолого-геофизическими данными
Vsevolod Shabad
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Ontico
Инфраструктура хранения для KADME Whereoil
Инфраструктура хранения для KADME WhereoilИнфраструктура хранения для KADME Whereoil
Инфраструктура хранения для KADME Whereoil
Vsevolod Shabad
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Ontico
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ontico
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Ontico
Отчет по проектах ЦПИКС
Отчет по проектах ЦПИКСОтчет по проектах ЦПИКС
Отчет по проектах ЦПИКС
ARCCN
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизуМарина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизу
Yandex
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Ontico
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмикиМощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Vsevolod Shabad
Containers in real world презентация
Containers in real world презентацияContainers in real world презентация
Containers in real world презентация
Pavel Odintsov
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQL
Andrei Nikolaenko
SOA: строим свой service mesh / Иван Круглов (Booking.com)
SOA: строим свой service mesh / Иван Круглов (Booking.com)SOA: строим свой service mesh / Иван Круглов (Booking.com)
SOA: строим свой service mesh / Иван Круглов (Booking.com)
Ontico
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Ontico
HighLoad весна 2014 лекция 2
HighLoad весна 2014 лекция 2HighLoad весна 2014 лекция 2
HighLoad весна 2014 лекция 2
Technopark
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
Ontico
HighLoad весна 2014 лекция 5
HighLoad весна 2014 лекция 5HighLoad весна 2014 лекция 5
HighLoad весна 2014 лекция 5
Technopark
HighLoad весна 2014 лекция 3
HighLoad весна 2014 лекция 3HighLoad весна 2014 лекция 3
HighLoad весна 2014 лекция 3
Technopark
CodeFest 2014. Круглов И. — События на каждом углу. Путешествие в мир системн...
CodeFest 2014. Круглов И. — События на каждом углу. Путешествие в мир системн...CodeFest 2014. Круглов И. — События на каждом углу. Путешествие в мир системн...
CodeFest 2014. Круглов И. — События на каждом углу. Путешествие в мир системн...
CodeFest
Программно-технические комплексы для работы с геолого-геофизическими данными
Программно-технические комплексы для работы с геолого-геофизическими даннымиПрограммно-технические комплексы для работы с геолого-геофизическими данными
Программно-технические комплексы для работы с геолого-геофизическими данными
Vsevolod Shabad
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Ontico
Инфраструктура хранения для KADME Whereoil
Инфраструктура хранения для KADME WhereoilИнфраструктура хранения для KADME Whereoil
Инфраструктура хранения для KADME Whereoil
Vsevolod Shabad
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Ontico
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ontico
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Ontico
Отчет по проектах ЦПИКС
Отчет по проектах ЦПИКСОтчет по проектах ЦПИКС
Отчет по проектах ЦПИКС
ARCCN
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизуМарина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизу
Yandex
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Ontico
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмикиМощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Vsevolod Shabad
Containers in real world презентация
Containers in real world презентацияContainers in real world презентация
Containers in real world презентация
Pavel Odintsov
SOA: строим свой service mesh / Иван Круглов (Booking.com)
SOA: строим свой service mesh / Иван Круглов (Booking.com)SOA: строим свой service mesh / Иван Круглов (Booking.com)
SOA: строим свой service mesh / Иван Круглов (Booking.com)
Ontico
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Ontico
HighLoad весна 2014 лекция 2
HighLoad весна 2014 лекция 2HighLoad весна 2014 лекция 2
HighLoad весна 2014 лекция 2
Technopark
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
Ontico
HighLoad весна 2014 лекция 5
HighLoad весна 2014 лекция 5HighLoad весна 2014 лекция 5
HighLoad весна 2014 лекция 5
Technopark
HighLoad весна 2014 лекция 3
HighLoad весна 2014 лекция 3HighLoad весна 2014 лекция 3
HighLoad весна 2014 лекция 3
Technopark

Similar to Intel DPDK в решениях для противодействия DDoS-атакам (20)

Телеметрия. Обзор технологии и сценарии ее использования
Телеметрия. Обзор технологии и сценарии ее использованияТелеметрия. Обзор технологии и сценарии ее использования
Телеметрия. Обзор технологии и сценарии ее использования
Cisco Russia
Опыт внедрения OpenStack
Опыт внедрения OpenStackОпыт внедрения OpenStack
Опыт внедрения OpenStack
Yandex
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
rit2011
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Cisco Russia
Cisco Nexus 7700 и Cisco Catalyst 6800. Особенности применения в корпоративно...
Cisco Nexus 7700 и Cisco Catalyst 6800. Особенности применения в корпоративно...Cisco Nexus 7700 и Cisco Catalyst 6800. Особенности применения в корпоративно...
Cisco Nexus 7700 и Cisco Catalyst 6800. Особенности применения в корпоративно...
Cisco Russia
сети хранения данных настоящее и будущее Ds con
сети хранения данных настоящее и будущее Ds con   сети хранения данных настоящее и будущее Ds con
сети хранения данных настоящее и будущее Ds con
Expolink
Вебинар по криптомаршрутизаторам, 14.12.2016
Вебинар по криптомаршрутизаторам, 14.12.2016Вебинар по криптомаршрутизаторам, 14.12.2016
Вебинар по криптомаршрутизаторам, 14.12.2016
S-Terra CSP
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Ontico
Взгляд в Будущее: обзор и стратегия развития магистрального оборудования Сisc...
Взгляд в Будущее: обзор и стратегия развития магистрального оборудования Сisc...Взгляд в Будущее: обзор и стратегия развития магистрального оборудования Сisc...
Взгляд в Будущее: обзор и стратегия развития магистрального оборудования Сisc...
Cisco Russia
Технополис: Сетевой стек
Технополис: Сетевой стекТехнополис: Сетевой стек
Технополис: Сетевой стек
Dmitry Samsonov
Инфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikИнфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от Qlogik
Expolink
Михаил Белопухов: OpenBSD: Куда катится крипто?
Михаил Белопухов: OpenBSD: Куда катится крипто?Михаил Белопухов: OpenBSD: Куда катится крипто?
Михаил Белопухов: OpenBSD: Куда катится крипто?
Yandex
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
IBS
Построение катастрофоустойчивых и распределённых ЦОД (часть 3). Оптимизация п...
Построение катастрофоустойчивых и распределённых ЦОД (часть 3). Оптимизация п...Построение катастрофоустойчивых и распределённых ЦОД (часть 3). Оптимизация п...
Построение катастрофоустойчивых и распределённых ЦОД (часть 3). Оптимизация п...
Cisco Russia
Обновление продуктовой линейки защиты от DDOS Arbor Networks
Обновление продуктовой линейки защиты от DDOS Arbor NetworksОбновление продуктовой линейки защиты от DDOS Arbor Networks
Обновление продуктовой линейки защиты от DDOS Arbor Networks
Cisco Russia
Развитие линейки маршрутизаторов Cisco NCS
Развитие линейки маршрутизаторов Cisco NCSРазвитие линейки маршрутизаторов Cisco NCS
Развитие линейки маршрутизаторов Cisco NCS
Cisco Russia
Инновации Cisco для коммутации в корпоративных сетях
Инновации Cisco для коммутации в корпоративных сетяхИнновации Cisco для коммутации в корпоративных сетях
Инновации Cisco для коммутации в корпоративных сетях
Cisco Russia
Безопасность Центров Обработки Данных
Безопасность Центров Обработки ДанныхБезопасность Центров Обработки Данных
Безопасность Центров Обработки Данных
Cisco Russia
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
Andrey Klyuchka
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
IBS
Телеметрия. Обзор технологии и сценарии ее использования
Телеметрия. Обзор технологии и сценарии ее использованияТелеметрия. Обзор технологии и сценарии ее использования
Телеметрия. Обзор технологии и сценарии ее использования
Cisco Russia
Опыт внедрения OpenStack
Опыт внедрения OpenStackОпыт внедрения OpenStack
Опыт внедрения OpenStack
Yandex
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
rit2011
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Cisco Russia
Cisco Nexus 7700 и Cisco Catalyst 6800. Особенности применения в корпоративно...
Cisco Nexus 7700 и Cisco Catalyst 6800. Особенности применения в корпоративно...Cisco Nexus 7700 и Cisco Catalyst 6800. Особенности применения в корпоративно...
Cisco Nexus 7700 и Cisco Catalyst 6800. Особенности применения в корпоративно...
Cisco Russia
сети хранения данных настоящее и будущее Ds con
сети хранения данных настоящее и будущее Ds con   сети хранения данных настоящее и будущее Ds con
сети хранения данных настоящее и будущее Ds con
Expolink
Вебинар по криптомаршрутизаторам, 14.12.2016
Вебинар по криптомаршрутизаторам, 14.12.2016Вебинар по криптомаршрутизаторам, 14.12.2016
Вебинар по криптомаршрутизаторам, 14.12.2016
S-Terra CSP
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Ontico
Взгляд в Будущее: обзор и стратегия развития магистрального оборудования Сisc...
Взгляд в Будущее: обзор и стратегия развития магистрального оборудования Сisc...Взгляд в Будущее: обзор и стратегия развития магистрального оборудования Сisc...
Взгляд в Будущее: обзор и стратегия развития магистрального оборудования Сisc...
Cisco Russia
Технополис: Сетевой стек
Технополис: Сетевой стекТехнополис: Сетевой стек
Технополис: Сетевой стек
Dmitry Samsonov
Инфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikИнфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от Qlogik
Expolink
Михаил Белопухов: OpenBSD: Куда катится крипто?
Михаил Белопухов: OpenBSD: Куда катится крипто?Михаил Белопухов: OpenBSD: Куда катится крипто?
Михаил Белопухов: OpenBSD: Куда катится крипто?
Yandex
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
IBS
Построение катастрофоустойчивых и распределённых ЦОД (часть 3). Оптимизация п...
Построение катастрофоустойчивых и распределённых ЦОД (часть 3). Оптимизация п...Построение катастрофоустойчивых и распределённых ЦОД (часть 3). Оптимизация п...
Построение катастрофоустойчивых и распределённых ЦОД (часть 3). Оптимизация п...
Cisco Russia
Обновление продуктовой линейки защиты от DDOS Arbor Networks
Обновление продуктовой линейки защиты от DDOS Arbor NetworksОбновление продуктовой линейки защиты от DDOS Arbor Networks
Обновление продуктовой линейки защиты от DDOS Arbor Networks
Cisco Russia
Развитие линейки маршрутизаторов Cisco NCS
Развитие линейки маршрутизаторов Cisco NCSРазвитие линейки маршрутизаторов Cisco NCS
Развитие линейки маршрутизаторов Cisco NCS
Cisco Russia
Инновации Cisco для коммутации в корпоративных сетях
Инновации Cisco для коммутации в корпоративных сетяхИнновации Cisco для коммутации в корпоративных сетях
Инновации Cisco для коммутации в корпоративных сетях
Cisco Russia
Безопасность Центров Обработки Данных
Безопасность Центров Обработки ДанныхБезопасность Центров Обработки Данных
Безопасность Центров Обработки Данных
Cisco Russia
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
Andrey Klyuchka
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
IBS

Intel DPDK в решениях для противодействия DDoS-атакам

  • 1. Intel DPDK в решениях для противодействия DDoS-атакам от 40 Гбит/с Дмитрий Козлюк, ведущий разработчик по сетевым решениям АО «БИФИТ»
  • 2. О чем доклад? • Intel DPDK • Нюансы из практики (на примере DDoS). • DPDK и криптоускорители • Виртуализация РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 2
  • 3. Нужны программные решения на открытой платформе • Себестоимость разработки • Адаптация к новым реалиям • Время обновления • Масштабируемость • Vendor lock • Доверие производителю РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 3
  • 4. Защита средствами Linux • Предел — 5 Mpps. (Атака в 30 Mpps стоит 10 USD.) • Любой ввод/вывод — это переключения контекстов и прерывания. • Защиту в ядре трудно писать. Application TCP/IP skb, sk_buff NetFilter IRQ NIC User space Kernel space Hardware SYN cookie FW rules РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 4
  • 5. Intel DPDK • Data Plane Development Kit — набор средств для высокопроизводительной обработки больших объёмов сетевого трафика. • Первый релиз в 2010 (6WIND). • Open-source с 2013 г. (покупка Intel): • десятки патчей в сутки; • общение с разработчиками в mailing list; • собственные правки, патчи «из будущего». • Написано в Intel и для Intel. • Более 40 сетевых карт 11 производителей + виртуальные. • Linux/BSD, GCC/ICC/Clang. • x86_64, arm, power8 РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 5
  • 6. Intel DPDK: Poll Mode Driver Poll mode driver (PMD) работает с NIC из userspace без участия ядра и прерываний. Linux kernel igb_uiovfio_pci DPDK uio NIC PMD Application LPM ACL QoS power NUMA hash РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 6
  • 7. Что дает DPDK существующему ПО? Приложение Без DPDK DPDK Ускорение Nginx 6K RPS 18K RPS 3,0 Open vSwitch 1,2M pps 12M pps 10,0 Memcached 1,2M pps 4M pps 3,3 РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 7
  • 8. Intel DPDK: настройка NIC Единый интерфейс для настройки из приложения: • очередей RX/TX; • receive side scaling (RSS); • FlowDirector; • offloading. РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 8
  • 9. Библиотеки DPDK • LPM (longest prefix match) для маршрутизации • 12 Mpps / ядро • ACL — advanced classification library • FlowSpec со 100 000 правил на 40 Гбит/с • IPv6 (LPM, фрагментация, хэши) • Quality of Service (QoS) • Политики и группы политик на уровне DPDK • Token bucket (лимиты) • IPC • Хэш-таблицы, деревья поиска, кольцевые буферы • Blacklist на всем пространстве IPv4 РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 9
  • 10. Чем DPDK не является? • Не framework, а kit. • Нет TCP/IP стека: • универсального стека не бывает; • есть библиотеки для написания нужного; • mTCP, lwIP, picotcp, libuinet, NUSE, opendp, seastar, ... • Не распределяет нагрузку автоматически. РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 10
  • 11. Альтернативы DPDK Netmap PF_RING ?? DPDK LPM ACL QoS power NUMA hash IPv6 lcore limit CryptoPMD РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 11
  • 12. Пример: Mitigator — защита от DDoS-атак • L2 Bridge • Поддерживает асимметрию трафика. • REST API • BGP FlowSpec Mitigator РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 12
  • 13. Атаки и контрмеры • IP/TCP/UDP/ICMP Fragmentation Flood • ICMP Flood • TCP SYN Flood • TCP SYN-ACK Flood • TCP ACK Flood • TCP RST/FIN Flood • HTTP Flood • Slow HTTP attacks • DNS Flood • VoIP Flood • SSL renegotiation • Amplification Attacks (DNS, NTP, SSDP, …) • … • Обработка фрагментированных IP пакетов • Валидация пакетов • Черный список по исходящим IPv4 адресам • Фильтрация по странам • Фильтрация по правилам (ACL) • Защита от TCP Flood • Защита от HTTP Flood • Защита от DNS Flood • Фильтрация по регулярным выражениям (L4 payload) • Блокировка при превышении порогов • Ограничение полосы (rate-limit) • Ограничение трафика на IP адрес получателя • Отправка BGP FlowSpec правил • Защита игровых серверов Valve РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 13
  • 14. Non-Uniform Memory Access (NUMA) RAM local node 0 CPU #0 0 1 8 9 2 3 10 11 CPU #1 4 5 12 13 6 7 14 15 NIC #1 NIC #2 QPI PCIe PCIe DDR RAM local node 1 DDR 200 нс 400 нс РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 14
  • 15. Пример распределения нагрузки Генератор трафика Warp17, 2 сетевых порта, 32 логических ядра. • Определяем состав узлов NUMA: • узел 0: порт 0 — ядра 0—7, 18—23 • узел 1: порт 1 — ядра 8—16, 24—31 • Распределяем ядра с учетом NUMA: • Итого занято 28 из 32 ядер (FC FC FF FF) В: почему простаивают ядра 16 и 17, 24 и 25? О: hyper-threading: физические ядра уже загружены логическими 0, 1, 8 и 9. Задача Порт Ядра Маска (ядро = бит) Управление — 0, 1 00 00 00 03 Порт 0 0 2—7, 18—23 00 FC 00 FC Порт 1 1 8—16, 26—31 FC 00 FF 00 РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 15
  • 16. Receive Side Scaling (RSS) TRAFFIC ⇓⇓⇓ +-----+ | RSS | +-----+ ↓↓ ↓↓ ⇄ ↓↓ ↓↓ +--+ +--+ +--+ +--+ | | | | | | | | | | | | | .| |.:| |:.| |.:| |::| |::| |::| |::| |::| |::| |::| |::| |::| |::| |::| |::| |::| |::| +--+ +--+ +--+ +--+ q1 q2 q3 q4 РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 16
  • 17. Атака на RSS TRAFFIC ⇓⇓⇓ +-----+ | RSS | +-----+ ⇄ ↓↓ +--+ +--+ +--+ +--+ | | | | |::| | | | | | | |::| | | | | | | |::| | | | | | | |::| | | | | | | |::| | | | | | | |::| | | +--+ +--+ +--+ +--+ q1 q2 q3 q4 РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 17
  • 18. Offloading • DPDK позволяет управлять TX/RX offloading для каждого порта из приложения. • Включённый offloading не дает использовать simple path и векторную обработку (на картах Intel). • Генерация трафика: 1 ядро, 1 порт 10 Гбит/с (line rate 14,88 Mpps): • Не выгодно, если пакеты не меняются (редко меняются) при обработке. Path Offloading Скорость, Mpps simple no 7,00 (100 %) full no 6,61 ( 94 %) full yes 7,74 (110 %) РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 18
  • 19. Mitigator vs 40 Gbps (59,52 Mpps) Атака Защита Производительность SYN Flood TCPFloodProtection 59 Mpps DNS Flood DNSFloodProtection line-rate IP Spoofing Flood Global IPv4 Blacklist line-rate TCP Random Spoof TCP Flood Protection line-rate DNS + SNMP Amp. Advanced ACL 200K rules line-rate Random trash 64B RegExFilter 20K signatures line-rate Random trash 128B RegExFilter 20K signatures line-rate РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 19
  • 20. Pktgen Генератор L3—L4 трафика с любыми адресами и флагами. • Внутренняя разработка BIFIT для тестирования своих решений. • ICMP/SYN/.../DNS-flood, воспроизведение атак PCAP • Stateless (не устанавливает соединения) • 4 × 10 Гбит/с, 10 ядер: line rate (60 Mpps) РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 20
  • 21. Warp17 Генератор L4—L7 трафика с собственным стеком TCP/IP (для тестирования). • Juniper Networks, open source, 2016 г. • TCP и UDP со случайными данными, простой HTTP. РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 21
  • 22. DPDK и криптография • Архитектурные параллели: • сетевая карта — криптоускоритель; • отправка пакетов — запросы на выполнение операций; • прием пакетов — забор результатов операций. • Та же проблема: доступ к ускорителю через ОС. • То же решение: poll mode driver. • То что нужно для DPI и VPN. РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 22
  • 23. DPDK Crypto PMD API • Единый асинхронный интерфейс к разным устройствам. • Сейчас: симметричное шифрование, цифровая подпись, аутентификация. • Подпись за одну операцию, если поддерживает ускоритель. • В разработке: асимметричные алгоритмы, сжатие данных. • Управление памятью через имеющийся DPDK API. • Можно считать пакет из сети и передать на расшифровку — без копирования. • Не зависит от сетевой части DPDK. РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 23
  • 24. Оборудование • Intel QuickAssist (QAT, чипы DH89xxCC). • Нужен специальный драйвер (отдельно от DPDK); • даже для сборки нужна машина с QAT. • Расширения в процессорах Intel: • AES NI • libsso: KASUMI, SNOW 3G, ZUC, ... • ARMv8 • Балансировщик нагрузки на криптоускорители. РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 24
  • 25. QuickAssist & OpenSSL На примере операции AES-128-CBC-HMAC-SHA1. Размер запроса, байт OpenSSL, Гбит/с OpenSSL + QuickAssist, Гбит/с 64 0,01 0,43 1024 0,12 6,85 4096 0,49 25,03 16384 1,83 50,12 РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 25
  • 26. Поддержка виртуализации Поддерживаются «из коробки»: • KVM: virtio • VMware ESX: Paravirtual VMXNET3 • Xen: paravirtual NIC РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 26
  • 27. Доставка трафика в ВМ: PCI Passthrough Host VM NIC DPDK РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 27
  • 28. Доставка трафика в ВМ: SR-IOV Host VM VF DPDK VM VF DPDKNIC (PF) vfio-pci РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 28 Single-Root Input/Ouput Virtualization
  • 29. Доставка трафика в ВМ: vhost-user Host KVM vNIC DPDK KVM vNIC DPDKNIC? vhost-user enabled switch (DPDK) РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 29
  • 30. LXC • Приложение с DPDK — обычное Linux-приложение. • RW-доступ к /dev/uio* или /dev/vfio/*: lxc.cgroup.devices.allow = c 247:0 rwm lxc.cgroup.devices.allow = c 247:1 rwm • Явное указание приложению количества доступной памяти: • lxc.cgroup.hugetlb.1G.limit_in_bytes = 8589934592 $ dpdk-app [...] -m 8192 • Unprivileged containers. РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 30
  • 31. Выводы • DPDK позволяет строить быстрые, чисто программные защиты на оборудовании общего назначения. • Доступ к сетевой карте перестает быть «узким местом». • Им становится: ЦП, шина PCI, память, задержки в сети • Warp17: 1,8 млн. TCP-сеансов в секунду, но только back-to-back. • DPDK годится не только для сетевых решений. • Open-source дает преимущество. РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 31
  • 32. Что почитать? • DPDK: • сайт, документация, mailing list: http://dpdk.org/ • DPDK Summit: https://dpdksummit.com/ • TCP-стеки: • mTCP: https://github.com/eunyoung14/mtcp • lwIP: http://savannah.nongnu.org/projects/lwip • picotcp: http://www.picotcp.com • libuinet: https://github.com/pkelsey/libuinet • NUSE: https://github.com/libos-nuse/net-next-nuse • opendp: https://github.com/opendp/dpdk-ans • seastar: https://github.com/scylladb/seastar РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 32
  • 33. Что почитать? • Нюансы DPDK: • опыт Brocade vRouter: https://events.linuxfoundation.org/sites/events/files/slides/DPDK-Performance.pdf • рекомендации Intel: https://software.intel.com/en-us/articles/dpdk-performance- optimization-guidelines-white-paper • Криптография: • OpenSSL и QuickAssist: http://www.intel.com/content/dam/www/public/us/en/documents/solution- briefs/accelerating-openssl-brief • DPDK PMD: /harryvanhaaren/symmetric-crypto-for-dpdk- declan-doherty • развитие DPDK PMD: https://dpdksummit.com/Archive/pdf/2016Userspace/Day01- Session06-Userspace2016.pdf РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 33
  • 34. Спасибо за внимание! Дмитрий Александрович Козлюк kozlyuk@bifit.com Mitigator.ru РусКрипто'2017, 23 марта Козлюк Д. А., АО «БИФИТ» 34