酷鲨科技动态

热搜关键词: ntp服务器 北斗卫星导航系统 时钟同步系统厂家 自动驾驶时间同步

NTP和SNTP的区分

来源:网络 | 发布日期:2021-12-14

NTP(网络时间协议)和 SNTP(简单网络时间协议)是类似的 TCP/IP 协议,因为它们使用来自时间服务器消息的相同时间包来计算准确时间。时间服务器用于组装和发送时间戳的过程与使用 NTP(即完全实现 NTP)或使用 SNTP 完全相同

NTP和SNTP的区分

时间同步程序,无论是像 W32Time(使用 SNTP 协议)这样的 Windows 内置程序还是第三方附加程序,都决定了正在使用的协议——而不是时间服务器。时间服务器不在乎。NTP 和 SNTP 之间的区别在于错误检查和对时间本身进行实际更正的算法。
NTP 算法比 SNTP 算法复杂得多。NTP 通常使用多个时间服务器来验证时间,然后控制系统的转换速率。该算法使用多种方法确定这些值是否准确,包括捏造因素和识别与其他时间服务器不一致的时间服务器。然后它会加快或减慢系统时钟的漂移率,以便 (1) 系统时间始终正确,以及 (2) 在初始校正后不会有任何后续时间跳跃。
与 NTP 不同,SNTP 通常只使用一个时间服务器来计算时间,然后将系统时间“跳转”到计算出的时间。但是,它可以有备用时间服务器,以防万一。在每个间隔期间,它确定时间是否足以进行更正,如果是,则应用更正。
如果这还不是很清楚,请考虑将手表与墙上的时钟进行比较和调整的类比。手表类似于“客户端”设备(如 PC),墙上的时钟是时间服务器。使用 SNTP,您始终以预定的时间间隔查看时钟。假设每小时一个。(顺便说一句,比较计算机同步时间的行为称为“轮询”。)
当您认为现在是 12:00:00 时,您查看(轮询)时钟以查看它是 11:59:57。你快了三秒,所以你把手表调快了三秒。您在 1:00:00 之前不要做任何其他事情。您再次查看时钟,发现现在是 12:59:57 – 再次快了三秒 – 然后您再次将手表往后拨了三秒。每小时,您将手表重置 3 秒以与墙上的时钟同步。
从错误的角度来看,您在民意调查后立即准确,并且您会逐渐变得更糟。大误差发生在轮询之前,即发生突然调整时,例如时间从 12:59:57 到 12:59:58 到 12:59.59 到 1:00:00 到 12:59:57。
如果三秒的误差和时间刻度的不连续性困扰您,请考虑 NTP 情况。在这里,您想知道您的手表每小时快 3 秒,因此您不必经常更换它。
只需使用您的误差与时间测量值来补偿漂移。您不需要一直使用相同的测量周期。您只需要知道变化的速度和方向。
在您对漂移有了很好的感觉后,您可以对手表进行编程以进行实时调整。您希望进行非常小的调整,以便在任何给定时间都与墙上的时钟同步,甚至不需要看它。
当然,漂移率可能会随时间变化,因此您确实希望不断轮询时钟,并应用您能想到的修正。有了它,你就会得到一块似乎永远不会失去同步的手表!
您需要哪一种?
这一切都取决于您的应用程序,但一般来说,SNTP 客户端只应在时间同步对您的系统不重要的情况下使用。对于所有其他客户端,以及也将为其他系统提供时间的系统,您应该利用完整的 NTP 实现来包括参考选择和时钟控制算法,以通过完整的计时路径保持准确性。
查看时间服务器本身,选择使用 SNTP 或 NTP 仅提供时间的时间服务器应关注该时间服务器是否会同步到 NTP 作为主要或次要参考——在这种情况下,只有完整的 NTP 应该是用过的。为简化起见,SNTP 应仅在网络计时路径的开始或结束处使用,并且仅应在时间同步对您的系统不重要的网络计时路径的末端使用。

【本文标签】 ntp sntp

【责任编辑】酷鲨