NTP是网络时间协议(Network Time Protocol)的简称,它是用来同步网络中各个计算机的时间的协议。
在各类信息系统中,设备之间的时间统一非常重要。比如对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间,如果时间不一致,就会造成整体工作的不正常,甚至会酿成事故。NTP网络时间协议就是用来解决各类信息系统中的时间统一问题的。
NTP网络时间协议是用来使计算机网络中的各台计算机时间保持同步的一种协议,它是TCP/IP协议族中的一个应用层协议。NTP网络时间协议用于在一系列分布式时间服务器与客户端之间同步计算机时钟。NTP协议的实现基于IP协议和UDP协议,NTP报文通过UDP传输,端口号是123。NTP协议可以是把计算机的时钟同步到世界协调时UTC(Universal Time Coordinated),同步精度在局域网内可达0.1ms,在互联网上绝大多数的地方可以达到1~50ms。NTP协议可以使计算机对其服务器或时钟源(如石英钟,北斗/GPS等等)进行时间同步,它可以提供高精准度的时间校正,而且可以使用加密确认的方式来防止病毒的协议攻击。
NTP网络时间协议使用的标准时间,是由原子钟报时的国际标准时间UTC(世界协调时),在中国则是由中国科学院国家授时中心保持和播发的北京时间。北京时间由国家授时中心通过超高精度原子钟组保持,并通过北斗卫星、长短波无线电、电视信号等方式播发出来,所以NTP获得北京时间来源可以是北斗卫星、原子钟或天文台,也可以从Internet上获取。由于北斗卫星信号播发时间具有精度高、接收方便等优势,通常情况下NTP网络时间服务器把北斗卫星信号作为权威时间源。
有了准确而可靠的的时间源,那这个时间如何传播呢?在NTP协议中,定义了时间按照服务器的等级传播,它按照离外部UTC时间源的远近将所有的服务器归入不同的Stratum(层)中。例如把通过北斗卫星取得发送标准时间的服务器叫Stratum-1的NTP服务器,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础。
NTP网络时间服务器对下层客户端来说是时间源服务器,而对于上层NTP服务器来说它是客户端,新版的NTP服务程序已经不对服务端和客户端进行区分了,统一叫做ntpd。ntpd根据配置文件的参数决定是要为其他服务器提供时钟服务或者是从其他服务器同步时钟,在linux类的操作系统重,ntpd的所有的配置一般都在/etc/ntp.conf文件中。
ntpd服务会间隔多长时间向时钟服务器请求一次时钟同步呢?按照通常的理解,当然是越快越好,最好是每秒钟同步一次。由于每台计算机的主板都带有内部晶振,可以短时间保持一定精度的时间,所以ntpd服务可以按照一个时间间隔进行时钟同步请求。默认最小时间间隔为64s,默认最大时间间隔是1024s(17分钟左右)。64s是比较合理的,既可以保证时间同步的及时性,又兼顾了NTP服务器的性能,使ntpd服务在同一时间可以服务更多的客户端。默认间隔通过修改配置文件,也是可以调整的。
既然NTP网络时间服务器是调整计算机网络中各设备的时间的,那它是不是可以把多大的时间偏差都调整过来?NTP服务并不是在任何情况下都会进行同步的。当时钟服务器时间和本地时间相差大于1000秒时,NTP服务就会认为是人为调整了时钟或出现了硬件故障,例如CMOS电池损坏等。这些对时间调整来说,都是比较严重的问题,此时ntpd服务就会退出,并记录日志提醒用户进行检查,并需要人工进行时钟同步。ntpd服务启动时采用“-g”选项可以让ntpd服务启动时忽略1000秒或更大误差。
NTP服务器的架设在网络中有层次(stratum)的概念。某一NTP服务器的层次(stratum)的根据它上层NTP服务器的层次而设定(在上层NTP服务器层次的基础上+1)。对于提供网络时间服务器的主机来说,层次(stratum)的设定要尽可能准确。而作为局域网的下级时间服务器,通常将stratum设置为10,如下:
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
#stratum设置为其它值也是可以的,其范围为0~15
以上就是NTP网络时间服务器的简单介绍。作为一个在计算机网络中历史悠久、使用广泛的网络协议,NTP在各种信息系统中发挥了重要的作用,已经成为了计算机网络中时间统一的标准解决方案。读者如果想深入了解NTP网络时间服务器的相关知识,建议查阅专业的书籍或技术资料。
Copyright @ 2024 Beijing XinShenginc All Rights Reserved. 地址:北京市海淀区上地信息路26号 京ICP备2022035422号 XML地图 网站模板