ethernet on fpga

22
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru Обрабатываем Ethernet без потерь 1

Upload: eucariot

Post on 16-Jul-2015

47.892 views

Category:

Technology


9 download

TRANSCRIPT

Page 1: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Обрабатываем Ethernet

без потерь

1

Page 2: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

План

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

● ASIC и FPGA

● Подключение Ethernet к ИС

● Фильтрация и обработка 100G без потерь

2

Page 3: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

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

● Транзисторыo Сумматоры, компараторы, мультиплексоры

o Триггеры, счетчики, блоки памяти

● Схема - это “программа”

● Hardware Description Language (HDL):o VHDL

o Verilog/SystemVerilog

3

Page 4: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Возможности ИС

● Параллельность

● Независимость

● Предсказуемость

● Свободаo В архитектуре

o В периферии

OpenSPARC

4

Page 5: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Виды ИС

● ASIC (application-specific integrated circuit)

● FPGA (field-programmable gate array)o ЦОС

Обработка видео

Радары, радиолокация

o Сети связи

Wireline (Ethernet, OTN)

Wireless (3G, 4G, LTE)

o Высокопроизводительные вычисления

o Автомобильная промышленность

5

Page 6: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Архитектура FPGA (на примере Altera Stratix V)

6

Page 7: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

ASIC vs FPGA

7

ASIC FPGA

Себестоимость чипа Маленькая Большая

Производительность Большая Средняя

Реконфигурация Очень сложно Просто

Капиталовложения Большие Небольшие

Сложность

разработки

Высокая Средняя

Time-to-market Большое Среднее

Page 8: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Cisco Catalyst 6880-X Baseboard

8

Page 9: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Подключение Ethernet:

общие принципы

9

Page 10: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

1G Ethernet

10

Page 11: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

10G Ethernet

11

Page 12: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

100G Ethernet

12

Page 13: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Streaming Interface

13

Page 14: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Metrotek B100

14

● 100G

● 40G

● 10 x 10G

● FPGA (Altera Stratix V)

● COM Express (Intel Core i7)

Page 15: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru 15

Page 16: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru 16

Page 17: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru 17

Page 18: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Фильтрация и балансировка

● 1000 правил MAC/VLAN/MPLS/IP/Ports

● Входной интерфейс - 100G

● Балансировка на 10x10G

● Без потерь на 100% нагрузке

18

Page 19: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Сложности

● 100G line rate:o 64 байт - 148.8 Mpps

o 1518 байт - 8.1 Mpps

● Пакет приходит в худшем случае в

среднем каждые 6.72 ns: при частоте 315

МГц это чуть более двух тактов

19

Page 20: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru 20

Page 21: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Решение

● Отказ от внешней памяти: используем

только то, что находится внутри FPGA

● Системы парсинга, фильтрации,

коммутации сделаны конвейером

21

Page 22: Ethernet on fpga

Шевчук Иван, НТЦ Метротек специально для linkmeup.ru

Полезная литература

● http://www.altera.com

● http://www.cisco.com/c/en/us/products/collateral/switches/catalyst-

6880-x-switch/white_paper_c11-728540.pdf

● IEEE 802.3

● http://habrahabr.ru/post/234369/

● http://www.intel.ru/content/www/ru/ru/switch-silicon/ethernet-switch-

fm5000-fm6000-datasheet.html

22