iperf使用概要


iperf


参考サイト:https://ipcmen.com/iperf


ネットワークパフォーマンステストツール

補足説明


iperfコマンドは、ネットワークパフォーマンステストツールです.iperfはTCPおよびUDP帯域幅品質をテストすることができる.iperfは最大TCP帯域幅を測定でき,多様なパラメータとUDP特性を有する.iperfは、帯域幅、遅延ジッタ、パケット損失を報告することができる.iperfという特性を利用して、ルータ、ファイアウォール、スイッチなどのネットワークデバイスの性能をテストすることができます.
iperfは2つのバージョンに分けられ、Unix/Linux版とWindows版、Unix/Linux版の更新が比較的速く、バージョンが最新です.Windows版の更新が遅い.Windows版のiperfはjperf、またはxjperfと呼ばれています.jperfはiperfに基づいてより良いUIと新しい機能を開発した.
Linuxバージョンのダウンロードアドレス:http://code.google.com/p/iperf/downloads/list

iperfのインストール


Windows版のiperfに対して、直接解凍したiperf.exeとcygwin 1.dllを%systemroot%ディレクトリにコピーすればいいです.linux版のiperfの場合は、次のコマンドを使用してインストールします.
gunzip -c iperf-.tar.gz | tar -xvf -
cd iperf-
./configure
make
make install

オプション


コマンドラインオプション
説明
クライアントとサーバの共通オプション
-f, –format [bkmaBKMA]
帯域幅出力をフォーマットします.サポートされるフォーマットは、「b」=bits/sec「B」=Bytes/sec「k」=Kbits/sec「K」=KBytes/sec「m」=Mbits/sec「M」=MBytes/sec「g」=Gbits/sec「G」=GBytes/sec「a」=adaptive bits/sec「A」=adaptive Bytes/sec適応フォーマットがkilo-およびmega-のいずれかです.デフォルトのパラメータは、出力のフォーマットを指定しない限り、帯域幅以外のフィールドはバイトとして出力されます.注:バイトbyteを計算すると、Kilo=1024、Mega=1024^2、Giga=1024^3になります.通常,ネットワークではKilo=1000,Mega=1000^2,and Giga=1000^3であるため,Iperfもこれによってビット(ビット)を計算する.これらが困っている場合は、-fbパラメータを使用して、自分で計算してください.
-i, –interval #
レポートごとの間隔を秒単位で設定します.ゼロ以外の値に設定すると、この間隔でテストレポートが出力されます.既定値はゼロです.
-l, –len #[KM]
リード・ライト・バッファの長さを設定します.TCP方式のデフォルトは8 KB、UDP方式のデフォルトは1470バイトです.
-m, –print_mss
TCP MSS値を出力します(TCP_MAXSEGでサポートされています).MSS値は一般にMTU値より40バイト小さい.通常の状況
-p, –port #
サーバー側のリスニングポートと一致するポートを設定します.デフォルトはttcpと同じ5001ポートです.
-u, –udp
TCP方式ではなくUDP方式を使用します.-bオプションを参照してください.
-w, –window #[KM]
ソケットバッファを指定したサイズに設定します.TCP方式の場合、これはTCPウィンドウサイズに設定されます.UDP方式の場合、この設定はUDPパケットを受け入れるバッファサイズであり、パケットを受け入れることができる最大値を制限する.
-B, –bind host
ホストの複数のアドレスの1つにバインドされます.クライアントの場合、このパラメータはスタックインタフェースを設定します.サーバ側では、このパラメータはスタックインタフェースに設定されます.このパラメータは、マルチネットワークインタフェースを持つホストにのみ使用されます.このパラメータは、IperfのUDPモードで、マルチキャストグループをバインドおよび追加するために使用される.224.0.0~239.255.255.255.255のマルチキャストアドレスを使用します.参照-Tパラメータ.
-C, –compatibility
低バージョンのIperfと使用する場合、互換モードを使用できます.両端同時互換モードは必要ありませんが、両端同時互換モードを強くお勧めします.場合によっては、一部のデータ・ストリームを使用すると、1.7バージョンのサーバ・エンドのクラッシュや予期せぬ接続試行を引き起こすことがあります.
M,–mss#ipヘッダから40バイト減算します.イーサネットでは、MSS値は1460バイト(MTU 1500バイト)である.多くのOSではサポートされていません.
-N, –nodelay
TCP無遅延オプションを設定し、Nagle’sアルゴリズムを無効にします.通常、このオプションはtelnetなどのインタラクティブなプログラムでは無効です.
-V (from v1.6 or higher)
IPv 6アドレスをバインドします.サービス側:$iperf-s–Vクライアント:$iperf-c-V注意:1.6.3以降では、IPv 6アドレスを指定するには-Bパラメータバインドを使用する必要はありません.1.6以前のバージョンでは必要です.ほとんどのオペレーティングシステムでは、IPv 4クライアントがマッピングしたIPv 4アドレスに応答します.
サーバ側専用オプション
-s, –server
Iperfサーバモード
-D(v 1.2以降)
Unixプラットフォームの下でIperfはバックグラウンドデーモンとして実行されます.Win 32プラットフォームでは、Iperfがサービスとして動作します.
-R(v 1.2以降、Windowsのみ)
実行中の場合は、Iperfサービスをアンインストールします.
-o(v 1.2以降、Windowsのみ)
指定したファイルにリダイレクト出力
-c, –client host
Iperfがサーバモードで実行され、-cパラメータでホストが指定されている場合、Iperfは指定されたホストの接続のみを受け入れます.このパラメータはUDPモードでは動作しません.
-P, –parallel #
サーバが停止するまで保持されていた接続数.デフォルトは0です.これは、接続を永遠に受け入れることを意味します.
クライアント専用オプション
-b, –bandwidth #[KM]
UDPモードで使用する帯域幅、単位bits/sec.このオプションは-uオプションに関連しています.デフォルトは1 Mbit/secです.
-c, –client host
Iperfのクライアントモードを実行し、指定したIperfサーバ側に接続します.
-d, –dualtest
デュアルテストモードを実行します.これにより、サーバ側がクライアントに逆接続され、-Lパラメータで指定したポート(またはデフォルトではクライアントを使用してサーバ側に接続されているポート)が使用されます.これらは操作と同時に直ちに完了した.インタラクティブなテストが必要な場合は、-rパラメータを試してみてください.
-n, –num #[KM]
転送されるバッファの数.通常、Iperfは10秒でデータを送信します.-nパラメータは、この制限を越えて、操作にどれだけ時間がかかるかにかかわらず、指定された長さのデータを指定回数で送信する.参照-lと-tオプション.
-r, –tradeoff
往復テストモード.クライアントからサーバ側へのテストが終了すると、サーバ側は-lオプションで指定したポート(またはデフォルトではクライアントがサーバ側に接続されているポート)を介してクライアントに逆接続されます.クライアント接続が終了すると、逆接続が開始されます.双方向テストを同時に行う必要がある場合は、-dパラメータを試してください.
-t, –time #
転送の合計時間を設定します.Iperfは、指定された時間内に、指定された長さのパケットを繰り返し送信する.デフォルトは10秒です.参照-lと-nオプション.
-L, –listenport #
サービス側がクライアントに逆接続するときに使用するポートを指定します.デフォルトでは、クライアントをサービス側のポートに接続します.
-P, –parallel #
スレッド数.クライアントとサービス・エンドの間で使用されるスレッドの数を指定します.デフォルトは1スレッドです.このパラメータは、クライアントとサーバが同時に使用する必要があります.
-S, –tos #
スタック・パケットのサービス・タイプ.多くのルータはTOSフィールドを無視している.この値を指定するには、「0 x」から始まる16進数、または「0」から始まる8進数または10進数を使用します.例えば、16進数’0 x 10’=8進数’020’=10進数’16’である.TOS値1349はIPTOS_LOWDELAY minimize delay 0x10 IPTOS_THROUGHPUT maximize throughput 0x08 IPTOS_RELIABILITY maximize reliability 0x04 IPTOS_LOWCOST minimize cost 0x02
-T, –ttl #
スタックマルチキャストパケットのTTL値を出力します.これは本質的にデータがルータを通過するホップ数である.デフォルトは1で、ローカルをリンクします.
-F (from v1.2 or higher)
指定したファイルなど、特定のデータ・ストリームを使用して帯域幅を測定します.$iperf -c -F
-I (from v1.2 or higher)
-Fと同様に、標準入出力ファイルからデータが入力される.
その他
-h, –help
コマンドライン参照が表示され、終了します.
-v, –version
バージョン情報とコンパイル情報を表示し、終了します.

≪インスタンス|Instance|emdw≫


帯域幅試験は、通常、限界帯域幅、遅延ジッタ、パケット損失率を測定できるため、UDPモードを採用する.テストを行う際には、まず、クライアントからサーバまでのリンクの理論帯域幅が100 Mbpsであるリンク理論帯域幅をデータ送信速度としてテストし、-b 100Mでテストした後、テスト結果(実際の帯域幅、遅延ジッタ、パケット損失率を含む)に基づいて、実際の帯域幅をデータ送信速度としてテストすると、遅延ジッタとパケット損失率が最初よりもずっと良いことがわかります.何度かテストを繰り返すと、安定した実際の帯域幅が得られます.
UDPモード
サーバ側:
iperf -u -s

クライアント:
iperf -u -c 192.168.1.1 -b 100M -t 60

udpモードでは、100 Mbpsをデータ送信レートとし、クライアントはサーバ192.168.1.1に帯域幅テストをアップロードし、テスト時間は60秒である.
iperf -u -c 192.168.1.1 -b 5M -P 30 -t 60

クライアントは同時にサーバ側に30個の接続スレッドを開始し,5 Mbpsをデータ送信レートとする.
iperf -u -c 192.168.1.1 -b 100M -d -t 60

100 Mをデータ送信レートとして、上下帯域幅テストを行う.
TCPモード
サーバ側:
iperf -s

クライアント:
iperf -c 192.168.1.1 -t 60

tcpモードでは、クライアントはサーバ192.168.1.1に帯域幅テストをアップロードし、テスト時間は60秒である.
iperf -c 192.168.1.1  -P 30 -t 60

クライアントは同時にサーバ側に30個の接続スレッドを開始する.
iperf -c 192.168.1.1  -d -t 60

上下帯域幅テストを行います.