未来,NTP授时服务器(NTP服务器)将成网络系统标配
未来,NTP授时服务器(NTP服务器)将成网络系统标配
摘要:随着网络的飞速发展,设备的日益增多,许多网络应用和网络安全对时间同步问题提出了迫切需求。因此基于NTP的时间同步解决方案成为解决这些问题的合理选择。本方案介绍了大型生产型企业的网络时间同步技术中的NTP协议的原理、工作模式和体系结构,并结合企业的MES网络结构讨论了NTP在企业网中的应用。
1、 引言:
随着网络的普及,许多企业单位都建了自己的园区网,使用的网络设备和服务器日益增多。这些设备都有自己的时钟,而且是可以调节的。但是无法保证网络中的所有设备和主机的时间是同步的,因为这些时钟每天会产生数秒、甚至数分钟的误差。经过长期运行,时间差会越来越大,这种偏差在单机中影响不太大,但在网络环境下的应用中可能会引发意想不到的问题。如在分布式计算环境中,由于每个主机时间不一致,会造成同一操作在不同主机的记录时间不一致,将导致服务无法正常地进行,对企业的业务来往导致的结果是可想而知的。
2、 时间同步的概述:
将网络环境中的主机服务器或各种设备的时间信息(年月日时分秒)基于UTC(Universal Time Coordinated)时间偏差限定在足够小的范围内(如1-10ms),这种同步过程叫做时间同步。
3、 NTP的工作原理:
3.1、NTP的概述
NTP最早由美国Delaware大学的教授设计实现的,由时间协议、ICMP时间戳消息及IP时间戳选项发展而来。NTP用于将计算机客户或服务器的时间同步到另一服务器或参考时钟源。它使用UTC作为时间标准,是基于无连接的IP 协议和UDP协议的应用层协议,使用层次式时间分布模型,所能取得的准确度依赖于本地时钟硬件的精确度和对设备及进程延迟的严格控制。在配置时,NTP可以利用冗余服务器和多条网络路径来获得时间的高准确性和高可靠性。图1是一个UDP分组中的NTP信息。其中,LI是润秒插入或删除指示;VN是NTP协议版本号;Mode、Stratum和Precision分别代表工作模式、时钟级别和本地钟精度。Poll是当前发送NTP消息的时间间隔的期望值。Root Delay表示主要参考源的总延迟。Root Dispersion表示相对于主要参考源的正常差错。Synchronizing Distance和Synchronizing Dispersion是当前往返延迟和相对于PRS的误差范围。Reference Timestamp代表当前时钟参考源的种类和最近一次更新时间,为管理目的而设立。后面三个字段分别代表三个时间戳:Originate Timestamp发送方最后接触包的时间,Receive Timestamp接收方收到包的时间,Transmit Timestamp接收方发送echo reply时最后接触包的时间。Authenticator是密匙指示标志和加密的校验盒。
3.2、NTP的工作原理
NTP 协议精确度最关键的原因在于由网络延迟的随机性而引起的时钟延迟计算的不准确。由于延迟不准确,所以无法依靠从时间服务器到客户机的单边传输来传递精确的时间信息。为了解决这个问题,在NTP协议中使用时间服务器和客户机之间的双向信息交换和时间戳(timestamp)的概念。
3.3、NTP的工作模式
NTP的工作模式有三种、
⑴客户/服务器模式:客户机周期性地向服务器请求时间信息,服务器用来同步客户机但不能被客户机同步。客户机首先向服务器发送一个NTP 包,其中包含了该包离开客户机时的时间戳,当服务器接收到该包时,依次填入包到达时的时间戳、交换包的源地址和目的地址、填入包离开时的时间戳,然后立即把包返回给客户机。客户机在接收到响应包时再填入包返回时的时间戳。客户机用这些时间参数就能够计算出2个关键参数:包交换的往返延迟和客户机与服务器之间的时钟偏移。客户机使用时钟偏移来调整本地时钟,以使其时间与服务器时间一致。
⑵主/被动对称模式:与客户/服务器模式基本相同。唯一区别在于双方均可同步对方或被对方同步。
⑶广播模式:没有同步的发起方。在每个同步周期中,服务器向网络广播广播带有自己时间戳的消息包,所有的目标节点被动接收这些消息,以此调整自己的时间。一般用于网络延时非常小,或者对时间精度要求不高的地方,如同局域网内,使用广播模式可节省带宽。
3.4、NTP系统体系结构
NTP采用层次式时间分布模型。网络体系结构主要包括主时间服务器、从时间服务器、客户机和各节点之间的传输路径。主时间服务器与高精度时间源进行同步,为其他节点提供时间服务。各客户端从时间服务器经由主服务器获得时间同步。正常情况下,节点(包括时间服务器和客户机)只用最可靠、最准确的服务器及传输路径进行同步,所以通常的同步路径为一个层次结构。其中,主时间服务器位于根节点,其他从时间服务器随同步精度增加而位于靠近叶子节点的层上,主机和服务器处于叶子节点。NTP将传输路径分为主动同步路径和备份同步路径,两者都同时进行时间信息包的传输,但节点只用主动同步路径数据进行同步处理。
该模型中,本地时钟进程:处理由修正模块得出的偏移量并且用NTP中专用算法对本地时钟的相位和频率进行调节。传送进程:由和每个远端实体对应的不同定时器触发,用以从数据库中收集信息,并向远端实体发送NTP消息。每个消息包括发送时的本地时间戳,前一次收到的时间戳,还有用来判断同步网络层次结构以及管理连接的信息。接收进程:接收NTP消息,计算出远端时钟和本地时钟之间的偏移量。修正模块:处理与各个远端实体之间的偏移量,并用NTP中的一个算法选择最佳的一个。本地时钟进程:处理由修正模块得出的偏移量并且用NTP中专用算法对本地时钟进行调节。
4、 时钟服务器在企业MES系统的应用
4.1、MES的概述
MES (Manufacturing Execution System)工厂制造执行管理系统是企业信息集成的纽带,是实施企业敏捷制造战略和实现车间生产敏捷化的基本技术。MES以产品的生产和销售为处理对象,聚焦于定货、交货期、成本和顾客的联系等,对时间的要求是苛刻的。
4.2、MES系统时间同步框架
如此重要的MES系统,网络时间同步的重要性是可见的,时钟服务器就是针对MES系统中的计算机服务器、网络设备等进行校正时间的高科技产品,时钟服务器它从GPS卫星上获取标准的时间信号,将这些信息通过各种NTP网络接口来传输给MES系统中需要时间信息的设备,这样网络中有了标准的时钟源就可以达到整个系统的时间同步(见图3)。