Сетевой процессор является интегральной схемой , которая имеет набор функций , в частности , нацелено на создание сетей домена приложения.
Сетевые процессоры обычно представляют собой программно- программируемые устройства и могут иметь общие характеристики, аналогичные центральным процессорам общего назначения , которые обычно используются во многих различных типах оборудования и продуктов.
История развития [ править ]
В современных телекоммуникационных сетях информация (голос, видео, данные) передается в виде пакетных данных (так называемая коммутация пакетов ), что в отличие от старых телекоммуникационных сетей, которые передавали информацию в виде аналоговых сигналов, таких как коммутируемая телефонная сеть общего пользования (PSTN) или аналоговая. Телевидение / Радиосети . Обработка этих пакетов привела к созданию интегральных схем (ИС), оптимизированных для работы с этой формой пакетных данных. Сетевые процессоры имеют определенные функции или архитектуры, которые предназначены для улучшения и оптимизации обработки пакетов в этих сетях.
Сетевые процессоры превратились в ИС с особыми функциями. Эта эволюция привела к созданию более сложных и гибких ИС. Новые схемы являются программируемыми и, таким образом, позволяют единой конструкции аппаратной ИС выполнять ряд различных функций, если установлено соответствующее программное обеспечение .
Сетевые процессоры используются при производстве множества различных типов сетевого оборудования, таких как:
- Маршрутизаторы , программные маршрутизаторы и коммутаторы ( межсетевые процессоры )
- Межсетевые экраны
- Сессионные пограничные контроллеры
- Устройства обнаружения вторжений
- Устройства предотвращения вторжений
- Системы сетевого мониторинга
- Сетевая безопасность ( защищенные криптопроцессоры )
Общие функции [ править ]
В общей роли процессора пакетов в сетевом процессоре обычно присутствует ряд оптимизированных функций или функций, в том числе:
- Сопоставление с образцом - способность находить определенные образцы битов или байтов в пакетах в потоке пакетов.
- Поиск по ключу - возможность быстро выполнить поиск в базе данных с помощью ключа (обычно адреса в пакете) для поиска результата, обычно информации о маршрутизации .
- Вычисление
- Манипуляция битовыми полями данных - возможность изменять определенные поля данных, содержащиеся в пакете, в процессе его обработки.
- Управление очередью - по мере того, как пакеты принимаются, обрабатываются и планируются для отправки, они хранятся в очередях.
- Обработка управления - микрооперации обработки пакета управляются на макроуровне, который включает в себя связь и согласование с другими узлами в системе.
- Быстрое выделение и повторная циркуляция буферов пакетов.
Архитектурные парадигмы [ править ]
Чтобы иметь дело с высокими скоростями передачи данных, обычно используются несколько архитектурных парадигм:
- Конвейер процессоров - каждая стадия конвейера, состоящая из процессора, выполняющего одну из перечисленных выше функций.
- Параллельная обработка с использованием нескольких процессоров, часто включая многопоточность .
- Специализированные движки с микрокодированием для более эффективного выполнения поставленных задач.
- С появлением многоядерных архитектур сетевые процессоры могут использоваться для обработки более высокого уровня ( L4-L7 ).
Кроме того, управление трафиком, которое является критическим элементом сетевой обработки L2 - L3 и которое раньше выполнялось множеством сопроцессоров, стало неотъемлемой частью архитектуры сетевого процессора и существенной частью его кремниевой области (" недвижимость ») посвящена интегрированному диспетчеру трафика. [1] Современные сетевые процессоры также оснащены встроенными сетями взаимодействия с низкой задержкой и высокой пропускной способностью, оптимизированными для обмена небольшими сообщениями между ядрами (несколько слов данных). Такие сети могут использоваться как альтернативное средство для эффективного межъядерного взаимодействия помимо стандартного использования общей памяти. [2]
Приложения [ править ]
Используя общую функцию сетевого процессора, программа реализует приложение, которое выполняет сетевой процессор, в результате чего физическое оборудование выполняет задачу или предоставляет услугу. Вот некоторые из типов приложений, которые обычно реализуются как программное обеспечение, работающее на сетевых процессорах: [3]
- Распознавание и пересылка пакетов или кадров , то есть основная операция маршрутизатора или коммутатора .
- Обеспечение качества обслуживания (QoS) - определение различных типов или классов пакетов и обеспечение предпочтительной обработки для некоторых типов или классов пакетов за счет других типов или классов пакетов.
- Функции контроля доступа - определение того, следует ли разрешить конкретному пакету или потоку пакетов проходить через часть сетевого оборудования.
- Шифрование потоков данных - встроенные механизмы аппаратного шифрования позволяют процессору шифровать отдельные потоки данных.
- Обработка разгрузки TCP
См. Также [ править ]
- Обработчик контента
- Многоядерный процессор
- Процессор, основанный на знаниях
- Активное нетворкинг
- Компьютерная инженерия
- Интернет
- Список несуществующих компаний по производству сетевых процессоров
- Форум сетевой обработки
- Теория массового обслуживания
- Сеть на микросхеме
Ссылки [ править ]
- Перейти ↑ Giladi, Ran (2008). Сетевые процессоры: архитектура, программирование и реализация . Системы на кремнии. Морган Кауфманн. ISBN 978-0-12-370891-5.
- ^ Буоно, Даниэле; Менкагли, Габриэле (21–25 июля 2014 г.). Механизмы времени выполнения для детального параллелизма на сетевых процессорах: опыт TILEPro64 (PDF) . 2014 Международная конференция по моделированию высокопроизводительных вычислений (HPCS 2014). Болонья, Италия. С. 55–64. DOI : 10.1109 / HPCSim.2014.6903669 . ISBN 978-1-4799-5313-4. Архивировано 27 марта 2019 года (PDF) из оригинала. Альтернативный URL
- ^ Комер, Дуглас Э. (2005). Проектирование сетевых систем с использованием сетевых процессоров: версия Intel 2XXX . Эддисон-Уэсли. ISBN 978-0-13-187286-8.