ntp服务器的授时模式最常用的是c/s(客户机/服务器)模式,先客户端发送数据包记为T1时间,到达服务器记为T2时间,时钟处理完记为T3,到达客户端记为T4.然后做差值抵消网络延迟,计算出客户端和时钟服务器时间差多少,客户端在同步自己时间。
实际上NTP服务器只做发包和回包工作,客户端时间没法同步,一般是客户端自身的问题。
上图所示的是ntp 基本工作原理,路由器gwa 和gwb 通过网络相连,它们都有自己独立的系统时钟, 要实现各自系统时钟的自动同步,作如下假设:
在gwa 和gwb 的系统时钟同步之前, gwa 的时钟设定为10:00:00am,gwb 的时钟设定为11:00:00am。 数据包在gwa 和gwb 之间单向传输所需要的时间为1 秒。 系统时钟同步的工作过程如下:
1 gwa 发送一个ntp 消息包给gwb,该消息包带有它离开gwa 时的时间戳,该时间戳为10:00:00am(t1)。
2 当此ntp 消息包到达gwb 时,gwb 加上自己的时间戳,该时间戳为11:00:01am(t2)。
3 当此ntp 消息包离开gwb 时,gwb 再加上自己的时间戳,该时间戳为11:00:02am(t3)。
4 当gwa 接收到该响应消息包时,加上一个新的时间戳,该时间戳为10:00:03am(t4)。 至此,gwa 已经拥有足够的信息,来计算两个重要的参数:
ntp 消息来回一个周期的时延delay=(t4-t1)-(t3-t2)。
gwa 相对gwb 的时间差offset=((t2-t1)+(t3-t4))/2。
本文暂时没有评论,来添加一个吧(●'◡'●)