Использование 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

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