2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

  • 2019-08-16
  • 本文字数:1223 字

    阅读完需:约 4 分钟

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 仍然是一个新兴的协议,因此有兴趣的读者可以联系 time-services@cloudflare.com,加入 Cloudflare 的邮件列表,了解关于 NTS 客户端实现的更新。有关配置的更多细节可以在开发文档中找到。


原文链接:


Cloudflare Releases Free Time Service That Supports NTP and NTS


2019-08-16 08:004662
用户头像

发布了 804 篇内容, 共 550.9 次阅读, 收获喜欢 1584 次。

关注

评论

发布
暂无评论
发现更多内容

被勒索一月后比特币赎金被追回,现在价值几何?

CECBC

Kubernetes手记(8)- Service 配置清单

雪雷

k8s 6月日更

动态规划电路布线问题(Java代码实现)

若尘

数据结构 6月日更

【21-3】Zabbix 重置 Admin 密码

耳东@Erdong

zabbix 6月日更

Python——列表元素的排序

在即

6月日更

又一个重量级的分布式链路分析的轮子

代码先生

elasticsearch ELK 分布式链路 OpenTelemetry Data Prepper

kubelet分析-pvc扩容源码分析

良凯尔

Kubernetes 源码分析 kubelet Ceph CSI

【LeetCode】完全平方数Java题解

Albert

算法 LeetCode 6月日更

【Vue2.x 源码学习】第十一篇 - Vue的数据渲染流程

Brave

源码 vue2 6月日更

Windows PowerShell ISE 是什么和 PowerShell 有什么区别

HoneyMoose

JAVA对象直接输出的打印结果是什么?

加百利

Java 后端 字符串 6月日更

小型电商微服务架构拆分

Simon

架构实战营

沿着“云云协同”的桥梁,奔赴全面云化的产业之海

脑极体

MySQL 中的反斜杠 \\,真是太坑了!!

xcbeyond

MySQL 6月日更

Windows 使用 PowerShell 来管理另外一台 Windows 机器

HoneyMoose

并发王者课-黄金1:两败俱伤-互不相让的线程如何导致了死锁僵局

MetaThoughts

Java 多线程 并发

【译】是时候了解 CSS 逻辑属性了

KooFE

6月日更

22 图 |M1 和 Docker 谈了个恋爱

悟空聊架构

Mac M M1 Dock 6月日更 dokcer

读深入ES6记[五]

蛋先生DX

ES6 6月日更

如何拆分大型单体系统为微服务

Zhang

微服务

NQI国家质量基础设施“一站式”公共服务平台开发建设

源中瑞-龙先生

开发 NQI 质量基础设施“一站式”

MySQL基础之九:子查询

打工人!

myslq 6月日更

记一次差点跑路的 RabbitMQ 运维经历

看山

运维 RabbitMQ 删库 6月日更

三步教你编写一个Neumorphism风格的小时钟

空城机

JavaScript Vue 大前端 6月日更

面试系列-4 hash应用场景分析实践

李阿柯

php 面试 Redis 核心技术与实战

Java 并发编程——volatile 关键字解析

Antway

6月日更

周小川:一些加密货币已经不太可能再回到支付领域

CECBC

区块链赋能新能源汽车新业态——车电分离

CECBC

Go http 包详解

Rayjun

Go 语言

明晚Django组队学习就要开始了

IT蜗壳-Tango

6月日更

JavaScript学习(一)——简介

空城机

JavaScript 大前端 6月日更

Cloudflare 发布免费时间服务,支持 NTP 和 NTS_架构_Matt Campbell_InfoQ精选文章