NTP(Network Time Protocol)是一种用于在分布式网络中的不同设备之间保持精确时间同步的互联网协议。
它允许一台机器与其他机器或权威的时间源建立联系,并根据这些联系来调整自己的时间,以确保整个网络中的所有设备共享一致的时间基准。
NTP通过精确测量时间偏差、补偿网络延迟以及调整本地时钟频率来维持准确性,并提供了多种安全特性来保护时间同步过程不受干扰。
采用NTP(Network Time Protocol)的主要目的是对网络内所有具有时钟的设备完成时间同步。如果没有时间同步,各个设备之间可能存在时间差,这会导致一系列问题,包括但不限于:
通过使用NTP,网络设备可以按照统一的时间基准进行操作,这对于保持网络服务的稳定性和提供基于时间的服务(如日志记录、交易处理等)至关重要。此外,NTP还可以提供一种方法来监测网络延迟、测量时间抖动以及改善系统的整体性能。
NTP是由美国Delaware大学David L .Mills教授设计的,是最早用于网络中时钟同步的标准之一。NTP是从时间协议和ICMP时间戳报文演变而来,NTP的版本演进如下所示。
NTP(Network Time Protocol)具有多个优点,其中一些主要的包括:
正是因为这些优点,NTP成为了互联网上最常用的时间同步协议之一。
在Device A和Device B的系统时钟同步之前,Device A的时钟设定为10:00:00am,Device B的时钟设定为11:00:00am。Device B為NTP時鐘服務器。
(1)Device A发送一个NTP报文给Device B,该报文带有它离开Device A时的时间戳,该时间戳为10:00:00am(T1)。
(2)当此NTP报文到达Device B时,Device B加上自己的时间戳,该时间戳为11:00:01am(T2)。
(3)当此NTP报文离开Device B时,Device B再加上自己的时间戳,该时间戳为11:00:02am(T3)。
(4) 当Device A接收到该响应报文时,Device A的本地时间为10:00:03am(T4)。
至此,Device A已经拥有足够的信息来计算两个重要的参数:
NTP报文的往返时延Delay=(T4-T1)-(T3-T2)=2秒。
Device A相对Device B的时间差offset=((T2-T1)+(T3-T4))/2=1小时。
NTP服务器自动工作在服务器模式,并向NTP客户端发送应答报文
NTP客户端进行时钟过滤和选择,并同步到优选的NTP服务器。
NTP对等体模式,可以让两个设备互相同步时间,但是仍然会区分主动对等体和被动对等体,这种模式主要在NTP服务器常用。
未来可能在物联网会常用,NTP广播服务器向所有NTP客户端广播报文后,客户端收到报文,发起服务器\客户端请求模式。
NTP组播模式主要工作在服务器\客户端模式,这种模式实际应用相对较少。
NTP允许客户端从服务器请求和接收时间,而服务器又从权威时钟源(例如原子钟、GPS)接收精确的协调世界时UTC。
NTP以层级来组织模型结构,层级中的每层被称为Stratum。
通常将从权威时钟获得时钟同步的NTP服务器的层数设置为Stratum 1,并将其作为主时间服务器,为网络中其他的设备提供时钟同步。而Stratum 2则从Stratum 1获取时间,Stratum 3从Stratum 2获取时间,以此类推。
时钟层数的取值范围为1~16,取值越小,时钟准确度越高。层数为1~15的时钟处于同步状态;层数为16的时钟被认为是未同步的,不能使用的。
格林尼治平时(Greenwich Mean Time,GMT),又称为格林尼治标准时间。
在这里插入图片描述
格林尼治平时的正午是指当平太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间。自1924年2月5日开始,格林尼治天文台负责每隔一小时向全世界发放调时信息。由于地球每天的自转是有些不规则的,而且正在缓慢减速,因此格林尼治平时基于天文观测本身的缺陷,已经被原子钟报时的协调世界时(UTC)所取代。
UTC指的是Coordinated Universal Time- 世界协调时间(又称世界标准时间、世界统一时间)
是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以「秒」为单位的国际原子时所综合精算而成的时间,计算过程相当严谨精密,因此若以「世界标准时间」的角度来说,UTC比GMT来得更加精准。
其误差值必须保持在0.9秒以内,若大于0.9秒则由位于巴黎的国际地球自转事务中央局发布闰秒,使UTC与地球自转周期一致。所以基本上UTC的本质强调的是比GMT更为精确的世界时间标准,不过对于现行表款来说,GMT与UTC的功能与精确度是没有差别的。