Типовые сервисы региональной сети передачи данныхARCCNДоклад Вячеслава Васина (ЦПИКС) на семинаре Консорциума университетов по изучению и развитию передовых технологий в сфере компьютерных сетей. 20 октября 2016 года
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipARCCNДоклад Васина Вячеслава (ЦПИКС) на семинаре Консорциума университетов по изучению и развитию передовых технологий в сфере компьютерных сетей. 20 октября 2016 года
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)OnticoHighLoad++ 2017
Зал «Пекин+Шанхай», 7 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2990.html
Мы ежедневно сталкиваемся с тем, что даже работающие более 15 лет в индустрии специалисты, путаются в понятиях и преимуществах и недостатках тех или иных архитектур больших СХД.
В своем докладе мы расскажем о разнице между distributed (распределенными), shared (общими) и параллельными файловыми системами, покажем, в каких задачах Scale In-системы превосходят Scale Out и наоборот.
...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...OnticoСфера финансовых приложений и трейдинга выдвигает особые требования к системам обработки данных: ультракороткие задержки, конкурентные обновления (в т.ч. из разных процессов), репликация высокочастотных обновлений.
Существовавшие открытые key-value хранилища не справлялись, поэтому мы сделали свое — Chronicle Map.
В докладе я отвечу на вопросы:
+ Почему бывает эффективнее разбить систему, работающую с общим состоянием, на несколько отдельных процессов?
+ Зачем вам может захотеться распилить JVM на несколько частей?
+ Как добиться от key-value хранилища медианной latency меньше 1 микросекунды?
+ Как сделать репликацию, если она упирается в пропускную способность сети из-за слишком частых обновлений?
Развею миф о том, что Java — это медленно :)
Также, в докладе будет сравнение Chronicle Map с redis, one-nio и ConcurrentHashMap.
Возможности повышения производительности вычислительных кластеровVsevolod ShabadВозможности повышения производительности вычислительных кластеров для tNavigator
Cautious: IPv6 is here / Александр Азимов (Qrator Labs)OnticoМногим известна проблема исчерпания адресного пространства IPv4, из года в год делаются доклады о том, что адреса кончаются, кончаются, да никак не кончатся. На этом фоне польза от внедрения IPv6 кажется абсолютно неочевидной.
В докладе пойдет речь о причинах неизбежности прихода и массового внедрения IPv6 вне зависимости от судьбы адресного пространства IPv4, с описанием как пользы от использования Dual Stack, так и возникающих рисков.
SDN и защищенные квантовые коммуникацииARCCNДоклад Садова О.Л. (ИТМО) на семинаре Консорциума университетов по изучению и развитию передовых технологий в сфере компьютерных сетей. 20 октября 2016 года
Программно-технические комплексы для работы с геолого-геофизическими даннымиVsevolod ShabadПрограммно-технические комплексы для работы с геолого-геофизическими данными
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...OnticoHighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2960.html
При изучении алгоритмов и структур данных я предлагаю студентам закрепить знания и попытаться сделать мир лучше, выполнив небольшие проекты по внедрению эффективных алгоритмов в свободное программное обеспечение. В этом докладе я расскажу несколько идей для таких проектов.
Мы рассмотрим существующие фрагменты исходного кода, поговорим о том, что в нём можно допилить, и обсудим, сколько баллов за это надо давать.
Реализацией идей могут заняться, разумеется, все желающие.
Инфраструктура хранения для KADME WhereoilVsevolod ShabadОписание подходов "СетьПроекта" к построению инфраструктуры архива геолого-геофизических данных на платформе KADME Whereoil
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)OnticoHighLoad++ 2017
Зал «Дели + Калькутта», 8 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/3007.html
Я расскажу о принципах создания высокопроизводительного мониторинга и о том, какие инструменты для этого существуют в Zabbix.
Проанализируем результаты бенчмарков различных сценариев работы Zabbix, посмотрим, сколько метрик в секунду способна собирать и обрабатывать наша система мониторинга. Отвечу на вопрос, что и как влияет на производительность Zabbix? Будет очень много цифр и графиков!
...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Ontico+ Защита данных — это не "одна кнопка", нет годного любому единого решения. Задача всегда диктует выбор средств и решений.
+ RTO — Recovery Time Objective — максимальное время, за которое все ваши бизнес-задачи должны полностью быть восстановлены в работоспособное состояние после полной катастрофы ДЦ.
+ RPO — Recovery Point Objective — максимально приемлемый для ваших задач промежуток времени, за который вы готовы потерять данные.
+ Защита на уровне приложений. Приложение лучше всех знает, как защищать и реплицировать свои данные.
+ Асинхронная репликация — наилучший выход с точки зрения производительности, единственно возможный вариант в случае значительного географического разнесения дата-центров (сотни и более километров). Работает на уровне виртуальных машин.
+ Метро / "растянутые" кластеры и синхронная репликация — нулевой RPO, минимальный RTO, большие потери производительности и множество ограничений. Но иногда — единственный выход, если уровень приложения не умеет реплицировать данные.
+ Лучший подход — комбинация из репликации на уровне приложений, асинхронной и синхронной репликации средствами хранилища.
+ Что есть у Nutanix для решения подобных задач: DR (Async replication), Metro availability cluster, Timestream Backup.
+ Реализация решения с использованием Nutanix на примере FBI: крупнейший VDI в США. Защищенная, mission-critical инфраструктура на 70 тысяч виртуальных десктопов. Асинхронная репликация дата-центров на 1500 миль, защита данных от катастроф.
Отчет по проектах ЦПИКСARCCNДоклад Смелянского Р.Л. на семинаре Консорциума университетов по изучению и развитию передовых технологий в сфере компьютерных сетей. 20 октября 2016 года
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...OnticoТехнологии NFV идут вперед и никого уже нельзя удивить тем, что сетевые сервисы вместо специализированного оборудования запускают на обычных серверах с хорошей пропускной способностью. Мир уже привык к тому, что на сервере можно обрабатывать 100 Гбит сетевого трафика. Однако эти числа характерны только тогда, когда запускают единственный сервис на сервере, например, только коммутацию пакетов (vSwitch), только NAT, только балансировку нагрузки и т.п. Сейчас же появляется потребность в запуске нескольких сервисов на одной машине, выстраивать сложные pipeline, которые учитывают различные сетевые функции, ACL, L2, L3, QoS, интегрированных с виртуальными машинами и контейнерами.
Для этого в сообществах разрабатываются более сложные фреймворки по обработке сетевых сервисов, которые позволяют разбивать задачи на этапы (stage) — каждый со своей сложностью и временем обработки, автоматически распределять такие этапы по вычислительным мощностям, планировать обработку пакетов так, чтобы увеличить суммарную пропускную способность.
В докладе будет представлен сравнительный обзор таких фреймворков: Intel DPDK Packet Framework, FD.io, Open Dataplane, Open Virtual Network (от проекта Open vSwtich). Будут представлены числовые характеристики и рекомендованные сценарии применения. Также будет освещена интеграция с системами виртуализации.
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмикиVsevolod ShabadМощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики. Доклад на конференции "Геологоразведка-2016"
SOA: строим свой service mesh / Иван Круглов (Booking.com)OnticoHighLoad++ 2017
Зал «Дели + Калькутта», 8 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/3006.html
Service mesh - это выделенный слой в инфраструктуре компании, который призван упростить взаимодействие между сервисами, а также сделать его надежным и безопасным. В юрисдикцию service mesh, по разным мнениям, входят: маршрутизация запросов, service discovery, балансировка, обработка ошибок, мониторинг, трейсинг, авторизация и аутентификация и др. вещи. Реализация тоже варьируется от размазывания функционала по всему стеку до концентрации большей части его в одной точке.
...
Телеметрия. Обзор технологии и сценарии ее использованияCisco Russia Запись вебинара:
http://ciscoclub.ru/telemetriya-obzor-tehnologii-i-scenarii-ee-ispolzovaniya
Получение и обработка данных с оборудования всегда было не самой простой задачей. Технология сбора данных на базе протокола SNMP, используемая каждым оператором связи, имеет проблемы с масштабированием на больших сетях и практической невозможностью получения оперативных данных с малым временным интервалом опроса оборудования. Другая технология, на базе Netflow, которая долгое время используется для получения данных по потокам трафика, имеет ограничения по типам данных, которые мы можем получить из устройства.
Опыт внедрения OpenStackYandexСейчас OpenStack на слуху, но детальных отзывов и описаний дизайна инфраструктуры все еще не много. Постараемся немного упростить задачу для тех, кто еще только планирует развертывание инфраструктуры виртуализации, и расскажем, как это делали мы в некоторых наших проектах:
погрузимся в нюансы реализации окружения OpenStack в боевой среде;
поговорим об отказоустойчивости;
рассмотрим варианты организации резервного копирования;
обратим внимание на конфигурацию «железок»: СХД и сети.
Программно-технические комплексы для работы с геолого-геофизическими даннымиVsevolod ShabadПрограммно-технические комплексы для работы с геолого-геофизическими данными
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...OnticoHighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2960.html
При изучении алгоритмов и структур данных я предлагаю студентам закрепить знания и попытаться сделать мир лучше, выполнив небольшие проекты по внедрению эффективных алгоритмов в свободное программное обеспечение. В этом докладе я расскажу несколько идей для таких проектов.
Мы рассмотрим существующие фрагменты исходного кода, поговорим о том, что в нём можно допилить, и обсудим, сколько баллов за это надо давать.
Реализацией идей могут заняться, разумеется, все желающие.
Инфраструктура хранения для KADME WhereoilVsevolod ShabadОписание подходов "СетьПроекта" к построению инфраструктуры архива геолого-геофизических данных на платформе KADME Whereoil
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)OnticoHighLoad++ 2017
Зал «Дели + Калькутта», 8 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/3007.html
Я расскажу о принципах создания высокопроизводительного мониторинга и о том, какие инструменты для этого существуют в Zabbix.
Проанализируем результаты бенчмарков различных сценариев работы Zabbix, посмотрим, сколько метрик в секунду способна собирать и обрабатывать наша система мониторинга. Отвечу на вопрос, что и как влияет на производительность Zabbix? Будет очень много цифр и графиков!
...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Ontico+ Защита данных — это не "одна кнопка", нет годного любому единого решения. Задача всегда диктует выбор средств и решений.
+ RTO — Recovery Time Objective — максимальное время, за которое все ваши бизнес-задачи должны полностью быть восстановлены в работоспособное состояние после полной катастрофы ДЦ.
+ RPO — Recovery Point Objective — максимально приемлемый для ваших задач промежуток времени, за который вы готовы потерять данные.
+ Защита на уровне приложений. Приложение лучше всех знает, как защищать и реплицировать свои данные.
+ Асинхронная репликация — наилучший выход с точки зрения производительности, единственно возможный вариант в случае значительного географического разнесения дата-центров (сотни и более километров). Работает на уровне виртуальных машин.
+ Метро / "растянутые" кластеры и синхронная репликация — нулевой RPO, минимальный RTO, большие потери производительности и множество ограничений. Но иногда — единственный выход, если уровень приложения не умеет реплицировать данные.
+ Лучший подход — комбинация из репликации на уровне приложений, асинхронной и синхронной репликации средствами хранилища.
+ Что есть у Nutanix для решения подобных задач: DR (Async replication), Metro availability cluster, Timestream Backup.
+ Реализация решения с использованием Nutanix на примере FBI: крупнейший VDI в США. Защищенная, mission-critical инфраструктура на 70 тысяч виртуальных десктопов. Асинхронная репликация дата-центров на 1500 миль, защита данных от катастроф.
Отчет по проектах ЦПИКСARCCNДоклад Смелянского Р.Л. на семинаре Консорциума университетов по изучению и развитию передовых технологий в сфере компьютерных сетей. 20 октября 2016 года
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...OnticoТехнологии NFV идут вперед и никого уже нельзя удивить тем, что сетевые сервисы вместо специализированного оборудования запускают на обычных серверах с хорошей пропускной способностью. Мир уже привык к тому, что на сервере можно обрабатывать 100 Гбит сетевого трафика. Однако эти числа характерны только тогда, когда запускают единственный сервис на сервере, например, только коммутацию пакетов (vSwitch), только NAT, только балансировку нагрузки и т.п. Сейчас же появляется потребность в запуске нескольких сервисов на одной машине, выстраивать сложные pipeline, которые учитывают различные сетевые функции, ACL, L2, L3, QoS, интегрированных с виртуальными машинами и контейнерами.
Для этого в сообществах разрабатываются более сложные фреймворки по обработке сетевых сервисов, которые позволяют разбивать задачи на этапы (stage) — каждый со своей сложностью и временем обработки, автоматически распределять такие этапы по вычислительным мощностям, планировать обработку пакетов так, чтобы увеличить суммарную пропускную способность.
В докладе будет представлен сравнительный обзор таких фреймворков: Intel DPDK Packet Framework, FD.io, Open Dataplane, Open Virtual Network (от проекта Open vSwtich). Будут представлены числовые характеристики и рекомендованные сценарии применения. Также будет освещена интеграция с системами виртуализации.
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмикиVsevolod ShabadМощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики. Доклад на конференции "Геологоразведка-2016"
SOA: строим свой service mesh / Иван Круглов (Booking.com)OnticoHighLoad++ 2017
Зал «Дели + Калькутта», 8 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/3006.html
Service mesh - это выделенный слой в инфраструктуре компании, который призван упростить взаимодействие между сервисами, а также сделать его надежным и безопасным. В юрисдикцию service mesh, по разным мнениям, входят: маршрутизация запросов, service discovery, балансировка, обработка ошибок, мониторинг, трейсинг, авторизация и аутентификация и др. вещи. Реализация тоже варьируется от размазывания функционала по всему стеку до концентрации большей части его в одной точке.
...
Телеметрия. Обзор технологии и сценарии ее использованияCisco Russia Запись вебинара:
http://ciscoclub.ru/telemetriya-obzor-tehnologii-i-scenarii-ee-ispolzovaniya
Получение и обработка данных с оборудования всегда было не самой простой задачей. Технология сбора данных на базе протокола SNMP, используемая каждым оператором связи, имеет проблемы с масштабированием на больших сетях и практической невозможностью получения оперативных данных с малым временным интервалом опроса оборудования. Другая технология, на базе Netflow, которая долгое время используется для получения данных по потокам трафика, имеет ограничения по типам данных, которые мы можем получить из устройства.
Опыт внедрения OpenStackYandexСейчас OpenStack на слуху, но детальных отзывов и описаний дизайна инфраструктуры все еще не много. Постараемся немного упростить задачу для тех, кто еще только планирует развертывание инфраструктуры виртуализации, и расскажем, как это делали мы в некоторых наших проектах:
погрузимся в нюансы реализации окружения OpenStack в боевой среде;
поговорим об отказоустойчивости;
рассмотрим варианты организации резервного копирования;
обратим внимание на конфигурацию «железок»: СХД и сети.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Cisco Russia Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Запись вебинара: http://cs.co/90012hlL
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)OnticoМы прошли довольно большой путь в разработке через микросервисы.
Начинали разработку, когда это за рубежом только входило в тренд. По сути, не было никакой информации о том, как это делать правильно и, вообще, стоит ли это делать. Не было понятно, имеем ли мы дело с очередной модной штукой, или парадигма действительно решает часть проблем, характерных для больших нагруженных проектов.
Мы прошли путь от того, когда 100 микросервисов казалось много ... Сейчас цифры в 1000, 2000 кажутся чем-то обыденным.
В ходе доклада я постараюсь сделать упор на эксплуатацию системы, работающей на микросервисах. Расскажу, какой инструментарий показал себя хорошо на больших объемах, а от какого пришлось отказаться. Покажу на примерах, как эволюционировала наша система управления конфигурацией системы в целом и отдельными сервисами. Расскажу, как корректно предоставлять API сервиса и правильно поставлять его клиентские библиотеки, чтобы избегать внутренних и искусственных зависимостей. Покажу, как мы работаем с распределенными сервисами и обеспечиваем отказоустойчивость.
Михаил Белопухов: OpenBSD: Куда катится крипто?YandexВ своем докладе я расскажу о прошлом, настоящем и будущем использования криптографии и криптографического стека в OpenBSD. Мы коснемся поддержки AES-NI и AES-GCM, использования ChaCha20 в качестве замены ARC4 в PRNG. Кроме того, рассмотрим альтернативы алгоритмам, стандартизованным NIST: ChaCha20, Poly1305, Curve25519, и их использование в OpenSSH и OpenBSD.
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...IBSМаксим Исаев, начальник отдела вычислительных платформ в компании IBS, выступил на Veritas Vision Solution Day 2016
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиIBSАндрей Николаенко, системный архитектор в IBS, выступил на конференции HighLoad++ 2016.
Тезисы
В выпуске 4.8 ядра Linux появилась поддержка NVMf (NVM Express over Fabrics) — стандартизованной возможности присоединять по сети как блочные устройства твердотельные накопители, установленные в разъёмы PCI Express. NVMf лишён многих недостатков iSCSI, повторяющего по сети SCSI-команды со всеми их издержками времён дисковых накопителей, и главное — позволяет по полной использовать возможности сетей с прямым доступом к оперативной памяти (RDMA). Таким образом, можно под управлением одного узла собрать сверхбыстрый и сверхотзывчивый пул блочных устройств, не прибегая к покупке дорогого флэш-массива. Но как воспользоваться этим пулом, не загубив теоретические показатели программными обёртками?
В докладе будут рассмотрены варианты применения NVMf для различных конфигураций PostgreSQL, Oracle Database, Hadoop, файловых хранилищ, о разработках в направлении «программно-определяемой памяти» с применением NVMe-устройств, доступных по сети, обсуждены текущие проблемы, ограничения и перспективы. Особое внимание будет уделено практическим способам измерения производительности ввода-вывода с учётом задачи, решаемой подсистемой хранения.
Андрей Николаенко, 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
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
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