了解最新公司动态及行业资讯
网络时间同步系统是一种确保网络中不同设备的时间保持一致的技术机制,广泛应用于金融交易、通信网络、工业自动化、电力系统、数据中心等领域。其核心目标是通过协调设备之间的时钟,减少时间偏差,从而支持高精度协同工作或数据一致性。
数据一致性:在分布式计算环境中,多个系统或组件需要对同一事件记录时间戳。如果这些系统的时间不同步,可能会导致数据不一致或者数据处理顺序混乱。
提高系统安全性:正确的时间设置是保证日志文件准确性的关键,这对于调查安全事故、追踪入侵行为至关重要。同时,许多安全协议依赖于精确的时间戳来验证证书和签名的有效性。
优化网络性能:在网络通信中,精确的时间同步可以改善数据包传输的效率,有助于诊断和解决网络问题,并能有效管理带宽使用情况。
支持实时应用:对于要求高精度时间同步的应用(如股票交易系统、多媒体广播、工业自动化、自动驾驶等),任何时间上的差异都可能导致严重的后果,包括经济损失或服务质量下降。
因此,无论是在技术实现还是业务操作层面,维持准确且统一的时间标准都是至关重要的。这通常通过使用网络时间协议(NTP)或其他高级时间同步服务来实现。
NTP(Network Time Protocol)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务。
简单网络时间协议(Simple Network Time Protocol),由 NTP 改编而来,主要用来同步因特网中的计算机时钟。
SNTP协议采用客户端/服务器的工作方式,可以采用单播(点对点)或者广播(一点对多点)模式操作。SNTP服务器通过接收卫星信号或自带的原子钟作为系统的时间基准。单播模式下,SNTP客户端能够通过定期访问SNTP服务器获得准确的时间信息,用于调整客户端自身所在系统的时间,达到同步时间的目的。广播模式下,SNTP服务器周期性地发送消息给指定的IP广播地址或者IP多播地址。SNTP客户端通过监听这些地址来获得时间信息。
网络中一般存在很多台SNTP服务器,客户端会通过一定的算法选择最好的几台服务器使用。如果一台SNTP服务器在工作过程中失去了外部时间源,此时SNTP服务器会告诉SNTP客户端“我失去了外部时间”。当SNTP客户端收到这个信息时,就会丢弃发生故障的SNTP服务器发给它的时间信息,然后重新选择其他的SNTP服务器。
IEEE 1588,也被称为精确时间协议(Precision Time Protocol, PTP),是一种用于在分布式系统中实现高精度时钟同步的协议。它最初于2002年发布为version 1,并在2008年发布了version 2,显著提高了时间同步的精度,可以达到亚微秒级别。由于其高精度的特点,IEEE 1588广泛应用于需要严格时间同步的领域,例如电信、工业自动化、测试测量以及金融交易等场合。
IEEE1588的时间同步精度从纳秒级到微秒级不等,具体取决于网络环境和硬件配置。在TSN、专用硬件及优化拓扑下可实现亚微秒级同步,而普通以太网或混合网络则可能降至微秒或十微秒级。实际应用中需结合场景需求选择硬件方案(如边界时钟、光纤直连)和协议配置(如One-Step模式)以优化精度。
在时间同步系统中,时间源的层级(Stratum Levels)是用来描述时钟精度和可靠性的一个概念。它源自于网络时间协议(NTP),并且也被IEEE 1588精确时间协议(PTP)所采用,尽管细节上可能有所不同。时间源的层级越低,表示该时钟的准确度越高、稳定性越好。
时间源的层级取值范围1~15,顶层的参考时钟编号为0。
Stratum 0: 这类时钟并不是实际的网络设备,而是指那些高精度的时间保持装置,比如原子钟或卫星接收器等,它们提供极其精确的时间参考信号。这些设备直接与UTC时间同步,并不直接参与网络时间同步。
Stratum 1: 直接连接到Stratum 0设备的服务器或设备。因为它们直接从最高精度的时间源获取时间,所以Stratum 1设备能够提供非常高的时间准确性,通常误差范围在微秒或纳秒级别内。这类设备常用于需要极高时间精度的应用场景中。
Stratum 2: 通过网络连接到一个或多个Stratum 1设备来同步时间。虽然其精度低于Stratum 1设备,但由于经过了一次网络传输,可能会引入额外的延迟和抖动,但仍然可以达到较好的时间同步效果,通常在毫秒级范围内。
Stratum 3及以下: 随着层级增加,每个后续层级的设备都是从前一层级的设备同步时间。每多经过一层,由于网络延迟和处理时间等因素的影响,时间精度会逐渐下降。然而,在大多数应用场景下,即使是Stratum 3或者更低层级的设备也能提供足够的同步精度。
时间源层级的概念有助于理解不同设备之间的时间精度关系,并为选择合适的时间同步方案提供了依据。例如,在设计一个需要高度时间同步的分布式系统时,了解各个组件可能依赖的时间源层级可以帮助确定系统整体能达到的最佳时间同步精度。
时间源是时间同步体系中的最高精度参考源,通常为物理时钟设备,不直接参与网络时间协议(NTP)通信,而是通过物理接口(如脉冲信号、频率输出)连接到下游的Stratum 1服务器。以下是常见的时间源类型及其特点:
全球卫星导航系统(GNSS):包括全球定位系统(GPS)、北斗卫星导航系统(BDS)、伽利略卫星导航系统(Galileo)和格洛纳斯卫星导航系统(GLONASS)。
原子钟(Atomic Clocks):包括铷原子钟、铯原子钟等。
高精度振荡器:恒温晶振(OCXO)。
国产化信创时间服务器是北京昕辰清虹科技有限公司自主研发的网络时间服务器,是一款高精度、高可用性、高可靠性的NTP时钟同步产品,为了响应国家信创要求,该设备底层基于海光x86平台,内存可选用紫光/长鑫等国产内存颗粒,内置银河麒麟linux操作系统,完全做到国产化的自主、可控,该型号采用超高精度原子钟作为守时模块,该时钟采用卫星/基站信号取时,当卫星/基站信号不可用时,通过恒温晶振/铷原子钟维持当前时间,具有长/短时无天线运行能力,NTS系列产品可为计算机操作系统、网络设备、安全设备、应用系统及数据库集群等系统提供精密的授时服务和时间戳服务,现以已广泛应用于电力、政府机关、金融、交通、医院、教育、航空等各个领域。
该产品可支持北斗、4G/5G、TOD、INNER等多种输入参考源,以及支持NTP、TOD、1PPS、10MHz、422/485等多种授时输出形式。
设备采用高性能工业级服务器主板、冗余电源、SSD,搭载银河麒麟服务器操作系统,MTBF高达100000小时。
支持6个独立网口,默认为6个电口,可选择2电口+4光口,支持网卡bond、防火墙,授时支持MD5方式加密,确保授时安全。
服务器授时并发≥100000次/秒,假如每台终端1分钟同步一次,可容纳600万台终端进行时间同步。
搭载基于B/S架构的授时状态监控系统,与授时服务互不干扰,实时监控服务器授时状态,卫星状态,资源使用状态、终端同步超时、终端时间偏差等。
支持手动设置告警策略及告警通知方式(邮件、短信、alertmanager、syslog和SNMP Trap),触发告警立即发送告警通知。
实时记录终端同步日志,可保持10万条同步日志,根据同步日志查看终端实时误差。
实时告警列表可查看服务器当前存在哪些告警信息:
支持设置客户端同步超时告警和客户端偏差告警阈值,超出阈值立即触发告警,同时支持批量设置同步间隔,智能分析客户端的校时频率来设置客户端的同步间隔。
当终端数量达到上千台时,手动设置终端同步间隔和偏差阈值繁琐,可通过智能分析自动设置所有终端同步间隔和偏差阈值,支持增量设置。
该方案在主数据中心机房部署一台时间服务器,通过NTP协议向全国各地分支机构及各业务系统和设备提供校时服务。
NTP协议的校时精度会因网络类型和环境的不同而有所差异。在局域网(LAN)中,由于网络传输速度快且稳定,NTP协议通常可以实现接近一毫秒的精度。而在广域网(WAN)中,由于网络传输速度较慢且可能受到各种因素(如路由器路径延迟等)的影响,NTP协议的校时精度可能会降低到几十毫秒(±50ms)。城域网的NTP校时精度则一般介于局域网和广域网之间。需要注意的是,这些精度值并非绝对,而是一般情况下的预估,实际效果可能会受到设备性能、网络环境等多种因素的影响。
该方案仅部署一台时间服务器,具有部署简单,成本低的优势,对可靠性要求较高的场景不适用此方案。
该方案中两台设备共需三个IP地址,其中两个分别配置在两台时间服务器中,第三个IP作为提供对外授时服务的唯一IP,客户端均配置向该IP校时,当主机出现故障时,该IP自动切换到备机,客户端无感知,不需要做任何配置自动向备机校时。
该方案旨在部署两台时间服务器实现双机热备功能,实现高可用性,负载均衡,防止因单机部署因系统故障导致系统时间错乱影响业务运行。
该方案中单(多)个中心需最少部署三台时间服务器,三台时间服务器独立运行,均通过北斗卫星校准服务器本地时间,根据内部算法做到三台独立运行的服务器时间保持一致。
客户端配置同时向三台时间服务器同步时间,将网络距离近的时间服务器设为优先选择,可有效降低时间同步延迟问题,客户端会自动向三台时间服务器同步时间,根据自身的聚合算法将其中一台作为主参考源,当其中一台时间服务器授出错误时间时,客户端本地自动排除该时间源,继而向另两台时间源进行同步。
该方案优势是采用客户端本地的聚合算法自主选择最佳时间参考源,即使其中一台时间源出现故障,不影响客户端向另两台时间源同步时间
slew是平滑、缓慢的渐进式调整(adjusts the clock in small steps所谓的微调),此方式将逐步调整终端本地时钟,每秒调整0.5ms,而非一次性校正,降低瞬时误差对系统的影响。
建议将所有终端配置为微调模式,可避免因时间服务器授出时间跳变过大导致终端时间跟着跳变。
附:chrony默认采用了微调模式。所以只需对Windows系统和使用ntpd作为时间同步工具的系统配置为微调模式。
配置时间服务器使用MD5加密授时,提高终端时间同步安全性。
在授时状态监控系统中配置终端同步超时告警,当终端在规定时间内没有向时间服务器同步时间,则触发告警,及时发现及时干预,进一步保证终端时间的准确性。
在授时状态监控系统中配置终端时间偏差过大告警,当终端时间偏差过大时,第一时间向管理员发送告警通知。
如果使用卫星作为参考时间源,则需要从楼顶穿天线至机房,蘑菇头固定在楼顶空旷处,天线材质为同轴电缆,为了机房设施安全考虑,建议加装避雷器,进一步对设备进行保护。
当仅部署一台时间服务器时,为了安全考虑,避免因时间服务器授出时间出现跳变,导致终端时间出现过大误差,建议搭建一台二级时间源,并配置二级时间源为微调模式,所有终端向二级时间源校时,进一步保护终端本地时间的准确性及稳定性。
因为二级时间源是通过NTP协议方式实现,当Stratum 2时存在约±10ms的误差,故需根据实际情况考虑是否使用二级时间源。
在替换时间服务器时,需综合考虑时间源稳定性、协议兼容性、网络架构调整及安全策略等多方面因素,以确保时间同步服务的连续性和精度。
应先配置测试机同时向新旧时间服务器校时,通过ntpq -pn或chronyc sources -v观察新旧时间服务器的偏差,如果偏差过大,应考虑使用延时补偿的方法将新时间服务器授出时间对齐旧时间服务器。
同时再次建议所有终端配置为微调模式。
设备共6个网口,可将多个网口进行bond操作,当其中一个网卡故障时,自动切换至两一个网卡工作。