SlideShare a Scribd company logo
Использование FPGA для генерации
и анализа Ethernet-трафика на
высоких скоростях (10G, 40G, 100G)
Шевчук Иван
НТЦ Метротек
Шевчук Иван, НТЦ Метротек, 2015
План
● Генератор и анализатор трафика: краткий
обзор требований
● Проблемы программной реализации
● Преимущества использования FPGA
● Наш опыт: комплекс Metrotek B100
2
Шевчук Иван, НТЦ Метротек, 2015
Параметры генерации трафика
● Заголовок
● Полезные данные
● Скорость генерации (создаваемая
нагрузка)
3
Шевчук Иван, НТЦ Метротек, 2015
Профили нагрузки тестов
4
Шевчук Иван, НТЦ Метротек, 2015
Как регулируется нагрузка?
Preamble
MAC
Destination
MAC
Source
Type/
Length
Data
Payload
FCS IFG
● Расстояние от одного до другого пакета определяется IFG
● Регулируя IFG, можно создавать различные профили трафика
● “Точность” выставления IFG и определяет качество генерации
трафика
● Для обеспечения максимальной нагрузки требуется
выставление минимального IFG (12 байт)
5
Шевчук Иван, НТЦ Метротек, 2015
Где регулируется нагрузка?
6
Шевчук Иван, НТЦ Метротек, 2015
Что делает анализатор трафика?
● Просматривает данные на приёме
○ Анализирует целостность и корректность
доставки
● Фиксирует время приёма пакета
○ Чем точнее будет вычислено время приёма, тем
лучше. (Для измерения задержки и джиттера)
● Увеличивает различные счётчики
(принятые пакеты/байты, и.т.д.)
7
Шевчук Иван, НТЦ Метротек, 2015
Программная реализация
8
Шевчук Иван, НТЦ Метротек, 2015
Программная реализация
● При отправке пакета данные проходят
через различные слои операционной
системы:
○ IFG определятся на самом низком уровне:
итоговая точность выставления может оказаться
неприемлемой
9
Шевчук Иван, НТЦ Метротек, 2015
Программная реализация
● Архитектура современных компьютеров
не позволяет прокачивать через систему
значительный объем трафика
(необходимо обработать до 200 Гбит/c в
случае 100G)
10
Шевчук Иван, НТЦ Метротек, 2015
Решение проблемы
● Отказ от использования операционной
системы и традиционных процессоров
● Необходимо максимально приблизиться к
физическому уровню, используя
интегральные схемы, аналогичные тем,
что применяются в сетевых картах
11
Шевчук Иван, НТЦ Метротек, 2015
Интегральные схемы
● ASIC
○ Дешевые в большой партии
○ НЕ перепрограммируемые
■ Могут быть настроены или
“заалгоритмизированы”
● FPGA
○ Перепрограммируемые на уровне примитивных
блоков (триггеры, счетчики, логические элементы)
12
Шевчук Иван, НТЦ Метротек, 2015
Особенности использования FPGA
● Низкоуровневые оптимизации для конкретной
задачи
● Возможность реконфигурации - ошибки не
страшны!
● Многие блоки (“части” схемы) уже готовы
● Интуитивный параллелизм операций
13
Шевчук Иван, НТЦ Метротек, 2015
Особенности использования FPGA
● Управление данными с точностью до такта
● Свободный выбор необходимой архитектуры
(например, ширина используемого “слова”)
● Отсутствие дебага в виде привычного printf, gdb,
valgrind - значительное усложнение разработки
● Другой подход к разработке: необходимо
использовать специальные симуляторы
14
Шевчук Иван, НТЦ Метротек, 2015
Генератор на FPGA
● Рассчитывается требуемый IFG в виде
количества тактов
● Происходит передача пакета
● Генератор ждет необходимое количество
тактов
15
Шевчук Иван, НТЦ Метротек, 2015
Анализатор на FPGA
● Время приема пакета проставляется с
точностью десятков наносекунд
максимально близко к PHY
● Пакет хранится только во внутренней
памяти чипа: не используется внешняя
память (типа DDR)
● Все счётчики тоже хранятся внутри чипа
16
Шевчук Иван, НТЦ Метротек, 2015
Разрядность имеет значение
● Чаще всего обработка происходит не по
байтам, а словами:
○ 10G - 8 байт ( 64 бит )
○ 100G - 64 байта ( 512 бит )
● Это вытекает из-за ограничений
интегральных схем по максимальной
частоте
17
Шевчук Иван, НТЦ Метротек, 2015
Как мы применили FPGA?
18
Шевчук Иван, НТЦ Метротек, 2015
Metrotek B100
19
Шевчук Иван, НТЦ Метротек, 2015
Возможности
● Генерация и анализ тестового трафика на
скоростях 10G/40G/100G на
максимальной нагрузке
● Тесты:
○ RFC2544
○ Y.1564
○ BERT
20
Шевчук Иван, НТЦ Метротек, 2015
Спасибо за внимание!
Вопросы?
support@metrotek.spb.ru
21

More Related Content

PDF
Разработка систем управления для отечественных АКПП
MATLAB
 
PPTX
Инструменты профайлинга С++ кода
corehard_by
 
PPT
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)
Ontico
 
PDF
Defcon Moscow #0x0A - Dmitry Nedospasov "WTFPGA?!"
Defcon Moscow
 
PDF
Проектирование систем связи
MATLAB
 
PDF
20100314 virtualization igotti_lecture06
Computer Science Club
 
PDF
Работа с Big Data
MATLAB
 
PPTX
Системы тестирования современных сетей и сервисов
Александр Земсков
 
Разработка систем управления для отечественных АКПП
MATLAB
 
Инструменты профайлинга С++ кода
corehard_by
 
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)
Ontico
 
Defcon Moscow #0x0A - Dmitry Nedospasov "WTFPGA?!"
Defcon Moscow
 
Проектирование систем связи
MATLAB
 
20100314 virtualization igotti_lecture06
Computer Science Club
 
Работа с Big Data
MATLAB
 
Системы тестирования современных сетей и сервисов
Александр Земсков
 

Similar to Test traffic 100G generator and analyzer (20)

PPTX
Ethernet on fpga
eucariot
 
PDF
StackLight (aka LMA)
OpenStackRussia
 
PDF
Linkmeup v076(2019-06).3
eucariot
 
PPTX
Параллельное программирование на современных видеокартах
Alex Tutubalin
 
PDF
Программно-аппаратная разработка с использованием FPGA на примере поддержки п...
CEE-SEC(R)
 
PDF
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Vsevolod Shabad
 
PDF
Measuring ethernet traffic parameters
Pavel Kurochkin
 
PPT
NG automate yourself
kulibin
 
PPTX
измерительное оборудование Ethernet
eucariot
 
PDF
Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...
Cisco Russia
 
PDF
решения по построению сетей передачи данных фнс полигон 2015
eucariot
 
PDF
Метрооблако
Igor Baklanov
 
PDF
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
Ontico
 
PDF
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
IBS
 
PDF
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Ontico
 
PPTX
Hpc 2.26.03.2013.
Boris Kizko
 
PDF
Sama5d3: how to run linux on it
Pavel Kurochkin
 
PDF
Методики и инструменты для самостоятельного решения проблем в сети
Cisco Russia
 
PDF
20111002 information retrieval raskovalov_lecture3
Computer Science Club
 
Ethernet on fpga
eucariot
 
StackLight (aka LMA)
OpenStackRussia
 
Linkmeup v076(2019-06).3
eucariot
 
Параллельное программирование на современных видеокартах
Alex Tutubalin
 
Программно-аппаратная разработка с использованием FPGA на примере поддержки п...
CEE-SEC(R)
 
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Vsevolod Shabad
 
Measuring ethernet traffic parameters
Pavel Kurochkin
 
NG automate yourself
kulibin
 
измерительное оборудование Ethernet
eucariot
 
Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...
Cisco Russia
 
решения по построению сетей передачи данных фнс полигон 2015
eucariot
 
Метрооблако
Igor Baklanov
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
Ontico
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
IBS
 
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Ontico
 
Hpc 2.26.03.2013.
Boris Kizko
 
Sama5d3: how to run linux on it
Pavel Kurochkin
 
Методики и инструменты для самостоятельного решения проблем в сети
Cisco Russia
 
20111002 information retrieval raskovalov_lecture3
Computer Science Club
 
Ad

Test traffic 100G generator and analyzer

  • 1. Использование FPGA для генерации и анализа Ethernet-трафика на высоких скоростях (10G, 40G, 100G) Шевчук Иван НТЦ Метротек
  • 2. Шевчук Иван, НТЦ Метротек, 2015 План ● Генератор и анализатор трафика: краткий обзор требований ● Проблемы программной реализации ● Преимущества использования FPGA ● Наш опыт: комплекс Metrotek B100 2
  • 3. Шевчук Иван, НТЦ Метротек, 2015 Параметры генерации трафика ● Заголовок ● Полезные данные ● Скорость генерации (создаваемая нагрузка) 3
  • 4. Шевчук Иван, НТЦ Метротек, 2015 Профили нагрузки тестов 4
  • 5. Шевчук Иван, НТЦ Метротек, 2015 Как регулируется нагрузка? Preamble MAC Destination MAC Source Type/ Length Data Payload FCS IFG ● Расстояние от одного до другого пакета определяется IFG ● Регулируя IFG, можно создавать различные профили трафика ● “Точность” выставления IFG и определяет качество генерации трафика ● Для обеспечения максимальной нагрузки требуется выставление минимального IFG (12 байт) 5
  • 6. Шевчук Иван, НТЦ Метротек, 2015 Где регулируется нагрузка? 6
  • 7. Шевчук Иван, НТЦ Метротек, 2015 Что делает анализатор трафика? ● Просматривает данные на приёме ○ Анализирует целостность и корректность доставки ● Фиксирует время приёма пакета ○ Чем точнее будет вычислено время приёма, тем лучше. (Для измерения задержки и джиттера) ● Увеличивает различные счётчики (принятые пакеты/байты, и.т.д.) 7
  • 8. Шевчук Иван, НТЦ Метротек, 2015 Программная реализация 8
  • 9. Шевчук Иван, НТЦ Метротек, 2015 Программная реализация ● При отправке пакета данные проходят через различные слои операционной системы: ○ IFG определятся на самом низком уровне: итоговая точность выставления может оказаться неприемлемой 9
  • 10. Шевчук Иван, НТЦ Метротек, 2015 Программная реализация ● Архитектура современных компьютеров не позволяет прокачивать через систему значительный объем трафика (необходимо обработать до 200 Гбит/c в случае 100G) 10
  • 11. Шевчук Иван, НТЦ Метротек, 2015 Решение проблемы ● Отказ от использования операционной системы и традиционных процессоров ● Необходимо максимально приблизиться к физическому уровню, используя интегральные схемы, аналогичные тем, что применяются в сетевых картах 11
  • 12. Шевчук Иван, НТЦ Метротек, 2015 Интегральные схемы ● ASIC ○ Дешевые в большой партии ○ НЕ перепрограммируемые ■ Могут быть настроены или “заалгоритмизированы” ● FPGA ○ Перепрограммируемые на уровне примитивных блоков (триггеры, счетчики, логические элементы) 12
  • 13. Шевчук Иван, НТЦ Метротек, 2015 Особенности использования FPGA ● Низкоуровневые оптимизации для конкретной задачи ● Возможность реконфигурации - ошибки не страшны! ● Многие блоки (“части” схемы) уже готовы ● Интуитивный параллелизм операций 13
  • 14. Шевчук Иван, НТЦ Метротек, 2015 Особенности использования FPGA ● Управление данными с точностью до такта ● Свободный выбор необходимой архитектуры (например, ширина используемого “слова”) ● Отсутствие дебага в виде привычного printf, gdb, valgrind - значительное усложнение разработки ● Другой подход к разработке: необходимо использовать специальные симуляторы 14
  • 15. Шевчук Иван, НТЦ Метротек, 2015 Генератор на FPGA ● Рассчитывается требуемый IFG в виде количества тактов ● Происходит передача пакета ● Генератор ждет необходимое количество тактов 15
  • 16. Шевчук Иван, НТЦ Метротек, 2015 Анализатор на FPGA ● Время приема пакета проставляется с точностью десятков наносекунд максимально близко к PHY ● Пакет хранится только во внутренней памяти чипа: не используется внешняя память (типа DDR) ● Все счётчики тоже хранятся внутри чипа 16
  • 17. Шевчук Иван, НТЦ Метротек, 2015 Разрядность имеет значение ● Чаще всего обработка происходит не по байтам, а словами: ○ 10G - 8 байт ( 64 бит ) ○ 100G - 64 байта ( 512 бит ) ● Это вытекает из-за ограничений интегральных схем по максимальной частоте 17
  • 18. Шевчук Иван, НТЦ Метротек, 2015 Как мы применили FPGA? 18
  • 19. Шевчук Иван, НТЦ Метротек, 2015 Metrotek B100 19
  • 20. Шевчук Иван, НТЦ Метротек, 2015 Возможности ● Генерация и анализ тестового трафика на скоростях 10G/40G/100G на максимальной нагрузке ● Тесты: ○ RFC2544 ○ Y.1564 ○ BERT 20
  • 21. Шевчук Иван, НТЦ Метротек, 2015 Спасибо за внимание! Вопросы? [email protected] 21