ネットワークプロセッサは、ネットワーキング用途に特化した機能を持つ
集積回路(IC)です。汎用
CPUと同様に
ソフトウェアで制御可能ですが、
パケット処理に最適化されている点が特徴です。
開発の歴史
かつての電気通信ネットワークでは、音声や映像などの情報が
アナログ信号として伝送されていましたが、現代では
パケットデータとして転送されるようになりました。この変化に対応するため、
パケット処理に特化したICが登場し、ネットワークプロセッサへと進化しました。ネットワークプロセッサは、
パケット処理の効率を向上させるための特定の機能やアーキテクチャを備えています。初期のネットワークプロセッサは特定の機能を持つICでしたが、プログラム可能な設計の導入により、
ソフトウェアの変更で様々な機能に対応できるようになりました。
ネットワークプロセッサが使用される機器
ネットワークプロセッサは、以下のような多様なネットワーク機器の製造に用いられています。
ルータ、ソフトウェアルータ、スイッチングハブ
ファイアウォール
セッションボーダーコントローラ
侵入検知デバイス
侵入防止デバイス
ネットワーク監視システム
一般的な機能
ネットワークプロセッサには、
パケット処理を効率化するための様々な機能が搭載されています。
パターンマッチング: パケット内の特定のビットやバイトパターンを検出する機能です。
キー検索:
パケット内のアドレスなどのキーを用いて、ルーティング情報などのデータベース検索を高速に行います。
計算: パケット処理に必要な計算を実行します。
データビットフィールド操作:
パケット内の特定のデータフィールドを操作する機能です。
キュー管理: 受信したパケットを一時的にキューに格納し、送信スケジュールを管理します。
制御処理:
パケット処理のマイクロオペレーションを、システム内の他のノードとの通信を含めて制御します。
パケットバッファの迅速な割り当てと再循環: パケット処理に必要なバッファを効率的に管理します。
アーキテクチャパラダイム
高いデータレートに対応するため、いくつかのアーキテクチャパラダイムが採用されています。
プロセッサのパイプライン: パイプラインの各ステージが、上記機能のいずれかを実行するプロセッサで構成されています。
マルチプロセッサによる並列処理: 複数のプロセッサを用いて並列に処理を行います。
特殊化されたマイクロコードエンジン: 特定のタスクを効率的に実行するための専用エンジンを使用します。
マルチコアアーキテクチャ: ネットワークプロセッサは、上位レイヤ(レイヤ4~7)の処理にも利用できます。
統合トラフィックマネージャ: トラフィック管理はL2-L3ネットワーク処理の重要な要素であり、ネットワークプロセッサに統合され、シリコン領域の大部分を占めています。
オンチップ相互接続ネットワーク: コア間でメッセージを高速に交換するための低遅延・高スループットのオンチップネットワークを搭載し、コア間通信の効率化を図ります。
アプリケーション
ネットワークプロセッサの機能を利用して、様々なアプリケーションを実装できます。
パケットやフレームの識別と転送: ルータや
スイッチングハブの基本的な動作です。
QoS (Quality of Service) の実施: パケットの種類や優先度に基づいて、異なる処理を行います。
アクセス制御機能: 特定の
パケットの通過を許可するかどうかを決定します。
データストリームの暗号化: ハードウェアベースの暗号化エンジンを利用して、データフローを暗号化します。
TCPオフロード処理: TCPプロトコルの処理をプロセッサからオフロードします。
関連項目
コンテンツプロセッサ
マルチコア
知識ベースプロセッサ
アクティブネットワーキング
計算機工学
インターネット
ネットワーク・プロセッシング・フォーラム
待ち行列理論
* ネットワーク・オン・チップ