Iperf
Encyclopedia
Iperf is a commonly used network testing tool that can create TCP
and UDP
data streams and measure the throughput of a network that is carrying them. Iperf is a modern tool for network performance measurement written in C++
.
Iperf allows the user to set various parameters that can be used for testing a network, or alternately 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. It is supported by the National Laboratory for Applied Network Research.
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.
When used for testing TCP
capacity, Iperf measures the throughput of the payload. One thing to note is that Iperf uses 1024*1024 for megabyte
s and 1000*1000 for megabit
s. There is a Graphical user interface
(GUI) front end available called jperf http://dast.nlanr.net/projects/jperf/ (also a Google Code project for jperf here)
Typical Iperf output contains a timestamped 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 wired and wireless networking equipment and technologies in an unbiased way. Since it is also open source, the measurement methodology can be scrutinized by the user as well.
There are two versions of Iperf being maintained, Iperf 2.x and Iperf3.
iperf3 is a new implementation 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. iperf3 is not backwards compatible with iperf2.x
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
and UDP
User Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...
data streams and measure the throughput of a network that is carrying them. Iperf is a modern tool for network performance measurement written in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
.
Iperf allows the user to set various parameters that can be used for testing a network, or alternately for optimizing or tuning a network. Iperf has a client
Client (computing)
A client is an application or system that accesses a service made available by a server. The server is often on another computer system, in which case the client accesses the service by way of a network....
and server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...
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. It is supported by the National Laboratory for Applied Network Research.
When used for testing UDP
User Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...
capacity, Iperf allows the user to specify the datagram size and provides results for the datagram throughput and the packet loss.
When used for testing TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
capacity, Iperf measures the throughput of the payload. One thing to note is that Iperf uses 1024*1024 for megabyte
Megabyte
The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: bytes generally for computer memory; and one million bytes generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000...
s and 1000*1000 for megabit
Megabit
The megabit is a multiple of the unit bit for digital information or computer storage. The prefix mega is defined in the International System of Units as a multiplier of 106 , and therefore...
s. There is a Graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
(GUI) front end available called jperf http://dast.nlanr.net/projects/jperf/ (also a Google Code project for jperf here)
Typical Iperf output contains a timestamped 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 wired and wireless networking equipment and technologies in an unbiased way. Since it is also open source, the measurement methodology can be scrutinized by the user as well.
There are two versions of Iperf being maintained, Iperf 2.x and Iperf3.
iperf3 is a new implementation 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. iperf3 is not backwards compatible with iperf2.x
See also
- TtcpTtcpTTCP may refer to:*ttcp, a computer utility program for measuring network throughput*The Technical Cooperation Program, an international organisation concerned with cooperation on defence science and technology matters...
, bwpingBwpingbwping is a tool to measure bandwidth and response times between two hosts using Internet Control Message Protocol echo request/echo reply mechanism. It does not require any special software on the remote host...
: tools of a similar nature. - Measuring network throughputMeasuring network throughputThroughput of a network can be measured using various tools available on different platforms. This page explains the theory behind what these tools set out to measure and the issues regarding these measurements.-Reasons for measuring throughput in networks:...
- Packet generation model