HighLoad++ 2017
Зал «Мумбай», 8 ноября, 16:00
Тезисы:
http://www.highload.ru/2017/abstracts/2858.html
Аудитория Одноклассников превышает 73 миллиона человек в России, СНГ и странах дальнего зарубежья. При этом ОК.ru - первая социальная сеть по просмотрам видео в рунете и крупнейшая сервисная платформа.
Качественный и количественный рост DDoS-атак за последние годы превращает их в одну из первоочередных проблем для крупнейших интернет-ресурсов. В зависимости от вектора атаки “узким” местом становится та или иная часть инфраструктуры. В частности, при SYN-flood первый удар приходится на систему балансировки трафика. От ее производительности зависит успех в противостоянии атаке.
...
2. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Кто мы такие?
АНДРЕЙ ДОМАСЬ
Ведущий cистемный администратор
ВЯЧЕСЛАВ МОРОЗОВ
Технический директор
3. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
О чем?
Балансировка в Одноклассниках
Проблема с SYN-flood
Решение от NFWare
4. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Балансировка в OK
5. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Когда-то давно
6. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Когда-то давно
Много дорабатывали
Баги
Плохо документирован
Однопоточные проверки (30-40 мин
если сломалось много серверов)
Настраивается из файла (сложно
автоматизировать)
7. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
8. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
/check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
9. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
/check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
10. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
/check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
11. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Сейчас
12. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Сейчас
app-group1.cloud.local.
app-group1.cloud.local. 10 A 192.168.0.1
app-group1.cloud.local. 10 A 192.168.0.2
app-group1.cloud.local. 10 A 192.168.0.3
13. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
DDoS (SYN-flood)
Q1 2016 peaks: 120+ Mpps
https://www.incapsula.com/ddos-report/ddos-report-q1-2016.html
14. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты (ip_vs)
Connection Rate
15. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тонкое место
16. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Чем плох ip_vs
17. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Что решили попробовать
18. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты
6 x 10G, no LACP
Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
Connections/sec
19. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты
6 x 10G, no LACP
Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
Connections/sec
41.8
Mcps
20. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты
Connections/secConnections/sec
x200ip_vs NFWare
21. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Как это работает
22. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Как это работает (HA)
23. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
NFWare Load Balancer
24. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Гибридная многоядерная архитектура
25. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Гибридная многоядерная архитектура
26. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Гибридная многоядерная архитектура
Scalability
Pipeline
Better resource
utilization
27. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Распределение нагрузки между ядрами
28. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Распределение нагрузки между ядрами
29. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Распределение нагрузки между ядрами
SW RSS:
Поддержка
различных карт
Smart hash
Улучшение
использлования PCIe
30. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Оптимизация работы одного ядра
● Fast path: сессия существует, отправка пакетов
в сторону выбранного сервера назначения
Поиск существующих соединений в таблице
31. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Оптимизация работы одного ядра
● Fast path: сессия существует, отправка пакетов
в сторону выбранного сервера назначения
● Slow path: Новая сессия
Поиск существующих соединений в таблице
32. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Оптимизация работы одного ядра
● Fast path: сессия существует, отправка пакетов
в сторону выбранного сервера назначения
● Slow path: Новая сессия
Поиск существующих соединений в таблице Создание новой сессии
● Поиск виртуального сервиса
● Применение правил шедулера
● Отправка пакета в сторону выбранного сервера
33. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: IPVS
34. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: IPVS
35. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: IPVS
RCU
36. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: NFWare
37. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: NFWare
38. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: NFWare
39. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
DDoS Protection | Борьба с SYN-Flood
Срабатывание по пороговому значению
Освобождение произвольных сессий - в
результате может не быть места в hash bucket
Блокировка всей таблицы
40. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
DDoS Protection | Борьба с SYN-Flood
Срабатывание по пороговому значению
Освобождение произвольных сессий - в
результате может не быть места в hash bucket
Блокировка всей таблицы
Срабатывание при создании сессии
Освобождение сессии в целевом hash bucket
Lock-free
41. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Преимущества
Бесшовная интеграция в существующую инфраструктуру
Увеличение производительности балансировки в 200 раз
Улучшение защиты от SYN-Flood
Сохранение функционала ip_vs: синхронизация сессий,
режимы (возможности балансировки)
42. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
ВОПРОСЫ?
Андрей Домась
andrey.domas@corp.mail.ru
Вячеслав Морозов
vmorozov@nfware.com