Iperf

Iperf was developed by NLANR/DAST as a modern alternative for measuring maximum TCP and UDP bandwidth performance. Iperf allows the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.

Iperf is available also for Windows

The quality of a link can be tested as follows:

  • – Latency (response time or RTT): can be measured with the Ping command.
  • – Jitter (latency variation): can be measured with an Iperf UDP test.
  • – Datagram loss: can be measured with an Iperf UDP test.

The bandwidth is measured through TCP tests.

To be clear, the difference between TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) is that TCP use processes to check that the packets are correctly sent to the receiver whereas with UDP the packets are sent without any checks but with the advantage of being quicker than TCP.

Iperf uses the different capacities of TCP and UDP to provide statistics about network links.

With Iperf you have a server machine where iperf put itself in listening and the other that is the client that send the informations.

Example:

Server side:

#iperf -s

  • Server listening on TCP port 5001
  • TCP window size: 85.3 KByte (default)

  • [852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 54355
  • [ ID] Interval Transfer Bandwidth
  • [852] 0.0-10.1 sec 1.15 MBytes 956 Kbits/sec

  • Client connecting to 10.6.2.5, TCP port 5001
  • TCP window size: 8.00 KByte (default)

  • [824] local 10.1.1.1 port 1646 connected with 10.6.2.5 port 5001
  • [ ID] Interval Transfer Bandwidth
  • [824] 0.0-10.0 sec 73.3 MBytes 61.4 Mbits/sec

Client side:

#iperf -c 10.1.1.1 -d

  • Server listening on TCP port 5001
  • TCP window size: 85.3 KByte (default)

  • Client connecting to 10.1.1.1, TCP port 5001
  • TCP window size: 16.0 KByte (default)

  • [ 5] local 10.6.2.5 port 60270 connected with 10.1.1.1 port 5001
  • [ 4] local 10.6.2.5 port 5001 connected with 10.1.1.1 port 2643
  • [ 4] 0.0-10.0 sec 76.3 MBytes 63.9 Mbits/sec
  • [ 5] 0.0-10.1 sec 1.55 MBytes 1.29 Mbits/sec

So using Iperf (with appropriate flags) on both our machines we can simply measure the bandwidth between them.

Installation:

It is like normal rpm installation, you can either download and install the rpm file or you can just use "yum install". I have pasted the screen shot of the same below for our reference.

bandwidth

Server Side eg:

rpm installation