test traffic 100g generator and analyzer

21
Использование FPGA для генерации и анализа Ethernet-трафика на высоких скоростях (10G, 40G, 100G) Шевчук Иван НТЦ Метротек

Upload: ishevchuk

Post on 08-Aug-2015

68 views

Category:

Devices & Hardware


2 download

TRANSCRIPT

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

Спасибо за внимание!

Вопросы[email protected]

21