公众号旧文

全球几十亿网络设备,靠多少台时间服务器在维持?

作者:胖子阅读 —

上一篇文章,我们介绍了互联网如何通过 NTP 协议实现时间同步。

很多读者看后,产生了一个新的疑问:

全球几十亿台设备,每天都在同步时间,那到底需要多少台时间服务器?

实际上互联网时间体系的核心时间源数量,并没有我们想象中那么庞大。

这里面的原因来自 NTP 一个非常经典的设计:层级结构(Stratum)。

一、互联网时间是分层扩散的

NTP 从一开始就不是一个扁平网络。

它的设计更像是一棵不断向外扩展的树。

最顶层叫做:Stratum 0

但需要注意的是:Stratum 0 并不是服务器,而是 时间源设备,例如:

  • 原子钟
  • GPS / 北斗卫星授时
  • 国家时间广播

这些设备提供的是 最原始的标准时间信号。

二、真正的时间服务器从 Stratum 1 开始

Stratum 1 才是互联网中真正的 时间服务器。

它们直接连接 Stratum 0 时间源,例如:

  • GPS 天线
  • PPS(Pulse Per Second)硬件信号
  • 原子钟接口

世界各国都会建设自己的 Stratum-1 服务器,例如:

美国国家标准技术研究所(NIST) 中国科学院国家授时中心(NTSC) 日本信息通信研究机构(NICT)

这些机构维护的是 国家级标准时间服务器。

三、真正的核心服务器非常少

全球直接连接原子钟的 Stratum-1 服务器只有几十到一两百台。

它们构成了互联网时间体系的水源地。

全球几十亿设备的时间,最终都可以追溯到这些核心节点。

四、第二层开始指数级扩散

Stratum-1 服务器并不会直接服务全球设备。

它们的主要任务是向下一层提供时间。

下一层叫做:Stratum 2

这一层通常包括:

  • 互联网公司
  • 云服务商
  • ISP 运营商
  • 大学和研究机构

例如常见的公共时间服务器:

time.cloudflare.com time.google.com ntp.aliyun.com ntp.tencent.com

这些服务器会从 Stratum-1 同步时间,然后再向外提供公共服务。

五、NTP 的扩展能力非常惊人

从 Stratum-2 开始,时间服务器数量就会迅速增加。

接下来是:Stratum-3 和 Stratum-4

例如:

企业服务器 数据中心内部时间服务器 路由器 交换机

最终再同步到终端设备:

  • 手机
  • PC
  • IoT 设备
  • 云服务器

整个结构大致长这样:

Stratum 0
原子钟 / GPS
↓
Stratum 1
国家级时间服务器(几十台)
↓
Stratum 2
互联网公司 / ISP(几千台)
↓
Stratum 3
企业服务器(几十万)
↓
Stratum 4+
终端设备(几十亿)

也就是说少量高精度时间源,通过层级扩散,最终服务整个互联网。

六、为什么这种结构如此高效?

因为时间同步的数据量极小。

一次 NTP 请求的数据包只有几十字节。

这意味着一台服务器可以轻松服务 几十万甚至更多客户端。

再通过层级分发,整个系统就可以无限扩展。

这种设计思想在互联网中非常常见。

例如:

DNS BGP 证书体系

本质都是少量核心节点 + 全球分发网络。

七、很多设备实际上从不访问顶级时间服务器

可能会有人以为自己的电脑在直接连接国家时间服务器。

但实际上,大多数设备访问的都是中间层服务器。

例如:

Windows 默认连接:time.windows.com

Linux 常见配置:pool.ntp.org

手机系统也会连接厂商自己的时间服务器。

这些服务器本身通常只是 Stratum-2 或 Stratum-3。

它们再向更上层同步时间。

八、一个通俗且形象的比喻

如果把互联网时间体系想象成一个供水系统。

原子钟就像 水源地

Stratum-1 像 大型水库

Stratum-2 像 城市供水站

企业服务器像 小区水箱

手机和电脑只是 水龙头

扩展阅读:


大学英语四六级CET4/6证书丢了怎么办?

为什么网站挂了站长马上就能知道?(2)

欧洲ping北美,响应时间可能只有7ms吗?

网速到底怎么测才科学?测速工具的选择