我需要测量通过LAN进行通信的两个应用程序之间的单向延迟测量,并将结果报告给数据收集服务器。
客户端应用程序使用多播发送数据,然后通过两个服务器,最后一个服务器是此测试的终点,如下所示:
Agent -> multicast cloud -> server 1 -> server 2
我考虑过使用NTP(或PTP for LAN)同步“代理”和“服务器2”,但我想知道什么是正确的算法来实现它以及它的精确度。
如何执行此测量(使用C#)?它的精确度是多少?
更新:请注意,代理和服务器2之间正在处理数据,因此测量结果不是纯粹的网络。
答案 0 :(得分:0)
潜在问题是在两台或多台机器之间同步时钟。
Synchronization (of clocks) between two remote computers
一旦你有这个,你只需添加一个“建设时间”添加到数据包本身,当它被创建/发送。从开始到结束的单向延迟是“到达时间”减去“施工时间”
如果您不能信任中间节点,那么您必须让Agent注册到Server,它希望在特定时间发送数据包。然后从开始到结束的单向延迟是“到达时间”减去“预期到达时间”