网络时间协议NTP

NTP是什么?

NTP是网络时间协议Network Time Protocol)的简称,是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC(即NTP时间同步报文中包含的时间,它是从1900年开始计算的秒数),其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。

NTP基本知识

1、该协议通常描述为一种主从式架构,但它也可以用在点对点网上中,对等体双方可将另一端认定为潜在的时间源。发送和接收时间戳采用用户数据报协议(UDP)的通信端口123实现。

2、当前协议为版本4(NTPv4),这是一个RFC 5905文档中的建议标准。它向下兼容指定于RFC 1305的版本3。

3、NTP使用一个分层、半分层的时间源系统。该层次的每个级别被称为“stratum”,顶层分配为数字0。一个通过阶层n同步的服务器将运行在阶层n + 1。数字表示与参考时钟的距离,用于防止层次结构中的循环依赖性。阶层并不总是指示质量或可靠性;在阶层3的时间源得到比阶层2时间源更高的时间质量也很常见。电信系统对时钟层使用不同的定义。以下提供了阶层0、1、2、3的简要描述。

  • 阶层0(Stratum 0)这些是高精度计时设备,例如原子钟(如铯、铷)、GPS时钟或其他无线电时钟。它们生成非常精确的脉冲秒信号,触发所连接计算机上的中断和时间戳。阶层0设备也称为参考(基准)时钟。
  • 阶层1 (Stratum 1)这些与阶层0设备相连、在几微秒误差内同步系统时钟的计算机。阶层1服务器可能与其他阶层1服务器对等相连,以进行完整性检查和备份。它们也被称为主要(primary)时间服务器
  • 阶层2 (Stratum 2) 这些计算机通过网络与阶层1服务器同步。提供阶层2的计算机将查询多个阶层1服务器。阶层2计算机也可能与其他阶层2计算机对等相连,为对等组中的所有设备提供更稳定和鲁棒的时间。
  • 阶层3(Stratum 3) 这些计算机与阶层2的服务器同步。它们使用与阶层2相同的算法进行对等和数据采样,并可以自己作为服务器担任阶层4计算机,以此类推。
  • Stratum 1在顶层,有外部UTC接入,而Stratum 2则从Stratum 1获取时间,Stratum 3Stratum 2获取时间;阶层的上限为15;阶层16被用于标识设备未同步。

4、NTP的时间戳。

  • NTP使用64比特的时间戳,其中32位表示秒,32位表示秒的小数,给出一个每2**32秒(136年)才会翻转的时间尺度,理论分辨率2**−32秒(233皮秒)。NTP以1900年1月1日作为开始时间,因此第一次翻转将在2036年2月7日发生。
  • NTP的未来版本可能将时间表示扩展到128位:其中64位表示秒,64位表示秒的小数。当前的NTPv4格式支持“时代数字”(Era Number)和“时代偏移”(Era Offset),正确使用它们应该有助于解决日期翻转问题。据Mills称:“64位的秒小数足以分辨光子光速通过电子所需的时间。64位的秒足以提供明确的时间表示,直到宇宙变暗。”

5、计算机主机一般同多个时间服务器连接,利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源来校正主机时间。即使主机在长时间无法与某一时间服务器相联系的情况下,NTP服务依然有效运转。

  • 以Server为NTP时间服务器,即Client将使自己的时间与Server的时间同步。数据包在Client和Server之间单向传输所需要的时间为1秒。若要同步时间,至少应知道两个信息,即:Client与Server之间的时间差为多少,可称为offset。Client与Server同步过程中,在路途上的损耗,可称为delay。获得这两个消息,Client即可顺利计算出如果要同步到Server,应修改多少时间量。NTP协议约定的实际上是如何计算出Client与Server之间的Offset和Delay值。

  • 因此,假设来回网络链路是对称的,即传输时延相等,那么可以计算Client与Server之间的时间误差Delta为:
    Delta = t1-t0-δ/2=((t1-t0)+(t2-t3))/2客户端调整自身的时间Delta,即可完成一次时间同步

6、为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。

NTP配置相关

  • rpm -qa |grep ntp          #检测是否安装了NTP,没有则需要安装NTP
  • netstat -tlunp | grep ntp #查询NTP服务及监听端口信息
  • nc -vuz IP                      #检查UDP协议,123端口号端口是否正常
  • nmap -sU IP    -p 123    #检查UDP协议,123端口号端口是否正常
  • ntpq -p                           #查看网络中的NTP服务器,同时显示客户端和每个服务器的关系

NTP服务器地址

  • Windows系统自带:
    time.windows.com 和 time.nist.gov
  • MacOS系统自带:
    time.apple.com 和 time.asia.apple.com
  • NTP授时快速域名服务
    cn.ntp.org.cn
  • 国内可用的时间服务器
    1.cn.pool.ntp.org
    2.cn.pool.ntp.org
    3.cn.pool.ntp.org
    0.cn.pool.ntp.org
    cn.pool.ntp.org
    tw.pool.ntp.org
    0.tw.pool.ntp.org
    1.tw.pool.ntp.org
    2.tw.pool.ntp.org
    3.tw.pool.ntp.org
  • 阿里云授时服务器
    #NTP服务器
    ntp1.aliyun.com
    ntp2.aliyun.com
    ntp3.aliyun.com
    ntp4.aliyun.com
    ntp5.aliyun.com
    ntp6.aliyun.com
    ntp7.aliyun.com
    
    #Time服务器
    time1.aliyun.com
    time2.aliyun.com
    time3.aliyun.com
    time4.aliyun.com
    time5.aliyun.com
    time6.aliyun.com
    time7.aliyun.com
    
  • 国内大学授时服务器

    ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)
    s1a.time.edu.cn 北京邮电大学
    s1b.time.edu.cn 清华大学
    s1c.time.edu.cn 北京大学
    s1d.time.edu.cn 东南大学
    s1e.time.edu.cn 清华大学
    s2a.time.edu.cn 清华大学
    s2b.time.edu.cn 清华大学
    s2c.time.edu.cn 北京邮电大学
    s2d.time.edu.cn 西南地区网络中心
    s2e.time.edu.cn 西北地区网络中心
    s2f.time.edu.cn 东北地区网络中心
    s2g.time.edu.cn 华东南地区网络中心
    s2h.time.edu.cn 四川大学网络管理中心
    s2j.time.edu.cn 大连理工大学网络中心
    s2k.time.edu.cn CERNET桂林主节点
    s2m.time.edu.cn 北京大学
  • 国外授时服务器

    #苹果提供的授时服务器   
    time1.apple.com
    time2.apple.com
    time3.apple.com
    time4.apple.com
    time5.apple.com
    time6.apple.com
    time7.apple.com
    
    #Google提供的授时服务器   
    time1.google.com
    time2.google.com
    time3.google.com
    time4.google.com
    
  • 腾讯服务器
    time1.cloud.tencent.com
    time2.cloud.tencent.com
    time3.cloud.tencent.com
    
  •  

 

参考

1、维基百科

2、计算机网络时间同步技术原理介绍

3、NTP 时间服务器实战

4、国内常用NTP服务器地址

5、国内常用NTP服务器地址及IP

 

猜你喜欢

转载自blog.csdn.net/LHW4075/article/details/82973898
今日推荐