MS2830A Signal Analyzer Vector Signal Generator Operation ...
Test traffic 100G generator and analyzer
-
Upload
ishevchuk -
Category
Devices & Hardware
-
view
68 -
download
2
Transcript of Test traffic 100G generator and analyzer
Использование FPGA для генерациии анализа Ethernet-трафика на
высоких скоростях (10G, 40G, 100G)
Шевчук Иван НТЦ Метротек
Шевчук Иван, НТЦ Метротек, 2015
План
● Генератор и анализатор трафика: краткий обзор требований
● Проблемы программной реализации● Преимущества использования FPGA● Наш опыт: комплекс Metrotek B100
2
Шевчук Иван, НТЦ Метротек, 2015
Параметры генерации трафика
● Заголовок ● Полезные данные● Скорость генерации (создаваемая
нагрузка)
3
Шевчук Иван, НТЦ Метротек, 2015
Как регулируется нагрузка?
Preamble MAC Destination
MAC Source
Type/Length
Data Payload FCS IFG
● Расстояние от одного до другого пакета определяется IFG● Регулируя IFG, можно создавать различные профили трафика● “Точность” выставления IFG и определяет качество генерации
трафика● Для обеспечения максимальной нагрузки требуется
выставление минимального IFG (12 байт)
5
Шевчук Иван, НТЦ Метротек, 2015
Что делает анализатор трафика?
● Просматривает данные на приёме○ Анализирует целостность и корректность
доставки● Фиксирует время приёма пакета
○ Чем точнее будет вычислено время приёма, тем лучше. (Для измерения задержки и джиттера)
● Увеличивает различные счётчики (принятые пакеты/байты, и.т.д.)
7
Шевчук Иван, НТЦ Метротек, 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
Возможности
● Генерация и анализ тестового трафика на скоростях 10G/40G/100G на максимальной нагрузке
● Тесты:○ RFC2544○ Y.1564○ BERT
20