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

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

PPTX
Ethernet on fpga
PDF
StackLight (aka LMA)
PDF
Linkmeup v076(2019-06).3
PPTX
Параллельное программирование на современных видеокартах
PDF
Программно-аппаратная разработка с использованием FPGA на примере поддержки п...
PDF
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
PDF
Measuring ethernet traffic parameters
PPT
NG automate yourself
PPTX
измерительное оборудование Ethernet
PDF
Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...
PDF
решения по построению сетей передачи данных фнс полигон 2015
PDF
Метрооблако
PDF
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
PDF
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
PDF
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
PPTX
Hpc 2.26.03.2013.
PDF
Sama5d3: how to run linux on it
PDF
Методики и инструменты для самостоятельного решения проблем в сети
PDF
20111002 information retrieval raskovalov_lecture3
Ethernet on fpga
StackLight (aka LMA)
Linkmeup v076(2019-06).3
Параллельное программирование на современных видеокартах
Программно-аппаратная разработка с использованием FPGA на примере поддержки п...
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Measuring ethernet traffic parameters
NG automate yourself
измерительное оборудование Ethernet
Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...
решения по построению сетей передачи данных фнс полигон 2015
Метрооблако
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Hpc 2.26.03.2013.
Sama5d3: how to run linux on it
Методики и инструменты для самостоятельного решения проблем в сети
20111002 information retrieval raskovalov_lecture3
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 Спасибо за внимание! Вопросы? support@metrotek.spb.ru 21