NTP
全称为“Network Time Protocol”。NTP 是一种用于在多个系统之间同步计算机时钟的协议。它支持通过局域网和Internet进行同步。
匹配两个或更多系统的时间戳看似简单,但实际上需要多个步骤。由于所有网络都存在一定程度的延迟,因此必须考虑请求和响应之间的延迟。NTP 使用客户端—服务器模型,并使用以下四个值计算往返延迟:
将上述1和2之间的时间,加上3和4之间的时间,即可计算出总往返延迟。减去该延迟的一半后,就可以估算远程服务器上的准确时间,通常误差在几毫秒以内。
由于网络状况会影响传输或接收 NTP 数据包所需的时间,单次请求可能无法产生准确结果。因此,通常会发出多个 NTP 请求,并对延迟取平均值,以生成更准确的时间戳。还可以对多台计算机的时间戳取平均值,从而为网络中的所有计算机生成一致的时间。一次同步多个时钟时,NTP 会作为点对点协议使用,每个系统都是一个时间源。
NTP 示例
网络时间协议由多种不同的时间同步实用工具使用,包括内置于Windows和macOS中的工具。在 Windows 中,“日期和时间”控制面板包含“Internet 时间”功能,该功能使用 NTP 从时间服务器获取当前时间。在 macOS 中,如果勾选“自动设置日期和时间”,则“日期与时间”系统偏好设置会使用 NTP 获取当前时间。Windows 和 macOS 都使用 NTP 的简化版本,即简单Network Time Protocol(SNTP)。
测试你的知识
