NTP(网络时间协议)是让计算机通过网络与标准时间源自动对时的协议,广泛用于服务器、路由器和个人电脑的时钟同步,可将设备时间误差控制在极小范围内,是日志记录、证书验证和分布式系统正常运行的基础。

| 类型 | 网络时间同步协议 |
| 传输层协议 | UDP |
| 默认端口 | 123 |
| 层级结构 | Stratum 0-15 分层 |
| 常见实现 | ntpd、chrony、systemd-timesyncd |
| 公共服务 | pool.ntp.org(只写域名) |
NTP(Network Time Protocol,网络时间协议)是一种通过网络让计算机时钟与标准时间源保持同步的协议,是互联网上使用最久、最广泛的基础协议之一。
计算机内置的时钟依靠晶体振荡器计时,长时间运行会逐渐产生偏差,快几秒或慢几秒都很常见。NTP 的作用就是让设备定期向时间服务器发起请求,参照原子钟等高精度时间源自动校正本地时钟,使全网设备的时间保持一致。
NTP 采用分层(Stratum)结构:第 0 层是原子钟、GPS 授时等物理时间源;第 1 层服务器直接连接这些时间源;下一层服务器再向上一层同步,逐级向下扩散。层级越低数字越大,精度也相应下降。NTP 通常基于 UDP 传输,默认使用 123 端口,并通过算法估算网络往返延迟来抵消传输带来的误差。
在局域网内,NTP 可以把误差控制在毫秒级;即使经过公网,通常也能保持在几十毫秒以内,足以满足绝大多数应用的需求。
时间同步看似不起眼,却是很多系统正常工作的前提:服务器日志需要统一时间戳才能排查故障和审计安全事件;HTTPS 证书、两步验证(TOTP)验证码都依赖准确时间,电脑时间偏差过大会导致网页提示证书错误、动态口令失效;数据库集群、分布式系统更需要各节点时钟一致才能保证数据顺序正确。因此几乎所有操作系统都内置了 NTP 客户端,Linux 上常见的实现有 ntpd、chrony 和 systemd-timesyncd。
问:电脑时间总是不准怎么办?答:检查系统的「自动同步时间」是否开启,并确认 NTP 服务器可以访问;国内用户可改用阿里云(ntp.aliyun.com)等国内时间服务器,同步更快更稳定。
问:NTP 和 NTS 有什么关系?答:传统 NTP 报文缺乏加密保护,可能被篡改或伪造。NTS(网络时间安全)是在 NTP 基础上增加的安全扩展,为时间同步提供认证和加密,安全性更高。
问:为什么时间错误会导致网站打不开?答:HTTPS 证书有严格的有效期,浏览器会用本地时间校验证书。如果设备时间偏差过大,证书会被判定为「尚未生效」或「已过期」,从而提示连接不安全。

| 类型 | 网络时间同步协议 |
| 传输层协议 | UDP |
| 默认端口 | 123 |
| 层级结构 | Stratum 0-15 分层 |
| 常见实现 | ntpd、chrony、systemd-timesyncd |
| 公共服务 | pool.ntp.org(只写域名) |
登录 后参与讨论
暂无讨论,来发表第一条评论吧