# 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 maximum amount of data on the network circuit at any given time, i.e., data that has been transmitted but not yet acknowledged. The bandwidth-delay product was originally proposed as a rule of thumb for sizing router buffers in conjunction with congestion avoidance algorithm random early detection (RED).
A network with a large bandwidth-delay product is commonly known as a long fat network (LFN). As defined in RFC 1072, a network is considered an LFN if its bandwidth-delay product is significantly larger than 10$^5$ bits (12,500 bytes).

## Details

Ultra-high speed local area networks (LANs) may fall into this category, where protocol tuning is critical for achieving peak throughput, on account of their extremely high bandwidth, even though their delay is not great. While a connection with 1 Gbit/s and a round-trip time below 100 μs is no LFN, a connection with 100 Gbit/s would need to stay below 1 μs RTT to not be considered an LFN.
An important example of a system where the bandwidth-delay product is large is that of geostationary satellite connections, where end-to-end delivery time is very high and link throughput may also be high. The high end-to-end delivery time makes life difficult for stop-and-wait protocols and applications that assume rapid end-to-end response.
A high bandwidth-delay product is an important problem case in the design of protocols such as Transmission Control Protocol (TCP) in respect of TCP tuning, because the protocol can only achieve optimum throughput if a sender sends a sufficiently large quantity of data before being required to stop and wait until a confirming message is received from the receiver, acknowledging successful receipt of that data. If the quantity of data sent is insufficient compared with the bandwidth-delay product, then the link is not being kept busy and the protocol is operating below peak efficiency for the link. Protocols that hope to succeed in this respect need carefully designed self-monitoring, self-tuning algorithms. The TCP window scale option may be used to solve this problem caused by insufficient window size, which is limited to 65,535 bytes without scaling.

## Examples

* Moderate speed satellite network: 512 kbit/s, 900 ms round-trip time (RTT)
${\begin{aligned}B\times D&=512\times 10^{3}{\text{ bit/s}}\cdot 900\times 10^{-3}{\text{ s}}\\&=460,800{\text{ bit}}=460.8{\text{ kbit}}=57.6{\text{ kB}}\end{aligned}}$
* Residential DSL: 2 Mbit/s, 50 ms RTT${\begin{aligned}B\times D&=2\times 10^{6}{\text{ bit/s}}\cdot 50\times 10^{-3}{\text{ s}}\\&=100\times 10^{3}{\text{ bit}}=100{\text{ kbit}}=12.5{\text{ kB}}\end{aligned}}$
* Mobile broadband (HSDPA): 6 Mbit/s, 100 ms RTT${\begin{aligned}B\times D&=6\times 10^{6}{\text{ bit/s}}\cdot 100\times 10^{-3}{\text{ s}}\\&=600\times 10^{3}{\text{ bit}}=600{\text{ kbit}}=75{\text{ kB}}\end{aligned}}$
* Residential ADSL2+: 20 Mbit/s (from DSLAM to residential modem), 50 ms RTT${\begin{aligned}B\times D&=2\times 10^{7}{\text{ bit/s}}\cdot 50\times 10^{-3}{\text{ s}}\\&=10^{6}{\text{ bit}}=1{\text{ Mbit}}=125{\text{ kB}}\end{aligned}}$
* Residential Cable internet (DOCSIS): 200 Mbit/s, 20 ms RTT${\begin{aligned}B\times D&=2\times 10^{8}{\text{ bit/s}}\cdot 20\times 10^{-3}{\text{ s}}\\&=4\times 10^{6}{\text{ bit}}=4{\text{ Mbit}}=500{\text{ kB}}\end{aligned}}$
* High-speed terrestrial network: 1 Gbit/s, 1 ms RTT${\begin{aligned}B\times D&=10^{9}{\text{ bit/s}}\times 10^{-3}{\text{ s}}\\&=10^{6}{\text{ bit}}=1{\text{ Mbit}}=125{\text{ kB}}\end{aligned}}$
* Ultra-high speed LAN: 100 Gbit/s, 30 μs RTT${\begin{aligned}B\times D&=100\times 10^{9}{\text{ bit/s}}\cdot 30\times 10^{-6}{\text{ s}}\\&=3\times 10^{6}{\text{ bit}}=3{\text{ Mbit}}=375{\text{ kB}}\end{aligned}}$
* International research & education network: 100 Gbit/s, 200 ms RTT${\begin{aligned}B\times D&=100\times 10^{9}{\text{ bit/s}}\cdot 0.2{\text{ s}}\\&=2\times 10^{10}{\text{ bit}}=20{\text{ Gbit}}=2.5{\text{ GB}}\end{aligned}}$

## TCP congestion control algorithms

Many TCP variants have been customized for large bandwidth-delay products:
* HSTCP
* FAST TCP
* BIC TCP
* CUBIC TCP
* H-TCP
* Compound TCP
* Agile-SD