Cloudflare 发布免费时间服务,支持 NTP 和 NTS

Cloudflare发布了他们的免费时间服务time.cloudflare.com,同时支持NTP(网络时间协议)和新兴的NTS(网络时间安全)。NTP是一种用于在远程计算机系统之间同步时间的互联网协议。Cloudflare的新服务通过其遍布全球180多个地点的任播网络提供NTP服务。

要开始使用Cloudflare的NTP服务,你需要将你的NTP客户端重新指向time.cloudflare.com。虽然大多数NTP实现正在添加对NTS的支持,但Cloudflare的NTP服务器已经支持NTS了。如果你有一个NTS客户端,你可以把它指向time.cloudflare.com:1234。目前,Cloudflare已经可以与NTPsec互操作,其中包括对NTS的试验性支持。注意,Cloudflare要求在其NTS服务中使用TLS v1.3。

NTP被设计用来同步通过不可靠的可变延迟网络通信的远程计算机系统之间的时间。NTP的工作原理是让客户端向NTP服务器发送一个查询包,该服务器使用当前时钟时间进行响应。然后,请求计算机计算其时钟与远程NTP服务器时钟之间的差值。这就允许系统补偿网络延迟。NTP客户端查询多个服务器,并使用算法选择这种偏差的最佳估计。

使用NTP服务器同步时间

波士顿大学研究生研究助理Aanchal Malhotra表示,1985年NTP创建时,该服务有两个主要设计目标:健壮性和负载分配。该团队希望系统足够健壮,能够处理网络错误和其他故障。为了实现这一点,该系统的设计使得客户端可以从不同网络路径上的多个对等点收集样本,然后对它们进行平均,从而提高测量的准确性。

关于第二个目标负载分配,Malhotra指出:

虽然每个客户端都希望与时间服务器进行通信,而时间服务器直接连接到原子钟、GPS等高精度的计时设备上,从而拥有更准确的时间,但这些设备的容量只有这么多。

为了减轻网络的负载,该服务采用了分层设计。层次结构的顶部(Stratum 0)是连接到非NTP时间源的服务器,它们将时间分配给其他服务器。这些服务器依次将时间分配给位于较低层次的更多服务器。大多数系统连到第二层或第三层。

说明NTP层次结构的架构图

Cloudflare的服务与Stratum 1时间服务提供商同步,然后将其分发给它们的消费者。这类似于其他公共NTP提供者的工作方式。正如Malhotra所指出的,Cloudflare“打算解决现有公共时间服务的局限性,特别是通过提高可用性、健壮性和安全性。”

为了解决可用性和健壮性问题,Cloudflare利用其全球网络中的180多个位置和任播网络将数据包路由到最近的服务器。这反过来应该减少抖动(网络上的延迟差异)和影响包传输的潜在不对称。Malhotra继续指出,“时间同步协议不准确的最大原因是网络不对称,导致客户端和服务器之间的往返时间不同。”

Cloudflare的NTP和NTS服务现在已经可以使用。然而,NTS仍然是一个新兴的协议,因此有兴趣的读者可以联系[email protected],加入Cloudflare的邮件列表,了解关于NTS客户端实现的更新。有关配置的更多细节可以在开发文档中找到。

原文链接:

Cloudflare Releases Free Time Service That Supports NTP and NTS

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章