NETMAP (by Luigi Rizzo) — простой и удобный opensource фреймворк для обработки трафика на скоростях 10Gbit/s или 14 миллионов пакетов в секунду
В современном мире множество систем (роутеры, межсетевые экраны, анализаторы трафика и т.п.) должны обрабатывать пакеты на очень быстрых каналах. Доклад предназначен для быстрого введения в удобный и очень эффективный opensource framework, который включен в HEAD FreeBSD, называется NETMAP и позволяет работать с пакетами на скоростях 1-10Gbit/s без использования специализированного железа в обычных *nix операционных системах.
Netmap использует хорошо известные техники увеличения производительности, такие как мапирование в память буферов сетевой карты, пакетная обработка I/O и использование принимающих и передающих кольцевых буферов памяти, соответствующих аппаратным буферам в сетевой карте, что позволяет генерировать и принимать трафик до 14 миллионов пакетов в секунду (что соответствует теоретическому максимуму для 10Gbit/s) с использованием только одного ядра процессора.
В докладе рассматриваются архитектура и ключевые особенности внутренней реализации netmap framework'а, который инкапсулирует критические функции при работе с ядром OS и микрокодом сетевой карты, предоставляя в userland простой и понятный API.
В ходе доклада рассматриваются основные примитивы использования фреймворка для разработки приложений связанных с обработкой пакетов на скоростях 14Mpps, рассмотрен практический опыт использования netmap фреймворка при разработке компонента системы DDOS защиты, ответственного за уровень L3. Отдельно рассматриваются сравнительные характеристики производительности netmap на каналах 1/10Gbit/s, одном/нескольких ядрах процессора, больших и коротких пакетах, сравнение производительности со стеками OS FreeBSD / Linux.
Ёрхов Евгений Владимирович
Образование:
Академия ФСБ РФ (основное). Академия народного хозяйства при Президенте РФ (MBA).
Главный разработчик SaaS сервиса фильтрации спам — SPAMGUN,
Главный разработчик в стартапе системы DDOS-защиты RUSCREEN.
Основатель компании IXI.RU .
http://www.linkedin.com/pub/yevgeny-yorkhov/45/977/b95