我需要为没有电池的MCU创建一个NTPServer来校准时间信息,我想在开机后尽快校准。
当我在没有网络的局域网络中时,NTPServer启动后需要等待五分钟左右才能与其他电脑同步时间,请问如何修改才能使用NTP实时同步而不需要等待5~17分钟呢?
我尝试修改Minpoll和maxpoll,但是在没有网络的环境下还是需要5分钟左右才能初始化。
如何缩短NTP服务器初始化时间?
答案1
ntpd
需要向 NTP 服务器发出多个请求,才能确定其可靠性和通信延迟。通常ntpd
每个轮询间隔仅发出一次请求,该间隔最初由值确定minpoll
,通常是每 64 秒轮询一次。
通过将该iburst
选项添加到您的 NTP 时间源定义中,它允许在启动时ntpd
忽略该值,从而可以更快地建立初始同步 - 或者在时间源实际上无法访问时建立更快的重试周期。minpoll
句法:
server <NTP server hostname or IP> iburst
pool <NTP server pool DNS name> iburst
peer <NTP peer hostname or IP> iburst
如果您尚未使用该iburst
选项,添加它可能是缩短启动时间的最有效方法ntpd
。