LEDBAT

Last updated

Low Extra Delay Background Transport (LEDBAT) is a way to transfer data on the Internet quickly without clogging the network. [1] LEDBAT was invented by Stanislav Shalunov [2] [3] and is used by Apple for software updates, by BitTorrent for most of its transfers [4] and by Microsoft SCCM software distribution points. [5] At one point in time, LEDBAT was estimated to carry 13–20% of Internet traffic. [4] [6] [3]

Contents

LEDBAT is a delay-based congestion control algorithm that uses all the available bandwidth while limiting the increase in delay; [2] [7] it does so by measuring one-way delay and using changes in the measurements to limit congestion that the LEDBAT flow itself induces in the network. LEDBAT is described in RFC 6817.

Design goals

LEDBAT congestion control has the following goals: [2]

  1. Use all available bandwidth, and to maintain a low queueing delay when no other traffic is present,
  2. Limit the queuing delay it adds to that induced by other traffic, and
  3. To yield quickly to standard TCP that share the same bottleneck link.

Implementations and deployment

The two main implementations are uTP by BitTorrent and as part of TCP by Apple. BitTorrent uses uTP for most traffic and makes the code available under an open-source license. [8] Apple uses LEDBAT for Software Updates so that large software downloads to macOS computers and iOS devices do not interfere with normal user activities; Apple also makes the source code available. [9]

Both of the above implementations aim to limit the network queuing delay to 100ms. This is the maximum allowed for by the standardized protocol. If one used a lower value, then it would be starved when the other was in use. [2] [9]

Windows 10 Anniversary Update introduced support for LEDBAT via undocumented socket option as an experimental Windows TCP Congestion Control Module and Windows Server 2019. [10] [11] [12]

Example

Assumptions:

  1. The clocks of the sender and the receiver are not synchronized.
  2. The sender sends at a fixed rate.

The sender sends 5 packets of data every 10 clock counts: 10, 20, 30, 40, 50. The units are unimportant. The receiver is receiving data not only from this particular sender but also from other sources. For the 5 packets that were sent, the receiver receives them at the following clock counts: 112, 135, 176, 250, 326. The first differences (one way delay) between the received and sent clock counts are: 102, 115, 146, 210, 276. The second differences (change in one way delay) are: 13 (115 - 102), 31, 64 and 66. The receiver will infer from the positive increase in one way delays that congestion is increasing and adjust the transfer rate accordingly.

See also

Related Research Articles

Quality of service (QoS) is the description or measurement of the overall performance of a service, such as a telephony or computer network, or a cloud computing service, particularly the performance seen by the users of the network. To quantitatively measure quality of service, several related aspects of the network service are often considered, such as packet loss, bit rate, throughput, transmission delay, availability, jitter, etc.

The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

Traffic shaping is a bandwidth management technique used on computer networks which delays some or all datagrams to bring them into compliance with a desired traffic profile. Traffic shaping is used to optimize or guarantee performance, improve latency, or increase usable bandwidth for some kinds of packets by delaying other kinds. It is often confused with traffic policing, the distinct but related practice of packet dropping and packet marking.

Explicit Congestion Notification (ECN) is an extension to the Internet Protocol and to the Transmission Control Protocol and is defined in RFC 3168 (2001). ECN allows end-to-end notification of network congestion without dropping packets. ECN is an optional feature that may be used between two ECN-enabled endpoints when the underlying network infrastructure also supports it.

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 of new connections. A consequence of congestion is that an incremental increase in offered load leads either only to a small increase or even a decrease in network throughput.

In computer networking, the Datagram Congestion Control Protocol (DCCP) is a message-oriented transport layer protocol. DCCP implements reliable connection setup, teardown, Explicit Congestion Notification (ECN), congestion control, and feature negotiation. The IETF published DCCP as RFC 4340, a proposed standard, in March 2006. RFC 4336 provides an introduction.

Network performance refers to measures of service quality of a network as seen by the customer.

Transmission Control Protocol (TCP) uses a congestion control algorithm that includes various aspects of an additive increase/multiplicative decrease (AIMD) scheme, along with other schemes including slow start and congestion window (CWND), to achieve congestion avoidance. The TCP congestion-avoidance algorithm is the primary basis for congestion control in the Internet. Per the end-to-end principle, congestion control is largely a function of internet hosts, not the network itself. There are several variations and versions of the algorithm implemented in protocol stacks of operating systems of computers that connect to the Internet.

In telecommunications and computer networking, connection-oriented communication is a communication protocol where a communication session or a semi-permanent connection is established before any useful data can be transferred. The established connection ensures that data is delivered in the correct order to the upper communication layer. The alternative is called connectionless communication, such as the datagram mode communication used by Internet Protocol (IP) and User Datagram Protocol, where data may be delivered out of order, since different network packets are routed independently and may be delivered over different paths.

TCP tuning techniques adjust the network congestion avoidance parameters of Transmission Control Protocol (TCP) connections over high-bandwidth, high-latency networks. Well-tuned networks can perform up to 10 times faster in some cases. However, blindly following instructions without understanding their real consequences can hurt performance as well.

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. Packet loss is measured as a percentage of packets lost with respect to packets sent.

Bandwidth management is the process of measuring and controlling the communications on a network link, to avoid filling the link to capacity or overfilling the link, which would result in network congestion and poor performance of the network. Bandwidth is described by bit rate and measured in units of bits per second (bit/s) or bytes per second (B/s).

Compound TCP (CTCP) is a Microsoft algorithm that was introduced as part of the Windows Vista and Window Server 2008 TCP stack. It is designed to aggressively adjust the sender's congestion window to optimise TCP for connections with large bandwidth-delay products while trying not to harm fairness. It is also available for Linux, as well as for Windows XP and Windows Server 2003 via a hotfix.

The TCP window scale option is an option to increase the receive window size allowed in Transmission Control Protocol above its former maximum value of 65,535 bytes. This TCP option, along with several others, is defined in RFC 7323 which deals with long fat networks (LFNs).

In computing, Microsoft's Windows Vista and Windows Server 2008 introduced in 2007/2008 a new networking stack named Next Generation TCP/IP stack, to improve on the previous stack in several ways. The stack includes native implementation of IPv6, as well as a complete overhaul of IPv4. The new TCP/IP stack uses a new method to store configuration settings that enables more dynamic control and does not require a computer restart after a change in settings. The new stack, implemented as a dual-stack model, depends on a strong host-model and features an infrastructure to enable more modular components that one can dynamically insert and remove.

Micro Transport Protocol is an open User Datagram Protocol-based (UDP-based) variant of the BitTorrent peer-to-peer file sharing protocol intended to mitigate poor latency and other congestion control problems found in conventional BitTorrent over Transmission Control Protocol (TCP), while providing reliable, ordered delivery.

Bufferbloat is a cause of high latency and jitter in packet-switched networks caused by excess buffering of packets. Bufferbloat can also cause packet delay variation, as well as reduce the overall network throughput. When a router or switch is configured to use excessively large buffers, even very high-speed networks can become practically unusable for many interactive applications like voice over IP (VoIP), audio streaming, online gaming, and even ordinary web browsing.

The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the protocol provides the message-oriented feature of the User Datagram Protocol (UDP), while ensuring reliable, in-sequence transport of messages with congestion control like the Transmission Control Protocol (TCP). Unlike UDP and TCP, the protocol supports multihoming and redundant paths to increase resilience and reliability.

Zeta-TCP refers to a set of proprietary Transmission Control Protocol (TCP) algorithms aiming at improving the end-to-end performance of TCP, regardless of whether the peer is Zeta-TCP or any other TCP protocol stack, in other words, to be compatible with the existing TCP algorithms. It was designed and implemented by AppEx Networks Corporation.

QUIC is a general-purpose transport layer network protocol initially designed by Jim Roskind at Google, implemented, and deployed in 2012, announced publicly in 2013 as experimentation broadened, and described at an IETF meeting. QUIC is used by more than half of all connections from the Chrome web browser to Google's servers. Microsoft Edge, Firefox and Safari support it.

References

  1. McMillan, Robert. "How the Large Hadron Collider Will Bring the Internet to Everything". WIRED. Retrieved 2018-10-09.
  2. 1 2 3 4 Mirja, Kuehlewind; Greg, Hazel; Stanislav, Shalunov; Janardhan, Iyengar (December 2012). "Low Extra Delay Background Transport (LEDBAT)". tools.ietf.org. doi:10.17487/RFC6817.
  3. 1 2 Tammy Parker (December 10, 2012). "Open Garden to enable channel bonding over Wi-Fi, 3G and 4G - FierceWirelessTech". Archived from the original on 2016-03-30.
  4. 1 2 This Is How Your BitTorrent Downloads Move So Fast, July 29, 2013, Retrieved November 24, 2013
  5. aczechowski. "Content management fundamentals - Configuration Manager". docs.microsoft.com. Retrieved 2019-04-02.
  6. By Gabe Stein, Former BitTorrent Engineer Thinks He Can Fix Your Wi-Fi--For Good, July 24, 2013, Retrieved November 24, 2013
  7. BY ROBERT MCMILLAN, THE INTERNET OF THINGS, July 21, 2013, Retrieved November 24, 2013
  8. Libutp - The uTorrent Transport Protocol library, Retrieved November 24, 2013
  9. 1 2 "Tcp_ledbat.c".
  10. "Announcing: New Transport Advancements in the Anniversary Update for Windows 10 and Windows Server 2016". Archived from the original on 2018-10-09. Retrieved 2017-04-17.
  11. Microsoft (2017). "LEDBAT++: Low priority TCP Congestion Control in Windows" (PDF).
  12. "Top 10 Networking Features in Windows Server 2019: #9 LEDBAT – Latency Optimized Background Transport". Archived from the original on 2018-08-17. Retrieved 2018-08-17.