北斗授时服务器(时钟系统)是如何完成时间同步的
北斗授时服务器(时钟系统)是如何完成时间同步的
1.前言
由计算机网络系统组成的分布式系统,若想协调一致进行:IT行业的“整点开拍”、“秒杀”、“Leader选举”,通信行业的“同步组网”之类业务处理,毫秒级甚至微秒级的时间同步是重要基础之一。
2.术语描述
2.0 世界时
世界时UT,可以简单理解为按照地球自转一周来计量24小时的时间标准,由于地球自转速率的变化,世界时的秒长会有微小的变化,每天的快慢可以达到千分之几秒。
2.1 TAI时间
世界时不准,因此国际组织定义了TAI时间,即国际原子时( International Atomic Time),其起点是1958年的开始(世界时UT),以铯原子钟走秒连续计时的时间。
2.2 UTC时间
计算机网络普遍使用的UTC时间(协调世界时),由国际计量局BIPM综合全世界多个守时实验室的钟组计算得到,为了使UTC时间与地球自转1天的时间(世界时UT)协调一致,每隔1到2年, BIPM会通告在UTC时间6月30日或12月31日最后一分钟“加一秒”或“减一秒”等闰秒调整。也就是说,UTC时间会出现60秒或少了59秒的情况。
最近一次闰秒是UTC时间2015年6月底:
2015 年6月30日,23时 59分 59秒
2015 年6月30日,23时 59分 60秒
2015 年7月 1日, 0时 0分 0秒
由于存在闰秒,UTC时间与TAI时间是有差别的,UTC = TAI - n,这个n现在(2016年1月)是36秒,也就是说UTC时间比TAI时间慢了36秒。
2.3 北京时间
北京时间也就是东八区时间,在UTC时间基础上加8小时,中国的北京标准时间由位于陕西的国家授时中心发播。
2.4 GPS时间
由GPS系统通过卫星信号发播的原子时间,GPS时间用自1980年1月6日零点(UTC时间)起的星期数和该星期内内的秒数来表示。
工程上,GPS接收机会根据闰秒数将GPS时间换算为我们通常使用的UTC时间。GPS时间的源头是美国海军天文台的守时原子钟组。
2.5 北斗(BDS)时间
由北斗卫星导航系统通过卫星信号发播的原子时间,同样,北斗接收机会根据闰秒数将北斗时间换算为我们通常使用的UTC时间。
北斗时间的时钟源是位于北京的解放军时频中心的守时原子钟组,陕西的国家授时中心好尴尬:(。
2.6 频率
时间的导数就是频率,机械发条、石英晶体振荡器、原子钟等各种时钟源通过产生频率信号,按照频率均匀打拍计数,模拟时间的等间隔流逝,就有了可见的“时间”。
2.7 频率准确度
手表有准和不准的,反映的就是频率准不准,时钟频率和标准频率的偏差可以用频率准确度来衡量。1E-9量级表示1秒会差1ns,我们使用的个人电脑,它的守时时钟是个32. 768kHz的石英晶振,准确度大概只有2E-5量级(20ppm),也就是说1秒会差0.02ms,1天会跑偏大概2秒。
2.8 时间同步
广义的“时间同步”包括的时间和频率的同步。上级时钟将时间频率信号通过各种有线(以太网、SDH数字网、同轴电缆、电话等)、无线(卫星、长波、电台、微波、WIFI、Zigbee等)链路传递给下级时钟,下级时钟接受时间频率信息后,与上级时钟保持相位、频率的一致。
3.时间同步原理
3.1 单向授时
上级时钟主动发播时间信息,下级用户端被动接受时间信息,并调整本地时钟使时差控制在一定范围内。
要想提高授时精度,用户端必须计算出时间信息在传播链路中的延时,GPS/北斗等卫星授时,可以通过用户端定位与卫星之间距离确定电磁传输延时,消除大部分误差,而电缆、网络等如果是单向授时方式就无法准确计算单向链路时延了。
3.2 双向授时
用户端将接受的时间信息原路返回给上级时钟服务端,服务端将往返时间除以二即得到单向链路时延,再把单向时延告诉客户端,在此基础上,客户端得到服务端更准确的时间信息。比如:北斗单向卫星授时精度100ns,双向卫星授时精度可做到20ns。
3.3 网络时间同步
网络时间同步,特指在计算机网络内的服务器与客户端之间利用网络报文交换实现的时间同步。
鉴于计算机网络传输路径的不确定性和中间路由交换设备转发报文时间的不确定性,通过单播或多播实现的单向网络授时是不可靠的。因此,前辈们发明的网络时间同步技术NTP/PTP等,基本原理都是通过对网络报文打时间戳(标记),往返交换报文计算传输时延和同步误差。
3.4 频率同步
频率同步指的是主从时钟的频率误差保持在一定范围内,频率同步有2种类型:
第1种是直接传递模拟频率信号,比如用电缆或光缆传递10MHz、5Mhz、2.048MHz等标准频率,或者传递bit位宽脉冲;
第2种是通过测量得到的主从时钟时差,通过锁定主从相差实现频率锁定(PLL),或者间接计算频率偏差,完成频率修正。
4.计算机网络时间同步
计算机网络时间同步只是时间同步的一种应用场景,其时间传递的链路可能是SDH网、以太网、WIFI无线网络等。
4.1 NTP
NTP(Network Time Protocol)从1985年诞生来,目前仍在在大部分的计算机网络中起着同步系统时间的作用。
• 基本原理
服务器和客户端之间通过二次报文交换,确定主从时间误差,客户端校准本地计算机时间,完成时间同步,有条件的话进一步校准本地时钟频率。
• 时间同步过程
服务器在UDP的132端口提供授时服务,客户端发送附带T1时间戳(Timestamp)的查询报文给服务器,服务器在该报文上添加到达时刻T2和响应报文发送时刻T3,客户端记录响应报到达时刻T4。
改个维基的图:

• 时差计算
维基这个图中用蓝色标注了主从直接来回链路的时延Sigma:
Sigma = (t4-t1)-(t3-t2)
因此,假设来回网络链路是对称的,即传输时延相等,那么可以计算客户端与服务器之间的时间误差Delta为:
Delta = t2-t1-Sigma/2=((t2-t1)+(t3-t4))/2
客户端调整自身的时间Delta,即可完成一次时间同步。
• 计时方式
NTP采用UTC时间计时,NTP时间戳包括自1900-01-01 00:00:00开始的UTC总秒数,当前秒的亚秒数。
当正闰秒时,60秒和下一分钟的0秒的NTP总秒数一致的,因此NTP报文专门定义了闰秒指示域来提示。
• 误差分析
局域网内计算机利用NTP协议进行时间同步,时间同步精度在5ms左右,主要误差包括:
1)计算机打时间戳的位置在应用层,受协议栈缓存、任务调度等影响,不能在网络报文到来时马上打戳;
2)各种中间网络传输设备带来的传输时延不确定性以及链路的不对称性,将进一步降低NTP时间同步精度。
4.2 PTP
为克服NTP的各种缺点,PTP(Precision Time Protocol,精确时间同步协议)应运而生,最新协议是IEEE1588v2,可实现亚微秒量级的时间同步精度。
• 基本原理
主从节点在网络链路层打时间戳,利用支持IEEE1588协议的PHY片,精准记录时间同步网络报文接受或发送的时刻。交换机、路由器等网络中间节点准确记录时间同步报文在其中停留的时间,实现对链路时延的准确计算。
• 时间同步过程
PTP默认使用组播协议,二层或四层UDP组播都可以,一般我们使用基于UDP组播,使用319和320两个端口。
PTP定义了三种角色:OC、BC和TC。我们一般接触的是OC:主时钟和从时钟,交换机、路由器一般是BC或TC。
由于硬件性能有限,网络报文发送时记录的时刻信息,可以在随后的Follow_Up跟随报文中发出,这就是PTP的双步模式(Two-step)。
下图是两OC主从时钟之间的同步过程:

• a.主时钟向从时钟发送Sync报文,并在本地记录发送时间t1;从时钟收到该报文后,记录接收时间t2。
• b.时钟发送Sync报文之后,紧接着发送一个携带有t1的Follow_Up报文。
• c.从时钟向主时钟发送Delay_Req报文,用于发起反向传输延时的计算,并在本地记录发送时间t3;主时钟收到该报文后,记录接收时间t4。
• d.主时钟收到Delay_Req报文之后,回复一个携带有t4的Delay_Resp报文。
• 时差计算
与NTP一样的原理,从时钟根据拥有的t1~t4这四个时间戳,由此可计算出主、从时钟间的往返总延时为:
Sigma = (t4-t1)-(t3-t2)
假设网络是对称的,从时钟相对于主时钟的时钟偏差为:
Delta = t2-t1-Sigma/2=((t2-t1)+(t3-t4))/2
• 计时方式
与NTP不同,PTP采用TAI世界原子时间计时,而且PTP计时的起点与unix时间一致,即UTC时间1970年1月1日0点。
PTP主钟会告知从钟,当前UTC相对于TAI的累计偏移量,从钟据此计算当前准确的UTC时间。
• 误差分析
PTP能准确记录报文发送和接受的时间,也能计算中间链路的延时,剩下影响最大的就是网络链路的不对称性了。
在实际工程中,网络中间链路设备不支持PTP协议,大大降低了PTP的同步精度。目前,PTP主要应用在通信同步网、电力同步网等行业网络系统里。
• 同步拓扑
PTP域中所有的时钟节点都按一定层次组织在一起,可通过BMC(Best Master Clock,最佳主时钟)协议动态选举出最优时钟,最优时钟的时间最终将被同步到整个PTP域中。
BMC算法与STP(Spaning Tree Protocl)生成树协议类似,最终形成无环路的树形网络拓扑,且都是动态选举,能适应最佳主时钟切换的变化。
• 扩展应用——PTP over SDH
充分利用各行业已有的SDH通信网络,利用PTP-E1信号转换设备,架设PTP同步网络,除了需要考虑链路倒换问题之外,SDH网络的时延稳定性可大幅提升网络时间同步精度。
4.3 SyncE同步以太网
以太网最早只能传输数据信号,有另外独立的频率同步网络,随着以太网的快速发展,SyncE(Synchronized Ethernet)同步以太网技术诞生后,企业们有了新的选择。
• 基本原理
时钟节点利用以太网(1000M、1G、10G等)物理层的空闲间隙,传递位宽时钟信号,实现时钟频率信号(25M、125M等)的自上而下传递。
• 协议控制
类似于SDH网络等时间间隔传递的SSM同步状态信息,同步以太网(Sync-E)利用链路层ESMC协议封装传递SSM信息,SSM信息包含时钟质量信息,接收端据此选择合适的上级网络时钟。
• 应用
一般商业PHY片提供SyncE功能选项,开启该功能模式,即可利用PHY恢复出来的频率信号,校准本地时钟频率或分频后用于本地计时。

北斗授时服务器(时钟系统)是如何完成时间同步的相关推荐

  1. 北斗授时服务器/北斗对时装置为组态监控系统提供精准时钟保障

    北斗授时服务器/北斗对时装置为组态监控系统提供精准时钟保障 北斗授时服务器/北斗对时装置为组态监控系统提供精准时钟保障 组态监控系统是一个综合信息管理,监视和控制平台,是国内先进工业自动化控制系统,属 ...

  2. 北斗授时服务器(GPS时钟服务器)在地铁轨道交通中的应用

    北斗授时服务器(GPS时钟服务器)在地铁轨道交通中的应用 北斗授时服务器(GPS时钟服务器)在地铁轨道交通中的应用 京准电子科技开发的GPS时钟服务器. 地铁时钟系统是轨道交通系统的重要组成部份之一, ...

  3. 北斗/GPS卫星时钟系统(北斗/GPS卫星授时系统-北斗/GPS卫星校时系统)

    北斗/GPS卫星时钟系统(北斗/GPS卫星授时系统-北斗/GPS卫星校时系统) 北斗/GPS卫星时钟系统(北斗/GPS卫星授时系统-北斗/GPS卫星校时系统) 技术交流-岳峰-15901092122: ...

  4. GPS校时器(北斗授时服务器)让淮河局数据更精准

    GPS校时器(北斗授时服务器)让淮河局数据更精准 2022年8月中旬,GPS北斗卫星时钟服务器成功投运安徽省淮河河道管理局,为该局的计算机网络系统及其他各业务子系统提供精准时钟同步服务,确保各个系统业 ...

  5. 北斗授时服务器的应用及详细介绍

    北斗授时服务器的应用及详细介绍 将局域网上各种需要同步时钟的设备的时间信息基于北斗时间偏差限定在足够小的范围内,这种时钟系统便就叫做北斗授时系统.任何时间应用系统都应该具有维持时间增长和缩减,客户端内 ...

  6. 北斗授时服务器项目,北斗授时服务器的应用及详细介绍

    北斗授时服务器的应用及详细介绍 将局域网上各种需要同步时钟的设备的时间信息基于北斗时间偏差限定在足够小的范围内,这种时钟系统便就叫做北斗授时系统.任何时间应用系统都应该具有维持时间增长和缩减,客户端内 ...

  7. NTP服务器(GPS北斗授时服务器)的市场需求及性能分析

    NTP服务器(GPS北斗授时服务器)的市场需求及性能分析 NTP服务器(GPS北斗授时服务器)的市场需求及性能分析 目前国内NTP时间服务器时间精度已达到毫秒级,能够满足各个行业对时间同步运转的要求: ...

  8. 详解:到底什么是GPS北斗授时服务器?

    详解:到底什么是GPS北斗授时服务器? 详解:到底什么是GPS北斗授时服务器? 深度揭秘:到底什么是"授时"? 世界上最宝贵的东西是什么? 我相信很多人的答案是–"时间& ...

  9. 工厂服务器系统,各种工厂时钟系统解决方案

    时钟系统一般是由子钟和母钟组成的授时系统,时钟系统具有多种授时方式,用户可根据需要选择不同的授时方式.目前对于一些工厂来说,它们的终端设备种类较多设备数量多,并且授时方式也都不尽相同,因此母钟需要以网 ...

最新文章

  1. KNN(K Nearest Neighbors)分类是什么学习方法?如何或者最佳的K值?RadiusneighborsClassifer分类器又是什么?KNN进行分类详解及实践
  2. iOS应用图片命名规则
  3. c语言 画函数,c语言绘制函数曲线
  4. Autokroma AfterCodecs for Mac - 与众不同的特殊编码渲染插件
  5. Python要点总结,我使用了100个小例子!
  6. centos6.x 安装php5.6 tar,CentOs6.x安装php5.6.x Web程序 - 贪吃蛇学院-专业IT技术平台
  7. jquery eaayui 学习(四)datagrid
  8. docker內安装TOPT
  9. python optimize_python多元拟合问题
  10. [译]ASP.NET Core 2.0 区域
  11. android组件化解耦,android module解耦组件化总体概述
  12. appcan外部网页css,Appcan开发之页面布局与CSS排版
  13. Java校验身份证号码合法性
  14. 宽带换了新的账号怎么连接服务器地址,宽带换了路由器设置步骤图解
  15. SSM+微信小程序网易云音乐设计与实现 毕业设计-附源码261620
  16. 2018.4.1(python) 请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。 //(米和英寸之间的长度转换)//热量转换
  17. 视频增强,去雾的实现 BU6521KV
  18. js实现图片拖拽,定点缩放,旋转 (二)
  19. io密集服务器cpu性能,线程池中CPU密集型和IO密集型选择
  20. 盛迈坤电商:关键词的优化方法

热门文章

  1. For macOS.百度网盘 破解SVIP、下载速度限制~
  2. vue admin template 侧边栏及顶部栏演示字体样式修改
  3. 数据库显示受限制用户
  4. 浅谈产品事业部“技术管理”思路
  5. 基于圣邦微SGM41526多节锂电池充放电电源管理电路分析
  6. 计算机考证证件照示例
  7. 【博客546】组播IP地址与组播MAC地址的联系与转换
  8. 如何下载下载国标文件
  9. 如何在Lattice CPLD XO2系列器件中执行TransFR(透明传输)操作?
  10. 收件箱修复工具 Scanpst.exe 修复 Outlook 收件箱