Iperf
Developer(s) | The Iperf team |
---|---|
Stable release | 1.7.0 / March 13, 2003 |
Development status | stalled |
Written in | C |
Operating system | Cross-platform |
Type | Bandwidth management |
License | BSD license |
Website | http://dast.nlanr.net/Projects/Iperf/ |
Stable release | 2.0.8 / April 25, 2015 |
---|---|
Development status | Only fixes |
Written in | C |
Operating system | Cross-platform |
License | BSD license |
Website | http://sourceforge.net/projects/iperf2 |
Stable release | 3.1.1 / November 19, 2015 |
---|---|
Development status | Active |
Written in | C |
Operating system | Cross-platform |
License | BSD license |
Website | http://software.es.net/iperf |
Iperf is a commonly-used network testing tool that can create Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) data streams and measure the throughput of a network that is carrying them. Iperf is a tool for network performance measurement written in C. It 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), which was shut down on December 31, 2006, due to termination of funding by the United States' National Science Foundation.
Iperf allows the user to set various parameters that can be used for testing a network, or alternatively for optimizing or tuning a network. Iperf has a client and server functionality, and can measure the throughput between the two ends, either unidirectionally or bi-directionally. It is open-source software and runs on various platforms including Linux, Unix and Windows (either natively or inside Cygwin[1]).
- 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 megabytes and 1000 × 1000 for megabits.
Typical Iperf output contains a time-stamped report of the amount of data transferred and the throughput measured.
Iperf is significant as it is a cross-platform tool that can be run over any network and output standardized performance measurements. Thus it can be used for comparison of both wired and wireless networking equipment and technologies. Since it is also open source, the measurement methodology can be scrutinized by the user as well.
Graphical user interface
There is a graphical user interface (GUI) front end available called jperf.[2] While there is work on a GUI, the command shell remains the preferred method of use. [3]
iperf3
A rewrite of iperf from scratch, with the goal of a smaller, simpler code base and a library version of the functionality that can be used in other programs, called iperf3, was started in 2009. The first iperf3 release was made in January 2014. The website states: "iperf3 is not backwards compatible with iperf2.x".
See also
- Ttcp, bwping, Flowgrind: tools of a similar nature.
- Measuring network throughput
- Packet generation model
Public test servers
- http://acd.net ACD.net: iperf.acd.net
- http://sct.gob.mx SCT: 159.16.237.138 -p 8001 TCP & -p 8002 UDP
References
- Measure Network Performance with iperf (Part 1), (Part 2), article published by Enterprise Networking Planet
- Measuring end-to-end bandwidth with Iperf using Web100, whitepaper on modifications to Iperf to be less intrusive
External links
- iperf3 site, a reimplementation of iperf2.
- iperf.fr, List of public iperf3 servers and download iperf pre-compiled binaries.
- iperf2 site,at SourceForge.
- JPerf, graphical frontend.