Low Extra Delay Background Transport (LEDBAT) is a way to transfer
data
In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpret ...
on the
Internet
The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a ''internetworking, network of networks'' that consists ...
quickly without clogging the network. LEDBAT was invented by
Stanislav Shalunov
Open Garden, Inc. is an American mobile virtual network operator (MVNO) based in Miami, Florida, that sells eSIM-based prepaid mobile data subscriptions.
History
Open Garden, Inc. was co-founded in 2011 by businessman Micha Benoliel, Inter ...
and is used by
Apple
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ances ...
for
software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
updates, by
BitTorrent for most of its transfers
[This Is How Your BitTorrent Downloads Move So Fast](_blank)
July 29, 2013, Retrieved November 24, 2013 and by
Microsoft SCCM software distribution points. At one point in time, LEDBAT was estimated to carry 13–20% of
Internet traffic
Internet traffic is the flow of data within the entire Internet, or in certain network links of its constituent networks. Common traffic measurements are total volume, in units of multiples of the byte, or as transmission rates in bytes per cert ...
.
LEDBAT is a delay-based
congestion control
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 ...
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
that uses all the available
bandwidth
Bandwidth commonly refers to:
* Bandwidth (signal processing) or ''analog bandwidth'', ''frequency bandwidth'', or ''radio bandwidth'', a measure of the width of a frequency range
* Bandwidth (computing), the rate of data transfer, bit rate or thr ...
while limiting the increase in delay;
it does so by measuring
one-way delay
End-to-end delay or one-way delay (OWD) refers to the time taken for a packet to be transmitted across a network from source to destination. It is a common term in IP network monitoring, and differs from round-trip time (RTT) in that only path ...
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:
# Use all available bandwidth, and to maintain a low
queueing 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 ...
when no other traffic is present,
# Limit the queuing delay it adds to that induced by other traffic, and
# 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
An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified and/or shared under defined terms and conditions. This allows end users and commercial compan ...
. Apple uses LEDBAT for Software Updates so that large software downloads to
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 (computer), Mac computers. Within the market of ...
computers and
iOS devices
Comparison of models
Legend
Supported
Unsupported (64-bit CPU)
Unsupported (32-bit CPU)
iPhone systems-on-chips
Timeline
Geekbench benchmark scores
Note: Hardware reviewers have commented that these benc ...
do not interfere with normal user activities; Apple also makes the
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
available.
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.
Windows 10
Windows 10 is a major release of Microsoft's Windows NT operating system. It is the direct successor to Windows 8.1, which was released nearly two years earlier. It was released to manufacturing on July 15, 2015, and later to retail on ...
Anniversary Update introduced support for LEDBAT via undocumented socket option as an experimental Windows TCP Congestion Control Module and
Windows Server 2019
Windows Server 2019 is the ninth version of the Windows Server operating system by Microsoft, as part of the Windows NT family of operating systems. It is the second version of the server operating system based on the Windows 10 platform, after ...
.
Example
Assumptions:
# The clocks of the sender and the receiver are not synchronized.
# 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
*
TCP congestion control
Transmission Control Protocol (TCP) uses a network congestion-avoidance algorithm that includes various aspects of an additive increase/multiplicative decrease (AIMD) scheme, along with other schemes including slow start and congestion wind ...
References
{{reflist
Network protocols