带宽 * 延迟积

带宽 * 延迟积

我正在尝试计算各个主机之间的带宽延迟积,并读取这篇维基文章, 我很困惑。

来自文章;

住宅 ADSL2+:20 Mbit/s(从 DSLAM 到住宅调制解调器),50 ms RTT

B×D = 20×106 b/s × 50×10-3 s = 106 b,或 1 Mb,或 125 kB。

我测试的其中一个连接是 ADSL2+ 连接,用于测试主机。它的下行同步速率为“11006 kbps”,我估计 10000Kbps 是合理的理论最大吞吐量。当从 ADSL2+ 线路“ping”测试主机时,我得到的 RTT 为 29ms。测试主机通过 100Mbps 以太网连接连接到“Internet”。

现在,这是令人困惑的部分; 对服务器进行速度测试(它正在运行 speedtest.net 的迷你速度测试应用程序的副本)我得到的下行速度为 9.23Mbps。根据该 Wiki 文章,10000000bps * 0.029s = 290000bps(290 Kbps),这比我的 9.23Mbps 低得多。

我是否遗漏了一些显而易见的东西,或者文章有误?

答案1

我正在尝试计算各个主机之间的带宽延迟积...我是否遗漏了一些显而易见的东西,或者文章是否有误?

您只是缺少单位;当您将 bps 乘以秒时,您会得到以位为单位的单位:

10Mbps * .029s = 2900000.0 位(362500 字节)

本文的重点是强调了 TCP 窗口需要达到什么程度才能避免因“长胖网络”而导致的延迟。引用RFC 1072

最近对 TCP 性能的研究表明,TCP 可以在各种 Internet 路径上很好地工作,范围从 800 Mbit/sec I/O 通道到 300 bit/sec 拨号调制解调器 [Jacobson88]。但是,对于一种传输机制,仍然存在一个基本的 TCP 性能瓶颈:具有高带宽和长往返延迟的路径。重要的参数是带宽(每秒位数)和往返延迟(以秒为单位的 RTT)的乘积;此乘积是“填充管道”所需的位数,即 TCP 必须处理的未确认数据量,以保持管道满载。当此乘积很大时,例如大大超过 10**5 位,就会出现 TCP 性能问题。我们将在此区域内运行的 Internet 路径称为“长而粗的管道”,将包含此路径的网络称为“LFN”(发音为“elephan(t)”)。

在此特定情况下,TCP 需要为您提供一个缩放的窗口大小,大约为 362KB。现代 TCP 实现(正确实现RFC 1323) 不会遭受与 LFN 相关的问题。

相关内容