问题标签 [ntpd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
225 浏览

ntp - NTP 层之间的错误是什么?

我读到 NTP 在 WAN 上同步机器的精度高达 100 毫秒(在以下链接中给出 - http://www.ntp.org/ntpfaq/NTP-s-algo.htmhttps://en.wikipedia.org/wiki/ Network_Time_Protocol)。

每个 NTP 层的误差是否为 100 毫秒(或同步差异)?如果不是,那么 NTP 如何确保错误不会累积到较低层?

我知道我在这里的 NTP 协议中遗漏了一些东西,有人可以指出什么吗?它是否与根延迟和根分散有关,或者它们只是用于拒绝候选服务器?

0 投票
4 回答
12609 浏览

ntp - ntpdate - 找不到适合同步的服务器

我正在研究ntp。我必须连接到一些外部 NTP 服务器才能更新我的系统日期。问题是 ntpd 守护进程总是使用我的本地时钟 (127.127.1.0),它没有使用我在 ntp.conf 中提供的 NTP 服务器。我使用 123.108.225.6 作为 NTP 服务器,我可以 ping 这个 IP。为了测试的目的,我执行了 ntpdate 但我得到了以下结果。

我觉得奇怪的是“原始时间戳”需要一些旧时间。这不是我的本地系统时间。

起始时间戳:00000000.00000000 1899 年 12 月 31 日星期日 18:00:00.000

ntp.conf

disable stats server 123.108.225.6 server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10

漂移文件 /etc/ntp/漂移

我花了很多时间寻找解决方案,但我没有成功。请帮我 !!

0 投票
2 回答
1399 浏览

c++ - NTPD 与 1PPS 信号同步

我有一个与我的 C++ 应用程序接口的 AHRS(姿态航向参考系统)。我通过以太网从 AHRS 接收到 50Hz 的消息流,作为该消息的一部分,我得到了 UTC 时间。我的系统还将运行 NTPD 作为我们嵌入式网络的时间服务器。AHRS 还有一个 1PPS 输出,指示 UTC 的第二个翻转时间。我想将 NTPD 时间与 UTC 同步。经过一番研究,我发现有些技术利用串行端口作为 1PPS 的输入。据我所知,这些技术使用 GPSD 读取 1PPS 并与 NTPD 通信以同步系统时间。但是,GPSD 期望来自 GPS 的 NMEA 格式的消息。我没有那个。

我现在看到的方式,我有几个可选的方法:

  1. 不要使用 GPSD。编写一个程序,读取 1PPS 和包含 UTC 的以太网消息,然后以某种方式将此信息传达给 NTPD。

  2. 使用 GPSD。编写一个程序,将以太网消息重新打包成可以发送到 GPSD 的东西,并让它处理与 NTPD 的交互。

  3. 还有什么?

任何建议将不胜感激。

编辑: 我为这个结构不佳的问题道歉。

我对这个问题的解决方案如下: 1 - 将 1PPS 接口连接到 RS232 端口,事实证明这是 GPSD 处理的标准方法。2 - 编写自定义 C++ 应用程序来读取包含 UTC 的以太网消息,并从中构建包含 UTC 的 NMEA 消息。3 - 将 NMEA 消息馈送到 GPSD,GPSD 进而与 NTPD 接口以将 GPS/1PPS 信息与系统时间同步。

在此处输入图像描述

0 投票
1 回答
333 浏览

python - ntpd 强制执行的 python 烧瓶服务器端口

我有一个由 py​​thon 和烧瓶实现的休息服务器。并实现一个api来重启ntpd
代码 test_flask.py:

然后我操作如下:

  1. 启动烧瓶服务器:python test_flask.py
  2. curl " http://localhost:5000/restart_ntpd。然后 ntpd 重新启动并返回 "success"
  3. 停止烧瓶服务器:只需使用 Ctrl+c 停止
  4. 再次启动烧瓶服务器,它会引发异常:

    socket.error:[Errno 98] 地址已在使用中。

  5. 使用sh $ netstat -ntlp | grep 5000,端口被ntpd

我认为默认情况下ntpd将使用端口 123。在我的场景中,为什么端口 5000被强制执行ntpd?是烧瓶的问题吗?

0 投票
0 回答
123 浏览

linux - Linux-NTP Leap Seconds:减少应用闰文件的时间

有什么方法可以让 NTP 处理并比现在更快地应用闰秒文件?

我正在编写一个依赖于 CLOCK_TAI 的应用程序。如果未设置 tai_offset,则允许应用程序执行将是错误的。

使用 Ubuntu 14.04,我安装了闰秒文件 ( http://www.ietf.org/timezones/data/leap-seconds.list ) 并配置了 ntp (4.2.6p5) 以使用它。

使用将 CLOCK_TAI 与 CLOCK_REALTIME 进行比较的测试程序,我发现在使用新配置重新启动 ntp 后更改 tai_offset 需要超过 4 分钟。

我想大大减少这个时间。

0 投票
0 回答
789 浏览

ntpd - ntpdate 的正确替代方法是什么,需要以下功能?

由于ntpdate已被弃用,ntpd -gq在大多数情况下用于相同的目的。使用ntpdate, 会收到错误

找不到适合同步的服务器

如果提供了错误的主机名/IP,则退出。

是否还没有此功能ntpd?即,ntpd -gq如果它没有从(无效/未运行的ntp)服务器得到任何响应,则退出。

0 投票
1 回答
836 浏览

synchronization - Gpsd 时间错误

大家好!

我有这个问题:

我正在使用我工作的公司的旧 GPS-Sirf/NMEA 模块为 GPSD 服务 ntp(现在在我的笔记本电脑上)。

让我们忘记 Ntpd .. 一旦我启动 gpsd,虽然日期和时间在gpsmon中是正确的,但如果我运行ntpshmmon ,我在标记为“真实”的列中有一个负时间(大约 -69 年以秒计),我假设是我的 SHM 的时钟信息(而“时钟”列实际上是接收到的信息)

如果我更换模块并使用 U-blox 一切正常,SHM 时钟恢复为 +46 年。有没有办法管理 GPS 与 NTP 的信息交换?或者在不确切知道 GPS 模块是什么的情况下配置 GPS?

对不起,如果我的问题是某种空中仙女......我希望有人遇到我同样的问题并且可以发现线索......

谢谢!:)

佛罗里达州

0 投票
1 回答
302 浏览

linux - 如何做增量时间跳跃以避免数据丢失

背景: 嗨,我目前正在使用旧的 Linux SBC 系统。它使用旧的 BusyBox v1.00-rc2,它的功能有限。(不,升级不是一种选择)。这个 SBC 连接了几个传感器,记录值并加盖时间戳。

问题: 几年后,RTC 偏离实际时间,一些 SBC 与实际时间延迟超过 1 小时(更慢)。

我不能简单地对 ntp 服务器进行 ntpdate,因为它会导致时间跳跃并在数据监控日志上造成巨大的差距。这是不可接受的。

解决方案: 我创建了一个 bash 脚本,它将:

  1. 使用 SBC 和 ntp 服务器检查 ntp 偏移量
  2. 然后,将偏移量记录在变量中
  3. 如果偏移值大于 7,例如(60 秒偏移),脚本将使用date -s命令一点一点地增加系统时钟。
  4. 它只会以每小时最多 60 秒的速度增加
  5. 例子 :
    • SBC时间为2016年4月4日14:59:00
    • 来自 ntp 服务器的实际时间是 2016 年 4 月 4 日 15:00:00
    • 如果我使用 ntpdate -q -4 utcnist2.colorado.edu它将返回60 秒的偏移量
    • 所以,我的脚本每 450 秒只会增加7 秒
    • 按照这个逻辑,SBC 时间将在2016 年 4 月 4 日 16:04:17左右赶上 ntp 时间
    • 问题是,这个脚本会一步一步慢慢调整时间,有时会出问题,SBC时间会比实际时间(Ntp时间)更快,这会导致数据丢失(服务器不会如果 SBC 时间快于服务器时间,则接受)。

问题 :

  • 有没有其他方法可以进行与此类似的增量时间跳跃?
  • 我注意到 ntpdate 有 -B 函数可以进行增量时间更新,但我没有在 SBC 上使用它。使用此开关的正确方法是什么?还是我误解了它的功能?
  • adjtimex 能达到这个目的吗?
  • 这是我完整的 bash 脚本,如果你们有需要的话(太长,无法粘贴到这里),

http://pasted.co/65beb3db [密码:123456]

0 投票
1 回答
1778 浏览

linux - 同步 android 应用程序和服务器之间的时间

我使用带有蓝牙加密狗的树莓派来模拟信标。当我在树莓中更改信标时,我想测量移动应用程序检测信标的 UUID 所需的时间。通过这段代码,我找到了智能手机用来同步磁贴的服务器

比我同步树莓派中的时间

在我更改信标的 ID 之前,我会打印时间

然后我比较了我更改 UUID 的时间和第一次看到 UUID 时 logcat 中的时间,结果总是负 UUID 在 15:33:03,276 更改并在 15:33:02.301 检测到。

这是同步问题吗?有一个更好的方法吗?

0 投票
1 回答
78 浏览

embedded-linux - 本地时间更新的系统日志条目

ntpd 守护程序在更新本地(客户端)时间 wrt 服务器时必须有一个 syslog 条目。

Grepping 在我的 beagonebone 系统日志中,我在 ntpd 下面找到了与服务器相关的条目:

ntpd 更新本地时间时日志的任何线索以及日志的外观?

注意:没有兴趣查询喜欢ntpq -pntpstat