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

Test traffic 100G generator and analyzer

Aug 08, 2015

Download

Devices & Hardware

ishevchuk
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Test traffic 100G generator and analyzer

Использование FPGA для генерациии анализа Ethernet-трафика на

высоких скоростях (10G, 40G, 100G)

Шевчук Иван НТЦ Метротек

Page 2: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

План

● Генератор и анализатор трафика: краткий обзор требований

● Проблемы программной реализации● Преимущества использования FPGA● Наш опыт: комплекс Metrotek B100

2

Page 3: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Параметры генерации трафика

● Заголовок ● Полезные данные● Скорость генерации (создаваемая

нагрузка)

3

Page 4: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Профили нагрузки тестов

4

Page 5: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Как регулируется нагрузка?

Preamble MAC Destination

MAC Source

Type/Length

Data Payload FCS IFG

● Расстояние от одного до другого пакета определяется IFG● Регулируя IFG, можно создавать различные профили трафика● “Точность” выставления IFG и определяет качество генерации

трафика● Для обеспечения максимальной нагрузки требуется

выставление минимального IFG (12 байт)

5

Page 6: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Где регулируется нагрузка?

6

Page 7: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Что делает анализатор трафика?

● Просматривает данные на приёме○ Анализирует целостность и корректность

доставки● Фиксирует время приёма пакета

○ Чем точнее будет вычислено время приёма, тем лучше. (Для измерения задержки и джиттера)

● Увеличивает различные счётчики (принятые пакеты/байты, и.т.д.)

7

Page 8: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Программная реализация

8

Page 9: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Программная реализация

● При отправке пакета данные проходят через различные слои операционной системы:○ IFG определятся на самом низком уровне:

итоговая точность выставления может оказаться неприемлемой

9

Page 10: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Программная реализация

● Архитектура современных компьютеров не позволяет прокачивать через систему значительный объем трафика (необходимо обработать до 200 Гбит/c в случае 100G)

10

Page 11: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Решение проблемы

● Отказ от использования операционной системы и традиционных процессоров

● Необходимо максимально приблизиться к физическому уровню, используя интегральные схемы, аналогичные тем, что применяются в сетевых картах

11

Page 12: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Интегральные схемы

● ASIC○ Дешевые в большой партии○ НЕ перепрограммируемые

■ Могут быть настроены или “заалгоритмизированы”

● FPGA○ Перепрограммируемые на уровне примитивных

блоков (триггеры, счетчики, логические элементы)

12

Page 13: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Особенности использования FPGA

● Низкоуровневые оптимизации для конкретной задачи

● Возможность реконфигурации - ошибки не страшны!

● Многие блоки (“части” схемы) уже готовы ● Интуитивный параллелизм операций

13

Page 14: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Особенности использования FPGA

● Управление данными с точностью до такта● Свободный выбор необходимой архитектуры

(например, ширина используемого “слова”)● Отсутствие дебага в виде привычного printf, gdb,

valgrind - значительное усложнение разработки● Другой подход к разработке: необходимо

использовать специальные симуляторы

14

Page 15: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Генератор на FPGA

● Рассчитывается требуемый IFG в виде количества тактов

● Происходит передача пакета● Генератор ждет необходимое количество

тактов

15

Page 16: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Анализатор на FPGA

● Время приема пакета проставляется с точностью десятков наносекунд максимально близко к PHY

● Пакет хранится только во внутренней памяти чипа: не используется внешняя память (типа DDR)

● Все счётчики тоже хранятся внутри чипа 16

Page 17: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Разрядность имеет значение

● Чаще всего обработка происходит не по байтам, а словами:○ 10G - 8 байт ( 64 бит )○ 100G - 64 байта ( 512 бит )

● Это вытекает из-за ограничений интегральных схем по максимальной частоте

17

Page 18: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Как мы применили FPGA?

18

Page 19: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Metrotek B100

19

Page 20: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

Возможности

● Генерация и анализ тестового трафика на скоростях 10G/40G/100G на максимальной нагрузке

● Тесты:○ RFC2544○ Y.1564○ BERT

20

Page 21: Test traffic 100G generator and analyzer

Шевчук Иван, НТЦ Метротек, 2015

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

Вопросы[email protected]

21