2

我需要测量通过 LAN 通信的两个应用程序之间的单向延迟测量,并将结果报告给数据收集服务器。

客户端应用程序使用多播发送数据,然后通过两个服务器,最后一个服务器是此测试的终点,如下所示:

Agent -> multicast cloud -> server 1 -> server 2

我考虑过使用 NTP(或 LAN 的 PTP)来同步“代理”和“服务器 2”,但我想知道实现这一点的正确算法是什么,它的精度是多少。

如何执行此测量(使用 C#)?它的精度是多少?

更新:请注意,代理和服务器 2 之间正在处理数据,因此测量不是纯粹的网络方式。

4

1 回答 1

0

根本问题是在两台或多台机器之间同步时钟。

两台远程计算机之间的(时钟)同步

一旦你有了这个,你只需在创建/发送时添加一个“构造时间”到数据包本身。从开始到结束的单向延迟是“到达时间”减去“构建时间”

如果您不能信任中间节点,那么您必须让代理向服务器注册,它希望在特定时间发送数据包。那么从开始到结束的单向延迟是“到达时间”减去“预期到达时间”

于 2013-03-02T18:30:57.157 回答