局域网时间同步服务器对于计算机网络越来越普及的现代人来说是必不可少的,广域网时间同步比较简单,因为网络上有很多免费的时间同步服务器可以选择,但是对于很多不能够链接到互联网的局域网要实现时间同步就比较困难,所以必须安装一套局域网时间同步服务器来解决局域网时间统一的问题。
1、局域网时间同步服务器概述
随着计算机互联网络的迅速发展,网络在国民经济和人们的日常生活中起着越来越重要的作用,网络上的计算机和终端设备之间的时间同步问题被提上日程。为了使网络上的计算机和设备终端保持时间同步,通常人们将小部分计算机装上时间同步接收器作为一级时间服务器(这样既经济又便利),然后用这些服务器去同步大量的二级服务器和连接在普通网络上的客户机。这样就出现了网络时间同步技术。
根据对NTP时间同步协议及工作原理的分析,提出采用现有的GPS北斗NTP时间同步服务器实现局域网时间统一,其中西安同步电子科技有限公司研发生产的SYN2151型NTP时间同步服务器完全满足绝大多数用户需求,拥有近20000次/秒的ntp请求量,10m/100m/1000m自适应以太网接口,是性价比最高的局域网时间同步服务器之一。
所谓网络时间同步,简单的说就是让在网络中每台设备的系统时间同标准时间的误差保持在一定范围内。当然,网络可以是局域网LAN(LocalAreaNetwork),也可以是广域网WAN(WideAreaNetwork),网络中的设备可以是计算机,也可以是其他网络终端。为了达到网络时间同步的目的,一系列分布式网络时间协议产生了,它们能够读取服务器的时间,将读数传送给一个或更多的客户端,并且根据需要调整每个客户端的时间。
2、网络时间协议(NTP)简介
NTP(NetworkTimeProtocol)是一个Internet标准协议,由美国Delaware大学的Mills教授于1985年提出的,是一种同步网络设备和服务器时钟的动态、稳定和容错的协议,除了可以估算封包在网络上的往返延迟外,还可独立地估算计算机时钟偏差,达到在无序的Internet上传递统一、标准的时间,提供高精确和健壮的时间同步服务(LAN上与标准时间差小于1毫秒,WAN上与标准时间亦仅差几十毫秒),实现高精准度计算机校时的目的。现在最新的正式版本为NTPV3。
目前采用的时间标准是世界协调时UTC(UniversalTimeCoordinated)。UTC是协调世界时(UniversalTimeCoordinated)的英文缩写,是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统,它是由国际无线电咨询委员会规定和推荐的,并由国际时间局(BIH)负责保持的以秒为基础的时间标度。各国天文台发布的实时时间都是UTC系统时间,称为该守时台的UTC时间。根据用户所在的时区加上时差就是UTC时间。
NTP的主要开发者是美国特拉华大学的DavidL.Mills教授。NTP的设计充分考虑了互联网上时间同步的复杂性。NTP提供的机制严格、实用、有效,适应于在各种规模、速度和连接通路情况的互联网环境下工作。NTP以GPS时间代码传送的时间消息为参考标准,采用了Client/Server结构,具有相当高的灵活性,可以适应各种互联网环境。
NTP不仅校正现行时间,而且持续跟踪时间的变化,能够自动进行调节,即使网络发生故障,也能维持时间的稳定。NTP产生的网络开销甚少,并具有保证网络安全的应对措施。这些措施的采用使NTP可以在互联网上获取可靠和精确的时间同步,并使NTP成为互联网上公认的时间同步工具。网络时间协议(NTP)的详细说明在RFC-1305[Mills1992]中。
RFC-1305以合适的算法来增强时钟的准确性,并且减轻多个由于同步源而产生的差错,实现了准确性低于毫秒的时间服务,以满足目前因特网中路径量测的需要。NetworkTimeProtocol是TCP/IP协议家族的一员。NTP时间服务器为客户机提供标准时间,时间服务器的时间主要来自于接收GPS时间,下一级的时间服务器从上一级时间服务器获取标准时间。所有需要时间同步的客户机只需安装客户端软件即可与上级时间服务器同步时间。
目前,在通常的环境下,NTP提供的时间精确度在WAN上为数十毫秒,在LAN上则为亚毫秒级或者更高。在专用的时间服务器上,则精确度更高。时间信息在TCP/IP网络中传输面临的主要问题是传输延迟的不确定性,这也是TCP/IP网络自身的一个特点。由于延迟的不确定,所以依靠从时间服务器到客户机的单边传输是无法传递精确时间信息的。为了解决这个问题,在NTP协议中使用了时间服务器和客户机之间的双向信息交换和时间戳的概念。利用客户机主动申请,服务器应答的方式来确定网络延迟和时钟偏移。
NTP的设计充分考虑了网络上时间同步的复杂性,适应于在各种规模、速度和连接通路情况的网络环境下工作。NTP要求的资源开销和通信带宽很小。NTP采用UDP协议,因为UDP更适合传输数据量小且频繁的数据,同时,UDP产生的系统开销较小,不许建立连接,不采用TCP中的差错检验和流控制,利于重复利用网络带宽来传输数据,所以在时间精度要求高的通信场合得到广泛使用。UDP占用很小的网络带宽,在众多客户机和少许服务器通信时有利于避免拥塞。服务器/客户机方式下,通信间隔将在**的范围内自动变化(一般是64s到1024s),同步情况越好,通信间隔就越长。
NTP不仅校正现行时间,而且持续跟踪时间的变化,能够自动进行调节,即使网络发生故障,也能维持时间的稳定。NTP还使用了识别机制,检查来对时的信息是否真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制,以防止对时间服务器的恶意破坏。
3、NTP报文格式
NTP信息在网络上传输都采用UDP协议,端口号是123,此号码将被使用在UDP标头里的SourcePort和DestinationPort两段中,剩余的UDP标头栏将被设定成规格的描述。NTP报文格式如表1-1所示。跳秒标识(Ll):警告将要在当月的最后一天的最终时刻在UTC时标里插入跳秒。版本号(VN):标识当前版本号。模式(Mode):层(Stratum),精度(Precision)标识了当前的操作模式,层和本地钟精度。轮询间隔(Poll):标识了连续消息间的最大间隔,以二的幂表示。精度(Precision):标识本地钟的精度。根延迟(RootDelay):标识到主参考源的整个往返延迟,这个变量根据钟的精度和偏斜可正可负。根离差(RootDispersion):标识相对于主参考源的最大误差,这个变量只可能取大于零的正值。
NTP报文格式
参考钟标识(ReferenceClockIdentifier):用32位代码标识特定的参考钟。
参考时戳(ReferenceTimestamp):本地钟最近被设置或校正的本地时刻。
初始时刻(OriginateTimestamp):请求离开客户端主机发往服务器主机的本地时刻。
接收时戳(ReceiveTimestamp):请求到达服务器端的本地时刻。
传送时戳(TransmitTimestamp):答复离开服务器端主机发往客户机的本地时刻。
认证(Authenticator(optional)):当NTP认证机制实现时,它保存认证者信息。
NTP协议机为上述每一个量值维持一个状态变量,还有其它一些状态变量如下:
地址和端口:服务器和对等点的32位因特网地址和16位端口数,它们用来标识联接。
对等点计数器:一个用来控制传递NTP消息的间隔的计数器。
可达性寄存器:用来确定一个对等点的可达性状态的移位寄存器。滤波寄存器:由数据滤波算法使用的移位寄存器。
延迟,偏移和离差:标识了由数据滤波算法产生的当前往返延迟,钟偏移和滤波离差。
同步源:标识由对等点选择算法决定的当前用来同步本地钟的对等点。
本地钟:由本地钟得来的当前本地时间。
4、NTP协议工作原理
客户端向服务器发送查询请求时间包,该请求包中有离开客户时的时间戳T1,以客户端时间系统为参照。当服务器接收到该请求包时,依次填入该包到达的时间戳T2以及离开时的时间戳T3,之后返回给客户端,以服务器时间系统为参照。客户端在接收到响应包时再填入包,回到客户端的时间戳,以客户端时间系统为参照。客户端可通过T1、T2、T3、T4计算出时钟偏差θ去调整本地时钟,使之与NTP服务器时钟同步。
以上只是对NTP的工作原理的粗略描述,详细内容请参阅RFC1305。通常情况下,在设置的初始,5至10分钟有内6次交换。一旦同步后,每10分钟与服务器时间进行一次同步,通常要求单一信息交换。影响NTP协议精确度最关键的因素在于由网络延迟的随机性而导致的时钟延迟计算的不准确,同时还依赖于本地时钟硬件的精确度。
5、NTP服务器工作方式
NTP服务器通过广播/多播(broadcast/multicast)、对等(symmetric)和服务器客户端(server/client)这三种方式与其他的时间服务器进行时间同步。广播/多播方式主要适用于局域网的环境,以广播的方式将时间信息传送给其他的时间服务器,此方式的精度并不高;对等方式适用于配置冗余的时间服务器,即时间服务器之间可以互相进行时间同步。
即使上层的时间服务器出现故障或与时间服务器的通讯中断时,仍然可以提供高精度的时间同步服务给主机;服务器客户端方式与对称方式比较相似,只是不给同层的时间服务器提供时间同步服务,此方式适用于接收上层时间服务器的时间同步服务,并为下层用户提供时间同步服务。对于上述三种方式,时间信息的传输都使用UDP协议。
每一个时间包内包含最近一次事件的时间信息,包括上次事件的发送与接收时间、传递现在事件的当地时间以及此包的接收时间。在收到上述包后即可计算出时间的偏差量与传递资料的时间延迟。时间服务器利用一个过滤演算法以及先前八个校时资料计算出的时间参考值,来判断后续校时包的精确性,一个相对较高的离散程度表示一个校时资料的可信度比较低。
仅从一个时间服务器获得校时信息,不能校正通讯过程所造成的时间偏差,而同时与许多时间服务器通信校时,就可利用过滤算法找出相对较可靠的时间来源,然后采用它的时间来校时。
5.1广播模式
广播模式通常用于对精度要求不高,而且有众多客户机的高速局域网中,在广播模式下没有时间同步的发起方,服务器定期向网络广播自己的时间信息,所有客户机接收这些报文,判断网络延迟,并修改本地时钟,可以获得毫秒级的同步精度。在数据包的传送方式上,它是一种多个客户机对一个服务器的同步方式。网络延迟一般是毫秒级的,同时,这种模式需要的系统开销和占用的通信带宽都比较小。
不同之处在于时间服务器在广播方式下周期性地向广播地址发送时间刷新信号;在多播方式下,服务器周期性地向多播地址发送时间刷新信号,一个服务器可以为大量的客户机提供时间,多播模式的初始客户端会先发送一些单播包来测量延迟,以使时间更准确,然而并不是所有的设备都支持这种多播模式。两者工作方法基本相同,在广播和多播方式下一个服务器可以为大量的客户机提供时间同步服务,但同步精度较低。
5.2客户/服务器模式
不管局域网中的服务器是否是可达的,处于客户端模式下的主机,周期性地向它发送同步请求,客户机只能被别的时钟服务器同步,而不能去同步网络中的其他主机。当一个客户端向局域网中的时间服务器发送对时请求时,它们之间建立了联系,对时完成后它们之间的联系就被解除。NTP协议最典型的操作模式是客户/服务器模式,在数据包的传送方式上,它是一种客户端和服务器一对一的点对点方式。在该模式下,客户端周期性地以向服务器发送NTP时间报文的方式向服务器请求时间同步。该报文中包含了它离开客户端时的时间戳、服务器接收到该报文时的时间戳、交换报文的源地址和目标地址、报文离开服务器时的时间戳,然后立即把数据包返回给客户端。客户端在接收到响应报文时再把报文回到客户端的时间填入报文。客户端用这4个时间戳解算出客户机与服务器之间的时钟偏移量θ和网络路径延迟δ,然后,采用数据滤波算法找到最好的一组时间信息来修正本地系统时间。
5.3对称模式
在上面两种工作模式中,服务器用来同步客户端但却不能被客户端同步,对于客户端来说则正好相反。NTP协议还提供了一种互同步机制即对称操作模式。在对称模式下,同步的两主机没有客户机/服务器的概念,一方处于对称主动(SymmetricActive)状态,另一方处于对称被动(SymmetricInactive)状态。处于主动对称模式下的主机,周期性的不断发送消息给与它保持联系的节点,而不管消息是否可达以及对方的层次。它向网络发出了愿意进行同步或被同步的信息。被动对称:这种主机间的联系一般是发生在有消息从另外一个处于主动对称状态的节点发送过来的时候,并且这种联系只有在它们之间网络链路是可达的时候才维持,还需要该节点的层次不高于它所处的层次。否则,这种联系就会被解除掉。对称主动同步通常是指在距离子网终端较近的时钟服务器上进行的时钟同步。不管另一方工作在同步网络中的哪一层,工作在对称主动状态的主机根据预先配置的地址循环地向另一方发送希望同步对方同时被对方同步的消息。当另一方收到上述消息时,根据发送方的Stratum数,发现对方与自己处于同一级或者比自己更靠近叶子节点时,也发送希望同步对方同时被对方同步的消息,这样该主机进入对称被动状态。然后,双方开始传送同步数据包,两主机分别根据对等选择算法(PeerSelectionAlgorithm)来决定是同步对方还是被对方同步。对称被动同步通常是指在距离子网的根(主时钟服务器)较近的时钟服务器上来对大量处于不甚稳定网络的节点进行时间同步。在这种模式下,该主机不需要提前知道被同步节点的身份,因为它们之间的联系只是当同步请求报文到达时才会创建。在Internet或其它大型的分层网络中,对称主动状态用于实现与配置有同层或高层服务器地址的低层服务器的同步。另外,NTP的对称模式提供了一种子网节点间的内同步方法。这样,即使高层的时间服务器出现故障或与该服务器的通信中断,底层的主机之间也可以相互同步起来。
6、NTP网络结构
NTP所建立的网络基本结构是分层管理的类树形结构,以国际标准时间(UTC)为基础,形成层次式时间同步模型,并通过使用这种模型提供了同步子网的无限可扩展性。时间按NTP服务器的等级传播,按照离外部UTC源的远近将所有时间服务器归入不同的Stratum(层)中。Stratum-0是原子钟、天文台和卫星这些准确可靠的时间源,并给Stratum-1提供可靠的UTC时间。Stratum-1的服务器直接同步到UTC时间,Stratum-2服务器则透过Stratum-1间接同步到UTC,Stratum-3服务器则透过Stratum-2间接同步到UTC,以此类推,但Stratum的总数限制在16层以内。
每台服务器均以本身的时钟来维持某精准度的时间,并自行在适当的校时周期主动向上一层服务器发出校时请求。出于时间同步精度和可靠性的考虑,下层服务器可同时引用多个上层和同层服务器作为参考源,这样即使长时间无法与某一时间服务器相联系的情况下,NTP服务依然有效运转。由于存在多条同步路径,每条路径的时钟过滤器会从最近几次的时钟偏差值中挑选出最佳者作为输出。时钟选择器会估算各同步路径的同步成本,封包往返时间延迟是主要参数,延迟愈大者成本就愈高,成本较低的时钟偏差值才会被选取。
时钟合成器则将各时钟偏差值加权合成后送往锁相回路以调整NTP服务器本身的时钟。并且,NTP使用了认证机制(Authentication),检查时间同步的信息是否真正来自所宣称的时间服务器,并检查返回路径,提供对抗干扰的安全机制。局域网时间同步方案如果您的计算机属于某个域,则计算机的时钟可能自动被网络的域时间服务器同步。
如果您的计算机是工作组模式可以利用WINDOWS操作系统自带的网络授时协议进行相应的设置,实现时间同步。首先架设一台服务器与GPS同步,并启用时间服务功能。网内客户端用户只需在本机设置启用与时间服务器同步功能即可。为了解决局域网应用时间同步问题,在不同的NTP网络层次上部署相应的时间服务器,利用其“对等”及“服务器客户端”两种工作方式,给局域网提供准确可靠的时间同步服务。
7、局域网时间同步服务器展望
随着计算机与网络技术的发展,各种应用服务的分布式特征越来越明显,因此,保证服务器与网络设备之间的时间同步越来越重要。结合局域网的特点,提出一种高校局域网NTP时间同步方案,利用NTP局域网时间同步服务器从UTC获取标准时间,并分层提供服务,采用过滤算法选择时间的最佳路径和来源,采用识别机制来抗干扰和恶意破坏,从而为局域网提供有效的时间同步服务。现在的NTPV4版本还是开发版,相信V4正式版的推出,将能为各种应用提供更高精度的时间同步服务。
西安同步电子科技有限公司研发生产的局域网时间同步服务器全部采用最新的ntp协议,具有防火墙保护功能,加密功能,而且可以远程升级ntp包,让你的ntp服务永远使用最新最安全的局域网时间同步服务器。