Сетевой процессор - Network processor

Intel FWIXP422BB

А сетевой процессор является Интегральная схема который имеет набор функций, специально предназначенный для сеть домен приложения.

Сетевые процессоры обычно программного обеспечения программируемые устройства и будут иметь общие характеристики, аналогичные общему назначению центральные процессоры которые обычно используются во многих типах оборудования и продуктов.

История развития

В современном телекоммуникационные сети, информация (голос, видео, данные) передается как пакет данные (называемые коммутация пакетов ), который отличается от старых телекоммуникационных сетей, которые передавали информацию как аналоговые сигналы например, в телефонная сеть общего пользования (PSTN) или аналог телевидение /Радио сети. Обработка этих пакетов привела к созданию интегральные схемы (IC), которые оптимизированы для работы с этой формой пакетных данных. Сетевые процессоры имеют определенные функции или архитектуры, которые предназначены для улучшения и оптимизации обработки пакетов в этих сетях.

Сетевые процессоры превратились в ИС со специфическими функциями. Эта эволюция привела к созданию более сложных и гибких ИС. Новые схемы являются программируемыми и, таким образом, позволяют аппаратное обеспечение Дизайн ИС для выполнения ряда различных функций, если это необходимо. программного обеспечения установлен.

Сетевые процессоры используются при производстве множества различных типов сетевое оборудование Такие как:

Общие функции

В общей роли процессора пакетов в сетевом процессоре обычно присутствует ряд оптимизированных функций или функций, в том числе:

  • Сопоставление с образцом - способность находить определенные образцы битов или байтов в пакетах в потоке пакетов.
  • Поиск по ключу - возможность быстро выполнить поиск в базе данных с помощью ключа (обычно адреса в пакете) для поиска результата, как правило маршрутизация Информация.
  • Вычисление
  • Обработка битовых полей данных - возможность изменять определенные поля данных, содержащиеся в пакете, в процессе его обработки.
  • Очередь управление - по мере того, как пакеты принимаются, обрабатываются и планируются для отправки, они сохраняются в очередях.
  • Обработка управления - микрооперации обработки пакета управляются на макроуровне, который включает в себя связь и согласование с другими узлами в системе.
  • Быстрое выделение и повторное использование буферов пакетов.

Архитектурные парадигмы

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

  • Трубопровод процессоров - каждая ступень конвейера, состоящая из процессора, выполняющего одну из перечисленных выше функций.
  • Параллельная обработка с несколькими процессорами, часто включая многопоточность.
  • Специализированный микрокодированный двигатели для более эффективного выполнения поставленных задач.
  • С появлением многоядерный архитектуры, сетевые процессоры могут использоваться для более высокого уровня (L4-L7 ) обработка.

Кроме того, управление трафиком, которое является важным элементом в L2 -L3 Сетевая обработка данных, которая раньше выполнялась множеством сопроцессоров, стала неотъемлемой частью архитектуры сетевого процессора, и значительная часть ее кремниевой области («недвижимость») отведена интегрированному диспетчеру трафика.[1] Современные сетевые процессоры также оснащены встроенными сетями межсоединений с малой задержкой и высокой пропускной способностью, оптимизированными для обмена небольшими сообщениями между ядрами (несколько слов данных). Такие сети могут использоваться как альтернативное средство для эффективного межъядерного взаимодействия помимо стандартного использования общей памяти.[2]

Приложения

Используя общую функцию сетевого процессора, программа реализует приложение, которое выполняет сетевой процессор, в результате чего физическое оборудование выполняет задачу или предоставляет услугу. Вот некоторые из типов приложений, которые обычно реализуются как программное обеспечение, работающее на сетевых процессорах:[3]

  • Пакет или же Рамка различение и пересылка, то есть основная операция маршрутизатор или же выключатель.
  • Качество обслуживания (QoS) - определение различных типов или классов пакетов и обеспечение предпочтительного режима для некоторых типов или классов пакетов за счет других типов или классов пакетов.
  • Функции контроля доступа - определение того, следует ли разрешить конкретному пакету или потоку пакетов проходить через часть сетевого оборудования.
  • Шифрование потоков данных - встроенные механизмы аппаратного шифрования позволяют процессору шифровать отдельные потоки данных.
  • Разгрузка TCP обработка

Смотрите также

Производители

Рекомендации

  1. ^ Гилади, Ран (2008). Сетевые процессоры: архитектура, программирование и реализация. Системы на кремнии. Морган Кауфманн. ISBN  978-0-12-370891-5.
  2. ^ Буоно, Даниэле; Менкагли, Габриэле (21–25 июля 2014 г.). Механизмы времени выполнения для детального параллелизма на сетевых процессорах: опыт TILEPro64 (PDF). 2014 Международная конференция по моделированию высокопроизводительных вычислений (HPCS 2014). Болонья, Италия. С. 55–64. Дои:10.1109 / HPCSim.2014.6903669. ISBN  978-1-4799-5313-4. В архиве (PDF) с оригинала 27 марта 2019 г. Альтернативный URL
  3. ^ Комер, Дэвид Э. (2005). Проектирование сетевых систем с использованием сетевых процессоров: версия Intel 2XXX. Эддисон-Уэсли. ISBN  978-0-13-187286-8.
  4. ^ Мерритт, Рик (12 ноября 2007 г.). «Intel переводит сетевой чип в стартап». EE Times. В архиве из оригинала от 3 марта 2016 г.