金融系统NTP时钟同步(网络校时服务器)架设工作详情
Posted NTP校时服务器
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了金融系统NTP时钟同步(网络校时服务器)架设工作详情相关的知识,希望对你有一定的参考价值。
金融系统NTP时钟同步(网络校时服务器)架设工作详情
金融系统NTP时钟同步(网络校时服务器)架设工作详情
京准电子科技官微——ahjzsz
一、选型思考方面
对于NTP时钟服务器设备的选择应该从本单位实际使用情况和市场上设备情况进行综合分析,选取最优方案来,尽量避免非相关因素对设备选型的干扰。在NTP系统中一般20ms以内系统认为是一个时间,超过20ms系统认为是两个时间。一般恒温晶振和非守时原件设备长时间守时精度低于20ms,此类设备一般都连接天线,时间和卫星校正。
从卫星获取时间的NTP设备精度更高,一般可以达到1ms以下。但卫星信号波长短,不能穿过墙面,卫星接收器的天线头(俗称蘑菇头)一般的安装在室外空旷地方。此外无论哪种时间同步服务器,断电重启后,必须重新同步。
二、本单位实际需求
一般本单位需要思考如下几个问题。
2.1 本单位时间的精度要求
一般软件的时间精度为秒级别,如果对系统要求不高的化可以自建时钟服务器,通过互联网时间源进行时间校正,但互联网时间源各源之间稳定度和可靠性不同。推荐使用阿里云公司的时间源,此两者时间源虽然是二级时间源,但有NTP时钟作为一级源稳定度较高。另外为了避免各时间源稳定性对网内时钟服务器的影响,一般配置多个时间源,通过NTP自身的算法来确定时间。
有些互联网时间源(例如:国家授时中心)会下发闰秒标示位,可能会引起系统在闰秒事件到来时宕机,请考虑应对措施。
需要提醒的NTP的层级是可以设置的,这配置互联网时间源时要避免不良时间源故意发布虚假的NTP层次对系统内时间源算法的影响。
2.2 设备的备份情况
一般思考主备机房的备份情况和单台设备故障的备份情况。
NTPD服务在启动后,就会不断地向时钟服务器发送查询数据包,稳定后查询数据包频率为1024次/秒。算法会自动检查时钟源的稳定性和可靠性,如果时钟服务器发生故障,NTP算法会监测到故障,采用自身时间,短时间内对系统没有影响。
金融单位为实现数据的可靠性,一般采用备份原则。在典型双数据中心,因为NTP要时时发送数据包,一个数据包为90字节,主备机房设备特别多时,要考虑主备交互的数据量。
如果日常生产主要集中在主机房,那么完全可以只在主机房架设NTP设备,备机房设备通过网络和主机房NTP设备同步。
对于单个机房,可以通过架设两台服务器做主备处理。
主备设备建议完全独立,这样可以最大程度发挥NTP的算法的作用。
2.3 现在的网络分区
时钟服务器一般部署在核心交换机上,此种方式可以避免架设时钟服务器对现有网络架构的修改。如果现有网络架构是完全分区的,可考虑考虑架设多台,或者在选择多网卡的设备。
2.4 后期的扩展性能
NTP数据包为90字节,一般1024秒发送一次。京准时钟服务器的NTP请求量为8000次/秒,一般可以满足一万四千台设备同时访问。一般机房设备后期可无限扩展。
2.5 本单位是否有特性需求
是否采购灯箱,支行是否采购设备还是通过网络设备作为二级节点同步。非生产设备是否接入NTP时钟服务器。NTP设备实施的时间和流程。是否是涉密机房,机房安装天线的难以程度等问题。
三、时钟服务器特性
3.1 守时元器件选择
时钟服务器一般获取时间的方式有网络时间源,运营商基站和卫星时间。网络的优缺点已经说过。
从运营商基站获取时间的优点是安装环境几乎不受限制,只要是手机信号可以接受到的地方都可以使用。缺点是精度不够高,一般为20ms作用,虽然可以通过在配置文件中添加参数校正,但是和基站有关系,不同地点和不同时间段的偏差值都不一样,为避免偏差超过20ms,一般系统内只架设一台设备。
恒温晶振和无守时器件的设备功能几乎一样,有晶振的设备在短时间内天线断开可以维持时间,无守时器件天线断开后,偏差值能达到200ms以上。
无法安装天线又需要长时间守时的,一般选择铷钟设备。此铷钟年偏差为3ms左右,设计寿命为30年。实物如下图:
此外要提醒的是,无论是哪种设备,设备断电后要重新通过时间,断电后不同步时间的偏差值约为200ms。
3.2 操作系统和CPU架构选择
一般现在工业设备为ARM架构和X86架构。相对来说X86架构的处理能力和可靠性相对更高一些。
操作系统建议选择类Linux系统架构,便于系统开发和维护。Window的不开源性对NTP的后期设计和故障排查会造成一定的影响。
3.3 监控测量
虽然时钟服务器日常几乎不需要运维,完全自动化。但还需要必要的监控,防止时钟服务器发生异常。京准可以提供snmp和监控软件NTSM来监控。
3.4 其他需要关注项
是否选择双电源型,是否选择双模式接收机型,网口的数量等相关问题。
NTP网络校时服务详解
参考技术A地球分为东西十二个区域,共计 24 个时区,以格林威治作为全球标准时间(即GMT 时间,0时区),东部时区以格林威治时区进行加法,而西时区则以格林威治时间作减法。但地球的轨道并非正圆,在加上自转速度逐年递减,时间会有误差。在计算时间的时,最准确是使用“原子震荡周期”所计算的物理时钟。这种时钟被称为标准时间,即UTC时间(Coordinated Universal Time)。UTC 的准确性毋庸置疑,美国的 NIST F-1 原子钟 2000 年才将产生 1 秒误差。
实际生产生活中,使用原子时钟这种准确的计时似乎缺少必要性,我们更多关注的是参与活动的各个个体在相同的时间环境下对话。例如,当我们说明天早上8:00开会的时候,我们并不在乎原子时钟真实的计时情况,只要参会的所有个体对“明天早上8:00”这个时间具有相同的认知即可。这里时间同步是个非常重要的概念,如果某位同仁手表慢了半小时,那它对“早上8:00”的理解就比其他人要慢半小时,最终会导致ta开会迟到。同样的道理,我们在影视剧中经常能看到特种作战小组在执行特别任务前一般都要先完成组员之间的时间同步,避免组员之间在时间上的认知差异给任务带来不必要的麻烦,甚至危及生命。
NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用于分布式设备(比如电脑、手机、智能手表等)进行时间同步,避免人工校时的繁琐和由此引入的误差,方便快捷地实现多设备时间同步。 NTP校时服务基于UDP传输协议进行报文传输,工作端口默认为123/udp 。
NTP的实现过程如图所示,假如设备A和设备B本地时间存在差异(设备A早上10点,设备B早上11点),现在设备A欲通过NTP和设备B在时间上保持同步:
这样可以轻松计算出来:
现假设设备A和设备B之间的时间差位 ,易得:
通过上式计算出 .
设备A就能根据 调整本地时间,实现和设备B的时间同步。
NTP的目的是在一个同步子网中,通过NTP协议将主时间服务器的时钟信息传送到其他二级时间服务器,实现二级时间服务器和主时间服务器的时钟同步。这些服务器按层级关系连接,每一级称为一个层数(stratum),如主时间服务器层数为 stratum 1,二级时间服务器层数为 stratum 2,以此类推。时钟层数越大,准确性越低。
注意:准确性指相对于主时间服务器而言。
在NTP网络结构中,有以下几个概念:
在正常情况下,同步子网中的主时间服务器和二级时间服务器呈现出一种分层主从结构。在这种分层结构中,主时间服务器位于根部,二级时间服务器向叶子节点靠近,层数递增,准确性递减,降低的程度取决于网络路径和本地时钟的稳定性。
NTP有两种不同类型的报文,一种是时钟同步报文,另一种是控制报文。控制报文仅用于需要网络管理的场合,它对于时钟同步功能来说并不是必需的,这里不做介绍。
时钟同步报文封装在UDP报文中,其格式如图所示:
各主要字段解释如下:
其中,NTP发送和接收的报文数据包类似,通常只需要前48个字节就能进行授时和校时服务。下面分别是抓包获取的NTP请求数据包和回复数据包示例(仅前48个字节):
收到数据包后,接收端本地再产生一个时间戳( )。
这里,每个返回数据前4字节为秒的整数部分,后4字节为秒的小数部分。
设备可以采用多种NTP工作模式进行时间同步:
单播C/S模式运行在同步子网层数较高的层级上,客户端需要预先知道时间服务器IP或域名并定期向服务器发送时间同步请求报文,报文中的 Mode字段设置为 3(客户模式)。服务器端收到报文后会自动工作在服务器模式,并发送应答报文,报文中的Mode字段设置为4(服务器模式)。客户端收到应答报文后,进行时钟过滤和选择,并同步到优选的服务器。客户端不管服务器端是否可达,也不管服务器端所在的层数。在这种模式下,客户端会同步到服务器,但不会修改服务器的时钟。服务器则在客户端发送请求之间无需保留任何状态信息。客户端根据本地情况自由管理发送报文的时间间隔。
对等体模式运行在同步子网较低层级上,主动对等体和被动对等体实现时钟相互同步。这里有两个概念:主动对等体和被动对等体。
如上图所示,对等体模式工作步骤如下:
1.主动对等体和被动对等体首先交互Mode字段为3(客户端模式)和4(服务器模式)的NTP报文,这一步主要是获得通信时延。
主动对等体和被动对等体可以互相同步。如果双方的时钟都已经同步,则以层数小的时钟为准。
注意:对等体模式不需要用户手动设置,设备依据收到的NTP报文自动建立连接并设置状态变量。
广播模式应用在多台工作站和不需要很高精度的高速网络中。主要工作流程如图所示:
注意:在广播模式下,服务端只负责向外广播时钟信息,自身时钟不受客户端影响。
组播模式适用于有大量客户端分布在网络中的情况。通过在网络中使用 NTP 组播模式, NTP 服务器发送的组播消息包可以到达网络中所有的客户端,从而降低由于 NTP 报文过多而给网络造成的压力。主要工作流程如下:
注意:组播模式和广播模式类似,只是它是向特定的组播地址发送时钟同步广播报文。在组播模式下,服务端只负责向外广播时钟信息,自身时钟不受客户端影响。
多播模式适用于服务器分布分散的网络中。客户端可以发现与之最近的多播服务器,并进行同步。多播模式适用于服务器不稳定的组网环境中,服务器的变动不会导致整网中的客户端重新进行配置。其工作流程如下:
注意:为了防止多播模式下,客户端不断的向多播服务器发送 NTP 请求报文增加设备的负担,协议规定了最小连接数的概念。多播模式下,客户端每次和服务器时钟同步后,都会记录下此次同步过中建立的连接数,将调用最少连接的数量被称为最小连接数。以后当客户端调动的连接数达到了最小连接数且完成了同步,客户端就认为同步完成;同步完成后每过一个超时周期,客户端都会传送一个报文,用于保持连接。同时,为了防止客户端无法同步到服务器,协议规定客户端每发送一个 NTP 报文,都会将报文的生存时间 TTL(Time To Live)进行累加(初始为 1),直到达到最小连接数,或者 TTL 值达到上限(上限值为 255)。若 TTL 达到上限,或者达到最小连接数,而客户端调动的连接数仍不能完成同步过程,则客户端将停止一个超时周期的数据传输以清除所有连接,然后重复上述过程。
下面补充一些常用的NTP时钟服务器:
更多NTP授时服务器请查看:
假设你比较喜欢清华的服务并打算将 ntp.tuna.tsinghua.edu.cn 作为你的授时服务器。下面将简单介绍不同的操作系统该如何操作使得设备能够使用此服务器同步时间。
本部分以主流Windows 10 系统为例演示如何使用NTP服务同步系统时间。
来将此服务器设置为个人选择的时间服务器。
Linux发行版有两个主流程序支持ntp协议:ntpd和chrony。
具体使用和配置参考各自文档: ntpd doc 和 chrony doc
在“系统配置 > 日期与时间 > 自动设置日期与时间”一栏,填入 ntp.tuna.tsinghua.edu.cn 。
以上是关于金融系统NTP时钟同步(网络校时服务器)架设工作详情的主要内容,如果未能解决你的问题,请参考以下文章