SmartNIC すまーとにっく
簡単に言うとこんな感じ!
ふつうのNIC(ネットワークカード)って「データを送受信するだけ」の部品なんだけど、SmartNICは「自分で考えて処理もできる賢いネットワークカード」なんだ!CPUの代わりにネットワーク処理を肩代わりしてくれるから、サーバー全体がぐっと速くなるよ!
SmartNICとは
SmartNIC(スマートNIC)とは、従来のNIC(Network Interface Card:ネットワークインターフェースカード)にプログラマブルなプロセッサやFPGA(書き換え可能な集積回路)を搭載し、ネットワーク処理の一部をホストCPUの代わりに自律的に実行できる高機能ネットワークカードのことです。通常のNICが「データの入出力窓口」にすぎないのに対し、SmartNICはカード上で暗号化・パケット処理・仮想スイッチング・セキュリティチェックなどを行う「ミニコンピューター付きのNIC」と言えます。
クラウドデータセンターにおいて、仮想化・コンテナ・セキュリティなどの処理がホストCPUを大量消費する問題が深刻になる中、SmartNICはこれらのネットワーク処理をCPUからオフロード(肩代わり)するソリューションとして急速に普及しています。AWSが「Nitroカード」、MicrosoftAzureが「FPGA搭載カード」を自社データセンターに展開したことで一気に注目度が上がりました。
近年ではDPU(Data Processing Unit)という呼び方も広まっており、NVIDIAのBlueFieldシリーズなどがその代表例です。SmartNICとDPUは厳密な定義の差はなく、より汎用的・高機能なものをDPUと呼ぶ傾向があります。
SmartNICの構造と機能
SmartNICは内部にいくつかのコンポーネントを持ち、ホストCPUに代わってネットワーク処理を担います。
| コンポーネント | 役割 |
|---|---|
| ARM/RISC-Vコア | カード上で動くプロセッサ。パケット処理やVNFの実行 |
| FPGA / ASICロジック | 超高速・固定的なパケット転送・暗号処理 |
| 高速メモリ(HBM等) | カード上の処理に使うローカルメモリ |
| PCIeインターフェース | ホストサーバーのマザーボードとの接続 |
| ネットワークポート | 外部ネットワーク(スイッチ等)との物理接続 |
SmartNICが「オフロード」する処理の例
- OVS(Open vSwitch)処理: 仮想マシン間のL2/L3スイッチング
- VXLAN / GREカプセル化: オーバーレイネットワークのヘッダー付け外し
- TLS/IPsec暗号化・復号: 通信の暗号処理
- ファイアウォール・ACL: パケットフィルタリング
- RDMA(Remote DMA): サーバー間の超低遅延メモリ転送
通常NIC vs SmartNICの違い
【通常NIC】
外部NW ─→ NIC(データ受信のみ) ─→ ホストCPU(すべての処理)
※CPU使用率が高くなり、アプリ処理が圧迫される
【SmartNIC】
外部NW ─→ SmartNIC(ここで処理!) ─→ ホストCPU(アプリに専念)
※CPUはビジネスロジックに集中できる
歴史と背景
- 2000年代: TOE(TCP Offload Engine)が登場。TCPスタック処理をNICにオフロードする試みが始まる
- 2010年前後: 仮想化・クラウドの普及でネットワーク処理がCPUを圧迫する問題が顕在化
- 2014年: AWSがNitroカードを内製開発し、自社データセンターへの展開を開始(2017年公表)
- 2015年前後: MicrosoftがFPGA搭載カードをAzureのBingサービスやSDN処理に活用(Project Catapult)
- 2018〜: IntelのIPU(Infrastructure Processing Unit)、NVIDIAのBlueField DPUが登場し「DPU」という概念が確立
- 2020年代: クラウドネイティブ・ゼロトラストセキュリティの観点から、インフラ処理をホストCPUから分離するために標準的なアーキテクチャとして定着
SmartNIC・DPU・通常NICの比較と位置付け
主要製品の比較
| 製品名 | メーカー | 種別 | 特徴 |
|---|---|---|---|
| BlueField-3 | NVIDIA | DPU | ARM Cortex搭載・独立OS動作・400GbE対応 |
| IPU(E2000) | Intel | IPU/SmartNIC | P4プログラマブル・ストレージオフロード |
| Nitroカード | AWS(自社) | SmartNIC | EC2の仮想化・EBSアクセスをオフロード |
| Catapult FPGA | Microsoft(Azure) | FPGA NIC | Bing検索・SDN処理に活用 |
| Pensando Elba | AMD | DPU | ゼロトラストセキュリティに強み |
ビジネス視点での導入効果
SmartNICを導入すると、ホストCPUがネットワーク処理から解放されるため、同じサーバースペックでより多くのアプリケーション処理が可能になります。クラウド事業者では「CPUコアあたりの収益性向上」として直接的なコスト削減につながります。オンプレミスでも、仮想化基盤(VMwareやOpenStack)のパフォーマンスを底上げする手段として注目されています。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 7348 | VXLAN(SmartNICがオフロード処理するオーバーレイプロトコル) |
| RFC 4364 | BGP/MPLS IP VPN(DPUで実装されるケースあり) |
| RFC 7665 | SFC(Service Function Chaining)アーキテクチャ(SmartNICで実装) |
関連用語
- NIC — ネットワークインターフェースカード。SmartNICの前身となる基本的な送受信専用カード
- DPU — Data Processing Unit。SmartNICの高機能版で独立したOSを動かせる処理ユニット
- FPGA — Field Programmable Gate Array。SmartNICに搭載される書き換え可能な集積回路
- OVS — Open vSwitch。SmartNICがオフロード処理する代表的な仮想スイッチソフトウェア
- VXLAN — 仮想マシン間の通信をカプセル化するオーバーレイネットワーク技術
- SDN — Software Defined Networking。ネットワークをソフトウェアで制御する概念
- オフロード — 特定の処理を専用ハードウェアに肩代わりさせること
- ゼロトラスト — すべての通信を検証するセキュリティモデル。DPUで実装されるケースが増加中