NTP的定义,NTP如何运作?NTP最重要的功能概述(图文)
网络时间协议是特拉华大学教授David L. Mills开发工作的结果。该协议的第一个官方规范是互联网协议系列的一部分,于1985年9月在RFC 958中发布。它将NTP描述为通过一组展开的客户端和服务器同步多个网络时钟的协议。它的前身是时间协议和ICMP时间戳消息,其功能在网络时间协议中组合。NTP基于用户数据报协议(UDP),可实现无连接数据传输,此端口的UDP端口号为123。
NTP提供了将不同系统的时间同步到1纳秒精度所需的基本协议机制。它还包含规定本地系统时钟的准确性和可能的错误来源的规定。该协议仅指定数据表示和消息格式的类型,但不提供同步和过滤器算法。
NTP的定义
NTP(网络时间协议)是RFC 958中描述的计算机系统中的时钟同步协议。它基于无连接UDP协议(端口123),属于互联网协议系列。对于同步过程,NTP依赖于协调世界时(UTC),它是从分层系统中的各个客户端和服务器获得的。
NTP如何运作?
为了将计算机的时钟同步到一个纳秒,网络时间协议使用自1972年以来一直存在的协调世界时(UTC)。这由各种方法决定,包括无线电和卫星系统。诸如全球定位系统(GPS)之类的重要服务配备有用于接收相应信号的特殊接收器。由于为每台计算机配备这种接收器既不具有成本效益也不可行,所以有所谓的主时间服务器,它也有一个UTC接收器。使用NTP等协议,这些服务器可以同步其网络中的计算机时钟。
在此同步过程中,与UTC源有不同的分层结构化距离度,也称为“层”。例如,从主时间服务器或卫星导航系统花费时间的所有技术设备都被分类在第0层类别中。这方面的例子是原子钟或无线电钟。从这种原子或无线电时钟获得UTC的计算机对应于stratum-1,依此类推。每个系统都是前一层的客户端和服务器,用于以下层的系统(至少可能)。
注意
在NTP同步期间,使用各种算法来消除短期和本地时间波动。例如,一个数据包在目的地之间传输的时间测量程序(数据包需要从源到目的地再返回的时间)可以根据伯克利算法补偿局部偏差。例如,Marzullo算法用于处理器故障排除。
NTP最重要的功能概述
网络时间协议的基本功能现已在其第四版(NTPv4)中提供,可归纳如下:
NTP提供参考时钟,作为所有同步过程的固定点。所有时钟都根据此时钟或时间进行协调。从一开始,协调世界时(UTC)被识别为统一的世界时钟,用于此目的。
NTP是一种自动搜索同步最佳时间源的协议。为了最小化影响同步的任何错误累积,可以将多个源相互组合。如果可能,网络时间协议会识别并忽略暂时或永久提交强烈偏差值的时间源。
NTP具有高度可扩展性,每个同步网络中可能有几个参考时钟。此外,每个网络节点能够以分层结构双向(点对点)或单向(沿一个方向)发送时间信息。
NTP非常准确,由于可以选择最佳的同步候选者,因此可以获得高达1纳秒的结果。
哪些操作系统支持NTP协议?
最初,网络时间协议是专门为UNIX系统开发的,其中协议仍然以后台进程ntpd形式实现。这既可以作为可以同步本地系统的客户端,也可以作为其他系统的NTP服务器。
很长一段时间,这项服务也是在Linux发行版中实现NTP的首选 – 新版本越来越依赖于客户端应用程序timesyncd,它是系统管理器的一部分。MacOS和Windows操作系统现在也使用网络时间协议通过互联网获得UTC,只需简单的系统流程,而无需额外的软件。