|BDP||The Bandwidth*Delay Product, or BDP for short determines the amount of data that can be in transit in the network. It is the product of the available bandwidth and the latency, or RTT. BDP is a very important concept in a Window based protocol such as TCP. It plays an especially important role in high-speed / high-latency networks, such as most broadband internet connections. It is one of the most important factors of tweaking TCP in order to tune systems to the type of network used.
The BDP simply states that:
BDP (bits) = total_available_bandwidth (bits/sec) x round_trip_time (sec)
or, since RWIN/BDP is usually in bytes, and latency is measured in milliseconds:
BDP (bytes) = total_available_bandwidth (KBytes/sec) x round_trip_time (ms)
What does it all mean? The TCP Window is a buffer that determines how much data can be transferred before the server waits for acknowledgement. It is in essence bound by the BDP. If the BDP (or RWIN) is lower than the product of the latency and available bandwidth, we can't fill the line since the client can't send acknowledgements back fast enough. A transmission can't exceed the (RWIN / latency) value, so RWIN needs to be large enough to fit the maximum_available_bandwidth x maximum_anticipated_delay.