您能否通过增加链路上的带宽来减少 RTT?

网络工程 协议理论 潜伏
2021-07-18 19:55:00

将链路上的带宽从 1mb 增加到 30mb 是否会降低 RTT?

我找到了一个答案说不。有人可以解释一下吗?

另外,减少 RTT 的最佳机制是什么?

4个回答

将链路上的带宽从 1mb 增加到 30mb 是否会降低 RTT?

简而言之,是的;您正在更改序列化延迟在 1Mbps 时,序列化延迟非常重要。

比较1Mbps 和 30Mbps 的 1500 字节数据包序列化延迟

1500 Bytes * 8 bits/Byte / 1,000,000 bits/second    = 12 milliseconds (at 1Mbps)
1500 Bytes * 8 bits/Byte / 30,000,000 bits/second   = 0.4 milliseconds (at 30Mbps)

还要记住,那些是单向数字;在考虑 RTT 时,您应该将它们加倍。您是否关心 1500 字节每个方向 11.6 毫秒的差异是另一个问题,但严格来说,您可以通过链接速度影响 RTT。

将链路上的带宽从 1mb 增加到 30mb 是否会降低 RTT?

不,严格来说,增加带宽并不会降低 RTT。我说“严格来说”是因为这取决于你测量的是什么!

场景一:物理层

给定以下易于遵循的简单拓扑,在具有 10 米电缆的两个设备之间以 1Mbps 运行且 MTU 为 1500 字节的铜质以太网连接具有相同的 RTT(ICMP 回声请求数据包所需的时间)从设备 1 传输到设备 2,ICMP 回显回复消息从设备 2 传输回设备 1) 作为它们之间的 10/30/50/100mbps 铜质以太网连接,在同一条 10 米电缆上使用 1500 字节 MTU。

这是因为信号在铜缆上的“延迟”与其辩证常数相对介电常数)有关。有关超出此处范围的物理学的其他信息,请参阅这两个 Wikipedia 页面。

本质上,当使用相同长度和等级的 Cat5e 电缆时,通过铜缆传输的电信号的“飞行时间”对于 10Mbps 和 1000Mbps 连接来说是相同的速度。不同之处在于,与 100Mbps 连接相比,10Mbps 连接数据编码到线路上的频率较低,因此数据位之间的间隙较小,因为它们被放置到线路上(这称为序列化延迟)。这两篇维基百科文章进一步扩展了这些概念:Bit timeSlot time

场景 2:第 4 层及以上(TCP 示例)

给定以下示例拓扑,铜质以太网连接以 1Mbps 的速度运行,MTU 为 1500 字节的两个设备之间使用 10 米电缆。如果您有 X 量的数据,我们假设它是 100 兆字节的数据在设备 1 和设备 2 之间传输,这将比使用 30 或 100Mbps 铜质以太网连接花费的时间更长,在 10 米上的 MTU 为 1500 字节相同的两个设备之间的铜缆。这是因为在线路上编码和传输数据需要更长的时间,并且接收网卡在接收和解码信号时同样慢。

这里的“实际数据”的 RTT 可能是一个 100MB 的文件将需要更长的时间,因为引入了更高级别的协议,您不仅必须传输数据,还可能使用额外的位时间在此处交换 SYN、ACK 和 PUSH 的数据包,在此之前在应用层,可以从设备 2 向设备 1 发送一条消息,说“我现在已经收到了所有数据”。

此外,减少 RTT 的最佳机制是什么。

简短回答:不多

长答案:

将其带入现实生活中的示例,扩展上述示例;如果您在通过多个中间路由器和/或交换机连接在一起的两个设备之间“ping”,那么 RTT 是物理距离和信号通过所有这些设备(基本上是)。如果在这些设备上配置QoS,也会增加端到端延迟并使模型进一步复杂化。

除了(在纯粹假设的情况下,金钱不是对象,政治无关紧要等)之外,您在这里无能为力;安装直接从设备 1 运行到设备 2 的光纤连接,切断其间的所有交换机和路由器。那将是一个理想的场景。实际上,您可以将任何铜缆或无线链路升级为光纤(不是光纤速度非常快 [ i ]、[ ii ])并尝试使连接路径尽可能直接,以便数据通过最少的中间设备和不同的物理连接。QoS 调整和流量工程(基于约束的路由)也可以帮助跨越更大的距离,中间有很多跳。

如果您想在您认为“RTT 太高”的点之间传输数据,您可以查看已经在许多地方使用的TCP SACK 之类的技术,但是如果您阅读它,它将为您提供一个起点,因为您可以研究其他类似的技术。这包括 WAN 加速器和压缩器等技术,尽管这会偏离本主题的范围。您必须考虑通过具有高 RTT 的链路传输数据BDP(带宽延迟乘积,[ iii ]) - 当使用 TCP 之类的东西时,这将始终阻碍您。

[i] 在铜电介质上的“飞行”时间与光纤波导非常相似

[ii] 不过这可能会改变,新的研究和技术有望将光纤中的光速从平均 0.6*c 提高到接近 1.0*c,http://www.orc.soton.ac.uk/ speedoflight.html

[iii] http://www.kehlet.cx/articles/99.html - BDP 示例

最直接影响 RTT 的是信令速度。看看以太网的发展历程:10M、100M、1G、10G、40G 和 100G。以下每个版本(40G 除外)都比前一个快 10 倍;传输一个比特的时间是原来的 1/10。传输完整 (1500B) 帧的时间下降了 10 倍。

因此,您问题的答案取决于链路层。如果带宽的变化在链接速度上没有相应的变化,那么它对 RTT 的影响很小——因为流量监管不是按比特完成的例如,我办公室的metro-e 连接在物理上是1G,但两端都被定型为100M。比特以 1G 的速度流动;以太网将根据需要进行延迟,以将平均值(超过 1 秒、10 秒等)保持在 100M 或以下。简单来说,单个帧以链路速度传输。

如果您在谈论 DSL,那么带宽的变化很可能也是链接速度的变化。但不总是。同步速度通常会高于配置文件速率。我的 DSL 线路同步向下 8M,向上 1M,但配置文件将其限制为 6/512k。我已经看到 Uverse 线路同步高达 60M,但仍然有 25M 的配置文件。

没有人提到链接加载。

在其他空链接上,1Mb 和 30Mb 之间没有太大区别 - 确保编码可以在 1/30 的时间内完成,但如果距离是主要因素,则可以忽略不计。

但是,如果 1Mb 链接负载过重(超载?),那么您会看到 ping 时间增加(并且波动)。

30Mb 链路上的相同流量负载仅占其容量的百分之几,因此 ping 时间将更快且更一致。

双向主动测量协议 (TWAMP) 定义了一种灵活的方法,用于测量支持该标准的网络中任意两个设备之间的往返 IP 性能。