+7(495)587-42-74 (МСК)
+7(800)100-37-24 (Бесплатный)
DDoSExpert
профессиональная защита от атак
16+

DDoS под прицелом: NetMap, PF RING ZC и Intel DPDK (Вступление)

2015-06-28 09:26:00

ЭТИМ ПОЛУКРЕСЛОМ МАСТЕР ГАМБС начинает новую партию мебели. 1865 г. Санкт-Петербург

Этой заметкой DDoSExpert начинает цикл статей о высокоскоростной обработке пакетов, применение которой позволяет успешно осуществлять защиту от DDoS атак.

Вступление:

В настоящее время сетевые стеки современных операционных систем не способны справиться с возможностью генерации пакетов в сетях 10 GBit Ethernet. Это вызвало необходимость разработки альтернативных технологий удовлетворяющих предъявляемым требованиям. Далее мы рассмотрим три независимых решения позволяющих обрабатывать трафик на максимально возможных скоростях допустимых на 10Gbit интерфейсах.

Итак, встречайте - три претендента: NetMap, PF RING ZC и Intel DPDK.

Мы изучим схожие структуры и методы для этих систем, рассмотрим отличия в реализации архитектуры и продемонстрируем примеры кода используя API фреймворков.

Кроме того модели разработанные в рамках нашего исследования продемонстрируют фундаментальное соотношение между затратой ресурсов и производительностью этих фреймворков при захвате пакетов для дальнейшего исследования и отражения DDoS атак. Безусловно, демонстрируемые модели можно использовать не только для защиты от DDoS, но и для любых других задач, которые требуют высокоскоростной обработки пакетов.

Исследование начнём с создание тестового стенда состоящего из трёх серверов, первый из которых будет генерировать пакеты различного размера имитируя тем самым DDoS-атаку. Второй сервер будет осуществлять пересылку пакетов между интерфейсами и получая на один из сетевых интерфейсов пакеты от первого сервера будет, с использованием исследуемого фреймворка, проталкивать пакет с другого интерфейса на третий сервер, который будет являться приёмником. Добившись приёма сервером-приёмником всех пакетов от сервера передатчика мы будем производить измерения загрузки процессора и используемой оперативной памяти на промежуточном сервере. Размеры генерируемых пакетов будут изменяться с целью изучения факторов влияющих на пропускную способность и будут рассмотрены более подробно в сравнительном анализе. Тем самым мы сможем сделать выводы о том какой из фреймворков наилучшим образом подходит для требований конкретного приложения. А также постараемся дать рекомендации по достижению максимальной эффективности в рамках разрабатываемого приложения для каждого из фреймворков.