Networking 确定网络中的不对称延迟

Networking 确定网络中的不对称延迟,networking,tcp,udp,latency,cluster-computing,Networking,Tcp,Udp,Latency,Cluster Computing,想象一下,在异构网络环境中,跨多个主机有多个群集服务器,因此服务器之间的连接可能具有各种各样的延迟和带宽。您希望通过在服务器之间传输数据来构建服务器之间连接的映射 当然,随着网络拓扑结构的变化,这张地图可能会随着时间的推移而变得陈旧——但现在让我们忽略这些复杂性,假设网络是相对静态的 鉴于此主机图中节点之间的延迟,计算带宽是一项相对简单的计时工作。然而,我在延迟方面遇到了更多的困难。要获得往返时间,只需对从本地主机到远程主机的往返ping进行计时—两个计时事件(启动、停止)都发生在本地主机上 如

想象一下,在异构网络环境中,跨多个主机有多个群集服务器,因此服务器之间的连接可能具有各种各样的延迟和带宽。您希望通过在服务器之间传输数据来构建服务器之间连接的映射

当然,随着网络拓扑结构的变化,这张地图可能会随着时间的推移而变得陈旧——但现在让我们忽略这些复杂性,假设网络是相对静态的

鉴于此主机图中节点之间的延迟,计算带宽是一项相对简单的计时工作。然而,我在延迟方面遇到了更多的困难。要获得往返时间,只需对从本地主机到远程主机的往返ping进行计时—两个计时事件(启动、停止)都发生在本地主机上

如果在假设延迟在两个方向上不相等的情况下,我想要单向时间,该怎么办?假设不同主机上的时钟没有精确同步(至少它们的误差和所涉及的延迟大小相同)——如何计算单向延迟

在一个相关的问题中,这种不对称延迟(一个链接的方向比另一个链接的方向快)在实践中是否常见?出于什么原因/硬件配置?当然,我知道带宽不对称的情况,特别是在最后一英里消费者链路上,如DSL和电缆,但我不太确定延迟


补充道:在考虑了下面的评论之后,问题的第二部分可能更好。

据我所知,不对称延迟——特别是“最后一英里”不对称——无法自动确定,因为任何网络时间同步协议都同样受到相同不对称性的影响,所以您没有一个参考点来评估不对称性

例如,如果每个端点都有自己的GPS时钟,那么您就有了一个参考点

在中,作者指出,延迟测量需要在被测量系统外部进行时钟同步。(粗体强调,原文为斜体。)

非对称延迟只能通过发送带有时间戳ts的消息,并让接收方从tr-ts中得出延迟,其中tr是接收时间来测量。这需要发送方和接收方之间的时钟同步。如果没有外部时钟同步(如使用GPS接收机或网络时间协议(NTP)等专用软件),时钟只能同步到两台主机之间往返时间的粒度[10],这对于测量网络延迟是无用的


但是,没有基于网络的算法(如NTP)能够消除最后一英里链路问题,因为算法本身的每个输入都将统一服从最后一英里链路的性能特征,因此不是上述意义上的“外部”。(我相信有可能构造一个证明,但我现在没有时间来构造一个。)

您可以通过向返回固定大小数据包的端口发送不同大小的数据包来测量链路上的不对称延迟,就像向回复icmp错误消息的端口发送一些udp数据包一样。icmp错误消息的大小始终相同,但您可以调整正在发送的udp数据包的大小


请参见

有一个名为单向Ping(OWAMP)的项目专门用于解决此问题。在LKML中可以看到向传入数据包添加高分辨率时间戳(
SO\u TIMESTAMP
SO\u TIMESTAMP
等)的活动,以帮助计算此统计数据

甚至还有一个Java版本:

请注意,数据包时间戳确实需要硬件支持,并且许多当前一代NIC仅提供毫秒分辨率,这可能与主机时钟不同步。DDK中有一些MSDN文章介绍了同步主机和NIC时钟的潜在问题。由于核心差异,TSC以纳秒为单位的时间戳存在问题,可能需要Nehalem架构以所需的分辨率正常工作


如果没有同步时钟,不对称性无法测量,正如2011年论文《网络同步时钟的基本限制》所证明的那样。

是这一领域的一项新发展,它使用与附近NTP服务器的时钟同步,或以GNSS机箱的形式使用更精确的源来估计不对称延迟


详细介绍了该方法。

对于serverfault来说,这是一个很好的问题。我很难确定是将其放在这里还是serverfault,但我在这里解决了,因为我认为这是一个纯粹的网络编程问题,而不是SF存在理由中的管理问题:“服务器故障适用于系统管理员和IT专业人员,他们以专业的身份管理或维护计算机。”然而,我承认,什么可能导致这种不对称延迟的子问题(而不是如何计算延迟的理论问题)在SF上可能更好。我想知道。你能证明它,或者提供一个参考吗?提供了参考和解释。你假设传输时间仅仅是数据包大小的函数-这不一定是真的,我没有时间阅读整篇文章,但从摘要来看,这是关于确定不对称带宽的。当我t说“不对称连接”,它不是在谈论AFAI可以看到的延迟。它甚至不是专门谈论一根管道上下连接的不对称性。