将链接的带宽从1mb增加到30mb会降低RTT吗?

我找到了一个答案,否。有人可以解释吗?

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

评论

有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以发布并接受自己的答案。

#1 楼


将链路的带宽从例如1mb增加到30mb会降低RTT吗?


简而言之,是的;您正在更改序列化延迟;在1Mb​​ps的情况下,串行化延迟非常重要。

比较在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。

评论


例如,在100m以太网链路上1m对比30m不会造成任何影响。每个帧,atm单元等均以链接速度移动。

–瑞奇
2014年6月15日19:08

与以太网一样普遍,没有人说任何有关它的信息,因此现在坚持认为它是必需的还为时过早。有很多没有以太网的WAN服务。 NIC中的原始比特率应在以上公式中使用

–迈克·彭宁顿
14年6月15日在20:24

嗨,迈克,感谢您的回答,不胜感激。如果我只是使用ping怎么办?如果我从一端ping到另一端,则ping RTT将从100Mb链路到1Gb链路都保持不变。 (完成不同的物理NIC)不将任何数据从一个点传输到考虑了序列化延迟的另一点。谢谢

– NetworkNinja
2014年6月16日在1:45



请说明通过减少延迟来解决的问题。听起来您可能正在尝试解决特定问题,但我们需要更多有关此问题的信息

–迈克·彭宁顿
14年6月16日在10:37

#2 楼


将链路上的带宽从例如1mb增加到30mb会减少RTT吗?


不,严格地说,增加带宽不会减少RTT。我说“严格来说”是因为它取决于您要测量的内容!

方案1:物理层

给出了以下易于遵循的简单拓扑,铜线以太网连接以10米长的电缆在两个设备之间以1Mbps的速度运行且MTU为1500字节,具有相同的RTT(ICMP回显请求数据包从设备1传递到设备2和ICMP回显应答所花费的时间消息从设备2作为设备之间的10/30/50 / 100mbps铜缆以太网连接以一条1500字节的MTU在同一根10米电缆上传输。

这是因为“铜电缆上的信号延迟”与其辩证常数(相对介电常数)有关。有关物理方面的其他信息,请参见这两个Wikipedia页面,此处不包括在内。

基本上,铜缆上的电信号的“飞行时间”对于10Mbps和1000Mbps而言是相同的速度使用相同长度和等级的Cat5e电缆时的连接。区别在于,与10Mbps连接相比,连接速率为10Mbps时,将数据编码到线路上的频率较低,因此,将数据位放在连接线上时,数据位之间的间隙较小(这称为序列化延迟)。这两篇Wikipedia文章进一步扩展了这些概念:位时间和时隙时间。

方案2:第4层及以上(TCP示例)

给定以下示例拓扑,铜线以太网连接以10米的电缆在两个设备之间以1Mbps的速度运行,MTU为1500字节。如果您要假设X的数据量是要在设备1和设备2之间传输的100 MB数据,则与30或100Mbps铜缆以太网连接(在10米上的MTU为1500字节)所花费的时间相比,将花费更长的时间。同一两个设备之间的铜缆。这是因为在网络上编码和传输数据需要更长的时间,并且接收NIC在接收和解码信号方面同样慢。

“实际数据”的RTT可能是单个100MB的文件将花费更长的时间,因为引入更高级别的协议后,您不仅必须传输数据,而且在此处可能需要使用额外的比特时间来交换SYN,ACK和PUSH的数据包,然后才能在应用层从设备发送消息。设备2上显示“我现在已经收到所有数据”。


另外,减少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示例

评论


谢谢您的回答本斯利。因此,如果我想改善与ISP的ping关系(可以说我的ISP中有专用服务器),是否可以通过增加我在办公室的链接来减少对它们的ping?谢谢

– NetworkNinja
14年6月16日在1:49

除非您进行了重大更改,否则,如果您当前拥有无线链路并且去了光纤,或者您有一条铜缆ADSL链路在到达服务器之前已经通过许多路由器(就像ADSL一样),那么可能会改用光纤降低RTT。尽管在同一链路上从10mbps变为30mbps不会改变RTT。=(也许几纳秒!不过您什么都不会注意到)。这是因为您的信号通常通过较少的设备传输到达目的地...

– jwbensley
14年6月16日在20:37

...如果您的铜线连接超过10英里,则由于必须重复信号,因此需要将其连接到许多交换机和/或路由器。每次将其他设备插入路径时,RTT都会增加。这是因为接收信号的每个设备都必须先对其进行解释,然后再转发。比较1Gbps连接和10Gbps连接时,您每秒不会移动1Gb数据10次,每秒每秒移动10Gb数据(您正在移动更多数据,而不是更快地移动数据)

– jwbensley
14年6月16日在20:42

@networkninja为什么您如此着迷于减少ping时间。如果您确实在1Mbps链路上,则ping并不总是准确衡量延迟的方法,因为它可能与实际流量的数据包大小不同

–user5025
2014年6月17日14:08

#3 楼

最直接影响RTT的是信令速度。看一下以太网在10M,100M,1G,10G,40G和100G上的演进。每个后续版本(40G除外)的速度都比以前快10倍;传输单个位的时间是该位的1/10。传输完整(1500B)帧的时间减少了10倍。

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

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

#4 楼

没有人提到链接加载。

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

但是,如果1Mb链路负载很重(超载?),则您会发现ping时间增加(并且波动)。

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

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

评论


我相信您正在谈论排队延迟

–迈克·彭宁顿
14年6月16日在10:33

#5 楼

真正的答案很复杂。

延迟是由多个组成部分组成的。


通过物理介质花费的时间
坐在那里的时间队列
用于序列化和反序列化数据的时间
处理时间br />通过拥有更快的链接,通常可以减少坐在队列中的时间。因此,将花费大量时间对数据进行序列化和反序列化。

对处理的影响可能会变得复杂。如果处理步骤保持不变,则通常将以更快的数据速率花费较少的时间。但是,旨在从现有链路中提取更多带宽的技术也可能会引入额外的处理延迟。 DSL交织就是一个典型的例子。