iperf, Iperf, or iPerf, is a tool for network performance measurement and tuning. It is a cross-platform tool that can produce standardized performance measurements for any network. iperf has client and server functionality, and can create data streams to measure the throughput between the two ends in one or both directions.[2] Typical iperf output contains a time-stamped report of the amount of data transferred and the throughput measured.

iperf2
Original author(s)Mark Gates, Alex Warshavsky
Developer(s)Robert McMahon, Tim Auckland
Stable release
2.2.1[1] / November 6, 2024 (2024-11-06)
Repositorysf.net/p/iperf2/code/
Written inC
Operating systemCross-platform
LicenseBSD license
Websitesf.net/projects/iperf2/
iperf3
Original author(s)ESnet
Stable release
3.17.1 / May 13, 2024 (2024-05-13)
Repositorygithub.com/esnet/iperf
Written inC
Operating systemCross-platform
LicenseBSD license
Websitesoftware.es.net/iperf/

The data streams can be either Transmission Control Protocol (TCP) or User Datagram Protocol (UDP):

  • UDP: When used for testing UDP capacity, iperf allows the user to specify the datagram size and provides results for the datagram throughput and the packet loss.
  • TCP: When used for testing TCP capacity, iperf measures the throughput of the payload. iperf uses 1024 × 1024 for mebibytes and 1000 × 1000 for megabytes.

iperf is open-source software written in C, and it runs on various platforms including Linux, Unix and Windows (either natively or inside Cygwin[3]). The availability of the source code enables the user to scrutinize the measurement methodology.

iperf is a compatible reimplementation of the ttcp program that was developed at the National Center for Supercomputing Applications at the University of Illinois by the Distributed Applications Support Team (DAST) of the National Laboratory for Applied Network Research (NLANR),[4] which was shut down on December 31, 2006, on termination of funding by the United States National Science Foundation.

iperf3

edit

iperf3 is a rewrite of iperf from scratch to create a smaller, simpler code base. It also includes a library version which enables other programs to use the provided functionality. iperf3 is single threaded while iperf2 is multi-threaded.[5]

iperf3 was started in 2009, with the first release in January 2014. iperf3 is not backwards compatible with iperf2.

iperf3 only officially supports Linux. Unofficial builds for Windows provided by Vivien Guéant have not been maintained since 2016. A user of Neowin, BudMan, provides unofficial Windows builds on his server.

Most current Linux distributions have up-to-date versions of iperf3 in their native package repositories.

See also

edit

References

edit
  1. ^ "Iperf 2 - Browse Files". SourceForge.net.
  2. ^ "iPerf - The TCP, UDP and SCTP network bandwidth measurement tool". Retrieved 21 January 2021.
  3. ^ "Cygwin iperf Package".
  4. ^ "NLANR/DAST : Iperf - The TCP/UDP Bandwidth Measurement Tool". 2005. Archived from the original on 2008-10-12.
  5. ^ "iperf3 FAQ". 2018-07-02.
edit