HOME

TheInfoList



OR:

In computer networks, goodput (a
portmanteau In linguistics, a blend—also known as a blend word, lexical blend, or portmanteau—is a word formed by combining the meanings, and parts of the sounds, of two or more words together.
of
good 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. The specific meaning and etymology of the term and its ...
and
throughput Network throughput (or just throughput, when in context) refers to the rate of message delivery over a communication channel in a communication network, such as Ethernet or packet radio. The data that these messages contain may be delivered ov ...
) 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 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 Channel capacity, in electrical engineering, computer science, and information theory, is the theoretical maximum rate at which information can be reliably transmitted over a communication channel. Following the terms of the noisy-channel coding ...
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'': 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 message) and timeout ...
(ARQ), caused by bit errors or packet dropping in congested switches and routers, is included in the datalink layer or network layer throughput but not in the goodput.


Example

Over Ethernet, files are broken down into individual chunks for transmission. These chunks are no larger than the maximum transmission unit of IP over Ethernet, or 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 un ...
s. Each packet requires 20 bytes of
IPv4 Internet Protocol version 4 (IPv4) is the first version of the Internet Protocol (IP) as a standalone specification. It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. ...
header information and 20 bytes of TCP header information, leaving 1460 bytes per packet for file data (
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
and
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
are further limited to 1448 bytes as they also carry a 12-byte time stamp). 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 which is 95.67 megabits per second or 11.959 megabytes per second. Note that this example doesn't consider 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 adds the overhead of acknowledgements (which along with the round-trip delay time and the TCP window size in effect rate-limit each individual TCP connection, see bandwidth-delay product). This example 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, for example in the electromagnetic field, a wire, speed of sound, gas, fluid or seismic wave, solid body. Physics * An electromagnetic wave travelling through ...
(distance divided by wave propagation speed) * Packet
queuing delay In telecommunications and computer engineering, the queuing 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 completion of si ...
* NAT 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 and
processing delay In a network based on packet switching, processing delay is the time it takes routers to process the packet header. Processing delay is a key component in network delay. During processing of a packet, routers may check for bit-level errors in t ...


See also

* Measuring network throughput * Link and system spectral efficiency


References


Sources


Goodput calculation
{{Webarchive, url=https://web.archive.org/web/20100818222126/http://mailman.isi.edu/pipermail/ns-users/2001-June/015799.html , date=2010-08-18
Energy-Efficient Power and Rate Control with QoS Constraints: A Game-Theoretic Approach

RFC 2647 — Benchmarking Terminology for Firewall Performance
Network performance