NTP不是特别抖动敏感的,因为它使用originate
和transmit
时间戳来跟踪延迟。 Ntp.org 详细解释了它如何保持延迟检查,但这里有一个片段:
将客户端同步到网络服务器由多个数据包交换组成,其中每个交换是一对请求和回复。发送请求时,客户端将自己的时间(原始时间戳)存储到正在发送的数据包中。当服务器收到这样的数据包时,它会依次将自己的时间(接收时间戳)存储到数据包中,并在将传输时间戳放入数据包后返回数据包。接收方收到回复后,会再次记录自己的接收时间,以估计数据包的行程时间。假设延迟是对称的,则行进时间(延迟)估计为“总延迟减去远程处理时间”的一半。
这与网络控制不在同一类别中的原因是因为它不直接负责数据包的路由/转发操作。网络管理类别中的所有事物都不是整个网络系统的关键组件。如果您丢失了与 SNMP、系统日志或 NTP 相关的任何数据包,您可能甚至不会注意到。
SNMP 将简单地重新传输该信息,因为它是基于 TCP 的。即使连接全部断开,也不会发生灾难性的事情;您可能只是发现snmp 代理没有响应,然后再试一次。如果您丢失了系统日志流量 (UDP),您只会丢失一小段日志信息,这些信息可能仍包含在缓冲区或设备上的日志文件中。由于 NTP 根据先前的数据包计算延迟,同时还考虑了最大偏移错误,因此您确实不会遇到任何问题。最坏的情况是,您的时间会漂移几皮秒……
如果您丢失了与路由相关的数据包,即使是一秒钟,您也可能面临整个系统瘫痪;使任何其他标记一文不值。那时,NTP 将完全失去同步并依靠它的本地自动收报机来计时。