测量单向数据包延迟:所需的任何同步



我有一台机器以恒定速率(每x毫秒发送一台)向另一台机器发送数据包。我需要测量每个数据包的单向延迟。 一个想法可能是让第一台机器记录它发送第一个数据包的时刻,一旦完成所有传输,让第二台机器知道它,这样它就可以计算从该值开始的每个数据包的延迟。

我在这里需要任何特定的同步吗?我不知道这是否会在我的测量中产生相当大的误差。

  1. 向目标发送 10k 个单向数据包。
  2. 向目标发送"已完成"消息
  3. 带有"全部收到"的目标回复
  4. 回复到达后,您知道花了多长时间

由于需要确认消息,测量中会出现微小的系统误差,但误差会很小。在现实世界的延迟下,它完全有效。计算出的延迟为:(a*10000+a+b)/(10000+1+1) 。对于a~b这个词就变成了a

或者,严格同步时钟(困难)和发送时间戳。

最新更新