光ポート付き NIC:概要
すべてのサーバーリンクのもう一方の端にあるのがネットワークインターフェースカード(NIC)で、スイッチと基本的に同じ要素を持ちます。ケージ、SerDes レーン、モジュールへの管理バス、どのモジュールを受け入れるかというポリシーです。違いは2点あります。ポリシーがネットワーク OS ではなくドライバーに宿ること、そしてボトルネックがポートではなく PCIe バスであることが多い点です。この章では、SFP/QSFP クラスのケージを持つ NIC を扱います。ファミリーとベンダー、ポートと PCIe の関係、トランシーバー互換性とドライバーレベルのオーバーライド、サーバー側からモジュールを読み取るツール、そしてカードとスイッチの境界を曖昧にするプログラマブルアダプター(SmartNIC、DPU)です。

光学の観点から見た NIC とは
| 要素 | スイッチでは | NIC では |
|---|
| ケージ | 1台あたり 24–64 | 1枚あたり 1–4(通常 1–2) |
| SerDes | フォワーディング ASIC | NIC コントローラー ASIC(Intel E810、Broadcom BCM57508、Nvidia ConnectX-7…) |
| モジュール管理 | I²C マルチプレクサと CPLD 経由の NOS | コントローラーの I²C 経由のドライバー/ファームウェア |
| ポリシー | NOS のホワイトリスト(各 NOS がモジュールを検証する方法) | ドライバー/ファームウェアのホワイトリスト(NIC における光学部品の互換性) |
| 速度/FEC 設定 | CLI | ethtool、ベンダーツール、BIOS/UEFI、OS のデバイスマネージャー(ツール) |
| バックホール | ファブリック ASIC | CPU までの PCIe レーン(ポートと PCIe) |
| 電源 | シャーシから各ケージへ 3.3 V | PCIe スロット(25–75 W)に加え、ハイエンドカードでは補助コネクター |
カードのフォームファクター
| カード種別 | 設置場所 | ポート |
|---|
| PCIe 拡張カード(ハーフハイト・ハーフレングス、フルハイト) | 任意のサーバースロット | 1–2 × SFP28/QSFP28、1–2 × QSFP56/QSFP112/QSFP-DD/OSFP |
| OCP NIC 3.0(SFF/LFF メザニン) | サーバー背面の OCP スロット | 同じケージ、前面からアクセス可能、一部のシャーシではホットスワップ対応 |
| LOM/組み込み | マザーボード上 | 通常は RJ45;一部は SFP+ |
| メザニン/ブレード | ブレードサーバー | ブレードシャーシのスイッチに接続、ケージなし |
| SmartNIC/DPU | PCIe または OCP | 2 × 100/200/400G、独自の Arm コア(SmartNIC と DPU) |
ファミリーとベンダー
| ベンダー | ファミリー(光ポートモデル) | 速度 | ケージ | ドライバー(Linux) |
|---|
| Intel | X520 / X710 / XXV710 / E810 / E830 | 10G / 10G / 25G / 25–100G / 200G | SFP+、SFP28、QSFP28、QSFP56 | ixgbe、i40e、ice、idpf |
| Nvidia(Mellanox) | ConnectX-4 Lx / -5 / -6 Dx / -6 Lx / -7 / -8 SuperNIC | 25G / 100G / 100–200G / 25–50G / 200–400G / 800G | SFP28、QSFP28、QSFP56、QSFP112、OSFP | mlx5_core |
| Broadcom | NetXtreme-E BCM5741x / 5750x(P225、P425、P2100、P1400GD) | 25G / 100–200G / 400G | SFP28、QSFP56、QSFP-DD | bnxt_en |
| Marvell(QLogic) | FastLinQ 41000 / 45000 | 10–25G / 100G | SFP28、QSFP28 | qede |
| AMD(Solarflare、Pensando) | X2522 / X3522;Pensando DSC | 10–25G;100–200G | SFP28;QSFP56 | sfc;ionic |
| Chelsio | T6 | 10–100G | SFP28、QSFP28 | cxgb4 |
| その他 | Silicom、Napatech(FPGA)、Xilinx/AMD Alveo、Netronome | 10–100G | 混在 | — |
カードモデルごとの速度は、コントローラーとケージによって固定されています。「25G 対応」は 10G と 25G を意味し、1G に対応することはまれです(ポートと PCIe)。
NIC がモジュールに求めるもの
- コンプライアンスコード。 そのケージでコントローラーが対応している速度に合っていること。
- 識別情報。 ドライバーが受け入れるものであること。Intel 系列がもっとも厳格です(NIC における光学部品の互換性)。
- FEC/AN の挙動。 ドライバーが対応できるものであること。25G 以上の DAC は両端で Clause 73 の AN が必要で、光学部品は速度を固定し FEC を一致させる必要があります(FEC と AN)。
- パワークラス。 カードのケージの電力予算に収まること。大半の NIC は QSFP28 クラス 4 (3.5 W)と、QSFP-DD なら 12–15 W まで許容します。ZR/波長可変モジュールは要確認です(電力と消費)。
- 冷却。 サーバーの気流はカードを前面から背面へ通ります。背面向きのカードのモジュールは排気側に位置します(温度グレード)。
代表的な用途と光学部品
| 用途 | NIC | リンク |
|---|
| 汎用仮想化ホスト | 2 × 25G SFP28 | ToR までの DAC(役割とトポロジー) |
| ストレージ/NVMe-oF | 2 × 100G QSFP28 | DAC/AOC、PFC を伴う RoCE(ロスレスイーサネット) |
| GPU サーバー | 4–8 × 400G OSFP/QSFP112(GPU 1台につき1本) | レールリーフまでの AOC/DR4(AI クラスターの配線) |
| HPC | InfiniBand HCA 1–2 × NDR/XDR | DAC/AOC(IB ケーブル) |
| エッジ/拠点 | 2 × 10G SFP+ | キャンパスコアまでの LR |
| 管理/OOB | 1G RJ45 または SFP | — |
関連資料
- NIC のポート、速度、PCIe 帯域幅 — NIC 上のケージ、デュアルレート、ブレークアウトケーブル、PCIe 世代 × レーン数とポート合計の関係、OCP 3.0、電力と冷却。
- NIC におけるトランシーバー互換性 — ベンダー別のドライバーホワイトリスト、Intel の
allow_unsupported_sfp、Windows/ESXi での挙動、 DAC と光学部品における FEC/AN、コーディングすべき内容。 - NIC ツールと診断 —
ethtool -m、mlxlink、 bnxtnvm、Intel のツール、Windows と ESXi のコマンド、サーバー側から DDM と FEC カウンターを読み取る方法。 - SmartNIC と DPU — BlueField、Pensando、IPU:プログラマブルアダプターにおけるポートと光学部品。
CodingBox では
NIC が拒否するモジュールも、スイッチが拒否するモジュールと同じ方法で診断します。ベンチで識別情報とコンプライアンスコードを読み取り、ドライバーのリストと照合し、ポリシー上必要であればコーディングします(Check transceiver、ベンダーロック)。