NTP网络时间协议

时间:2023-08-25
新悦网络

编辑:

什么是NTP?

网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议,用来使客户端和服务器之间进行时钟同步,提供高精准度的时间校正。NTP服务器从权威时钟源(例如原子钟、GPS)接收精确的协调世界时UTC,客户端再从服务器请求和接收时间。
NTP基于UDP报文进行传输,使用的UDP端口号为123。

NTP协议发展历史

NTP是由美国Delaware大学David L .Mills教授设计的,是最早用于网络中时钟同步的标准之一。NTP是从时间协议和ICMP时间戳报文演变而来,NTP的版本演进如下所示。

NTP发展历史

NTP时钟层级

NTP允许客户端从服务器请求和接收时间,而服务器又从权威时钟源(例如原子钟、GPS)接收精确的协调世界时UTC。

NTP以层级来组织模型结构,层级中的每层被称为Stratum。通常将从权威时钟获得时钟同步的NTP服务器的层数设置为Stratum 1,并将其作为主时间服务器,为网络中其他的设备提供时钟同步。而Stratum 2则从Stratum 1获取时间,Stratum 3从Stratum 2获取时间,以此类推。时钟层数的取值范围为1~16,取值越小,时钟准确度越高。层数为1~15的时钟处于同步状态;层数为16的时钟被认为是未同步的,不能使用的。

NTP模型结构

NTP同步原理

NTP最典型的授时方式是Client/Server方式,如下图所示。

NTP同步原理

客户端首先向服务端发送一个NTP请求报文,其中包含了该报文离开客户端的时间戳t1;

NTP请求报文到达NTP服务器,此时NTP服务器的时刻为t2。当服务端接收到该报文时,NTP服务器处理之后,于t3时刻发出NTP应答报文。该应答报文中携带报文离开NTP客户端时的时间戳t1、到达NTP服务器时的时间戳t2、离开NTP服务器时的时间戳t3;

客户端在接收到响应报文时,记录报文返回的时间戳t4。

客户端用上述4个时间戳参数就能够计算出2个关键参数:

NTP报文从客户端到服务器的往返延迟delay。

客户端与服务端之间的时间差offset。

根据方程组:

可以解得时间差为:

NTP客户端根据计算得到的offset来调整自己的时钟,实现与NTP服务器的时钟同步。

 

参考资源

1NTP介绍及配置指南(CloudEngine系列交换机)

文章来源:NTP百科 如有侵权,如涉及侵权问题请联系我们,我们将及时修改或删除。

最新内容

知识库