現代のビジネスシーンやシステム開発において、ネットワークのパフォーマンスは業務の効率を左右する極めて重要な要素となっています。
特にクラウドサービスの普及やリモートワークの定着により、拠点間の通信速度が期待通りに出ているかを正確に把握するニーズが高まっています。
こうした中で、ネットワークエンジニアやインフラ担当者が長年愛用している定番のツールが、オープンソースの帯域測定ソフトである「iPerf(アイパフ)」です。
iPerfは、ネットワークの最大帯域幅を測定するだけでなく、遅延(レイテンシ)やパケットロス、ジッターといった通信品質を詳細に分析することが可能です。
本記事では、iPerfの基本的な仕組みから導入方法、さらには実務で役立つ具体的なコマンドラインの使い方まで、初心者の方にも分かりやすく解説します。
iPerfとは?ネットワーク性能測定のデファクトスタンダード
iPerfは、IPネットワークにおける最大到達可能帯域幅を測定するためのオープンソースツールです。
ネットワークの「実効速度」を測定する際に、最も信頼性の高いツールの一つとして世界中で利用されています。
一般的に利用されるブラウザベースの速度測定サイトとは異なり、サーバーとクライアントの間で直接パケットを生成して送信するため、外部環境の影響を受けにくい精緻な測定が可能です。
iPerfには大きく分けて「iPerf2」と「iPerf3」の2つの系統が存在しますが、現在の主流はiPerf3となっています。
iPerf3はコードが一から書き直されており、よりシンプルで高速、かつモダンなOSに最適化された設計になっています。
このツールはWindows、macOS、Linuxといった主要なOSだけでなく、AndroidやiOSなどのモバイル環境でも動作します。
ネットワーク機器のベンダーやISPの技術者も、開通テストやトラブルシューティングの現場でiPerfを標準的に使用しています。
iPerfの仕組みと特徴
iPerfがどのようにしてネットワークの帯域を測定しているのか、その基本的な仕組みを理解しておくことは重要です。
クライアント・サーバー方式による測定
iPerfの最大の特徴は、「クライアント・サーバー方式」で動作する点にあります。
測定を行うには、通信の両端に位置する2台のコンピュータが必要です。
一方を「サーバーモード」で待機させ、もう一方を「クライアントモード」で起動してパケットを送信します。
サーバーとクライアントの間で実際にトラフィックを流すことで、その区間のネットワークがどれだけのデータを運べるかを実測します。
主要な通信プロトコルへの対応
iPerfは、インターネット通信の根幹を支える複数のプロトコルに対応しています。
用途に合わせて以下のプロトコルを選択し、それぞれの特性に応じた測定が可能です。
- TCP(Transmission Control Protocol):信頼性を重視した通信で、ウェブ閲覧やファイル転送のシミュレーションに適しています。
- UDP(User Datagram Protocol):リアルタイム性を重視した通信で、音声通話やビデオ会議、ストリーミングの品質評価に適しています。
- SCTP(Stream Control Transmission Protocol):特定の通信環境で利用される、高度な多重化プロトコルです。
測定可能な主要メトリクス
iPerfを利用することで、単なる速度以外にも多角的なデータを取得できます。
| 項目 | 内容 |
|---|---|
| 帯域幅(Throughput) | 1秒間に送信できたデータのビット数(bps)。 |
| ジッター(Jitter) | パケットの到着間隔のばらつき。音声品質に影響します。 |
| パケットロス(Packet Loss) | 送信したパケットのうち、受信側に届かなかった割合。 |
| CPU使用率 | 測定中のサーバー・クライアントそれぞれの負荷状況。 |
iPerf3のインストール方法
iPerf3は軽量なプログラムであり、インストールは非常に簡単です。
Windowsの場合
Windows環境では、公式サイトからバイナリファイルをダウンロードして利用します。
配布されているZIPファイルを解凍し、中にあるiperf3.exeをコマンドプロンプトやPowerShellから実行するだけです。
環境変数(Path)を設定しておくと、どのディレクトリからでも呼び出せるようになり便利です。
Linuxの場合
ほとんどのLinuxディストリビューションでは、標準のリポジトリからインストール可能です。
UbuntuやDebian系であれば、以下のコマンドで完了します。
# パッケージリストを更新してインストール
sudo apt update
sudo apt install iperf3
macOSの場合
macOSでは、パッケージマネージャーである「Homebrew」を使用するのが一般的です。
# Homebrewを使用してインストール
brew install iperf3
iPerf3の基本的な使い方とコマンド例
それでは、実際にiPerf3を使用してネットワーク帯域を測定する手順を解説します。
1. サーバー側の準備
まずは、受信側となるPC(サーバー)でiPerf3をサーバーモードで起動します。
デフォルトでは5201番ポートを使用して接続を待ち受けます。
# サーバーモードで起動
iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
2. クライアント側からの測定実行
次に、送信側となるPC(クライアント)から、サーバーのIPアドレスを指定して接続します。
例えば、サーバーのIPアドレスが192.168.1.10である場合は以下のように入力します。
# クライアントモードで測定開始(デフォルトはTCPで10秒間)
iperf3 -c 192.168.1.10
実行すると、1秒ごとの転送量と帯域幅が表示され、最後に平均値が出力されます。
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec receiver
3. UDPによる測定
UDPでの測定を行いたい場合は、クライアント側で-uオプションを追加します。
UDP測定では、パケットロス率やジッターの値を確認できるのが大きなメリットです。
# UDPモードで測定。帯域制限を指定(例:100M)
iperf3 -c 192.168.1.10 -u -b 100M
実務で役立つ便利なオプション解説
iPerf3には、より詳細なテストを行うための多彩なオプションが用意されています。
測定時間の指定(-t)
デフォルトの測定時間は10秒ですが、長時間の負荷テストを行いたい場合は-tオプションを使います。
例えば、60秒間測定を継続する場合はiperf3 -c [IP] -t 60と指定します。
並列ストリームの実行(-P)
1つのセッションでは帯域を使い切れない場合、複数のコネクションを同時に張ることができます。
-P(大文字のP)に続けて並列数を指定します。
# 5つのストリームを同時に実行
iperf3 -c 192.168.1.10 -P 5
これにより、よりネットワークの限界に近いスループットを引き出すことが可能になります。
逆方向の測定(-R)
通常、iPerfはクライアントからサーバーへの「上り」を測定しますが、-Rオプションを付けるとサーバーからクライアントへの「下り」を測定できます。
ファイアウォールの設定などで片方向しか通信できない場合や、非対称な回線のテストに有効です。
JSON形式での出力(–json)
測定結果をプログラムで処理したり、ログとして保存したりする場合はJSON形式が便利です。
# 結果をJSON形式で出力
iperf3 -c 192.168.1.10 --json
iPerfを使用する際の注意点とトラブルシューティング
正しく測定を行うためには、いくつかの注意点に留意する必要があります。
ファイアウォールの設定
最も多いトラブルは、サーバー側のファイアウォールによって通信が遮断されるケースです。
OS標準のファイアウォール(Windows Defenderなど)で、5201番ポート(TCP/UDP両方)を許可するように設定してください。
ハードウェアの限界
10Gbpsなどの超高速なネットワークを測定する場合、PCのCPU性能がボトルネックになることがあります。
測定中にタスクマネージャーなどでCPU使用率が100%に達していないか確認しましょう。
もしCPUが限界に達している場合は、iPerfのオプションで並列数を調整するか、より高性能なマシンを用意する必要があります。
ネットワーク経路上の他のトラフィック
iPerfは「その瞬間に空いている帯域」を測定するものです。
同じネットワーク内で他のユーザーが大容量ファイルを転送している場合、測定結果は当然低くなります。
正確なベースラインを知りたい場合は、利用者が少ない時間帯に測定を行うのが鉄則です。
iPerfの活用シーン
iPerfは、単なる好奇心で速度を測るためだけのツールではありません。
プロフェッショナルの現場では、以下のようなシーンで活用されています。
- VPN構築後のスループット確認:暗号化によるオーバーヘッドがどの程度速度に影響しているかを評価します。
- 無線LANの死角調査:オフィス内の様々な場所で測定を行い、Wi-Fiの電波強度が十分でも実効速度が低下している箇所を特定します。
- LANケーブルの不良診断:物理的なケーブルの劣化や規格の不一致(100Mbps制限など)を、実測データに基づいて発見します。
- QoS(Quality of Service)の検証:特定の通信が優先制御されているかを、UDPパケットのロス率の変化で確認します。
まとめ
iPerfは、シンプルながらも非常に強力なネットワーク帯域測定ツールです。
コマンドラインベースであるため操作に慣れが必要かもしれませんが、一度使い方を覚えればこれほど頼りになるツールはありません。
「ネットワークがなんとなく遅い」といった曖昧な問題を、具体的な数値として可視化できるのがiPerf最大のメリットです。
TCPによる最大スループットの確認や、UDPによる品質診断を適切に使い分けることで、ネットワーク管理の質は劇的に向上します。
まずは手元のPC2台で、基本的な-sと-cのコマンドから試してみることをお勧めします。
日々の運用保守やトラブル解決の強力な武器として、ぜひiPerfをマスターしてください。
