NTP 查询中的 128 位时间戳

NTP 查询中的 128 位时间戳

维基百科声称 NTPv4 支持 128 位时间戳,事实上RFC5905定义了一种称为“NTP日期格式”的128位格式教派。 6。 RFC 说

如果有足够的存储空间和字大小,则使用 128 位日期格式。

但是,当我向公共 NTP 服务器发送 128 位时间戳时,没有响应。此外,教派。 7.3将所有四个时间戳字段定义为 64 位。为了避免 Y2k38 错误,我想使用 128 位时间戳正确实现 NTP。如何让服务器响应完整的 128 位时间戳?

答案1

老问题,但我偶然在这里寻找同样的东西。 RFC5905 第 13 页详细说明了扩展的 v4 格式仍然包含秒的 32 位值,但纪元号包含有符号的 32 位值。 128 位日期格式中的秒字段是时代内的偏移量,因此可以处理远远超过 136 年的日期。距黄金纪元 (1970) 的秒数 =era*(2^32) +era_offset(32bit 秒)。

相关内容