基于北斗gps设计的NTP网络时间服务器
基于北斗gps设计的NTP网络时间服务器
基于北斗gps设计的NTP网络时间服务器
京准电子科技官微——ahjzsz
随着5G等新型基础设施持续建设和发展,在未来万物互联的庞大信息网络中,跨路由节点之间的彼此协同、大数据处理及节点数据融合的精度等环节,对精准时间同步要求越来越高。如果时间顺序出现混乱或者误差,将影响决策和执行效果,造成高昂的成本和严重的安全问题。因此,精准的时间同步在新型基础设施建设中至关重要。
1、为什么要构建精准的时间同步体系?
以 5G、工业互联网、卫星互联网等为代表的新型信息基础设施,通信信号载波频率的稳定、上下行时隙校准、可靠传送等方面都需要精确的时间同步控制。
行业应用有严格的低时延、低抖动、低丢包率承载要求,对精准时间同步的质量要求也将越来越高。工业互联网中的网络跳频、资源分配、路由转发和数据融合等都依赖时间同步的应用,否则不能正常运行。特别是时间敏感型的工业互联网,对在设备上维持端到端的时间精度要求更高,甚至达到纳秒级。
而对于卫星互联网、低轨卫星,只有实现相互间的精准时间同步,才能为覆盖区域提供高速卫星通信。另外,在智慧电网、智能矿山、智能道路等融合基础设施,以及重大科技基础设施中,系统控制、设备执行、运行统计、异常处理等都需要统一时间标准,否则将无法正常运行。
2、网络时间同步技术(NTP/PTP)
NTP是应用于互联网中时间同步的标准网络时间协议,其作用是把网络内的计算机时间同步到协调世界时(UTC)。NTP通常采用客户端/服务器主从工作模式,通过数据包交互来实现时间同步。NTP具有完善的算法体系,综合采用时间滤波、时间选择、聚类、时钟调节等算法调整本地系统时间和频率,时间同步稳定性可以保证,是目前应用最广泛的网络时间同步技术之一。
传统NTP技术采用软件时间戳,时间戳精度和准确度较低,因此同步精度一般为毫秒级,主要用于对同步精度要求不高的网络设备、应用服务器及计算机终端等提供时间同步服务。
PTP是用于网络测量和控制系统的精密时间同步协议(简称PTP),目前广泛应用的版本IEEE1588-2008(1588v2)。PTP采用主从时钟同步方式,主从时钟之间通过交互同步、状态和时延测量等报文来实现时间或者频率同步。PTP支持端到端(E2E)和点到点(P2P)时延测量机制、组播和单播通信方式、一步和二步工作模式以及UDP/IP和IEEE 802.3等多种报文封装方式,同时支持普通时钟(OC)、边界时钟(BC)和透明时钟(TC)等时钟模型,具备完善的时钟层级和端口状态决策算法(BMC,最佳主时钟算法),基于各种工作模式的灵活组合可以满足不同网络环境下的组网应用需求。
PTP采用硬件时间戳,时间戳的精度和准确度更高,一般可以实现纳秒级甚至更高的同步精度,广泛应用于通信传输网络、移动回传网络、智能电网、高速铁路等系统的高精度时间同步解决方案中。
1588 ATR(1588 Adaptive Time Recovery)是基于PTP的自适应时间恢复算法,它是通过在路由器之间以三层单播报文形式建立时钟链路。然后通过PTP报文的交互,实现设备间穿越第三方网络的时间同步。1588 ATR是在1588v2的基础上,实现穿越不支持1588v2协议设备的第三方网络的时间同步。解决了原有采用1588v2方式同步时间时,要求全网设备逐跳支持1588v2协议的问题,采用1588 ATR以跨过不支持1588v2协议的设备,进行时间同步。1588ATR是逐跳支持的一种补充,但标准化程度不高。
3、卫星基准授时安全性
新基建的精确授时主要依赖GPS和北斗等星基授时系统,一旦星基授时信号受到外界干扰或因不可抗力因素遭到破坏,将使得新基建各个领域的时间同步系统应用失效。另外,室内、矿山、高电磁环境等场景无法通过星基授时获取时间,这也极大限制了新基建的应用和发展。二是存量 GPS 授时设备的风险。
当前,我国大量时钟同步设备是以 GPS 授时为主,存量 GPS 授时设备风险需要高度关注。三是网络传输协议的风险。当前,IEEE1588V2 协议及其衍生无线网络协议主要使用的高精度时间同步传输协议,能够让一定数量的时间同步设备实现亚微秒级精度。
4、先进的技术
NTP/PTP时间服务器开发了一种智能天线,将GNSS接收器内置到智能天线,而不是传统的时间服务器的方法。将GNSS信号接收器组件移至智能天线的优点包括:• 在损坏的信号到达NTP/PTP时间服务器之前,在智能天线的GNSS接收中内置了干扰/ 欺骗检测功能。• 由于智能天线中的模块化设计,可以轻松更换故障的GNSS接收器或不同的GNSS接收 器,而NTP/PTP时间服务器无需停机。
• NTP/PTP时间服务器支持双GNSS天线端口,允许GNSS天线物理隔离,以接收 来自不同或相同卫星系统的不同GNSS信号。
总结:关键基础设施需要强大的同步和网络安全性,帮助保证工业4.0,新基建,时间敏感网络TSN,云/EDGE/FOG技术,电信5G,智能电网,智慧城市的长期IT/IoT/IIoT的可靠性。
国产麒麟系统下基于GNSS的NTP授时方案
1. 麒麟系统NTP授时方案
图 麒麟NTP服务器
设计思路:
在通用的麒麟服务器内部固定一块北斗卫星接收模块并引出卫星天线接口,卫星模块接收北斗卫星数据并解码输出时间数据(NMEA0183串口数据),并将时间数据输入到系统主板的串口上;麒麟系统串口接收时间数据解码时间信息并同步麒麟系统时间,确保麒麟系统的时间与准确。为了实现麒麟系统的NTP授时服务,需要在系统内运行NTPD授时程序。
重点:
(1)内置北斗卫星接收模块;
(2)串口输入到麒麟操作系统
(3)麒麟操作系统的时间同步
(4)麒麟系统的NTP授时服务
2. 网络拓扑图
图 常见拓扑结构
在中心机房配置1台麒麟系统NTP服务器,麒麟NTP服务器直接获取北斗卫星时间数据实现本地系统的时间同步,通过NTP网络时间同步协议对外提供授时服务。系统内的办公设备、堡垒机、防火墙、虚拟化集群、容灾备份系统、存储服务器及其他终端设备通过NTP时间协议同步到麒麟NTP服务器。麒麟NTP服务器和北斗卫星直接同步,这就保证了整个系统的时间准确、稳定和可靠性。
在实际的项目使用中,推荐使用2台或3台NTP服务器,在NTP客户端配置多个NTP服务器IP地址,NTP实时访问各个NTP服务器,通过内部时间同步算法自动切换时间基准,任何一台NTP服务器故障不影响NTP客户端的时间同步,这种做法可以规避单点故障。
3. 授时策略
图 C/S模式
NTP C/S授时原理
网络时延:
delay=(T4-T2)+(T3-T1)
客户端计算机时间偏差:
offset = ((T3-T1)-(T4-T2) )/2
客户机修正时间为T+offset
(Device A为客户端,Device B为NTP服务器)
Device A发送一个NTP报文给Device B,该报文带有它离开Device A时的时间戳,该时间戳为10:00:00am(T1)。
当此NTP报文到达Device B时,Device B加上自己的时间戳,该时间戳为11:00:01am(T2)。
当此NTP报文离开Device B时,Device B再加上自己的时间戳,该时间戳为11:00:02am(T3)。
当Device A接收到该响应报文时,Device A的本地时间为10:00:03am(T4)。
至此,Device A已经拥有足够的信息来计算两个重要的参数:
NTP报文的往返时延Delay=(T4-T1)-(T3-T2)=2秒。
Device A相对Device B的时间差offset=((T2-T1)+(T3-T4))/2=1小时。
4. 客户端配置
大部分服务器在出厂时都安装了NTP协议,在NTP实施时只需将NTP源指向现有NTP服务即可。
AIX、Solaris、HP-UNIX等UNIX 和Linux系统使用系统自带的NTP服务。在原有配置文件(/etc/ntp.conf),增加如下语句,重新启动NTP进程即可。
server 主时钟IP minpoll 4 maxpoll 4 prefer
server 备时钟IP minpoll 4 maxpoll 4
server 备时钟IP minpoll 4 maxpoll 4
tinker step 0 #linux使用
其中, Linux使用tinker step 0配置缓慢调整,Aix使用slewalways yes配置缓慢调整,缓慢调整可规避闰秒时间调整对系统产生的影响。
备注:麒麟系统需包含串口的相关驱动程序!
基于北斗gps设计的NTP网络时间服务器的更多相关文章
- GPS校时器,GPS时钟装置,NTP网络时间服务器
GPS校时器,GPS时钟装置,NTP网络时间服务器 GPS校时器,GPS时钟装置,NTP网络时间服务器 GPS校时器,GPS时钟装置,NTP网络时间服务器 GPS校时器,GPS时钟装置,NTP网络时间 ...
- SYN2136型 北斗NTP网络时间服务器
SYN2136型 北斗NTP网络时间服务器 北斗NTP网络时间服务器时间服务器使用说明视频链接: http://www.syn029.com/h-pd-109-0_310_36_-1.html 请将 ...
- SYN2102型 NTP网络时间服务器
SYN2102型 NTP网络时间服务器 ntp主时钟服务器ntp时钟服务器厂商使用说明视频链接: http://www.syn029.com/h-pd-57-0_310_1_-1.html 请将 ...
- SYN2101型 NTP网络时间服务器
SYN2101型 NTP网络时间服务器 时钟校准服务器时间 ntp服务器ntp时间校准服务器使用说明视频链接: http://www.syn029.com/h-pd-56-0_310_1_-1. ...
- 北斗卫星同步时钟(NTP网络时钟服务器)成功投运世界级工程港珠澳大桥
北斗卫星同步时钟(NTP网络时钟服务器)成功投运世界级工程港珠澳大桥 北斗卫星同步时钟(NTP网络时钟服务器)成功投运世界级工程港珠澳大桥 本文由北京华人开创科技公司提供 原址在 http://www ...
- Linux实验:NTP网络时间服务器
[实验目的] 1)掌握时间服务器的搭建方法 2)掌握客户机与时间服务同步时间的方法[实验原理] NTP服务器[Network Time Protocol(NTP)]是用来使计算机时间 ...
- NTP网络时钟服务器品牌
NTP网络时钟服务器品牌 在科技的不断进步和发展下,时钟的种类和功能也在发生着变化,以满足人们的各种需求,时钟从原始的机械时钟发展成具有多钟功能的时钟.而时钟服务器主要是给时钟提供时间信息的,时钟服务 ...
- 基于GPS北斗卫星授时系统和NTP网络授时服务器的设计与开发
基于GPS北斗卫星授时系统和NTP网络授时服务器的设计与开发 安徽京准科技提供@请勿转载@@ 更多资料请参考——ahjzsz.com 天文观测设备对于控制系统的时间准确度有严格要求.为此,采用搭建高精 ...
- 配置NTP网络时间自动校对系统时间和创建备份文件
1 案例1:配置用户和组账号 1.1 问题 本例要求创建下列用户.组以及组的成员关系: 新建用户 alex,其用户ID为3456,密码是flectrag 创建一个名为 adminuser 的组 创建一 ...
- 管理员技术(四): 配置NTP网络时间客户端、 创建一个备份包、 配置用户和组账号、配置一个cron任务
一. 配置NTP网络时间客户端 目标: 本例要求配置虚拟机 server0,能够自动校对系统时间.相关信息如下: 1> NTP服务器位于 classroom.example.com ...
随机推荐
- 静态代码块-数组工具类Arrays
静态代码块 静态代码块: 定义在成员位置,使用static修饰的代码块{}. 位置:类中方法外. 执行:随着类的加载而执行且执行一次,优先于main方法和构造方法的执行 格式: public clas ...
- Node.js学习笔记----day03
认真学习,认真记录,每天都要有进步呀!!! 加油叭!!! 一.Node中的模块系统 使用Node编写应用程序主要就是在使用 EcmaScript 和浏览器不一样的是,在Node中没有BOM.DOM 核 ...
- JSONPath 处理特殊字符
JSONPath 处理特殊字符 先来看看jsonpath的基础 语法 $ 表示文档的根元素 @ 表示文档的当前元素 .node_name 或 ['node_name'] 匹配下级节点 [index] ...
- Kubernetes(k8s)控制器(四):ReplicaSet
目录 一.系统环境 二.前言 三.ReplicaSet概览 四.ReplicaSet工作原理 五.ReplicaSet使用场景 六.创建ReplicaSet 七.扩展replicaset副本数 一.系 ...
- JAVA虚拟机05-内存溢出示例(jdk1.8)
1.JAVA虚拟机堆内存溢出OutOfMemoryError 1.1设置参数 -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError 最小堆的大小20m 最大堆 ...
- E - 树状数组 1【GDUT_22级寒假训练专题五】
E - 树状数组 1 原题链接 题意 已知一个数列,你需要进行下面两种操作: 将某一个数加上 \(x\) 求出某区间每一个数的和 lowbit函数 定义一个函数\(f=lowbit(x)\),这个函数 ...
- 注释、input()、运算符、组织结构(顺序、选择、循环)
注释 单行注释 # 多行注释 将三对引号之间的为多行注释 ''' ''' 中文编码的声明注释 #coding:gbk input()函数 接受来自用户的输入 返回值是str 值的存储 使用=对输入的值 ...
- React中组件之间是如何通信的 react的组件通信方式有哪些
一.是什么 通信指的是发送者通过某种媒体 以某种格式来传递信息 到收信者以达到某个目的,广义上,任何信息的传递都是通信 二.如何通信? 组件传递的方式有很多种,根据传送者和接收者可以分为如下: 父组件 ...
- 推荐一个分布式单点登录框架XXL-SSO!
有关单点登录(SSO)之前有写过两篇文章 一文读懂 JWT! 看完这篇不能再说不懂SSO原理了! 如果说XXL-JOB你可能并不陌生,它是非常火爆的一个分布式任务调度平台.但其实在该作者还有一个非常优 ...
- scrapy的pipline的不同操作
针对json文件 import json import os class SpyOppoPipeline: def __init__(self): self.file = open('曹姐.json' ...