SNTP服务器对时原理及应用建议

syn029
2017-07-18
来源:西安同步原创

目前国内sntp服务器一般要求精度在±50ms量级,而且由于其受到网络复杂程度和网络环境限制较高,当网络环境较差且上级sntp对时服务器级别不高时很难保证对时精度。而国外工业及电力系统中则对sntp对时精度要求较高,其一般要求保护系统内sntp客户机系统时间以及外部IO信号报文时间戳相对基准时间误差不大于±1ms。

1 sntp对时原理

sntp单播模式下,其以客户机/服务器模式进行通讯,对时服务器通过自身接收GPS信号及自身守时芯片确定自身的时间基准。客户机定期访问服务器获取服务器时间信息,并依此改变自身时钟至服务器时间,从而完成时间校准工作。

在时间同步过程的起始时刻,客户机向sntp服务器发送包含时间戳的对时请求数据并自身记录该时刻,服务器收到该请求后回复一包含接收到客户机请求包时刻和自身发出应答包时刻的数据包至客户机,客户机接收该包并记录接收时刻。

sntp对时工作原理

设T1为客户端向服务器端发出对时请求的自身绝对时刻,T2为服务器端收到来自客户端对时请求包的绝对时刻,T3为服务器端向客户端发出对时应答包的出口绝对时刻,T4为客户端接收到服务器应答包的绝对时刻。  

假设1:请求数据包和服务器应答数据包在网络上的发收时间间隔一致(收发路由以及延时一致),则可算出单程网络延时。

假设2:在一个时间同步周期内,客户机端内部时钟与服务器端时钟只存在小到可以在毫秒级忽略不记的误差。由以上两个假设可以推算出两边绝对时间偏差。

基于此,可以看出客户端同服务器端的时间偏差仅取决于请求报文与应答报文在网络上的延时与相关节点的绝对时间戳值。得到客户机端的绝对时间偏差后,客户端根据此偏差进行调整即可实现时间同步。

2 sntp对时过程中可能产生的外部误差

实际sntp时间同步处理过程中,由于期望达到±1ms级误差,所以嵌入式系统的内部处理流程耗时将不能忽略。此时在cpu进行报文时间标记后转由端口发送至网络的过程中将产生一定的延时,同时当嵌入式系统端口处收到来自对时服务器的应答报文,cpu将经过一段时间后才可能巡检到并处理该报文,此时由于巡检机制导致时间段的不稳定性,实际系统中的两组时间戳间隔(广义网络延时)将不再对等。此时通过sntp对时机制计算出的本地时钟相对服务器时间的偏移值会产生大小为到相对时间与到相对时间差值绝对值一半的误差。

此外,由sntp时钟源同步发出的脉冲信号输入保护设备后,DI板件将该信号转发至cpu板卡处理形成上送PC端工具报文并标记该信号时间戳的过程中也会产生一定的延时,在对比实验中大约为±0.5ms级,难以忽略。




3 SNTP服务器应用建议

为了使SNTP服务器能够更好地在局域网中应用,尤其是在需要为大量网络设备(计算机,网络摄像机,服务器、交换机、监控设备等)需要时钟同步的情况下有以下建议:

1)务必在本地局域网架设SNTP服务器,不要使用互联网上的SNTP服务器地址,因为Internet网络的时延不确定性,最大有几秒的误差,服务质量得不到保证。

2)sntp客户端对sntp服务器的授时请求周期一般要大于60s,甚至更长时间,建议5分钟左右,以免造成SNTP服务器资源迅速消耗而不能及时响应其他客户端的请求。

3)SNTP服务器可以带的客户机数量是根据厂家sntp服务器的响应速度来确定的,网络中客户机数目过大时,应配置多台SNTP服务器,以达到要求的授时精度。一旦超过厂家规定的数量,授时的精确度就得不到保证,会有恶化的危险。

4)需要高可靠授时应用时,最好配备多台SNTP服务器,实现冗余配置,利用DNS实现负载均衡和集群。

5)计算机客户端一般能够自动识别服务器端的故障,一旦发现sntp服务器出现故障,会自动转向其他sntp服务器获取时间。

4、sntp服务器介绍

西安同步电子科技有限公司生产多款ntp/sntp时间服务器,举例如下:

NTP网络时间服务器是兼容NTP/SNTP协议的多功能时钟服务器,利用美国的gps卫星信号,获取utc标准时间,为网络用户提供精确可靠和多功能的时间服务。

sntp服务器外观图

sntp服务器外观图

北斗网络时间服务器是一款基于NTP/SNTP协议的多功能网络校时服务器,接收北斗二代卫星定时定位信号,为客户端提供精确的授时服务。

CDMA网络时间服务器是一款基于NTP/SNTP协议的网络授时服务器,从中国电信cdma基站获取utc时间,为网络用户提供标准的网络时钟同步服务。

阅读5318
分享