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).[1] 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[2] 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 (shortened to LFN). As defined in RFC 1072, a network is considered an LFN if its bandwidth-delay product is significantly larger than 105 bits (12,500 bytes).
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.[3] 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)
- Residential DSL: 2 Mbit/s, 50 ms RTT
- Mobile broadband (HSDPA): 6 Mbit/s, 100 ms RTT
- Residential ADSL2+: 20 Mbit/s (from DSLAM to residential modem), 50 ms RTT
- Residential Cable internet (DOCSIS): 200 Mbit/s, 20 ms RTT
- High-speed terrestrial network: 1 Gbit/s, 1 ms RTT
- Ultra-high speed LAN: 100 Gbit/s, 30 μs RTT
- International research & education network: 100 Gbit/s, 200 ms RTT
References
- RFC 1072: Introduction
- Villamizar, Curtis; Song, Cheng (October 1, 1994). "High performance TCP in ANSNET". ACM SIGCOMM Computer Communication Review. 24 (5): 45–60. doi:10.1145/205511.205520.
- Mahdavi, Jamshid; Mathis, Matt; Reddy, Raghu. "Enabling High Performance Data Transfers". Pittsburgh Supercomputing Center. Archived from the original on November 7, 2015. Retrieved March 17, 2017.
See also
- Protocol spoofing
- Satellite internet
- Internet2
- Bufferbloat
- Many TCP variants have been customized for large bandwidth-delay products
- HSTCP, FAST TCP, BIC TCP, CUBIC TCP, H-TCP, Compound TCP, Agile-SD
- TCP window scale option
- For KiB vs KB see: Kibibyte