NTP是什么

在安装过程中,官方文档显示.不要开启NTP,我就比较好奇.这是什么东西呢?

网络时间协议(英语:Network Time Protocol,缩写:NTP

是在数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的一个网络协议,位于OSI模型的应用层。自1985年以来,NTP是目前仍在使用的最古老的互联网协议之一。NTP由特拉华大学的David L. Mills设计。

NTP意图将所有参与计算机的协调世界时(UTC)时间同步到几毫秒的误差内。[1]:3它使用Marzullo算法的修改版来选择准确的时间服务器,其设计旨在减轻可变网络延迟造成的影响。NTP通常可以在公共互联网保持几十毫秒的误差,并且在理想的局域网环境中可以实现超过1毫秒的精度。不对称路由和拥塞控制可能导致100毫秒(或更高)的错误。

该协议通常描述为一种主从式架构,但它也可以用在点对点网络中,对等体双方可将另一端认定为潜在的时间源。发送和接收时间戳采用用户数据报协议(UDP)的端口123实现。这也可以使用广播或多播,其中的客户端在最初的往返校准交换后被动地监听时间更新。NTP提供一个即将到来闰秒调整的警告,但不会传输有关本地时区或夏时制的信息。

NTP使用64比特的时间戳,其中32位表示秒,32位表示秒的小数,给出一个每232秒(136年)才会翻转的时间尺度,理论分辨率2−32秒(233皮秒)。NTP以1900年1月1日作为开始时间,因此第一次翻转将在2036年2月7日发生。

NTP的未来版本可能将时间表示扩展到128位:其中64位表示秒,64位表示秒的小数。当前的NTPv4格式支持“时代数字”(Era Number)和“时代偏移”(Era Offset),正确使用它们应该有助于解决日期翻转问题。据Mills称:“64位的秒小数足以分辨光子以光速通过电子所需的时间。64位的秒足以提供明确的时间表示,直到宇宙变暗。”

时钟同步算法

往返延迟时间δ

典型的NTP客户端将定期轮询不同网络上的三个或更多服务器。为同步其时钟,客户端必须计算其时间偏移量和来回通信延迟。时间偏移“θ”定义为:

往返延迟“δ”为:

其中:

  • t0 是请求数据包传输的客户端时间戳,
  • t1 是请求数据包回复的服务器时间戳,
  • t2 是响应数据包传输的服务器时间戳
  • t3 是响应数据包回复的客户端时间戳。[1]:19

“θ”和“δ”的值通过过滤器并进行统计分析。异常值被剔除,并从最好的三个剩余候选中导出估算的时间偏移。然后调整时钟频率以逐渐减小偏移,创建一个反馈回路。

当客户端和服务器之间的输入和输出路由都具有对称的标称延迟时,同步是正确的。如果路由没有共同的标称延迟,则将差异取半作为测量误差。

本文分享自微信公众号 - 云深之无迹(TT1827652464),作者:云深之无迹

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • GCC安装

    云深无际
  • Win10下安装GCC以及简单

    云深无际
  • 镜头性能曲线

    了解和计算镜头性能可能是一项困难的任务。许多变化因素会影响镜头的性能,包括物理定律、设计标准和原理以及制造公差和误差。为了获得最佳系统性能,光学设计人员和最终用...

    云深无际
  • 影响GPS北斗卫星时钟同步准确性的因素有哪些?

    网络时间协议用于同步网络上计算机的时钟。它与客户端计算机的时钟同步的准确度取决于许多因素。

    NTP网络同步时钟
  • NTP服务器

    NTP服务器【Network Time Protocol(NTP】是用来使计算机时间同步化的一种协议,NTP服务器可以对其它服务器做时间同步化,从而达到时间统一...

    胡齐
  • 第十一章 时间同步服务

    NTP是网络时间协议(Network Time Protocol)的简称,功能是同步各主机的时间。因为在服务集群中,很多服务要求所有主机必须保持时间一致,所以就...

    晓天
  • 刚填了一个奇怪的坑

    最近写了一个 API Token 的校验服务,想要增加时效性控制,比如一个 API,超过一段时间(比如 10s)之后,用同样的参数再请求就会被服务器禁掉,无法获...

    崔庆才
  • CentOS 8 启用 NTP 服务

    可能很多人都不是非常了解,简单来说就是我们希望我们服务器的时间是准确的没有偏差的。这个的意义在数据插入和你程序取得计算机时间的时候是准确的。

    HoneyMoose
  • Comet:基于 HTTP 长连接的“服务器推”技术

    很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的 “服务器推”方案,着...

    shirayner
  • 天才程序员: "那些年我偷懒没敲的EOS代码, 让我失去了一切, 如果..."

    3月15日,mercatox 遭受(hard_fail)攻击,黑客获利数千 EOS,约合数万人民币。

    区块链大本营

扫码关注云+社区

领取腾讯云代金券