先来了解一下 NTP 的工作原理:
Client C 和 Server S 通过网络相连,需要通过NTP实现 C 与 S 系统时钟的自动同步。
假设 C 的时钟设定为10:00:00am,S 的时钟设定为11:00:00am。
NTP报文 在 C 和 S 之间单向传输所需要的时间为1秒。
系统时钟同步的工作过程如下:
C 发送一个 NTP报文 给 S,该报文带有它离开 C 时的时间戳,该时间戳为10:00:00am(T1)。
当此 NTP报文 到达 S 时,S 加上自己的时间戳,该时间戳为 11:00:01am(T2)。
当此 NTP报文 离开 S 时,S 再加上自己的时间戳,该时间戳为 11:00:02am(T3)。
当 C 接收到该响应报文时,C 的时间为10:10:03am(T4)。
至此,C 已经拥有足够的信息来计算两个重要的参数:
NTP报文 的往返时延 Delay = (T4 - T1) - (T3 - T2) = 2S。
C 相对 S 的时间差 offset = ((T2 - T1) + (T3 - T4) / 2 = 1h。
这样,C 就能够根据这些信息来设定自己的时钟,使之与 S 的时钟同步。
倒计时、获取服务器时间
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Need for time synchronization Why Global Timing? 假设有一个全球一...