Goodput
Encyclopedia
In computer network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

s, goodput is the application level throughput
Throughput
In communication networks, such as Ethernet or packet radio, throughput or network throughput is the average rate of successful message delivery over a communication channel. This data may be delivered over a physical or logical link, or pass through a certain network node...

, i.e. the number of useful information bit
Bit
A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...

s, delivered by the network to a certain destination, per unit of time. The amount of data considered excludes protocol overhead
Protocol overhead
Protocol overhead refers to metadata and network routing information sent by an application, which uses a portion of the available bandwidth of a communications protocol...

 bits as well as retransmitted data packets. This is related to the amount of time from the first bit of the first packet is sent (or delivered) until the last bit of the last packet is delivered, see below.

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
Throughput
In communication networks, such as Ethernet or packet radio, throughput or network throughput is the average rate of successful message delivery over a communication channel. This data may be delivered over a physical or logical link, or pass through a certain network node...

 (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, channel capacity is the tightest upper bound on the amount of information that can be reliably transmitted over a communications channel...

 or bandwidth
Bandwidth (computing)
In computer networking and computer science, bandwidth, network bandwidth, data bandwidth, or digital bandwidth is a measure of available or consumed data communication resources expressed in bits/second or multiples of it .Note that in textbooks on wireless communications, modem data transmission,...

).

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
    Flow control
    In data communications, flow control is the process of managing the pacing of data transmission between two nodes to prevent a fast sender from outrunning a slow receiver. It provides a mechanism for the receiver to control the transmission speed, so that the receiving node is not overwhelmed with...

     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 (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

Imagine that a file is being transferred using HTTP over a switched Ethernet
Ethernet
Ethernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....

 connection with a total channel capacity
Channel capacity
In electrical engineering, computer science and information theory, channel capacity is the tightest upper bound on the amount of information that can be reliably transmitted over a communications channel...

 of 100 megabits per second. The file cannot be transferred over Ethernet as a single contiguous stream; instead, it must be broken down into individual chunks. These chunks must be no larger than the maximum transmission unit
Maximum transmission unit
In computer networking, the maximum transmission unit of a communications protocol of a layer is the size of the largest protocol data unit that the layer can pass onwards. MTU parameters usually appear in association with a communications interface...

 of Ethernet, which is 1500 byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...

s. Each packet requires 20 bytes of IP
Internet Protocol
The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...

 header information and 20 bytes of 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...

 header information, so only 1460 bytes are available per packet for the file transfer data itself (Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 systems, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 are further limited to 1448 bytes as they also carry a 12 bytes time stamp). Furthermore, the data are 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 some additional Ethernet overhead, such as the interframe gap
Interframe gap
Ethernet devices must allow a minimum idle period between transmission of Ethernet frames known as the interframe gap , interframe spacing, or interpacket gap . A brief recovery time between frames allows devices to prepare for reception of the next frame...

 (a minimum of 96 bit times), nor 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
Round-trip delay time
In telecommunications, the round-trip delay time or round-trip time is the length of time it takes for a signal to be sent plus the length of time it takes for an acknowledgment of that signal to be received...

 and the TCP window size in effect will rate-limit each individual TCP connection, see bandwidth-delay product
Bandwidth-delay product
In data communications, bandwidth-delay product refers to the product of a data link's capacity and its end-to-end delay . The result, an amount of data measured in bits , is equivalent to the maximum amount of data on the network circuit at any given time, i.e. data that has been transmitted but...

). 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
    Collision avoidance
    In spaceflight, collision avoidance is the process of preventing a spacecraft from colliding with any other vehicle or object.-Launch Windows:Collision avoidance, or COLA is a concern during spaceflight launch windows...

    )
  • data and overhead transmission delay
    Transmission delay
    In a network based on packet switching, transmission delay is the amount of time required to push all of the packet's bits into the wire. In other words, this is the delay caused by the data-rate of the link....

     (amount of data divided by bit rate
    Bit rate
    In telecommunications and computing, bit rate is the number of bits that are conveyed or processed per unit of time....

    )
  • propagation delay
    Propagation delay
    Propagation delay is a technical term that can have a different meaning depending on the context. It can relate to networking, electronics or physics...

     (distance divided by wave propagation speed),
  • packet queuing delay
    Queuing delay
    In telecommunication 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....

  • 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
    Flow control
    In data communications, flow control is the process of managing the pacing of data transmission between two nodes to prevent a fast sender from outrunning a slow receiver. It provides a mechanism for the receiver to control the transmission speed, so that the receiving node is not overwhelmed with...

    , congestion avoidance and processing delay
    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....

    .

See also

  • Bandwidth (computing)
    Bandwidth (computing)
    In computer networking and computer science, bandwidth, network bandwidth, data bandwidth, or digital bandwidth is a measure of available or consumed data communication resources expressed in bits/second or multiples of it .Note that in textbooks on wireless communications, modem data transmission,...

  • Throughput
    Throughput
    In communication networks, such as Ethernet or packet radio, throughput or network throughput is the average rate of successful message delivery over a communication channel. This data may be delivered over a physical or logical link, or pass through a certain network node...

  • Measuring network throughput
    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 in networks:...

  • Link and system spectral efficiency
    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...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK