プロミスキャスモードはマシンにどれくらい負荷をかけますか?

nasa-Q1p7bh3SHj8-unsplash.jpg

質問

プロミスキャスモードはマシンにどれくらい負荷をかけますか?



解答

結論から言うと、プロミスキャスモード自体はほぼコストゼロに近いが、受信トラフィック量に比例して負荷が増える、というのが正確です。


① 何が変わるのか

通常はNIC(ネットワークカード)が

  • 自分宛

  • ブロードキャスト

だけをカーネルに渡します。

プロミスキャスモードでは
同一セグメント上の全フレームをカーネルに渡す

ここが唯一の違いです。


② 負荷の内訳

負荷は主に3段階で発生します。

1. NIC → メモリ転送(DMA)

受信パケットが増えると

  • メモリ帯域

  • バス帯域(PCIe)

を消費します。

ただし現代のNICではここはかなり軽いです。


2. カーネル処理

  • 割り込み or NAPIポーリング

  • パケットの基本処理

ここが最も影響が出やすいポイント。


3. ユーザ空間処理(tcpdump等)

ここが一番重いです。

  • パケットコピー

  • フィルタ(BPF)

  • ログ書き込み

→ キャプチャツールの設定次第でCPUを大きく使う


③ 負荷の実際(目安)

状況ごとにかなり差があります。

● トラフィック少(家庭LAN)

  • ほぼ影響なし(体感ゼロ)


● 中程度(オフィスLAN)

  • 数%〜10%程度のCPU増加


● 高トラフィック(1Gbps以上)

  • CPUがボトルネックになる可能性あり

  • パケットドロップ発生


● 10Gbps環境

  • 通常の設定だと処理しきれない

  • DPDKや専用キャプチャが必要


④ 実は重要なポイント

最近のネットワークでは:

  • スイッチングが主流

  • 他ホストのパケットは基本流れてこない

つまり、

プロミスキャスでも「見えるパケット自体が少ない」

ケースが多いです。


⑤ 負荷を下げる方法

  • BPFフィルタを使う(tcpdumpで絞る)

  • snaplenを小さくする

  • パケット保存を減らす

  • ring bufferを調整


⑥ 本質

プロミスキャスモードは

  • 「余計なパケットを捨てずに受け取る設定」

であって、

重いのはその後の処理

です。


まとめ

  • モード自体の負荷は小さい

  • 負荷はトラフィック量に比例

  • 本当に重いのはユーザ空間のキャプチャ処理



インターネット文明 (岩波新書 新赤版 2031) [ 村井 純 ]

価格:1056円
(2025/9/18 19:42時点)
感想(0件)


ネスペR1 - 本物のネットワークスペシャリストになるための最も詳しい過去問解説 [ 左門至峰・平田賀一 ]

価格:2948円
(2023/11/14 00:19時点)
感想(1件)


 



この記事へのコメント