`

如何测量服务器之间的时间差?

 
阅读更多

问题:

每台服务器都有自己的本地时钟,跨服务器的本地时钟比较是没有意义的。

例如:服务器A上的本地时间ta=1,服务器B上的本地时间tb=2,虽然ta<tb,但我们并不能说ta一定早发生,因为两台服务器的本地时间会有差异。

既然两台服务器的本地时间存在差值,如何来测量两台服务器之间的时间差呢?

 

发包测量法:


     
 

发包流程如上图:

1)服务器A记录一个本地时间Ta1,然后向服务器B发送一个报文;

2)服务器B接收到报文后取本地时间Tb放入到报文中,并将报文发回给服务器A;

3)服务器A收到回复报文后,记录本地时间Ta2。

很容易知道,Ta1和Ta2取的是服务器A的本地时间,Tb取的是服务器B的本地时间。

假设报文往返耗时是相同的(这个假设很合理),那么

x = (Ta2 – Ta1)/2

如果,你硬要说这个x通过一次测量不准确的话,可以发1亿次往返请求,来求出一个相对精确的x值。

假设服务器A与服务器B的绝对时间是相同的(这个假设不合理),那么

Tb = Ta1 + x = (Ta2 + Ta1)/2

可实际上,服务器A与服务器B存在一个时间差,不妨设时间差是“德尔塔”,那么

Tb + “德尔塔” = Ta1 + x= (Ta2 + Ta1)/2

于是,“德尔塔” = (Ta2 + Ta1)/2– Tb

这个“德尔塔”就是服务器A与服务器B的时间差。

 

 

 

  • 大小: 5.2 KB
分享到:
评论

相关推荐

    Network_Measurement:网络测量客户端和服务器之间的往返时间,中位数,标准方差和算术平均值(UDP和_或TCP)

    客户端向服务器发送一系列TCP和UDP数据包n(在启动时选择),测量从发送请求数据包到响应到达之间所花费的时间,并计算测量序列的算术平均值,中位数和标准差。 关键字:UDP,TCP,服务器,Java,RTT,往返时间,中...

    GPS时间测量值 (20).pdf

    GPS时间测量值是GPS定位系统的核心组成部分,它反映了卫星发射信号与接收器接收到信号之间的时间差。这个时间差经过计算可以得到接收器的位置信息。GPS系统采用原子钟来提供精确的时间标准,这些原子钟在卫星上运行...

    nodejs如何获取时间戳与时间差

    然而,如果需要计算两个时间点之间的精确时间差,使用上述系统时间相关的方法可能会遇到问题。因为系统时间可能会有微小的回调,这会导致计算出来的时间差不够精确。在这种情况下,可以使用process.hrtime()方法。这...

    Java网络编程--测量网络时间

    第二种方法是采用软件工具来监视指定分组,并计算相应的时间差,如嵌入到数据链路层的 Tcpdump。在这本书中,我们假定数据链路的嵌入点在 Tcpdump 中用 BSD 分组过滤器 (BPF) 提供。卷 2 的第 31 章给出了 BPF 实现...

    inSynch:测试两个设备之间的时钟偏移

    这是一个小的 android 应用程序,它允许您测量 android 设备和计算机(Mac、Windows)之间的时间差(偏移量)。 虽然(还)它在两个机器人之间不起作用。 这是因为尽管计算机轮询外部时间服务器以同步其内部时钟,...

    网络游戏-通过时间调制提高分组网络中时间测量分辨率和定位的方法.zip

    时间测量分辨率是指系统能够区分两个事件之间最小时间差的能力。在网络游戏中,这意味着系统能多精确地计算出玩家操作或游戏事件发生的时间点。高分辨率可以减少延迟感知,提高游戏响应速度,使得游戏过程更为流畅。...

    网络游戏-无线网络节点距离的自动测量方法.zip

    1. 时间差法(Time Difference of Arrival, TDOA):通过测量信号到达不同接收节点的时间差来计算距离。当信号从一个节点发出,到达多个接收节点时,根据信号传播速度(光速)和时间差可以推算出距离。 2. 频率偏移...

    服务器在线测速系统源码-亲测可用.zip

    延迟则通常是发送数据包到接收到响应之间的时间差。 2. **源码分析**: 源码通常包含服务器端和客户端两部分。服务器端负责接收请求,处理数据并返回结果;客户端则发送请求,接收响应,并计算速度。在"亚盟源码...

    网络时钟服务器日常维护及解决方案.docx

    - **NTP/SNTP协议**:用于使网络设备的时间同步化,NTP可以提供高精度的时间校正,而SNTP采用客户/服务器模式进行时间同步。 - **DCF77信号**:德国运营的校准信号,载波频率为77.5kHz,采用脉宽调制方式编码时间...

    UDP_RTT时延测试汇总

    这个测试汇总针对的是镇江和上海服务器之间的通信,通过发送UDP报文来测量数据在两个服务器之间往返的时间,以评估网络延迟。 RTT的计算通常包括以下几个部分: 1. 发送时间:数据包离开源服务器的时间。 2. 网络...

    时间同步程序用c++写的

    5. **调整系统时间**:如果时间差超过一定阈值,程序将尝试调整系统的日期和时间,以匹配NTP服务器。 6. **周期性同步**:为了保持时间的持续准确性,程序可以设置为定期运行,执行上述步骤。 7. **错误处理和重试...

    微信定位原理简介

    这个过程涉及复杂的数学计算,包括三角函数和时间差的处理。 然而,手机定位的准确性受到多种因素的影响。基站的密度是最关键的因素之一,市区内基站较为密集,因此定位精度通常在200米左右,而在郊区,由于基站...

    网络游戏-在网络测量中检测时钟重置的方法.zip

    1. 时间差监测:通过周期性比较本地时钟与已知精确时间源(如NTP服务器)的时间差,若差异超出预设阈值,可判断为时钟重置。 2. 时间跳变检测:分析连续时间戳的变化,若出现跳跃或倒退,可能是时钟重置的迹象。 3. ...

    获取国内外NTP授时中心标准时间的函数源代码

    它基于时间戳交换的概念,通过发送和接收NTP报文来计算本地计算机与远程NTP服务器之间的时间差。NTP协议包含多个时间层次,称为“层”或“Stratum”,从Stratum 0的原子钟到Stratum 16的非同步设备。目标是在整个...

    ntp.rar_NTP C++_ntp_ntp网络对时_visual c_网络对时

    3. **计算时间差**:客户端接收到响应后,会计算本地时间与服务器时间之间的偏差,并可能考虑到网络传输延迟的影响。 4. **调整本地时间**:根据计算出的时间差,客户端可以调整自身的系统时间,以与服务器时间保持...

    LBS基站定位完整源码(分为客户端和服务器端)

    这些信息包括基站的识别号(Cell ID)、信号强度(RSSI)和时间差-of-arrival(TOA)等。客户端会把这些数据发送到服务器端。 服务器端的角色则是处理这些数据并进行定位计算。首先,服务器需要有基站的位置信息...

    时间校准器

    NTP通过测量数据包在网络中的往返时间,计算出服务器与本地计算机之间的时间差,然后微调本地系统时钟以实现同步。 2. 对比与调整:校准器会定期发送请求到NTP服务器,获取服务器的当前时间戳。然后,它比较这个...

    基于Proteus和单片机的电力系统频率测量.pdf

    - **D型行波频率法**:基于初始行波频率到达两端母线的时间差进行测量,需要精确的实时时钟同步,通常依赖于GPS技术以保证精度。 - **E型和F型测量法**:E型利用断路器重合闸产生的暂态行波,F型则利用断路器分闸...

    测量给定数据集相关性的算法类似于Reddit

    标题提到“测量给定数据集相关性的算法类似于Reddit”,这可能指的是Reddit使用的热点排名算法,它涉及到对用户行为数据的分析,以确定内容的相关性和流行度。 Reddit是一个社交新闻网站,它的热点排名算法基于用户...

Global site tag (gtag.js) - Google Analytics