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

发布于:2019 年 8 月 16 日 08:00

七牛云 CEO 许式伟,首次分享完整架构经验,带你解读常见业务场景的架构范式,戳此学习 >>
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 客户端查询多个服务器,并使用算法选择这种偏差的最佳估计。

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

使用 NTP 服务器同步时间

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

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

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

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

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

说明 NTP 层次结构的架构图

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

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

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

原文链接:

Cloudflare Releases Free Time Service That Supports NTP and NTS

阅读数:3540 发布于:2019 年 8 月 16 日 08:00

更多 架构、DevOps、云计算 相关课程,可下载【 极客时间 】App 免费领取 >

评论

发布
暂无评论