找回密码
 立即注册
搜索
查看: 318|回复: 0

分布式系统中的时间同步:毫秒级精度的重要性与技术解析

[复制链接]

1万

主题

0

回帖

5万

积分

管理员

积分
57343
发表于 2024-12-2 17:26:20 | 显示全部楼层 |阅读模式
一、前言

如果一个由计算机网络系统组成的分布式系统要协调处理:IT行业的“整点拍摄”、“秒卖”、“选举”,通信行业的“同步组网”等业务处理,毫秒或甚至微秒级时间同步也是重要基础之一。

2.术语说明2.0世界时

世界时UT可以简单理解为以地球自转一周为基础的24小时时间标准。由于地球自转速度的变化,世界时的秒长会略有变化,速度可达每天千分之几秒。

2.1 TAI时间

世界时间并不准确,因此国际组织定义了TAI时间,即国际原子时(Time)。它的起点是1958年初(世界时UT),通过铯原子钟连续测量时间。

2.2 世界标准时间

计算机网络普遍使用的UTC时间(协调世界时)是由国际计量局(BIPM)通过整合世界各地多个计时实验室的时钟组计算得出的。为了使UTC时间与地球自转一天的时间( Time (UT))保持一致,每隔1到2年,BIPM就会宣布“加一秒”或“减一秒”等闰秒调整” 在 UTC 时间 6 月 30 日或 12 月 31 日的最后一分钟。换句话说,UTC 时间将少 60 秒或 59 秒。

最近的闰秒是 2015 年 6 月底的 UTC 时间:

2015 年 6 月 30 日 23:59:59

2015 年 6 月 30 日 23:59:60

2015 年 7 月 1 日 0:00:00

由于闰秒的存在,UTC时间和TAI时间存在差异。 UTC = TAI - n。现在(2016 年 1 月)这个 n 是 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。0.02ms,每天会偏差2秒左右。

2.8 时间同步

广义的“时间同步”包括时间同步和频率同步。上级时钟通过各种有线(以太网、SDH数字网、同轴电缆、电话等)、无线(卫星、长波、无线电、微波、WIFI等)向下级时钟传输时间和频率信号.)链路,下级时钟接收到时间和频率信息后,相位和频率与上级时钟一致。

3. 时间同步原理 3.1 单向授时

上层时钟主动广播时间信息,下层客户端被动接收时间信息并调整本地时钟,将时间差控制在一定范围内。

为了提高授时精度,用户必须计算时间信息在传播链路中的延迟。 GPS/北斗等卫星授时可以根据用户定位与卫星的距离来确定电磁传输延迟,消除大部分误差。然而,如果电缆、网络等采用单向计时方法,则无法准确计算单向链路延迟。

3.2 双向计时

客户端将收到的时间信息返回给上层时钟服务器。服务器将往返时间除以二得到单向链路延迟,然后告诉客户端单向延迟。在此基础上,客户端从服务器获取更加准确的时间信息。例如:北斗单向卫星授时精度为100ns,双向卫星授时精度可达20ns。

3.3 网络时间同步

网络时间同步特指计算机网络中的服务器和客户端之间通过交换网络消息实现的时间同步。



鉴于计算机网络传输路径的不确定性以及中间路由交换设备报文转发时间的不确定性,通过单播或多播的单向网络定时是不可靠的。因此,前人发明的NTP/PTP等网络时间同步技术的基本原理就是对网络消息打上时间戳(标记),并来回交换消息,计算传输延迟和同步误差。

3.4 频率同步

频率同步是指主从时钟的频率误差保持在一定范围内。频率同步有两种类型:

一是直接传输模拟频率信号,如使用电缆或光缆传输10MHz、5Mhz、2.0等标准频率,或传输位宽脉冲;

第二种方法是通过测量的主从时钟时间差锁定主从相位差来实现锁频(PLL),或者间接计算频率偏差来完成频率校正。

4.计算机网络时间同步

计算机网络时间同步只是时间同步的一种应用场景,时间传输链路可以是SDH网络、以太网、WIFI无线网络等。

4.1 网络时间协议

NTP(Time)诞生于1985年,至今仍在大多数计算机网络中扮演着同步系统时间的角色。

服务器和客户端交互两次消息来确定主从时间误差。客户端校准本地计算机时间,完成时间同步,如果条件允许,还可以进一步校准本地时钟频率。

服务器在UDP端口132上提供定时服务。客户端向服务器发送带有T1时间戳()的查询消息。服务器在消息中添加到达时间T2和响应消息发送时间T3。客户端记录响应消息的到达。时间T4。

更改维基图像:

在维基百科的这张图中,直接主从来回链路的延迟西格玛用蓝色标记:

西格玛 = (t4-t1)-(t3-t2)

因此,假设往返网络链路对称,即传输时延相等,则客户端与服务器之间的时间误差Delta可计算为:

增量 = t2-t1-Sigma/2=((t2-t1)+(t3-t4))/2

客户端调整自身的时间Delta,完成一次时间同步。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【智道时空】 ( 京ICP备20013102号-16 )

GMT+8, 2025-5-3 00:31 , Processed in 0.073006 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表