Bandwidth-Delay Product(BDP) 頻寬-延遲乘積
From Wikipedia, the free encyclopedia
In data communications, bandwidth-delay product refers to the product of a data link's capacity (in bits per second) and its end-to-end delay(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 received. Sometimes it is calculated as the data link's capacity times its round trip time[1].
Obviously, the bandwidth-delay product is higher for faster circuits with long-delay links such as GEO satellite connections. The product is particularly important for protocols such as TCP that guarantee reliable delivery, as it describes the amount of yet-unacknowledged data that the sender has to duplicate in a buffer memory in case the client requires it to re-transmit a garbled or lost packet.[2]
A network with a large bandwidth-delay product is commonly known as a long fat network (shortened to LFN and often pronounced "elephant"). As defined in RFC 1072, a network is considered an LFN if its bandwidth-delay product is significantly larger than 105 bits (~12kB).
[edit]Examples
- Customer on a DSL link, 1 Mbit/s, 200 ms one-way delay: 200 kbit = 25 kB
- High-speed terrestrial network: 100 Mbit/s, 100 ms: 10 Mbit = 1.25 MB
- Server on a long-distance 1 Gbit/s link, average one-way delay 300 ms = 300 Mbit = 37.5 MB total required for buffering
- TCP 的性能取決於幾個方面的因素。兩個最重要的因素是鏈接帶寬(link bandwidth)(報文在網絡上傳輸的速率)和 往返時間(round-trip time) 或 RTT(發送報文與接收到另一端的響應之間的延時)。這兩個值確定了稱為 Bandwidth Delay Product(BDP)的內容。
給定鏈接帶寬和 RTT 之後,您就可以計算出 BDP 的值了,不過這代表什麼意義呢?BDP 給出了一種簡單的方法來計算理論上最優的 TCP socket 緩衝區大小(其中保存了排隊等待傳輸和等待應用程序接收的數據)。如果緩衝區太小,那麼 TCP 窗口就不能完全打開,這會對性能造成限制。如果緩衝區太大,那麼寶貴的內存資源就會造成浪費。如果您設置的緩衝區大小正好合適,那麼就可以完全利用可用的帶寬。
下面我們來看一個例子:
- BDP = link_bandwidth * RTT
- 100MBps * 0.050 sec / 8 = 0.625MB = 625KB
- throughput = window_size / RTT
110KB / 0.050 = 2.2MBps
- 625KB / 0.050 = 12.5MBps
Comments