【外评】电脑从哪里获取时间?
本周,我在鹿特丹参加了 RIPE 会议。 周五上午,我做了一场闪电演讲,题目是 “我的电脑从哪里获得时间? RIPE 会议网站上有我的幻灯片和演讲视频;这是幻灯片的博客化低像素版本,并附有粗略而不准确的文字记录。
我写了一篇题为”‘我的电脑从哪里获取时间’从何而来?“的后续文章,讲述了我在演讲中遗漏的一些事情。
我的电脑从哪里获取时间?
这里是 NTP 数据包的图片
这是发明 NTP 的大卫-米尔斯的照片
问题简单,答案容易,谈话就结束了? 不!让我们剥开几层……
第 3 层 NTP 服务器从第 2 层 NTP 服务器获取时间、
层 2 NTP 服务器从层 1 NTP 服务器获取时间、
第 1 层 NTP 服务器从某个参考时钟获取时间
也许是无线电信号,如英国的 MSF 或德国的 DCF77
但在大多数情况下,参考时钟可能是 GPS 接收器
这是一个 GPS 定时接收器
这是一颗 GPS 卫星
GPS 从哪里获取时间?
科罗拉多州的施里弗空军基地
在施里弗基地,他们负责管理许多不同的绝密卫星和其他东西,你可以从所有的任务标识中看到这一点
所以你无法靠近拍摄一张漂亮的照片
Schriever SFB 的时间从何而来?
美国海军天文台备用主钟位于科罗拉多州的施里弗市
美国海军天文台备用主时钟从华盛顿特区的美国海军天文台获取时间
有三种答案
第一个答案是原子钟,大量的原子钟
背景是几十个架子上安装的铯束钟
前景中的黑盒子里是氢气吸收器
美国国家科学研究院拥有如此多的原子钟,以至于有整栋大楼专门用来摆放它们
当我准备这次演讲时,我在苹果地图上注意到,在 USNO 校园中央有一个巨大的建筑工地。原来,他们正在建造一座豪华的新钟楼;影响钟表精度的主要限制因素是环境稳定性:温度、湿度等,因此新大楼将有严格的空气处理系统。
第二个答案是,UTC 是原子钟时间和地球自转时间的可怕妥协
因此,USNO 从设在巴黎天文台的国际地球自转服务机构获取时间
国际地球自转服务机构每年两次发布Bulletin C,其中说明六个月后是否会出现闰秒;闰秒会从协调世界时中增加(或减少),使其与地球自转保持同步
国际地球资源学会分布在多个组织中,这些组织为其科学工作做出了贡献
例如,您可以订阅 IERS Bulletin A,这是一份每周通知,提供有关地球方位参数的精确细节
Bulletin A 由美国海军天文台发出
他们需要知道 GPS 卫星下地球的确切方位,以便提供精确定位
第三个答案是,美国国家科学组织如何知道其原子钟运行良好?
这些信息来自巴黎的国际计量局,他们负责维护全球标准 UTC
BIPM 如何确定UTC?
国际计量局从世界各地的国家授时实验室收集时间测量数据,并利用这些测量数据确定官方协调世界时
他们定期发出 Circular T,其中载有关于官方协调世界时与各国时间实验室提供的协调世界时之间差异的信息
国际计量局(BIPM)负责维护由世界度量衡大会确定的国际单位制。
度量衡大会是根据 1875 年《米公约》建立的国际条约组织
UTC 是国际单位制时间单位的一种实现形式,以铯原子的量子测量为基础
这个神奇的数字(约 9.2 GHz)从何而来?
1955 年,路易斯-埃森(右)和杰克-帕里(左)制造了第一台铯原子钟
目前对 “秒 ”的定义来自于对这台时钟的校准
在原子钟出现之前,秒的定义是以天文学为基础的,因此埃森和帕里需要天文学家的帮助,才能根据现有的时间标准找出他们的时钟滴答的速度
他们得到了美国海军天文台天文学家的帮助
其工作原理是威廉-马科维茨(William Markowitz)通过观察天空来测量时间,路易斯-埃森(Louis Essen)通过观察他的原子钟来测量时间,为了将他们的测量结果联系起来,他们都收听了华盛顿特区国家标准局播放的 WWV 无线电时间信号。
这个项目历时 3 年,1955 – 1958 年
马科维茨测量的是 “星历秒”
1952 年,国际天文学联合会改变了时间的定义,不再以地球绕地轴自转为基础,而是以地球绕太阳公转为基础
20 世纪 30 年代,他们发现地球的自转并不完全均匀:自转速度时慢时快
现在,时钟比地球自转更加精确,因此星历秒是一种新的更精确的时间标准
星历二是以天文星历为基础的,天文星历是太阳系的数学模型
标准星历表是由 Simon Newcomb 在 19 世纪末制作的
他收集了大量历史天文数据,创建了自己的数学模型
直到 20 世纪 80 年代中期,它一直是标准星历表
这是西蒙-纽科姆的照片
他是一位英俊的维多利亚绅士
他在哪里工作?
在美国海军天文台!
(和美国航海年鉴办公室)
我现在已经没有层次了:在此之前,时钟是通过观察星星划过天空来设定的,这更简单明了。
那么,总结一下我的演讲,我的电脑是从哪里得到时间的?
它不是从皇家格林威治天文台获取的!
你也许感兴趣的:
- 【外评】为什么 Stack Overflow 正在消失?
- Android 全力押注 Rust,Linux 却在原地踏步?谷歌:用 Rust 重写固件太简单了!
- 【外评】哪些开源项目被广泛使用,但仅由少数人维护?
- 【外评】好的重构与不好的重构
- C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
- 【外评】代码审查反模式
- 我受够了维护 AI 生成的代码
- 【外评】Linux 桌面市场份额升至 4.45
- 【外评】作为全栈开发人员如何跟上 AI/ML 的发展?
- 从电梯故障到编程新宠,Rust为何连续七年称霸「最受推崇语言」
与计时相关的是 NIST 随机信标:https://csrc.nist.gov/projects/interoperable-randomness-beac…
“这个原型实现生成全熵比特串,并以 512 比特为块每 60 秒发布一次。每个这样的值都有序列号、时间戳和签名,并包含前一个值的哈希值,以便将一连串的值串联起来,防止源代码追溯性地更改输出包而不被检测到”。
这里有人开玩笑说要把时间放到区块链上,好吧,NIST 已经在这么做了。
> 人们在这里开玩笑说要把时间放到区块链上,而 NIST 已经在这么做了。
这不是区块链,而是单写 Merkle DAG。无需达成共识。就像只有一个作者的 git 仓库。
如果每个区块都包含前一个区块的哈希值,那么我认为这就是一个区块链(无论是否有多个作者或只有一个作者)。git 仓库也是一个区块链。
> 如果每个区块都包含前一个区块的哈希值,那么我认为它就是一个区块链[…]
或者干脆就是 “哈希链”:
> 哈希链与区块链类似,都是利用加密哈希函数在两个节点之间建立链接。不过,区块链(如比特币和相关系统所使用的)一般用于支持围绕公共账本(数据)的分布式协议,并包含一套数据封装规则和相关数据权限。
* https://en.wikipedia.org/wiki/Hash_chain
又或者
> 链接时间戳创建时间戳令牌,这些令牌相互依赖,纠缠在某种经过验证的数据结构中。以后对已发布时间戳的修改会使该结构失效。已签发时间戳的时间顺序也受到这种数据结构的保护,因此即使签发服务器本身也不可能更改已签发时间戳的日期。
* https://en.wikipedia.org/wiki/Linked_timestamping
后者的另一个例子:
* https://datatracker.ietf.org/doc/html/rfc5848
我想你基本上是在说,区块链还没有很好的已知用例(/s,但只是一点点)
我知道至少有一个:制造电暖器,其中实际上包含过时的采矿硬件,而不是加热元件。过时是为了降低成本,也是为了在有人抱怨 “嘿,至少我们在回收硬件!”时有个借口。(/s也只是一点点)
NIST 有一个很好的区块链解释:
* https://csrc.nist.gov/publications/detail/nistir/8202/final
图 6 是一个很好的流程图,可以帮助人们决定对于特定用例来说这是否是一个好的解决方案。请参阅 “分布式账本需求:区块链、区块矩阵,还是都不需要?
* https://csrc.nist.gov/Projects/enhanced-distributed-ledger-t…
鉴于商业时间戳服务相对笨拙,https://opentimestamps.org/ 对我来说似乎相当有用。
这意味着许多加密方案都是自动的区块链。
这种理解是有缺陷的。
你知道吗?所以莱纳斯才是真正的区块链之父?
根据一篇新闻报道,第一个区块链应用程序是 Surety 公司于 1992 年发布的名为 AbsoluteProof 的应用程序 [1]。
[1] https://www.vice.com/en/article/j5nzx4/what-was-the-first-bl…
“正如以太坊联合创始人维塔利克-布特林(Vitalik Buterin)在 Twitter 上开玩笑说的那样,如果有人想破坏 Surety 的区块链,他们可以 “用不同的哈希值链制作假报纸,并更广泛地流传”。鉴于《纽约时报》的日均印刷发行量约为 57 万份,这可能会成为本世纪的绝技”。
如果哈希值在多家报纸上发布怎么办?
发行那么多假报纸是不可能的。如果你印了那么多报纸,你会把它们给谁?任何想看《纽约时报》的人都可能有渠道,或者至少知道一个渠道;卖家也一样。纽约时报》希望有两倍多的人想读他们的报纸。
耶,谢谢你,我正绞尽脑汁想起来 Surety 这个例子,以回应 https://news.ycombinator.com/item?id=37782446
维基百科显示,戴维-查姆(David Chaum)于 1982 年首次提出了基本上属于区块链的概念。他甚至在加密货币还不太流行的时候就成立了一家初创公司,即 1995 年的 “eCash”。
盲签名与哈希链完全不同。
花式链接列表
当有人把递归散列数据块的线性链称为区块链时,人们一直在说 Merkle DAG。
我不明白。
我对梅克尔树的理解是,它是一个递归散列,但叶子节点是数据,树的每一层都是子节点的散列。
在梅克尔树中,只有叶子节点存储(或引用)数据,其他所有节点都只是散列。
还有其他我不知道的梅克尔结构吗?
https://en.wikipedia.org/wiki/Merkle_tree
如果带有哈希值的节点包含数据,那就不是梅克尔树。
自从发布这个帖子后,我发现 IPFS 有一种叫做 Merkle-DAG 的东西。
区块链是指存在一个有效上一区块和一个有效下一区块的区块链。
区块树(Block-Tree)是指存在一个有效上一区块和多个有效下一区块的区块链。
Block-DAG 是指存在多个有效的下一区块和多个有效的上一区块的区块链,其限制条件是不能形成循环。
它们类似于链表、树和有向环图,但使用的是链式散列。
摘自 IPFS 页面上的 Merkle-DAG 文章:
> Merkle DAG 类似于 Merkle 树,但没有平衡要求,每个节点都可以携带有效负载。在 DAG 中,多个分支可以重新融合,换句话说,一个节点可以有多个父节点。
有趣的是,梅克尔树是一个有效的梅克尔 DAG,因为节点可以_选择性地_包含数据有效载荷。因此,区块链、区块树和区块图也都是 Merkle-DAG。Merkle-DAG 是一种统一的结构,可用于对所有这些结构进行建模。
它真的很聪明。
https://docs.ipfs.tech/concepts/merkle-dag/
这似乎是 2014 年创造的:https://github.com/jbenet/random-ideas/issues/20
不过,区块链一词至少可以追溯到 2008 年。
区块链可能是 Merkle-DAG,但 Merkle-DAG 不是区块链。
我认为这与不平衡树同构,在不平衡树中,每个节点都有一个非叶子子节点和一个叶子子节点。
这就好像说链表实际上不是链表,而是一棵不平衡的树,每个节点都有一个子节点。
我的意思是,你没有错,但它仍然是一个链表。
不过,我还是要小心这样混淆你的思维模型–它们是不同目的的不同数据结构。
你可能不希望使用梅克尔树来记录只附加的日志,也可能不希望使用区块链来验证文件的完整性。
例如,BitTorrent、IPFS 和 Storj 使用梅克尔树来验证和发现 DHT 上的区块,而区块链则不能用于此目的。
而 Scuttlebutt 使用区块链作为仅可附加的日志,这对流言蜚语是友好的,你不会想用梅克尔树来做这件事。
> 无需达成共识。就像只有一个作者的 git 仓库一样。
但我们难道不应该为此达成去中心化共识吗?
如果 NIST 的密钥被泄露,或者组织解散或腐败/功能失调怎么办?
>这不是区块链,而是单写 Merkle DAG。
嗯。Merkle DAG 并不意味着它可以在互联网上使用。也许是单写区块链?
哦……所以你把数据库叫做 “区块链”。
区块链就是区块链。
你有其他定义吗?
通俗地说,它通常是指一种与区块链配对的共识算法。
比特币的创新不是区块链,而是一种以工作证明为支撑的共识算法,它允许一群敌对的同行就共享区块链数据结构的状态达成一致。
根据字典[1],区块链是 “一种包含信息(如金融交易记录)的数字数据库,可在大型去中心化、可公开访问的网络中同时使用和共享”。
这里的区别可能是去中心化网络。
[1] https://www.merriam-webster.com/dictionary/blockchain
梅里亚姆的说法不正确
该定义中的每个词似乎都符合,不是吗?
区块链并不需要 “去中心化”。然而,当人们在日常使用中提到 “区块链 ”时,通常说的就是这种类型。这就是一个词的日常用法与实际技术含义不同的例子。
> 这是一个词的日常用法与实际技术含义不同的情况。
这可能会改变。
还有中心化的工作量证明区块链。前段时间,云计算提供了这种技术,IBM也提供了一些。
区块链曾经是一个区块链。现在则更多。你差不多已经定义了它–共识算法、共享数据结构。
这里的 “共识 ”是什么意思?普通用法与定义不符?也许定义会随着时间的推移而改变….
所以链表就是区块链?
如果你有链表中数据的链式散列,则可以!
好吧,但这样一来,任何有控制权的人都可以改变整棵树,为什么还需要这棵梅克尔树呢?
谁能举例说明一下?我不太明白为什么区块链上一长串非常公开的随机字符会有用,除了作为证明某个事件在某个时间之前没有发生的一种方式。
版本升级草案解释了可能的用途:https://nvlpubs.nist.gov/nistpubs/ir/2019/NIST.IR.8213-draft…
主要是为了让公众验证那些本应是随机的事件是否真的是随机的。执行摘要中举了很多例子,但请想想职业体育选秀抽签。球迷们总是认为这些都是被操纵的。他们可以简单地使用这些输出和散列函数,将 512 位的区块映射到某个集合,该集合的万有引力等于选秀名额的数量,并根据选秀权重为参赛球队预先分配选秀名额。然后,球迷们就可以使用这个公共 API 来验证联盟声称的随机抽签是否真的是随机产生的。
人们总是认为投票是被操纵的。这可以用来公开产生随机人口样本进行民意调查。
这也被用来证明贝尔不等式实验没有漏洞。
如果他们愿意相信民调是被操纵的,那他们不就可以认为 NIST 的随机数据也是 “被操纵的 ”吗。
据我所知,黑帮 “数字游戏 ”是一种使用收盘股价的低位数字来寻找中奖号码的彩票。它是由一个无关联的第三方生成号码,再由另一个完全不同的无关联第三方(报纸)分发号码。因此,理论上每个人都相信这些号码是公平的。
参见 https://news.ycombinator.com/item?id=37783764
我一直在想,为什么没有人把它作为 P2P 随机性系统的基础呢?
如果能有一个可信的时间源,并有几个永远不会改变的密钥,任何人都可以转播,那将会非常有用。
我们可以使用零配置时钟,从最近的手机或电脑获取时间,无需任何手动设置!
令人惊奇的是,如果你的电脑没有设置自动同步时间,你就可以看到它的漂移速度有多快。
目前,我的主桌面领先 1.7 秒。可能是几周没更新时钟了:这还不算什么。其他系统的漂移速度会更快。
至于 “为什么 ”不使用 NTP 自动设置时间:也许我想看看时间漂移得有多快;也许我希望运行的服务越少越好;也许我面前的以太网交换机最好不要闪烁太多;也许我想在时钟漂移太多时提醒自己 “坏了 ”什么;也许我想在 “手动 ”更新时实际反映原子漂移的奇妙之处,等等。基本上,“为什么 ”的答案是: “因为我想这样”。
总之:很多电脑的内部时钟/水晶/什么的都不精确。
晶体误差往往在 20 ppm(百万分之一)左右
一周后,20 ppm 将漂移 12 * 10^-6 * 7 * 24 * 60 *60 = 12 秒。
你的主板上可能有一个 cr2032,在拔掉电源时保持供电。
晶体:https://www.digikey.com/en/products/filter/crystals/171?s=N4…
石英手表有一个有趣的现象:温度是造成石英振荡器频率波动的最大原因之一。但如果把它绑在手腕上,它就会与人体的温度平衡相耦合。因此,石英表很容易比石英钟更精确!
真正的好表可以让您调整其速率,因此,如果它在您的手腕温度下运行得稍快或稍慢,您就可以纠正它。
约翰-哈里森(John Harrison)曾获得经度奖,他的一个重要见解是,时钟运行的快慢并不重要,只要它的滴答声非常稳定即可。然后,您就可以确定其频率偏移的特征,并将其作为校正系数,在海上航行数周后获得正确的格林尼治标准时间。
这就需要根据平均体温进行调整,对吗?
或者你是说,石英晶体漂移的原因是温度的变化?
都对 🙂
哦,我没听清你说的可以调校一些石英腕表!我不知道还有这回事。
不过,手表在佩戴时的温度变化难道不会和放在抽屉里时的温度变化一样大吗(除非您居住的地区全年都是T恤衫天气)?
我十几岁时最喜欢戴的一款手表上就有温度计,但我不记得一年中温度计的具体变化情况,只记得它总是既不显示我的体温,也不显示环境温度:)
手表中使用的水晶通常经过切割和挑选,使温度系数的局部最小值或局部最大值接近手腕的温度。
因此,温度系数接近于零,所以人与人之间的差异并不重要。
需要注意的一点是,石英表几乎都有一个金属底板与手腕接触,这样晶体就能有良好的热接触。据推测,您手表中的温度计与该底板是脱钩的。
这让人不禁要问,为什么台式电脑不使用交流频率作为稳定的时间源。短期精度很差,但一周内肯定能超过 12 秒!
我想这是因为在典型的 ATX 设置中,没有交流电到达主板?所有电压都是直流 12/5/3 伏,而且可能来自电池。需要有一种可选的标准方式从 PSU 获取时间,并在此保持交流电时间。
当然,但在几十年前建立 ATX 电源连接器时,没有理由不在其中加入 50/60Hz 信号。
在另一个世界里,50/60Hz 信号应该和现在没人用的奇怪的 -12V / -5V 电源轨一起放在那里。现在要想得到它几乎是不可能的。
当然,但这需要额外的成本,而且没有人(近似地)会在意。那又何必呢?
这是一个非常乐观的假设,目标频率是 50Hz,但如果长期低于或高于 50Hz(例如冬季的高负荷使其难以维持额定频率),除非时间漂移超过 30 秒(这可能只适用于欧洲),否则没有任何规定可使其运行更快或更慢。
更多信息请访问 https://wwwhome.ewi.utwente.nl/~ptdeboer/misc/mains.html
美国的标准更为严格,10/3/2 秒的差异会触发校正,6/0.5/0.5 秒(东部/德克萨斯州/西部互联)则停止校正。来源:https://www.naesb.org/pdf2/weq_bklet_011505_tec_mc.pdf
> 一周后,20 ppm 将漂移 12 * 10^-6 * 7 * 24 * 60 *60 = 12 秒。
你从哪里得到的 12 秒?
应该是 20*,而不是 12。
最终结果是 12 秒。
我不能说太多,但我看到过一种物联网产品,如果 NTP 出现故障,它们都会慢慢落后。我非常欣赏这一点,因为修复 NTP 会向前跳转,在感知时间上留下空隙,而不是重复同一时刻。
所以我想,就像速度计故意读高一点一样,晶体也必须故意读慢一点,这样计算机才不会滑向未来。
我曾经开发过一个嵌入式视频系统,当时没有人考虑到编码器和解码器时钟频率之间的细微差别。如果编码器速度较慢,没问题,每隔一段时间就掉一帧。如果编码器速度较快,则需要对帧进行缓冲,直至达到系统的内存极限。由于这些系统通常会连续开启数周,飞行员最终会发现他们用来驾驶飞行器的视频已经过去了几秒钟。幸运的是,在最初发货前就发现了这一问题,并修改了代码,删除了缓冲区中除最新视频帧以外的所有内容。
这是一种确保时间不会在系统中倒退的巧妙方法!
这让我想起了同样的想法,但却以相反的方式应用在一些火车站的时钟上: 秒针旋转一圈的时间略少于一分钟,之后秒针停止,等待中央时钟发出信号,同时释放信号。
让时钟运行得稍慢或稍快,比让它运行得差不多正确要容易得多:)
大约 40 天前,当我将一台迷你 PC 设置为家庭服务器时,我没有意识到 Fedora 服务器默认情况下没有配置 NTP 同步。仅仅两周时间,我就累积了 30 秒的漂移。Prometheus 一直在抱怨这个问题,但我错误地认为漂移警报是由于所有东西都在一个节点上造成的。后来,当我查询指标并看到漂移导致错误时,我比较了服务器和自己笔记本电脑上日期 +’%s’ 的输出。两者之间的差距远远超过了 30 秒。
摘自维基百科
> 典型的晶体 RTC 精度规格为百万分之 ±100 至 ±20(每天 8.6 至 1.7 秒),但温度补偿 RTC IC 的精度可达到百万分之 5 以下。2011 年,芯片级原子钟问世。虽然价格昂贵且耗电量大(120 mW 对小于 1 μW),但它们能将时间保持在万亿分之 50 以内。
有趣的细分。但这种格式对于传达信息来说太糟糕了。改进的办法是删除幻灯片,编写一些连贯的段落,然后重新插入一些更重要的图片作为支持。
在某人亲自发表演讲后,他们可以在网上做一些事情:
1. 提及他们发表了演讲
2. 在网上发布视频录像
3. 将幻灯片原封不动(PDF 或其他格式)发布到网上,不作任何解释
4. 将幻灯片放在 HTML 网页上,并附带文字(演讲者的发言内容),这样更便于阅读–同时还能让人明白你是在 “阅读 ”演讲内容。
5. 将整篇文章重做/改写成文本形式,包括段落和所有内容。
这里的作者已经完成了 1 到 4 项工作,而你却在抱怨他们没有同时完成 5 项工作,但这是一项很大的工作,我并不吝惜别人没有这样做。我会感谢有人首先以可读的形式展示了他们的演讲。
[我同意这个页面很难阅读,至少在手机上和最初的版本是这样–现在好多了–但我在网上看到过很多其他人发布的这种 “注释演讲”,这种格式本身并不一定不好:例如,请参阅 https://idlewords.com/talks/ (例如:https://idlewords.com/talks/superintelligence.htm) 或 https://noidea.dog/talks (例如:https://noidea.dog/impostor) 或 https://simonwillison.net/tags/annotatedtalks/ (例如:https://simonwillison.net/2022/Nov/26/productivity/) –也许只需对 CSS 稍作调整,比如把文字放在图片右边,就会更容易阅读。]
我最困惑的是,在看图片之前,你应该先阅读一行文字,而图片却在这行文字的上方。
“这是一张 NTP 数据包的图片
一个人坐在办公桌前的图片
我在演讲时,先展示了幻灯片,然后才讲述幻灯片内容。在 Keynote 或 Powerpoint 等软件中,在幻灯片下方显示演讲者注释是很正常的。
如果标题只是 “我演讲的幻灯片和注释”,那可能会更清楚一些,但实际上你的说法恰恰相反,你说这是一个 “博客化版本”,但其实不是–我也被同样的事情绊倒了,然后经历了几次 “图片重复”、“哦不,图片略有不同”,最后才恍然大悟,原来它们是幻灯片。
我澄清了介绍性段落,并在每张幻灯片之间加了几行。现在应该更容易阅读了。
我看得出来,这次演讲会非常令人愉快,但我同意,这种格式对于传达信息来说实在是太懒了。
当我将一部作品转换到新的媒介时,我也会转换使用的惯例,以适应新的媒介和受众。这是一种移情作用。
有人制作免费内容供你消费,你应该感到幸运。
因为别人没有以你喜欢的形式呈现,你就指责别人缺乏同理心,这种权利意识在我看来简直是疯了。
我不觉得自己有什么权利,我只是建议他们如何更好地交流,而这正是他们表面上想要的。我经常因为出色的演示而受到称赞,也经常看到别人在演示时出现不可避免的错误,所以我想我应该尽自己的一份力量来为大家创造公平的竞争环境。
具有讽刺意味的是,你现在不也在做同样的事情,斥责我以错误的方式提供免费信息吗?不如从这些建议中吸取教训,然后继续前进?
对不起。我说得太重了。我可能也误读了你最初的回复。与其说是建议,倒不如说是抱怨。
这行文字是图片的页脚,这样的表述方式根本不直观。文字和图片被误读为属于同一 “层”,而且是按顺序排列的,这与作者的意图不符。作者的意图显而易见,但结构不正确,无法正确解读。
在网站版本中,NTP 数据包图基本上无法辨认,这让我很困扰。我希望他们在幻灯片上做这个演讲时,你能读懂它。
说实话,你不应该读懂它,你要么对自己说,哦,是的,我认出了 NTP 数据包图;要么说,哦,是的,这看起来像一个数据包图;要么说,哦,有趣,也许我应该看看 NTP RFC。幻灯片只显示了几秒钟:-)
一个好的、简单的网络协议的特点是,你可以通过观察数据包图开始了解协议是如何工作的。我认为 NTP 就符合这一要求。
我的意思是,给他戴上一顶小矮人的帽子,我就会相信了……
观看实际谈话效果更好: https://ripe86.ripe.net/archives/video/1126/
与 HTML 页面不同,链接的 PDF 有清晰的页面划分: https://ripe86.ripe.net/presentations/134-2023-04-whence-tim…
我以前从未见过这种格式,但它确实反映了普通好奇者在特定主题的兔子洞中的样子。
我很喜欢。
我觉得这是一本非常有趣的意识流读物。
我简单地认为,任何 “幻灯片 ”形式都来自于现场演讲的移植。懒惰,是的。高效,是的。
尤其是因为有一半的文字只是在重复幻灯片上的内容,而且最终我也没找到一个简单的方法把幻灯片变大。比如 NTP 数据包格式的幻灯片大部分都看不清。
还要感谢 NTP Pool,这是一个由 NTP 服务器组成的志愿者团体,是许多设备的共同选择。尤其是开源设备。微软、苹果和谷歌都运行着自己的时间服务器,但 NTP 池几乎是所有其他设备的最佳资源。https://www.ntppool.org/en/
https://community.ntppool.org/t/recent-ntp-pool-traffic-incr…
或者是 Netgear 把 NTP 服务器的 IP 地址硬编码到一些家用路由器中,从而导致威斯康星大学被淹:
https://pages.cs.wisc.edu/~plonka/netgear-sntp/
我曾在游泳池使用过一段时间的 RIPE NCC GPS 同步 pci 卡。这很有趣,但机房的动态变化使得穹顶天线很难保持连接:它们讨厌特殊的电缆,而且屋顶通道是安全和防水方面的噩梦。
反正现在铷钟也很便宜。
现在,我正在使用 Bert Huberts GPS 漂移和可用性软件,用树莓派(raspberry pi)测量办公室窗外的能见度和可用性。有趣多了。
你有现在正在做的事情的链接吗?看起来很有趣!
https://berthub.eu/articles/posts/galmon-project/
当仪器或测量结果变得比参考材料更精确、更稳定或更可靠时,就会出现一种有趣的情况。
而当有人(通常是个人)最终发现这一切已经发生,或者在某些情况下使之成为现实。
>星历表秒基于天文星历,天文星历是太阳系的数学模型
>标准星历表由西蒙-纽科姆(Simon Newcomb)于19世纪末制作 >他收集了大量历史天文数据来创建他的数学模型 >直到20世纪80年代中期,星历表一直是标准星历表
>1952年,国际天文学联合会改变了时间的定义,不再以地球绕地轴的自转为基础,而是以地球绕太阳的公转为基础 >20世纪30年代,他们发现地球的自转并不是完全均匀的:它时而减慢,时而加快 >时钟现在比地球自转更加精确,因此星历秒是一种新的更加精确的时间标准
>1952年,国际天文学联合会改变了时间的定义,不再以地球绕地轴的自转为基础,而是以地球绕太阳的公转为基础。
是的,我记得高中时学过这个,但我想知道……他们使用的一秒的实际持续时间是多少?还有,基于地球自转,纽科姆收集的 “大量历史天文数据 ”是什么样的数据?如果只能根据随时间变化的地球自转速度来计算,又如何能可靠地捕捉和存储时间长度呢?我猜这些数据是与其他自然现象进行比较的?
当时间以地球自转为基础时,天文学家使用 “凌日仪 ”来观测某些 “时钟星 ”经过头顶的时间。时钟星有精确的已知位置,因此如果你根据天文台的时钟定期记录它们经过头顶的时间,那么你就可以计算出你的时钟有多精确。
纽科姆的数据应该是精确定时的观测数据,他所能掌握的观测数据可以追溯到大约两个半世纪以前。
我认为我们需要一个由社区维护的、民主化的时间追踪标准,这样我们就不会那么受制于 “大时代”。
我们已经有了,不是吗?
真正的时间(True Time™)基本上是由世界各地实验室的几十个原子钟的平均值决定的。没有比这更 “社区维护 ”和 “民主化 ”的了!
放在时钟链上
请告诉我这是你创造的。
太搞笑了
这篇文章和这条评论让我想知道,对根计时机制的协同攻击可能会产生什么影响。似乎有相当多的冗余/共识,但哪些系统会失效?在什么时间线上?它们将如何恢复?
利用晴朗的夜空和现代手机摄像头校准时钟也许是可行的。我敢打赌,一秒的精确度并不是一个荒谬的期望。现在,校准可能需要不合理的时间……
把带孔的水壶拿出来
我们没有,它是由政府管理的
美国国防部高级研究计划局(DARPA)正在资助 “稳健光学时钟网络”(ROCkN)计划,该计划旨在制造体积小、重量轻、功耗低(SWaP)的光学原子钟,其计时精度和保持时间优于 GPS 原子钟,并可在实验室外使用。
大多数大型云提供商都部署了相当于开放计算时间卡的设备,该设备的时间来源于全球定位系统,但在全球定位系统不可用的情况下也能保持准确的时间。
https://www.darpa.mil/news-events/2022-01-20
如果您身边有一台 Raspberry Pi,并想运行自己的 Stratum 1 NTP 服务器,https://austinsnerdythings.com/2021/04/19/microsecond-accura…
请注意,对于 NTP,最好使用 Raspberry Pi 4,而不是旧板。旧板的以太网端口位于 USB 集线器的错误一侧,因此其网络会出现毫秒级的数据包定时抖动。您将无法获得微秒级的 NTP 精度。
https://blog.ntpsec.org/2017/03/21/More_Heat.html (信息危害警告:ntpsec 包含 ESR 痕迹)。
这是一台 Stratum 0 服务器,因为它从 GPS 获取时间。Stratum 1 服务器是从 Stratum 0 服务器获取时间的服务器。
层 0 是参考时钟本身;层 1 是连接到一个或多个参考时钟的 NTP 服务器。https://www.ntp.org/ntpfaq/ntp-s-algo/#5111-what-is-a-refere…
这些幻灯片大多涉及时间测量的物理部分(GPS 和原子钟等)。虽然这本身很有趣,但为了了解 MY 计算机如何获取当前时间,一个更相关的问题是 “家用电脑如何测量从远程时间服务器发送的数据包的延迟时间”?它是否会测量几次往返的持续时间,并将平均持续时间作为延迟时间?如果在某个往返过程中突然发生拥塞怎么办?我总觉得这些问题比物理问题更神秘。
这就是工作原理:
https://en.wikipedia.org/wiki/Network_Time_Protocol#Clock_sy…
使用哪个时间源要小心。10-15 年前,我们的一台服务器被配置为使用 tick.usno.navy.mil 和 tock.usno.navy.mil。海军发送的时间出现了 “问题”。一夜之间,几台许可服务器无法通过身份验证,我们被锁在了这些系统之外(SSH 需要准确的时间,我想应该在几分钟之内)。我们通过本地登录发现了差异(我们在同一栋楼,但在不同的办公室),并更改了时间服务器,然后通过同步方法解决了问题。
> SSH 需要准确的时间,我认为应在几分钟之内
你可能记错了一些细节,SSH 根本不关心时间,除非你使用的是_非常_短命的 SSH 证书。
你是对的,我相信在这个系统上被锁定的是 Kerberos,因为它运行的是 SMB 共享。
Kerberos 对时间非常敏感。
该系统运行的是 SMB 共享,所以可能是 Kerberos 把我们锁在外面了。
基于时间的 OTP 非常敏感。可能就是这个原因造成了故障?
具有讽刺意味的是,TOTP 规范明确考虑到了这一点。
默认情况下,令牌的有效期为 30 秒,同时也接受上一个 30 秒窗口中的令牌。对于 NTP 连接的系统来说,误差超过 30 秒是非常罕见的。
规范还提供了一些方法,通过跟踪最后已知的时钟漂移来处理专用硬件令牌慢慢失去同步的问题,但这在今天已经毫无用处,甚至可能弊大于利。
发帖人指的是分钟,这也是我的经验。如果出了差错,你的时间就会突然少了一个小时。现在你无法登录了。
他们可能使用了 kerberos 验证?
我的车是从哪里得到时间的?每次启动时它都会漂移和变化。每隔 3 个月,我都要手动更改 10 分钟左右,但总是不一致。
可能只是一个本地石英振荡器,就像廉价手表一样,但嵌入到汽车中。它会随着温度、振动、湿度和其他一些因素而漂移,但它很便宜,只是依靠用户偶尔设置一下。更高级的系统可以使用无线电时间或全球导航卫星系统(如果汽车有内置导航功能,则更有可能使用),但如果你经常设置时间,可能就不会使用了!
正确。振荡器会通过多种方式发生漂移,而且它们都会产生荒谬的影响。https://news.ycombinator.com/item?id=37613523。
温度是最大的因素。与基本的非补偿振荡器相比,DS3231[1] 等产品的性能非常出色。我对身边的几个振荡器进行了一些长期实验,经过一些调整,它们每年的损耗不到一秒。但是,与基本的振荡器相比,这些振荡器的价格非常昂贵(按数量计算,每个差不多 5 美元),所以它们不可能装在你的汽车里,因为在汽车里可以用 3 美分的芯片来代替。(我不知道现在 5G / LTE 芯片的成本是多少,但如果他们无论如何都要在你的车里放一个,那么他们也许可以从中获得时间。但他们选择不这么做)。
[1] https://www.analog.com/media/en/technical-documentation/data…
在我所有的时间实验中,最让我感兴趣的是查看我的时钟频率随时间变化与温度的关系。(NTP 守护进程的目的是计算你的实际时钟频率;然后它们就会知道你的内部时间与实际时间的偏差有多大)。你甚至不需要温度传感器,时钟频率就是一个完美的模拟信号。
电压问题也可能是个大问题,而汽车的电路脏污是出了名的。
啊,我打赌这是真的!
> 我工作过的一家公司希望在一个由 10 台设备组成的网络中,系统之间的时间漂移不超过 2 毫秒。
在这种情况下,他们竟然没有部署一个本地 “时间网络”,由一个主时钟通过长度校准同轴电缆分配时间。这种方法在电视演播室中非常常见。
其实环境并不合适,而且他们根本不需要那么高的分辨率,100毫秒的漂移也不会被发现。
是啊,温度是个大问题。电压稳定性也是一个重要因素。
如果你想要真正好的短期和中期稳定性,很难(昂贵)比烤箱控制晶体振荡器(OCXO)做得更好。OCXO 将晶体放在一个带有加热器和热电偶的绝缘腔中。控制电路利用加热器使腔体保持稳定的温度。长时间使用后,这些晶体仍会漂移。
更便宜的替代品是温度补偿晶体振荡器(TCXO),它将控制电路与晶体、温度传感器和 ROM 相结合。ROM 中包含晶体在不同温度下的频率误差表。控制电路检测温度,从 ROM 中读取误差值,并尝试修正晶体的振荡频率,以补偿该误差值。这种晶体振荡器的精度和稳定性都不如 OCXO,但体积更小、功耗更低、价格更便宜。
要获得长期稳定性,你需要一个原子钟,可能是铯钟或氢钟。全球导航卫星系统(GPS、伽利略、格洛纳斯、百度等)的卫星上都有原子钟,并广播时间。全球导航卫星系统是通过非常精确地测量从不同时钟接收到的时间差来计算位置的,因此它也可以用作获得具有良好长期稳定性的本地时间参考。遗憾的是,与 OCXO 相比,全球导航卫星系统的短期稳定性较差,因此仅靠全球导航卫星系统并不完美。但是,创建一个 “GPS-Disciplined OCXO”(GPS-Disciplined OCXO)是很常见的,而且成本也不高,在这种情况下,GPS 设备可以纠正 OCXO 的长期漂移,但 OCXO 提供实际的输出信号(从而获得良好的短期和中期稳定性)。
NIST SP 1065 频率稳定性分析手册[1] 是测量时钟源的必备书籍。
[1] https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpubli…
听起来它能从你这里获取时间。
劳伦斯-哈蒙德(Laurens Hammond)在家用空调电压普及到足以替代爱迪生最早建立的直流/交流电气化之后,发明了同步电动机。
这使得人们第一次有可能根据输入的空调电源电压的稳定频率来制造时钟,这比根据输入的线路电压制造时钟要可靠得多,因为无论是空调还是直流电压,输入的线路电压都会有很大的变化。
当他开始商业化制造哈蒙德钟表时,这使他成为了一名制造商。
多年后,他的工程师鼓励他考虑开发一种教堂电风琴,这种风琴可以不受线路电压变化的影响而保持音调不变。
哈蒙德不懂音乐,但他还是做了。
他是伟人中最具传奇色彩的一位。
http://thehammondorganstory.com/
到了 20 世纪 60 年代,几乎所有的美国新车都被公认为是现代太空时代的便利设施,而出厂时钟(自然是机械模拟时钟)也几乎成为最经济实惠的价位之外的通用标准配件。
原厂时钟有几个缺点,它们必须始终连接到汽车电池上才能继续运行,它们根本不会耗尽电池的电量,但如果不驱动,最终还是会让电池没电,这比没有时钟要糟糕得多。而且它们取决于输入电压,而输入电压决定了内部时钟电机的转速。不同的汽车电气系统和电池本身在标称设计电压 12 VDC 的基础上相差 10%。汽车中没有同步电机所需的稳定 A/C 运行电压[0]。
这些现在已经过时的钟表可以自动校正。您可以自己校正它们。实际上,扭动旋钮来移动时钟指针的方法与以前的非校正时钟相同,只是简单地做了这项工作。因此,它们在一定程度上是向后兼容的。只有太空时代的装置才有足够聪明的机械能力,能够考虑到您移动指针的幅度和方向,并相应地调整之前的运行速度。如果在调整时钟时,时钟还没有非常接近正确的时间,那么就需要在数天或数周内反复调整,才能使时钟达到非常逼真的速度。实际上,它所做的只是连续近似。你必须提供自己的自然智能。
即使在当时,许多驾驶员也不知道这一点,而且人们普遍对不精确的时钟感到失望,“新的时候还可以,但‘时间一长’就走下坡路了”。这些钟表也许只增加了一美元的车费,但与当时高度可靠的廉价家用钟表相比,那是非常昂贵的。
仔细想想,如今许多驾驶员在运用自然智能方面都不尽如人意,而除了计时之外,他们还需要在许多其他方面运用自然智能。
[0] 电子 “振动器 ”提供开关模式 12VAC 电压,可通过变压器升压,为真空管收音机提供更高的电压,但仍会产生可变的 A/C 电压和频率,这取决于基本的 D/C 电源电压。
我 1967 年购买的水星汽车上的时钟有一个有趣的装置。它是一个带有自动上发条装置的全机械发条钟。当发条松开时,电磁铁上的电路闭合,发条迅速回卷。
每隔几个小时左右,您就会听到自动上发条的咔嗒声。遗憾的是,没有任何东西可以防止它耗尽电池,而且当电压变低时,电池经常会烧坏,需要更换。从本质上讲,回卷器没有足够的电压给时钟上发条,而电路一直处于关闭状态。
没有什么能比得上 60 年代的水星汽车了,当时他们在制造水星汽车时比相应的主流福特品牌车型更加谨慎。
>如果我有钱
>告诉你我会怎么做
>我会去市中心买一两辆水星汽车
水星蓝调
https://www.youtube.com/watch?v=QsTfCITzISM
我现在真的需要一两辆水星。
我最感兴趣的是仪表盘时钟和收音机时钟的不同。这是现代汽车的一个绝妙比喻。
这取决于车型。有些可以使用 GPS 或无线电时间信号:https://en.wikipedia.org/wiki/Time_signal
https://news.ycombinator.com/item?id=37613523
我最近租了一辆价值 6.5 万美元的豪车,它甚至没有内置的夏令时调节功能。车主每年都要自己钻研设置并修复两次。汽车的基本软件落后得太离谱了。
夏令时政策因国家和(美国)州而异。美国的夏令时时间表可以更改,而且在过去 50 年中已经更改过两次。有人建议在全国范围内和州内再次这样做。实施自动调整夏令时会让你永远承担软件更新的费用。让人们在需要的时候手动更改时间要简单得多,就像使用其他电器一样。
在我看来,真正的失败在于设备让人难以理解如何更改时间。
是的,夏令时间表变化非常频繁,在大多数汽车的使用寿命内,至少有一部分汽车会在某些地方使用,而这些地方的最新时区数据库与汽车软件中的时区数据库并不匹配。
因此,制造商可以在以下两种情况中做出选择:一是让人们每年两次手动更改夏令时,大多数人都理解并习惯于这样做;二是自动更改夏令时,但有时会出错,大多数人都不会理解并会抱怨。
汽车也会移动。有时,它们会跨越时区或 DST 边界。自动本地时间需要全球导航卫星系统和 DST 数据库。
哦,还有更好的。以前,我每年都会收到两次邮件,提醒我把我的豪车开到车行进行 “保养”,以调整时钟。或者我也可以……你知道的,按几个按钮就可以了。
所有拥有同步时钟的现代汽车的问题在于,你已经安装了 LTE SIM 卡,为什么不同时发送一些遥测数据呢?于是,我们就有了这样的汽车,它是带有四个轮子的监控设备。
一个简单的 GPS 接收器也能提供时间。但总体而言,我同意你的观点。
我也有同样的问题!这需要几个月的时间,但最终我车里的时钟还是会落后几分钟。我想目前大约落后 4 分钟。
我是否还记得 dotat.at 域名在过去有一些有趣的命名方式?是电子邮件 dot@dotat.at 吗?对,就是它。
它可能启发了我注册 “signaslongasitendswith.com”,这样我就可以告诉别人我的电子邮件地址是 “只要结尾是‘dot.com’,在‘at’符号前随便写什么都行”。
在 2003 年,我觉得自己很聪明。我从未收到过任何邮件。
真聪明。
只是想花点时间欣赏一下 “点在、点在、斜线在 ”的网址
绝对让我想起了 H T T P 冒号 slash slashdot dot org
几十年后,我终于知道了 Slashdot 这个名字!谢谢!
哈,我也一样。
你应该看看作者的电子邮件地址:)
我记得澳大利亚有一家互联网服务提供商或虚拟主机,名叫 DotNet(显然是在 MSFT 时代之前)……
他们的网站是 http://www.dotnet.net.au (www dot dotnet dot net dot au)。
/Meta: 首页上有三篇不同的文章,主题都是 “时间到底是什么”,我很好奇这是否有什么原因?我错过了什么新闻事件吗?是某个闰秒错误让什么东西崩溃了吗?
我经常会在头版看到与一两天前热门主题相关的文章。我总是认为,要么是有人根据最初的主题进入了一个兔子洞,并想分享他们的发现;要么是有人已经知道了那个主题,并从最初的主题中受到启发,想分享一些有用的东西。
假设:
利用往年热门话题进行点击游戏的人希望将时间稍微向前推移(呵呵!),这些话题可能通常出现在冬令换钟前后(今年 10 月 29 日是英国夏令时结束的日子)。因此,我推测这是一个漂移的 “时钟回拨,但你的电脑会自动调整吗?”话题区。
这是一场真正的演讲?要是我参加,肯定会疯掉。我要把海军天文台加入我的旅行目的地愿望清单。
很难说你在这种情况下 “失去理智 ”是指你会喜欢这场演讲,还是相反。
我会非常喜欢的。
您可能还喜欢
https://dotat.at/@/2022-12-04-leap-seconds.html
https://dotat.at/@/2020-11-13-leap-second-hiatus.html
很好的概述,感谢分享。也许是无心之失,但 “1952 年,国际天文学联合会改变了时间的定义 ”这句话让我忍俊不禁!
如果您对精确计时感兴趣,Time-Nuts 是一个很好的开始 (http://www.leapsecond.com/time-nuts.htm)。
另请参见:eevblog.com 的计量论坛。那里有很多时间坚果(和电压坚果等)。
我的老式傻瓜手机必须知道准确的时间才能在手机网络上运行,这曾经让我很恼火。但它却对我保密。我不得不靠猜测手动设置时钟
在移动网络的早期,我的经验是网络时间并不好。有时会偏差一两分钟,但最常见的是充满了 DST 错误。
我认为发帖人是在说他们有一部 CDMA 手机–这种手机需要非常紧密的时钟同步才能工作。就像电话需要与基站进行亚芯片级同步(几百纳秒的数量级),否则就无法锁定相关代码。
所有这一切都发生在调制解调器层,可能并没有被外化到运行手机操作系统的蹩脚 CPU 上。
您仍然可以使用 CDMA 网络获得非常精确的时间参考,适用于层级-1 时间服务器,但我认为这种情况不会持续太久。
“国际计量局从世界各地的国家授时实验室收集时间测量数据
我很想知道如何通过远距离的多个时钟来实现这一点。有人能解释一下吗?我觉得这很困难,因为在原子钟的时间尺度上问 “那里是几点 ”有点毫无意义?这还没有考虑到时间的绝对局部性,以及根据相对论不可能有通用的时间。
你想要的搜索工程术语是 “时间转移”。
有多种机制:
* 当实验室距离足够近时的光纤连接
* 当实验室相距较远时,双向卫星时间转移
* 在过去,将一个原子钟从 A 地传送到 B 地(他们必须向飞行员询问飞行的精确细节,以便能够综合速度和高度的相对论效应)。
* 讲座中有一个例子,说明埃森和马科维茨是如何通过使用共同的参照物–WWV 时间信号–来比较他们的测量结果的。
我认为一个重要的方面是,时钟之间的实际时间偏移并不重要,重要的是它们之间的漂移。
真正的 UTC 基本上是一个任意值。使用多个时钟同步是为了考虑到单个时钟有点慢或有点快的情况。与你同步的时钟是否落后 1.34 毫秒并不重要,只要它始终落后 1.34 毫秒。如果它突然落后 1.35 毫秒,那么它们之间就会有 0.01 毫秒的漂移,你必须对此进行校正。如果 1.34 毫秒到 1.35 毫秒实际上是 1.47 毫秒到 1.48 毫秒,结果也是完全一样的。
这意味着你可以使用简单的远距离无线电信号进行同步。只要每个时钟的发送和接收之间的时间保持不变,那么确定时钟漂移就非常简单。类似 DCF77 和 WWVB 发射器似乎是一个合理的选择–前提是你能够应对电离层偶尔的反弹。
当然,现在你可能只是让所有的独立时钟以某种方式参考 GPS。毕竟它是全球通用的。
这不仅仅是速率的差异。通函 T https://www.bipm.org/en/time-ftp/circular-t 的主要内容是各国实现 UTC 的时间偏移。另一个重要方面是确定每个时钟的稳定性,这决定了其对 UTC 贡献的权重。
循环 T 背后的算法称为 ALGOS。
海军正在观测的氢原子,对吗?
铯,NIST。
美国有两个主要的时间实验室:一个是 USNO,为国防部提供时间和导航服务,包括 GPS;另一个是 NIST,为民用目的提供时间服务,包括 WWV。NIST 倾向于更多地研究新型原子钟(如光学钟、芯片级钟),而 USNO 则更多地研究地球定向。
美国国家科学研究院的原子钟组合包括铯束钟、氢masers和铷喷泉。NIST 主要使用氢 masers,较少使用铯束钟,尽管他们的主要频率标准是铯喷泉。
我明白美国海军的困惑,因为时钟是在美国海军天文台。
如果您需要时间,请致电 (719) 567-6742
“美国海军天文台,主时钟,音调,山地夏令时,九小时十六分十五秒……哔!”
“报时?”……你这是在开什么船?是在音调的起点还是终点?
我刚打了电话,天哪,是真的。我就喜欢这样晦涩难懂的基础设施
另一个好号码是贝尔大西洋公司的支持号码,虽然他们在 2000 年合并成了 Verizon,但奇怪的是,这个号码仍然能接通。570-387-0000.
“感谢您致电贝尔大西洋公司。由于紧急情况,我们正在裁员,您可能会遇到延迟。”
等待就像《神秘博士》里的永远堵车。
会说话的时钟很常见。在这里,我们拨打 *133。
我小时候,你可以拨通接线员的电话,问他们时间。我仍然不知道为什么会有人这么做,但我记得这是一件可以做的事。
此外,拨 0 还能接通人工接线员。我发誓我没那么老。
根据维基百科,USNO 是由美国海军运营的。
而且不止一个,有上百万个。
真是浪费纳税人的钱!他们就应该挑一个盯着看。我们为什么要为数百万个它们买单?
如果你不使用预算,你就得不到预算,水手。
我看不出有什么坏处。
算是吧。更像是从 DNS 服务中获取时间,海军既为 DNS 服务做出贡献,也从 DNS 服务中获取信息。我觉得这部分最有意思。
你说得有点对。NTP 非常分散。DNS 有几个特定的服务器(根服务器),所有 DNS 最终都要通过这些服务器来查找结果,但 DNS 解析的 “树 ”与 NTP 的 “树 ”有很大不同,NTP 没有这样的树,除非使用了 DNS 条目(例如,pool.ntp.org 有许多 ip 的 A 记录或指向其他域的 CNAME(例如 0.pool.ntp.org))。
官方计时有许多贡献者。大多数从事科学研究的机构都有自己的原子钟,然后以 NTP 服务器的形式共享数据,不过,除了相关事件外,他们一般不会使用世界其他地方的数据。世界其他地区依赖的时钟要么来自 NIST(ntp.org 我认为归他们所有),要么来自主要提供商,如 cloudflare(不确定他们是否有可供公众使用的 NTP 服务器,我几乎可以肯定,出于安全原因,他们会在内部使用自己的原子钟),微软也有一个,我想,他们需要这样做,因为他们提供自己的 NTP 池,但他们可能只是从多个 NIST 服务器聚合起来。
你也可以设置自己的 NTP 服务器,并设置自己的系统开始使用它,而不是使用任何配置。如果你愿意,甚至还可以找到并运行自己的原子钟,并在 NTP 池中注册。实际上,我不确定原子钟是否是必需的,我希望它是必需的,但我不确定。
每篇 NTP 新闻都需要有 Netgear/UW-Madison 惨败的链接:https://pages.cs.wisc.edu/~plonka/netgear-sntp/
还有 PHK / D-Link https://en.m.wikipedia.org/wiki/Poul-Henning_Kamp#Dispute_wi…
2100 年的时间裂缝:我们如何失去未来–并获得过去》可能是我写过的唯一一部关于 NTP 协议的科幻小说。( https://tech.slashdot.org/comments.pl?sid=7132077&cid=493082… ) 对于古董电脑爱好者来说,这本书还包含了对 Windows NT 的赞美。
https://girard.perso.math.cnrs.fr/mustard/article.html
这让我想起了几年前我在本地 Linux 用户组 (CIALUG) 的一次关于时间的演讲… 我已经没有录音了,但幻灯片还在 https://www.slideshare.net/denner1/all-about-time-or-how-to-…
这篇文章写得很好。对于非技术人员来说很容易理解。我把这篇文章发给了我正在读大学医学预科的孩子,他的反馈是:“哇,我希望我的化学教授能把概念写成这样”。
简而言之;
现代时间的来源和中继到计算机的流程:
1. 基于量子/原子运动 -> 单位 -> 时间
2. 基于 #1 的原子钟
3. 来自 #2 的时间,中继至美国海军天文台备用主时钟
4. 来自 #3 的时间,中继至太空部队基地
5. 来自 #4 的时间,中继至 GPS
6. 5# 的时间,中继至 NTP
7. 从 #6 发送的时间,转发到您的家用电脑
好问题,好文章。对我来说,这是一种 “老式互联网 ”的氛围
谈得很好!我想看到一个单独的分支树,解释 WWV、WWVB 和 WWVH 这些连续播报时间的短波电台是如何从(我推测)美国国家观测局获得时间的。
它们是民用的,不是军用的,所以它们的时间来自 NIST https://news.ycombinator.com/item?id=37779909
有人能很好地解释 NTP 协议是如何工作的吗?我不太明白,你怎么可能通过一个具有未知和不可预测延迟的网络来同步两台机器的时间。
这并不快,但 Mills 的 “计算机网络时间同步”(Computer Network Time Synchronization
NTP 使用 “交叉算法”:
https://en.wikipedia.org/wiki/Intersection_algorithm
关于延迟问题,请访问 https://stackoverflow.com/a/18779822 了解基本解释。tldr,一旦允许双向通信,就可以开始考虑网络延迟因素。
有办法让时间精确到 99% 或 100% 吗?time.gov 显示我的 Win11 和 Android Pixel 差了将近一秒。如果能从原子钟中获取时间,那就太酷了。
99% 的准确率非常含糊,但就计时而言,24 小时的 1%仍然是将近 15 分钟,因此误差一秒也要好上几个数量级。我只是想说说。
NTP 肯定能将时钟精确度保持在亚秒级,但要获得更精确的本地时钟,像 Open Time Card 这样的产品就能做到,它拥有本地原子钟和 GPS 接收器,能获得非常具有参考质量的时间。
我认为这是 Windows 和 Android 机器的怪癖,它们并不追求完美的精确度。
macOS 通常能精确到不到十分之一秒(假设是台式机–笔记本电脑可能会差一些,因为它们经常休眠),Linux 只要运行 ntpd 而不是 systemd-timesyncd,也会同样精确。
我认为你应该在 Linux 计算机上运行 chronyd。除了使用 NTP 设置时间外,它还会使用 NTP 随时间调整系统时钟,从而提高精确度。此外,它还有更多选项,可用于更多与时间有关的事情。
在电脑中安装 GPS 模块。
你的安卓手机已经能够接收 GPS,因此这可能是最容易获得的精确时间来源。不过,要让安卓手机同步 GPS 时间而不只是在应用程序中显示时间,可能会有点麻烦……
希望很快就能从我的 raspyberry pi stratum 1 时间服务器项目中获得:)
https://github.com/hcfman/sbts-aru
非常愉快的阅读!如果我想成为一个超级时间书呆子,在家里拥有最精确的时间源,我有哪些选择?
参见 https://news.ycombinator.com/item?id=37780788
和 https://news.ycombinator.com/item?id=37782982
智能手机是使用 GPS 还是 NTP 获取时间?
基站时间。现代蜂窝通信使用时隙复用技术,传输时隙以毫秒为单位,传输开始/结束需要微秒级的精确度,这样才不会错过信息,也不会踩到上一次或下一次传输的脚趾,同时还需要根据光速传播进行调整等。
因此,作为需要不断与基站同步时间才能正常工作的副产品,你的手机拥有相当精确的时间;你的电脑可能很容易就会与 “真实 ”时间相差半秒,但你的手机(至少在宽带芯片层面–主操作系统可不管这些)却连一毫秒都不会差。
我很确定蜂窝网络本身可以提供时间。不确定智能手机是否使用它。
我认为没有 GPS 或数据计划(仅语音)的老式手机可以使用它。~15 年前,我有一部老式翻盖手机,可以选择手动或自动设置时间,T-Mobile “帮忙 ”提供了一个慢 5 分钟的时间源。
基站内的时间基准通常是 PTP
GPS 似乎是信号塔的更好选择。
是的)
刚刚看完《白痴》,我别无选择,只能指出它来自于时间masheen。
这是我在这里见过的最糟糕的解释方式。
这里所有美好的讨论都告诉我:时间是人为的!
很棒的帖子!另外,鹿特丹绝对值得一去。
铯从时空扩张中获得时间。
我们只是创建了一些标签,这些标签根植于地球围绕太阳的自转,每隔一定时间就用辐射测量一次,并称之为时间。
更重要的是,我的电脑让时间去哪儿了?
我的猫对时间的精确度简直到了疯狂的地步。我可以坐在那里看书、上网或看电影,所有这些都是随机的,不会在任何特定时间重复。但是在大西洋时间晚上 9 点,如果我不在那里给它吃点东西,它就会坐在凳子旁抱怨。
需要注意的是,秋季和春季的季节性时间变化确实会让它不适应,但它只需要一周左右的时间就能重新适应。
我的狗也一样!其中一只每天都会在 20:00 准时来用爪子碰我,还精确到分钟,提醒我到了吃东西的时间。
也许我可以用我的狗代替 NTP,让它按下一个按钮,把我的电脑同步到 20:00 整点?至少可以离线工作。
这让我有了一个想法:训练我的狗按下按钮来获取食物,并最终将数据绘制成图表。从中总结出一些规律会很有趣
太有趣了。我的狗是按太阳能时钟运行的。天一黑,它就开始乞讨它的牙签,冬天则一直赖在床上,直到太阳升起。
我们开始给狗狗使用自动喂食器。有一天,它的自动喂食器坏了,我们惊讶地发现,它几乎完全按照设定的时间提示我们喂食。精确到分钟。
不知道它是否依赖于其他感官信息,比如某些气味或声音。我不相信是这种情况;我们有三四个月没有更换坏掉的喂食器,在此期间,它能将时间控制在几分钟之内。我们的行为很不稳定,而且经常变化;我们的工作时间安排很不一致(因此有了自动喂食器),所以很可能不是我们的行为也在促使它这样做。我们甚至可以通过监控摄像头观察到,当家里没人的时候,它总是在正确的时间去它的喂食区喂食。有趣的东西
昼夜节律在计时方面非常可靠。我每天都会在差不多相同的时间上楼吃午饭,而且我总能在 130 点左右发现自己在厨房里拿了一杯健怡可乐,因为我习惯在下午 1 点开完会后拿一杯健怡可乐。
动物也是这样吗?现代人的睡眠时间相当稳定,但我的狗却整天随意睡觉。不幸的是,我的睡眠时间完全混乱,所以它经常很晚才睡。
更奇怪的是:我们的兽医告诉我们一天中要喂它多次少量的食物,所以喂食器被设定为从早上 9 点到晚上 9 点,每隔 2 小时喂 6 次。他在所有喂食时间都达到了标准!
不过,我仍然认为这可能是某种外部提示。昼夜节律是个很好的主意。也许昼夜节律再加上一些难以察觉的因素,比如光照水平(这就能解释为什么几个月内时间会有几分钟的变化)。谁知道呢?
想想有多少宠物会在 20:07 这样做,而主人却没有意识到时间的准确性,因为它不是整点后的整数分钟。
优雅类动物体内有昼夜节律基因,即使在人工光照下也会生效。此外,这方面的技能也是可以训练的。
在学校里,我们经常用下课铃声来标记上课时间,没有钟表,我也能预知下课铃声何时响起。有一次,我一边看着空白的墙壁,一边从 10 点倒数到下课铃声响起的时间,向一个朋友演示了这一点(我们俩都被赶出了教室)。
真奇怪。但却是事实。
我怀疑在这种情况下,狗在环境中听到了你没有听到的东西,并将其与请客时间联系起来,从而产生了这种期望。如果您重新配置 NTP 以利用它的直觉,您就有可能使任何来源产生偏差,从而形成反馈回路,造成漂移。
也许可以在 biff¹ 中添加一个 NTP 参考时钟
……或将其添加到 systemd 中(无论如何,它最终都会到达那里)
[1] https://en.wikipedia.org/wiki/Biff_(Unix)#Origin_and_name
我的狗也知道星期几。它知道周四是啤酒厂之夜,周日是去奶奶家。如果其中一项活动被取消,它就会迷迷糊糊地坚持到底。
我的狗也一样。我有个朋友每周四都会来我家玩一天。狗就坐在门口等着,但只在星期四!
我发现我的猫可以数到四,每隔四天就是三文鱼日。
据说,猫的领地既受时间限制,也受空间限制;例如,一只猫可能在早上拥有一个地方,而另一只猫则在傍晚拥有同样的地方,等等。
英国广播公司(BBC)曾拍摄过一部纪录片,名为《猫的秘密生活》(The secret life of cats),在这部纪录片中他们发现了猫的这种行为。这些猫还会在不同的时间拜访对方的家,吃对方的食物。
在猫咪法庭上打官司,猫咪律师一定赚得盆满钵满。
人的情况更奇怪:血糖水平会随着你对时间流逝的感知而变化,而不是随着实际时间的流逝而变化:https://www.pnas.org/doi/10.1073/pnas.1603444113
我的天竺鼠如果在美国东部时间早上 7 点还没吃到掺有维生素 C 的干草饼干,就会变得非常非常吵,而且锲而不舍。我不知道它是怎么知道时间的,但它对时间的判断也超级准确。
只有一个?建议至少养两只,因为它们是非常合群的动物。
我的四只住在花园里,受到很好的保护,而且我的生活太混乱,无法保持任何形式的定期喂食计划,但它们都很好,如果意外地喂食胡萝卜或黄瓜,一定会让它们很兴奋。
只有这一只,因为它的姐姐死了,然后它就想杀死所有我想和它配对的其他动物。不过我的狗和她相处得很好,她也得到了很多人的关注。
啊,是啊,死亡这个老问题。我的第一对兄弟姐妹就遇到过这种情况,不过我又从动物收容所收养了三只小猪,虽然它们需要一段时间才能适应,但还是成功了。就像我们人类一样,融入一个更大的群体会变得更容易。
天竺鼠可以与非天竺鼠同居或交往。例如兔子
有趣的是,并非每个国家都允许天竺鼠与兔子一起饲养。例如,在奥地利是不允许的(根据 2.Tierhaltungsverordnung Anlage 1 ( 3.6)),而在我的祖国德国则是允许的。
我很好奇,您知道为什么吗?(我不懂德语)
我们家的狗同时在 5 点钟喂食,每天它们在 4:15-4:25 的时候就会认为一定是 5 点钟了,看来我的狗可能是火星人。
我的金毛狗也是这样。我们在下午 4 点喂它吃晚饭,而它几乎总是在 1 点前就离开了,并在 3 点来查看情况。
也许猎犬的时间观念很差。领头的是一只拉布拉多犬。
Girlfirend 的迷你吉娃娃混种犬就是这样。在还没到吃早餐的时间时,它就认为早餐时间到了。
不光是猫,我觉得人类也有同样的能力,只是我们出于各种原因主动压制了它。
任何时候,只要我在半夜听到闹钟响起,而且闹钟的时间是随机的 hh:mm,那么只要坚持几天,我就会自然而然地在闹钟响起前 1 到 2 分钟醒来,因为我的内部时钟知道会发生什么。如果我因为懒惰而忽略它,继续睡觉直到闹钟响起(实际上是一分钟后),我就会改掉这个习惯,但如果我接受它,它就会非常准确和可靠(不过如果我睡得非常疲惫,它就会失灵,所以自然会有一个限制)。
这让我想起费曼的书《你在乎别人怎么想吗?
其中有一章
“就像一二三一样简单……”
在这一章中,他谈到了心理计数和心理时间判断,并进行了实验
我决定进行研究。我先从数秒开始–当然是在不看时钟的情况下,以缓慢而稳定的节奏数到 60:1、2、3、4、5….。当我数到 60 时,只过去了 48 秒,但这并没有困扰我:问题并不在于要数满一分钟,而是要以标准的速度数数。下一次我数到 60 时,时间过去了 49 秒。下一次是 48 秒。然后是 47、48、49、48、48….。于是,我发现自己能以相当标准的速度数数了。
现在,如果我只是坐在那里,不数数,等到我认为一分钟已经过去了,那就会出现非常不规则的完全变化。因此,我发现仅靠猜测来估算一分钟的时间是非常糟糕的。但通过数数,我就能得到非常准确的结果。
他继续做其他各种实验,如边跑楼梯边数数等等……:)
帕洛对此一定有话要说
我最好检查一下我的猫体内的振荡器,因为它们想在下午 4 点正负半小时吃晚饭。
我的电脑能从你的猫那里得到时间吗?
它们是习惯的动物