Jump to content

Сетевой процессор

(Перенаправлено с сетевых процессоров )
Intel FWIXP422BB

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

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

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

[ редактировать ]

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

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

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

Реконфигурируемые таблицы соответствия

[ редактировать ]

Реконфигурируемые таблицы соответствия [1] [2] были представлены в 2013 году, чтобы позволить коммутаторам работать на высоких скоростях, сохраняя при этом гибкость, когда дело касается работающих на них сетевых протоколов или выполняемой с ними обработки. П4 [3] используется для программирования чипов. Компания Barefoot Networks была основана на этих процессорах и позже была куплена Intel в 2019 году.

Описание трубопровода RMP

Конвейер RMT состоит из трех основных этапов; программируемый парсер, [2] таблицы Match-Action и программируемый депарсер. Синтаксический анализатор читает пакет по частям и обрабатывает эти фрагменты, чтобы выяснить, какие протоколы используются в пакете ( Ethernet , VLAN , IPv4 ...) и извлекает определенные поля из пакета в вектор заголовка пакета (PHV). Определенные поля в PHV могут быть зарезервированы для специального использования, например, для текущих заголовков или общей длины пакета. Протоколы обычно программируются, как и поля для извлечения. Таблицы Match-Action представляют собой серию блоков, которые считывают входной PHV, сопоставляют в нем определенные поля с помощью перемычки и памяти CAM , в результате получается широкая инструкция, которая оперирует одним или несколькими полями PHV и данными для поддержки этой инструкции. . Выходной PHV затем отправляется на следующий этап MA или в депарсер. Депарсер принимает PHV, а также исходный пакет и его метаданные (чтобы заполнить недостающие биты, которые не были извлечены в PHV), а затем выводит измененный пакет в виде фрагментов. Обычно он программируется, как и анализатор, и может повторно использовать некоторые файлы конфигурации.

FlexNIC [4] предпринимаются попытки применить эту модель к контроллерам сетевых интерфейсов, позволяя серверам отправлять и получать пакеты на высоких скоростях, сохраняя при этом гибкость протокола и не увеличивая нагрузку на процессор.

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

[ редактировать ]

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

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

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

[ редактировать ]

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

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

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

Приложения

[ редактировать ]

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

См. также

[ редактировать ]
  1. ^ Босхарт, Пэт; Гибб, Глен; Ким, Хун Сок; Варгезе, Джордж; МакКаун, Ник; Иззард, Мартин; Мухика, Фернандо; Горовиц, Марк (1 августа 2013 г.). «Метаморфоза пересылки: быстрая программируемая обработка сопоставления действий в аппаратном обеспечении для SDN» . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  2. ^ Jump up to: а б Гибб, Глен; Варгезе, Джордж; Горовиц, Марк; МакКаун, Ник (октябрь 2013 г.). «Принципы проектирования анализаторов пакетов» . Архитектуры сетевых и коммуникационных систем . стр. 13–24. дои : 10.1109/ANCS.2013.6665172 . ISBN  978-1-4799-1641-2 . S2CID   12282067 .
  3. ^ «P4: Программирование протокольно-независимых пакетных процессоров | acm sigcomm» . www.sigcomm.org . Проверено 26 марта 2022 г.
  4. ^ Кауфманн, Антуан; Питер, Саймон; Шарма, Навин Кр.; Андерсон, Томас; Кришнамурти, Арвинд (25 марта 2016 г.). «Высокопроизводительная обработка пакетов с помощью FlexNIC». Материалы двадцать первой международной конференции по архитектурной поддержке языков программирования и операционных систем . АСПЛОС '16. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники. стр. 67–81. дои : 10.1145/2872362.2872367 . ISBN  978-1-4503-4091-5 . S2CID   9625891 .
  5. ^ Гилади, Ран (2008). Сетевые процессоры: архитектура, программирование и реализация . Системы на кремнии. Морган Кауфманн. ISBN  978-0-12-370891-5 .
  6. ^ Буоно, Даниэле; Менкальи, Габриэле (21–25 июля 2014 г.). Механизмы выполнения для детального параллелизма на сетевых процессорах: опыт TILEPro64 (PDF) . Международная конференция по моделированию высокопроизводительных вычислений (HPCS 2014), 2014 г. Болонья, Италия. стр. 55–64. дои : 10.1109/HPCSim.2014.6903669 . ISBN  978-1-4799-5313-4 . Архивировано (PDF) из оригинала 27 марта 2019 г. Альтернативный URL.
  7. ^ Комер, Дуглас Э. (2005). Проектирование сетевых систем с использованием сетевых процессоров: версия Intel 2XXX . Аддисон-Уэсли. ISBN  978-0-13-187286-8 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a464ed0e94e15fb71ba033b43d963f23__1691469660
URL1:https://arc.ask3.ru/arc/aa/a4/23/a464ed0e94e15fb71ba033b43d963f23.html
Заголовок, (Title) документа по адресу, URL1:
Network processor - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)