Goodput
   HOME

TheInfoList



OR:

In computer networks, goodput (a
portmanteau A portmanteau word, or portmanteau (, ) is a blend of wordsgood In most contexts, the concept of good denotes the conduct that should be preferred when posed with a choice between possible actions. Good is generally considered to be the opposite of evil and is of interest in the study of ethics, morality, ph ...
and
throughput Network throughput (or just throughput, when in context) refers to the rate of message delivery over a communication channel, such as Ethernet or packet radio, in a communication network. The data that these messages contain may be delivered ove ...
) is the application-level throughput of a communication; i.e. the number of useful information bits delivered by the network to a certain destination per unit of time. The amount of data considered excludes
protocol overhead In computer science, overhead is any combination of excess or indirect computation time, memory, bandwidth, or other resources that are required to perform a specific task. It is a special case of engineering overhead. Overhead can be a decidi ...
bits as well as retransmitted data packets. This is related to the amount of time from the first bit of the first packet sent (or delivered) until the last bit of the last packet is delivered. For example, if a file is transferred, the goodput that the user experiences corresponds to the file size in bits divided by the file transfer time. The goodput is always lower than the throughput (the gross bit rate that is transferred physically), which generally is lower than network access connection speed (the channel capacity or bandwidth). Examples of factors that cause lower goodput than throughput are: * ''Protocol overhead'': Typically, transport layer, network layer and sometimes datalink layer protocol overhead is included in the throughput, but is excluded from the goodput. * ''Transport layer flow control and
congestion avoidance Network congestion in data networking and queueing theory is the reduced quality of service that occurs when a network node or link is carrying more data than it can handle. Typical effects include queueing delay, packet loss or the blocking o ...
'': For example, TCP slow start may cause a lower goodput than the maximum throughput. * Retransmission of lost or corrupt packets due to transport layer
automatic repeat request Automatic repeat request (ARQ), also known as automatic repeat query, is an error-control method for data transmission that uses acknowledgements (messages sent by the receiver indicating that it has correctly received a packet) and timeouts ...
(ARQ), caused by bit errors or
packet dropping Packet loss occurs when one or more packets of data travelling across a computer network fail to reach their destination. Packet loss is either caused by errors in data transmission, typically across wireless networks, or network congestion.Ku ...
in congested switches and routers, is included in the datalink layer or network layer throughput but not in the goodput.


Example

Imagine that a file is being transferred using
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
over a switched
Ethernet Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 1 ...
connection with a total channel capacity of 100
megabits per second In telecommunications, data-transfer rate is the average number of bits (bitrate), characters or symbols (baudrate), or data blocks per unit time passing through a communication link in a data-transmission system. Common data rate units are multi ...
. The file cannot be transferred over Ethernet as a single continuous stream; instead, it must be broken down into individual chunks. These chunks must be no larger than the maximum transmission unit of IP over Ethernet, which is 1500
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable uni ...
s. Each packet requires 20 bytes of
IPv4 Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version d ...
header information and 20 bytes of TCP header information, so only 1460 bytes are available per packet for the file transfer data itself (
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
and
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
are further limited to 1448 bytes as they also carry a 12-byte time stamp). Furthermore, the data is transmitted over Ethernet in a frame, which imposes a 26 byte overhead per packet. Given these overheads, the maximum ''goodput'' is 1460/1526 × 100
Mbit/s In telecommunications, data-transfer rate is the average number of bits ( bitrate), characters or symbols ( baudrate), or data blocks per unit time passing through a communication link in a data-transmission system. Common data rate units are mu ...
which is 95.67 megabits per second or 11.959 megabytes per second. Note that this example doesn't consider some additional Ethernet overhead, such as the interframe gap (a minimum of 96 bit times), or collisions (which have a variable impact, depending on the network load). TCP itself also adds the overhead of acknowledgements (which along with the
round-trip delay time In telecommunications, round-trip delay (RTD) or round-trip time (RTT) is the amount of time it takes for a signal to be sent ''plus'' the amount of time it takes for acknowledgement of that signal having been received. This time delay includes p ...
and the TCP window size in effect will rate-limit each individual TCP connection, see
bandwidth-delay product In data communications, the bandwidth-delay product is the product of a data link's capacity (in bits per second) and its round-trip delay time (in seconds). The result, an amount of data measured in bits (or bytes), is equivalent to the maxim ...
). This example also does not consider the overhead of the HTTP protocol itself, which becomes relevant when transferring small files.


Data delivery time

The goodput is a ratio between delivered amount of information, and the total delivery time. This delivery time includes: * Inter-packet time gaps caused by packet generation processing time (a source that does not use the full network capacity), or by protocol timing (for example collision avoidance) * Data and overhead transmission delay (amount of data divided by
bit rate In telecommunications and computing, bit rate (bitrate or as a variable ''R'') is the number of bits that are conveyed or processed per unit of time. The bit rate is expressed in the unit bit per second (symbol: bit/s), often in conjunction ...
) *
Propagation delay Propagation delay is the time duration taken for a signal to reach its destination. It can relate to networking, electronics or physics. ''Hold time'' is the minimum interval required for the logic level to remain on the input after triggering ed ...
(distance divided by wave propagation speed) * Packet
queuing delay In telecommunication and computer engineering, the queuing delay or queueing delay is the time a job waits in a queue until it can be executed. It is a key component of network delay. In a switched network, queuing delay is the time between the ...
*
NAT Nat or NAT may refer to: Computing * Network address translation (NAT), in computer networking Organizations * National Actors Theatre, New York City, U.S. * National AIDS trust, a British charity * National Archives of Thailand * National A ...
translation delay * Intermediate node store-and-forward processing delay * Packet retransmission time (in case of deleted packets in congested routers, or detected bit errors) * Delayed acknowledge due to flow control,
congestion avoidance Network congestion in data networking and queueing theory is the reduced quality of service that occurs when a network node or link is carrying more data than it can handle. Typical effects include queueing delay, packet loss or the blocking o ...
and processing delay


See also

*
Measuring network throughput Throughput 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 i ...
* Link and system
spectral efficiency Spectral efficiency, spectrum efficiency or bandwidth efficiency refers to the information rate that can be transmitted over a given bandwidth in a specific communication system. It is a measure of how efficiently a limited frequency spectrum is ut ...


References

{{Reflist


Sources


Goodput calculation

Energy-Efficient Power and Rate Control with QoS Constraints: A Game-Theoretic Approach

RFC 2647 — Benchmarking Terminology for Firewall Performance
Network performance