
ネットワーク プロセッサは、ネットワークアプリケーション ドメインに特化した機能セットを備えた集積回路です。
ネットワーク プロセッサは通常、ソフトウェアでプログラム可能なデバイスであり、さまざまな種類の機器や製品で一般的に使用されている 汎用中央処理装置と同様の一般的な特性を備えています。
開発の歴史
現代の通信ネットワークでは、情報(音声、ビデオ、データ)はパケットデータ(パケット スイッチングと呼ばれる)として転送されます。これは、公衆交換電話網(PSTN)やアナログTV /ラジオネットワークなどのアナログ信号として情報を伝送していた古い通信ネットワークとは対照的です。これらのパケットの処理により、この形式のパケット データを処理するように最適化された集積回路(IC)が作成されました。ネットワーク プロセッサには、これらのネットワーク内でのパケット処理を強化および最適化するために提供される特定の機能またはアーキテクチャがあります。
ネットワーク プロセッサは、特定の機能を備えた IC に進化しました。この進化により、より複雑で柔軟性の高い IC が開発されるようになりました。新しい回路はプログラム可能なため、適切なソフトウェアをインストールすれば、単一のハードウェアIC 設計でさまざまな機能を実行できます。
ネットワーク プロセッサは、次のようなさまざまな種類のネットワーク機器の製造に使用されます。
- ルーター、ソフトウェアルーター、スイッチ(インターネットワークプロセッサ)
- ファイアウォール
- セッション境界コントローラ
- 侵入検知装置
- 侵入防止装置
- ネットワーク監視システム
- ネットワーク セキュリティ(安全な暗号プロセッサ)
再構成可能なマッチテーブル
再構成可能なマッチテーブル[1] [2]は、スイッチ上で実行されるネットワークプロトコルやそれらに対して行われる処理に関して柔軟性を維持しながら、スイッチが高速で動作できるようにするために2013年に導入されました。P4 [3]はチップのプログラムに使用されます。ベアフットネットワークスはこれらのプロセッサをベースにしており、後に2019年にインテルに買収されました。

RMT パイプラインは、プログラム可能なパーサー、[2]マッチアクションテーブル、およびプログラム可能なデパーサーの 3 つの主なステージに依存しています。パーサーはパケットをチャンクで読み取り、これらのチャンクを処理してパケットで使用されているプロトコル (イーサネット、VLAN、IPv4 ...) を検出し、パケットから特定のフィールドをパケットヘッダーベクター (PHV) に抽出します。PHV の特定のフィールドは、現在のヘッダーやパケットの合計長などの特別な用途のために予約されている場合があります。プロトコルは通常プログラム可能であり、抽出するフィールドもプログラム可能です。マッチアクションテーブルは、入力 PHV を読み取り、クロスバーとCAM メモリを使用してその中の特定のフィールドを照合する一連のユニットです。結果は、PHV の 1 つ以上のフィールドで動作する幅広い命令と、この命令をサポートするデータです。出力 PHV は、次の MA ステージまたはデパーサーに送信されます。デパーサーは、PHV と元のパケットおよびそのメタデータ (PHV に抽出されなかった欠落ビットを埋めるため) を取り込み、変更されたパケットをチャンクとして出力します。通常はパーサーと同様にプログラム可能であり、一部の構成ファイルを再利用できます。
FlexNIC [4]は、このモデルをネットワークインターフェースコントローラに適用し、プロトコルの柔軟性を維持しながらCPUオーバーヘッドを増加させずにサーバが高速にパケットを送受信できるようにしようとしています。
汎用関数
パケット プロセッサとしての一般的な役割において、ネットワーク プロセッサには通常、次のような最適化された機能や機能が多数存在します。
- パターン マッチング - パケット ストリーム内のパケット内の特定のビットまたはバイトのパターンを見つける機能。
- キー検索 - キー (通常はパケット内のアドレス) を使用してデータベース検索を迅速に実行し、結果 (通常はルーティング情報) を検索する機能。
- 計算
- データ ビットフィールド操作 - 処理中のパケットに含まれる特定のデータ フィールドを変更する機能。
- キュー管理 – パケットが受信され、処理され、送信するようにスケジュールされると、キューに保存されます。
- 制御処理 - パケットを処理するマイクロ操作は、システム内の他のノードとの通信およびオーケストレーションを伴うマクロ レベルで制御されます。
- パケット バッファの迅速な割り当てと再循環。
建築パラダイム
高いデータレートに対処するために、いくつかのアーキテクチャパラダイムが一般的に使用されます。
- プロセッサのパイプライン- パイプラインの各ステージは、上記の機能のいずれかを実行するプロセッサで構成されます。
- 複数のプロセッサによる並列処理。多くの場合、マルチスレッドが含まれます。
- 手元のタスクをより効率的に実行するための特殊なマイクロコード化エンジン。
- マルチコアアーキテクチャの登場により、ネットワーク プロセッサを上位層 ( L4-L7 ) の処理に使用できるようになりました。
さらに、 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). 「フォワーディング メタモルフォーシス: SDN 向けハードウェアでの高速なプログラム可能なマッチ アクション処理」
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - ^ ab グレン・ギブ、ジョージ・ヴァルギース、マーク・ホロウィッツ、ニック・マッケオン(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 による高性能パケット処理」。プログラミング言語とオペレーティングシステムのアーキテクチャサポートに関する第 21 回国際会議の議事録。ASPLOS '16。ニューヨーク、ニューヨーク州、米国: Association for Computing Machinery。pp. 67– 81。doi : 10.1145 / 2872362.2872367。ISBN 978-1-4503-4091-5. S2CID 9625891。
- ^ Giladi, Ran (2008)。ネットワークプロセッサ: アーキテクチャ、プログラミング、実装。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-42019年3月27日時点のオリジナルよりアーカイブ(PDF) 。代替URL
- ^ Comer, Douglas E. (2005).ネットワークプロセッサを使用したネットワークシステム設計: Intel 2XXX バージョン. Addison-Wesley. ISBN 978-0-13-187286-8。
