当前位置:首页 > 技术分析 > 正文内容

为什么时钟同步很难

ruisui882周前 (04-11)技术分析12

这就要讲解一下时钟同步提出了几个常见问题,正是因为这些问题才导致大部分时钟同步很难。

首先我要说的问题是“延迟”问题,如果一个甲设备向另一个乙设备发送一个数据包,说将甲设备的时钟设置为 12:00,甲设备需要非常准确地知道该数据包需要多长时间才能到达。甲设备可以通过向服务器发送数据包并仔细记录获得响应所需的时间来很好地猜测该数据包需要多长时间才能到达甲设备的身边。

这就要讲解一下时钟同步提出了几个常见问题,正是因为这些问题才导致大部分时钟同步很难。 首先我要说的问题是“延迟”问题,如果一个甲设备向另一个乙设备发送一个数据包,说将甲设备的时钟设置为 12:00,甲设备需要非常准确地知道该数据包需要多长时间才能到达。甲设备可以通过向服务器发送数据包并仔细记录获得响应所需的时间来很好地猜测该数据包需要多长时间才能到达甲设备的身边。 这假设到服务器的路径与从服务器的路径相同,这在大多数现代网络中通常是相当合理的假设。

它还假设服务器能够立即改变响应,这显然不是那么准确。因此NTP协议已经通过在每一端发送和接收数据包时包含额外的时间戳来改进。 您还需要有关该网络延迟的一些统计信息,以便您知道当由于链路繁忙而偶尔需要缓冲数据包时它随时间变化的程度。然后你需要跟踪一些叫做时钟偏差的东西。这是对时钟准确度的定量测量。是快一点还是慢一点?随着时间的推移,它会逐渐加速和减速吗? 所有这些参数都可以通过仔细统计每次来自服务器的新时间信息时需要调整多少时钟来估计。基于云的网络监控通常可以提供帮助。 数据包在从服务器到同步时钟的途中需要跨越的网络跳数越多,出现小的随机排队延迟的机会就越大。由于我们正在收集有关延迟的统计信息,因此该协议仍然能够获得相当不错的结果。但很明显,随机延迟的来源越多,这些统计数据就越不准确。

除了所有这些问题之外,理想情况下,我们希望将时间同步数据包的总数保持在相当低的水平,以避免在网络或 NTP 服务器上造成拥塞。因此,一旦建立了可靠的同步,NTP 就会非常巧妙地调整计时器,以减少它发送到服务器的请求之间的时间。 但是如今的科技设备和科技环境对时钟同步的精确度越来越高,所以我们酷鲨开始致力于ptp时钟设备的发展,因为ptp服务器相比ntp的精确更高,有的在纳秒甚至是皮秒的精确度范围内,就比如我们酷鲨科技的cmm时钟,CMM作为从时钟,可以恢复至10ns同步精度。非常符合现在高科技产品的需求,尤其是5g时代的电子产品等。 如果您在时钟同步方面有相关的需求和问题,请随时咨询我们.

这假设到服务器的路径与从服务器的路径相同,这在大多数现代网络中通常是相当合理的假设。它还假设服务器能够立即改变响应,这显然不是那么准确。因此NTP协议已经通过在每一端发送和接收数据包时包含额外的时间戳来改进。

您还需要有关该网络延迟的一些统计信息,以便您知道当由于链路繁忙而偶尔需要缓冲数据包时它随时间变化的程度。然后你需要跟踪一些叫做时钟偏差的东西。这是对时钟准确度的定量测量。是快一点还是慢一点?随着时间的推移,它会逐渐加速和减速吗?

所有这些参数都可以通过仔细统计每次来自服务器的新时间信息时需要调整多少时钟来估计。基于云的网络监控通常可以提供帮助。

数据包在从服务器到同步时钟的途中需要跨越的网络跳数越多,出现小的随机排队延迟的机会就越大。由于我们正在收集有关延迟的统计信息,因此该协议仍然能够获得相当不错的结果。但很明显,随机延迟的来源越多,这些统计数据就越不准确。

除了所有这些问题之外,理想情况下,我们希望将 时间同步数据包的总数保持在相当低的水平,以避免在网络或 NTP 服务器上造成拥塞。因此,一旦建立了可靠的同步,NTP 就会非常巧妙地调整计时器,以减少它发送到服务器的请求之间的时间。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3426.html

分享给朋友:

“为什么时钟同步很难” 的相关文章

智能计费、综合管控,爱博精电帮您快速构建水电费预付费管理系统

近年来,随着企业经营管理意识的加强,商业建筑的物业管理部门对于水电费的收缴越来越重视,在实际运营中,因为服务、管理或其他方面的纠纷,商户拖欠电费的情况时有发生,管理部门为了消除收费难、垫付水电费过多、偷窃电等诸多难题,急需改变传统水电费收缴方式。但是常规的水电预付费改造面临着改造难度大、改造周期长、...

vue中如何在自定义组件上使用v-model和.sync

自定义事件tips推荐始终使用 kebab-case 的事件名。(v-on会将事件名自动转换为小写,避免匹配不到)changeData ×change-data √自定义组件的v-model用法:父组件定义数据源(不需要定义修改数据的方法),在子组件标签上通过v-model="data...

理解virt、res、shr之间的关系(linux系统篇)

前言想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过top命令查看进程占用了多少内存。这里我们可以看到VIRT、RES和SHR三个重要的指标,他们分别代表什么意思呢?这是本文需要跟大家一起探讨的问题。...

祸害阿里云宕机3小时的IO HANG究竟是什么?

本文来自微信公号“CSDN”(ID:CSDNnews),作者 | 王知无, 责编| 郭 芮。2019年3月3日凌晨,微博炸锅,有网友反映说阿里云疑似出现宕机,华北很多互联网公司受到暴击伤害,APP、网站全部瘫痪,我自己的朋友圈和微信群里也有好友反馈,刚刚从被窝被叫起来去修Bug,结果发现服务器登不上...

HTML5最新版本介绍

HTML5是HTML4.01和XHTML1.0之后超文本标记语言的最新版本,由一群自由思想者设计,最终实现了多媒体支持、交互性、更智能的表单和更好的语义标注。 HTML 5不只是 HTML规范的最新版本,它是用于生成现代 Web内容的一系列相关技术的总称,其中最重要的三个技术是:HTML5核心规范...

前端路由简介以及vue-router实现原理

作者:muwoo 来源:https://zhuanlan.zhihu.com/p/37730038后端路由简介路由这个概念最先是后端出现的。在以前用模板引擎开发页面时,经常会看到这样http://www.xxx.com/login 大致流程可以看成这样:浏览器发出请求服务器监听到80 端口(或443...