Intel FWIXP422BB ネットワークプロセッサ とは、ネットワーク アプリケーション分野に特化した機能セットを備えた集積回路 である。
ネットワークプロセッサは通常、ソフトウェアで プログラム可能なデバイスであり、多くの異なる種類の機器や製品で一般的に使用されている汎用中央処理装置 と同様の一般的な特性を備えている。
開発の歴史 現代の電気通信ネットワークでは、情報(音声、映像、データ)は パケット データとして転送されます(パケット交換 方式)。これは、公衆交換電話網 (PSTN)やアナログテレビ /ラジオ ネットワークのように、情報をアナログ信号 として伝送していた旧来の電気通信ネットワークとは対照的です。これらのパケット処理により、この形式のパケットデータを処理するのに最適化された集積回路 (IC)が開発されました。ネットワークプロセッサには、これらのネットワーク内でのパケット処理を強化および最適化するための特定の機能やアーキテクチャが備わっています。
ネットワークプロセッサは、特定の機能を備えた集積回路(IC)へと進化を遂げました。この進化により、より複雑で柔軟性の高いICが開発されるようになりました。最新の回路はプログラム可能であり、適切なソフトウェアをインストールすることで、単一の ハードウェア IC設計で複数の異なる機能を実行できます。
ネットワークプロセッサは、以下のような様々な種類のネットワーク機器 の製造に使用されています。
再構成可能なマッチテーブル 再構成可能なマッチテーブル[ 1 ] [ 2 ] は、スイッチが高速で動作しながら、デバイス上でどのネットワークプロトコルを有効にするか、またはそれらのプロトコルをどのように処理するかに関して柔軟性を維持できるようにするために、2013年に導入されました。P4 [ 3 ] はチップのプログラミングに使用されます。Barefoot Networks 社はこれらのプロセッサを中心に事業を展開しており、後に2019年にIntel に買収されました。
RMTパイプラインの説明 RMTパイプラインは、プログラマブルパーサ[ 2 ] 、マッチアクションテーブル、プログラマブルデパーサの3つの主要なステージに依存しています。パーサはパケットをチャンク単位で読み込み、これらのチャンクを処理して、パケットで使用されているプロトコル(イーサネット 、VLAN 、IPv4 など)を特定し、パケットから特定のフィールドを抽出してパケットヘッダーベクトル(PHV)に格納します。PHV内の特定のフィールドは、存在するヘッダーやパケットの全長などの特別な用途のために予約されている場合があります。プロトコルは通常プログラマブルであり、抽出するフィールドも同様です。マッチアクションテーブルは、入力PHVを読み込み、クロスバー とCAMメモリ を使用してその中の特定のフィールドを照合する一連のユニットです。結果として、PHVの1つ以上のフィールドを操作するワイド命令と、この命令をサポートするデータが生成されます。出力PHVは、次のMAステージまたはデパーサに送られます。デパーサーは、PHVだけでなく、元のパケットとそのメタデータ(PHVに抽出されなかった欠落ビットを補完するため)を入力として受け取り、修正されたパケットをチャンクとして出力します。デパーサーは、パーサーと同様に通常はプログラム可能であり、両者は一部の設定ファイルを共有する場合があります。
FlexNIC [ 4 ] は、このモデルをネットワークインターフェイスコントローラ に適用することで、プロトコルの柔軟性を維持しながら、CPU オーバーヘッドを増やすことなく、サーバーが高速でパケットを送受信できるようにしています。
汎用関数 パケットプロセッサとしての一般的な役割において、ネットワークプロセッサには通常、以下のような最適化された機能が多数備わっています。
パターンマッチングとは、パケットストリーム内のパケットに含まれる特定のビットまたはバイトのパターンを見つける能力のことです。 キー検索 – キー(通常はパケット内のアドレス)を使用してデータベースを迅速に検索し、結果(通常はルーティング 情報)を見つける機能。計算 データビットフィールド操作 – パケットの処理中に、パケットに含まれる特定のデータフィールドを変更する機能。 キュー 管理 – パケットが受信され、処理され、次の送信先にスケジュールされると、キューに格納されます。制御処理 – パケット処理のミクロな操作は、システム内の他のノードとの通信や調整を含むマクロレベルで制御されます。 パケットバッファの迅速な割り当てと再循環。
建築パラダイム 高速データレートに対応するために、いくつかのアーキテクチャパラダイムが一般的に使用されています。
さらに、 L2 - L3ネットワーク処理の重要な要素であり、かつてはさまざまなコプロセッサによって実行されていたトラフィック管理は、ネットワークプロセッサアーキテクチャの不可欠な部分となり、そのシリコン面積(「不動産」)のかなりの部分が統合トラフィックマネージャに割り当てられています。[ 5 ] 最新のネットワークプロセッサには、コア間で小さなメッセージ(少数のデータワード)を交換するために最適化された、低遅延で高スループットのオンチップ相互接続ネットワークも備わっています。このようなネットワークは、共有メモリの標準的な使用とは別に、効率的なコア間通信のための代替手段として使用できます。[ 6 ]
アプリケーション ネットワークプロセッサの汎用機能を使用して、ソフトウェアプログラムはネットワークプロセッサが実行するアプリケーションを実装し、その結果、物理機器がタスクを実行したりサービスを提供したりします。ネットワークプロセッサ上で実行されるソフトウェアとして実装されるアプリケーションの種類には、次のようなものがあります。[ 7 ]
パケット またはフレームの 識別と転送、つまりルーター またはスイッチ の基本的な動作。サービス品質 (QoS)の強制 – 異なる種類またはクラスのパケットを識別し、他の種類またはクラスのパケットを犠牲にして、特定の種類またはクラスのパケットに優先的な処理を施すこと。アクセス制御機能 – 特定のパケットまたはパケットストリームがネットワーク機器を通過することを許可するかどうかを決定する機能。 データストリームの暗号化 – ハードウェアベースの暗号化エンジンを内蔵することで、プロセッサが個々のデータフローを暗号化できます。TCPオフロード 処理
参考文献 ↑ Bosshart, Pat; Gibb, Glen; Kim, Hun-Seok; Varghese, George; McKeown, Nick; Izzard, Martin; Mujica, Fernando; Horowitz, Mark (2013-08-01). Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN . ACM SIGCOMM 2013. 2022-03-26 のオリジナルからアーカイブ済み。2022-03-26 に取得 。 1 2 Gibb, Glen; Varghese, George; Horowitz, Mark; McKeown, Nick (2013年10月)「パケットパーサーの設計原則」『 ネットワークおよび通信システムのためのアーキテクチャ 』pp. 13–24 . doi : 10.1109/ANCS.2013.6665172 . ISBN 978-1-4799-1641-2 . S2CID 12282067 . ↑ 「P4: プログラミングプロトコル非依存パケットプロセッサ | acm sigcomm」 。www.sigcomm.org 。 2022年3月26日 取得 。 ↑ Kaufmann, Antoine; Peter, Simon; Sharma, Naveen Kr.; Anderson, Thomas; Krishnamurthy, Arvind (2016-03-25). "FlexNICによる高性能パケット処理". Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems . ASPLOS '16. New York, NY, USA: Association for Computing Machinery. pp. 67–81 . doi : 10.1145/2872362.2872367 . ISBN 978-1-4503-4091-5 . S2CID 9625891 . ↑ Giladi, Ran (2008). Network Processors: Architecture, Programming, and Implementation . Systems on Silicon. Morgan Kaufmann. ISBN 978-0-12-370891-5 。↑ Buono, Daniele; Mencagli, Gabriele (2014年7月21日~25日). ネットワークプロセッサにおける細粒度並列処理のためのランタイムメカニズム:TILEPro64の経験 (PDF) . 2014年高性能コンピューティングシミュレーション国際会議 (HPCS 2014). イタリア、ボローニャ. pp. 55–64 . doi : 10.1109/HPCSim.2014.6903669 . ISBN 978-1-4799-5313-4 2019年3月27日にオリジナルからアーカイブされた(PDF) 。 代替URL↑ Comer, Douglas E. (2005). Network Systems Design Using Network Processors: Intel 2XXX Version . Addison-Wesley. ISBN 978-0-13-187286-8 。