SDN・ネットワーク仮想化

SmartNIC すまーとにっく

NICオフロードDPUFPGAデータプレーンネットワーク仮想化
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が「オフロード」する処理の例

通常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の比較と位置付け

NIC の進化と SmartNIC の位置付け 通常 NIC 物理ポート 送受信バッファ 割り込み制御 処理はすべてCPUへ SmartNIC 物理ポート FPGA / ARM コア (カード上で処理) OVS / VXLAN / TLS をオフロード ローカルメモリ CPUへは済んだ結果のみ DPU(高機能SmartNIC) 物理ポート(高速) 汎用 ARM コア多数 (独立したOS動作可) ストレージ / セキュリティ / テレメトリも処理 HBM / 大容量メモリ ホストCPUから インフラ処理を完全分離 進化 さらに 通常NIC SmartNIC DPU(高機能型)

主要製品の比較

製品名メーカー種別特徴
BlueField-3NVIDIADPUARM Cortex搭載・独立OS動作・400GbE対応
IPU(E2000)IntelIPU/SmartNICP4プログラマブル・ストレージオフロード
NitroカードAWS(自社)SmartNICEC2の仮想化・EBSアクセスをオフロード
Catapult FPGAMicrosoft(Azure)FPGA NICBing検索・SDN処理に活用
Pensando ElbaAMDDPUゼロトラストセキュリティに強み

ビジネス視点での導入効果

SmartNICを導入すると、ホストCPUがネットワーク処理から解放されるため、同じサーバースペックでより多くのアプリケーション処理が可能になります。クラウド事業者では「CPUコアあたりの収益性向上」として直接的なコスト削減につながります。オンプレミスでも、仮想化基盤(VMwareやOpenStack)のパフォーマンスを底上げする手段として注目されています。


関連する規格・RFC

規格・RFC番号内容
RFC 7348VXLAN(SmartNICがオフロード処理するオーバーレイプロトコル)
RFC 4364BGP/MPLS IP VPN(DPUで実装されるケースあり)
RFC 7665SFC(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で実装されるケースが増加中