PTTC.PNG
Skip to main content.

пакетный процессор

Дата последнего изменения:2016.12.04
Сообщить об ошибке
  пакетный процессор
-
[Интент]
EN  
FR  

С точки зрения разработчика, ситуация на рынке сетевого оборудования характеризуется тремя главными тенденциями: сетевой трафик постоянно растет, требуя обновления имеющейся инфраструктуры; появляются новые технологии, сервисы и стандарты, которые относительно быстро внедряются; происходит конвергенция голоса и данных. Все это в условиях жесткой конкуренции диктует ускорение темпов разработки, необходимость быстрого вывода продукции на рынок и наличие возможности простой модификации ранее разработанных устройств. Эти требования выполнимы, если большинство изменений производится в ПО, а не в "железе". Один из подходов к решению проблемы - создание так называемых сетевых процессоров.

6216

 

Рис. 1. Общая схема сетевого процессора

По определению сетевой процессор (network processor, NP) - это программируемый процессор, архитектура которого оптимизирована для использования в сетевых устройствах и обеспечения устойчивого режима обработки пакетов (packet processing).

Если посмотреть на историю их появления, то нужно заметить, что первоначально, когда компьютерные сети были медленными, передаваемые по ним пакеты данных обрабатывались обычными процессорами. И все было бы хорошо, но с ростом пропускной способности сетей производительности таких процессоров стало не хватать. Следующим шагом (начало 1990-х годов) было широкое внедрение в сетевое оборудование заказных микросхем (ASIC). При этом в связке с ASIC использовались и процессоры общего назначения, но они обрабатывали небольшой процент пакетов, связанных с управлением сетью, маршрутизацией и конфигурированием устройства. Однако сетевые технологии быстро сменяют друг друга, а заказные микросхемы хотя и можно конфигурировать, но нельзя перепрограммировать. Им недостает гибкости обычных процессоров, где все изменения могут быть сделаны на уровне замены ПО. Из-за этого время разработки в жизненном цикле модернизируемого сетевого устройства оказалось слишком длинным. Таким образом, нынешние сетевые процессоры объединили оба подхода: стали программируемыми и специализированными.

Нынешняя схема такова: в сетевое оборудование устанавливаются ЦП + сетевой процессор, который можно запрограммировать для работы с заданными сетевыми интерфейсами; помимо этого они обладают значительно большим быстродействием из-за того, что выполнение многих операций внутри них распараллелено.

Сетевой процессор (см. рис. 1) состоит из процессорного ядра (в NP их может быть и несколько), исполняющего программы, процессоров обработки пакетов и аппаратных ускорителей, разгружающих ЦП от рутинных функций, таких, как вычисление контрольных сумм. Кроме того, в него входят блоки интерфейса с ОЗУ и интерфейсы с высокоскоростной шиной. При этом сетевой процессор оптимизируется под задачу, которую он выполняет, или, как сейчас говорят, под сетевую функциональность.

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

Основной рабочий блок NP - это пакетный процессор (packet processor, PP), способный обрабатывать несколько пакетов одновременно. Обычно он выполняет следующие функции.

1. Получает с сетевого интерфейса пакеты, ячейки или кадры и записывает их полностью либо частично в ОЗУ.

2. Определяет порядок обработки пакетов.

3. Обрабатывает пакеты. Обработка может включать в себя определение типа пакета, проверку политики (policing), маршрутизацию, модификацию и присвоение правильного QoS.

4. Управляет перенаправлением пакета. На основании QoS пакет может быть задержан.

5. Отправляет пакет.

Функция 3 в РР реализуется программно, остальные - аппаратно. Поскольку архитектура пакетного процессора оптимизируется для выполнения общих задач обработки пакетов (копирование данных, просмотр таблиц, преобразование протоколов и т. д.), они разрабатываются либо как мини-RISC-процессоры, либо как макроячейки DSP-процессоров.

Интерфейс с общим ОЗУ используется и ядром, и пакетными процессорами.

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

6217

Рис. 2. Схема сетевого процессора Intel IPX 1200

В качестве примера рассмотрим структуру сетевого процессора IPX 1200 корпорации Intel (рис. 2). Он базируется на ядре 32-разрядного RISC-процессора StrongARM, содержит шесть пакетных мини-RISC-процессоров (поддерживает до 256 Мб ОЗУ типа SDRAM), а также интерфейсы с системной шиной PCI и 64-разрядной шиной IX bus, поддерживающей набор сетевых интерфейсов ATM, T1/E1, 10, 100 и 1024 Мбит/с Ethernet и др.

Каждый пакетный процессор имеет локальную управляющую память объемом в 1 Кслово и поддерживает четыре потока, т. е. одновременно NP может обрабатывать до 24 пакетов. Общая пропускная способность этого NP - 1,2 Гб/с, или 2,4 млн. пакетов/с.

В высокопроизводительных NP из-за требований по надежности и устойчивости к ошибкам, как правило, используются процессно-ориентированные системы реального времени типа OS-9. Особенностью ОС сетевого процессора (NPOS) является то, что она должна уметь, не останавливая работу (либо с минимальным временем простоя), динамически добавлять, удалять или заменять отдельные компоненты системы либо приложения. Это важно, например, при изменении алгоритма обработки пакетов при модификации устройства. Отдельная тема - обеспечение безопасности ОС сетевых процессоров.

В статье описана только общая схема NP. На самом деле этот класс устройств сейчас бурно развивается и находится в том прекрасном возрасте, когда разработчики не сильно зажаты требованиями совместимости и им позволено экспериментировать. Тем, кто хочет ближе познакомиться с сетевыми процессорами, рекомендую заглянуть на инженерные онлайновые курсы: www.techonline.com.

[https://www.pcweek.ru/infrastructure/article/detail.php?ID=69445]

Тематики

  • информационные технологии в целом

EN

  • packet processor
  • PP

 

Внимание!

Закрыть