iperfの使い方 〜基礎編①〜

ベル

今回の授業は、iperfの使い方について教えていこうと思います。iperfはスループット試験で使用されるツールとなりますが、そもそもスループット試験ってなぁに?って思われる方もしれませんので、少し試験についても触れていきたいと思います。

 

スループット試験とは

以前の検証を詳しく知ろう③でスループット試験について書いてありますが、ここでも少し触れておきます。スループット試験とは、構築したネットワークが設計通りの帯域が使用できるかを確認するための試験となります。「FastErhernetインターフェースなら100Mで、GigabitEthernetインターフェースなら1G出るんでしょ?」って思われるかもしれませんが、そういうものではありません。

 

暗号化やQoSを使用した環境であれば、実装しているインターフェースのスループットが出ないなんてことは、よくあることです。その低下率がどの程度であるかを試験するのが、このスループット試験となります。詳しくは、以下で解説してありますので、よかったら読んでみてください。

 

検証を詳しく知ろう!③

検証を詳しく知ろう!③ ~性能試験編~

 

iperfとは

iperfとは、複数台のパソコンを使って指定したプロトコルで通信を発生させて、どれだけのトラフィックを送信してどれだけのトラフィックを受信出来たかをCLIベースで表示してくれるツールです。以下のサイトからダウンロードできます。自分が使用しているパソコンのOSに合わせて選択してください。僕はWindowsで検証することが多いので、とりあえずWindows 10での使用方法について書いていこうと思います。

https://iperf.fr/iperf-download.php

 

ダウンロードしたら、任意の場所にZIPファイルを解凍して使用します。今回は、Cドライブ直下に『iperf』フォルダを作って、そこに解凍しておこうと思います。それでは、具体的なiperfの使い方を解説していきたいと思います。

 

iperfの使い方

iperfは、サーバとクライアントでトラフィックを受け渡しし、どれだけのトラフィックが流れたかを確認するツールです。そのため使用する場合は、必ず2台以上のパソコンが必要となります。両方ともiperfのソフトが必要になりますので、上記のサイトからダウンロードしておきましょうね。

 

サーバの設定

それでは、まずサーバの設定からしていきます。Windowsiperfを使用する場合は、コマンドプロンプト上で起動させます。コマンドプロンプトを起動したら、『cd』と入力した後に、半角スペースを入れてiperfの解凍フォルダを入力します。先のCドライブ直下に『iperf』フォルダを作成したのであれば、以下のようになります。

 

cd C:\iperf

 

上記のコマンドを入力するとプロンプトが『C:\iperf>』と表示されるようになったと思います。このディレクトリで作業を行います。コマンドプロンプトを閉じてしまった場合は、このディレクトリまで戻ってきてからコマンドを実行するようにしましょうね。そうしないと、エラーになってしまいますので注意しましょうね。それでは、実際のコマンドについてですが、サーバはそんなに難しくありません。以下のコマンドを実行してみましょう。

 

C:\iperf>iperf3.exe -s

 

たったこれだけでサーバとして起動が完了されます。iperf.exe』に続いて『-s』オプションを付けることでiperfサーバを起動させることができ、『-c』オプションを付けるとクライアントとして起動させることが出来ます。今回はサーバとして起動させ、以下のようにクライアントからのアクセス待ち状態の表示が出来たらOKです。

 

C:\iperf>iperf3.exe -s
———————————————————–
Server listening on 5201
———————————————————–

 

クライアントの設定

続いて、クライアント側の設定を行っていきます。iperfの起動はサーバと同じですので、クライアント側のパソコンでもコマンドプロンプトを起動してiperfを保存した場所まで移動しましょう。そこで以下のようなコマンドを実行するとトラフィックが流れ始めます。

 

C:\iperf>iperf3.exe -c xx.xx.xx.xx

 

このxx.xx.xx.xxはトラフィックを流す宛先、つまりサーバ側のIPアドレスを指定すれば完了です。このクライアントからの通信はTCPやUDPのポート番号を指定してトラフィックを流すことが出来ますが、何も指定しなければTCPのポート5201で動作します。

 

試験開始

それでは、実際にスループット試験を実施してみたいと思います。どのくらいのトラフィックが流れるのか確認してみましょう。今回は、2台のパソコンを直接繋げてトラフィックを流してみたいと思います。以下のようなシンプルなお勉強構成で試してみましょう。

 

 

 

サーバの実行

C:\iperf>iperf3.exe -s

 

クライアントの実行

C:\iperf>iperf3.exe -c 172.16.1.1

 

サーバとクライアントの両方を実行させると、以下のようにトラフィックデータが表示されるようになります。どの程度のトラフィックが流れるかを確認してみましょう。

 

クライアント側の表示

C:\iperf>iperf3.exe -c 172.16.1.1
Connecting to host 172.16.1.1, port 5201
[ 4] local 172.16.1.2 port 51695 connected to 172.16.1.1 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 11.5 MBytes 96.4 Mbits/sec
[ 4] 1.00-2.00 sec 11.2 MBytes 94.3 Mbits/sec
[ 4] 2.00-3.00 sec 11.2 MBytes 94.3 Mbits/sec
[ 4] 3.00-4.00 sec 11.2 MBytes 94.5 Mbits/sec
[ 4] 4.00-5.00 sec 11.4 MBytes 95.4 Mbits/sec
[ 4] 5.00-6.00 sec 11.2 MBytes 94.3 Mbits/sec
[ 4] 6.00-7.00 sec 11.2 MBytes 94.3 Mbits/sec
[ 4] 7.00-8.00 sec 11.2 MBytes 94.5 Mbits/sec
[ 4] 8.00-9.00 sec 11.4 MBytes 95.3 Mbits/sec
[ 4] 9.00-10.00 sec 11.2 MBytes 94.4 Mbits/sec
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 113 MBytes 94.8 Mbits/sec sender
[ 4] 0.00-10.00 sec 113 MBytes 94.8 Mbits/sec receiver

iperf Done.

 

 

サーバ側の表示

c:\iperf>iperf3.exe -s
———————————————————–
Server listening on 5201
———————————————————–
Accepted connection from 172.16.1.2, port 51694
[ 5] local 172.16.1.1 port 5201 connected to 172.16.1.2 port 51695
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 11.2 MBytes 94.3 Mbits/sec
[ 5] 1.00-2.00 sec 11.3 MBytes 94.6 Mbits/sec
[ 5] 2.00-3.00 sec 11.3 MBytes 94.6 Mbits/sec
[ 5] 3.00-4.00 sec 11.3 MBytes 94.6 Mbits/sec
[ 5] 4.00-5.00 sec 11.3 MBytes 94.6 Mbits/sec
[ 5] 5.00-6.00 sec 11.3 MBytes 94.6 Mbits/sec
[ 5] 6.00-7.00 sec 11.3 MBytes 94.6 Mbits/sec
[ 5] 7.00-8.00 sec 11.3 MBytes 94.6 Mbits/sec
[ 5] 8.00-9.00 sec 11.3 MBytes 94.6 Mbits/sec
[ 5] 9.00-10.00 sec 11.3 MBytes 94.6 Mbits/sec
[ 5] 10.00-10.02 sec 235 KBytes 92.3 Mbits/sec
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.02 sec 0.00 Bytes 0.00 bits/sec sender
[ 5] 0.00-10.02 sec 113 MBytes 94.6 Mbits/sec receiver

こんな感じに表示されていたら問題なくiperfが起動できたことになります。その上でサーバ側がどれだけのトラフィックを受信できたかのアベレージが最後に表示されています。94.6.Mbpsのトラフィックが流れていたことが分かりますね。ちなみにデフォルトだとiperfは10秒間トラフィックを流し続け、1秒毎に流れたトラフィック量がリアルタイムで表示してくれます。

 

ここまでがiperfの基本的な動作となります。次回以降でオプションの動作について学んでもらおうと思います。サーバを起動しているパソコンは、『Ctrl』+『c』でサーバを停止して終わりになります。

 

まとめ

ベル

長くなってしまったので、今回の授業はここまでとします。まずは、iperfの基本的な動作について教えてみました。読んで納得するだけでなく、実際に使ってみて覚えていきましょうね。次回の授業では、もう少し詳しくオプションの設定を紹介していこうと思います。

 

ツールの紹介

ExPingを使いこなす方法を学ぼう!

Winmergeでログ比較 ~基礎編~

Winnergeでログ比較 〜応用編〜

Follow me!

iperfの使い方 〜基礎編①〜” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です