NTP 应采用哪种 QoS 分类?

网络工程 思科 服务质量 最佳实践 ntp
2021-07-24 21:05:44

Cisco 的企业 QoS 解决方案参考网络设计建议将 NTP 分类为网络管理流量并将其标记为 CS2:

在解决网络管理流量的 QoS 需求时,思科建议遵循以下准则:

  • 网络管理流量应标记为 DSCP CS2。
  • 网络管理应用程序应该受到最小带宽保证的明确保护。

网络管理流量对于执行趋势和容量分析以及故障排除很重要。因此,您可以为网络管理流量提供一个单独的最小带宽队列,其中可能包括 SNMP、NTP、Syslog、NFS 和其他管理应用程序

鉴于 NTP 对抖动敏感,为什么不将 NTP 标记为加速转发并与语音数据一样对待?

是否有理由不将其与语音放在同一低延迟队列中?

2个回答

NTP不是特别抖动敏感的,因为它使用originatetransmit时间戳来跟踪延迟。 Ntp.org 详细解释了它如何保持延迟检查,但这里有一个片段:

将客户端同步到网络服务器由多个数据包交换组成,其中每个交换是一对请求和回复。发送请求时,客户端将自己的时间(原始时间戳)存储到正在发送的数据包中。当服务器收到这样的数据包时,它会依次将自己的时间(接收时间戳)存储到数据包中,并在将传输时间戳放入数据包后返回数据包。接收方收到回复后,会再次记录自己的接收时间,以估计数据包的行程时间。假设延迟是对称的,则行进时间(延迟)估计为“总延迟减去远程处理时间”的一半。

这与网络控制不在同一类别中的原因是因为它不直接负责数据包的路由/转发操作。网络管理类别中的所有事物都不是整个网络系统的关键组件。如果您丢失了与 SNMP、系统日志或 NTP 相关的任何数据包,您可能甚至不会注意到。

SNMP 将简单地重新传输该信息,因为它是基于 TCP 的。即使连接全部断开,也不会发生灾难性的事情;您可能只是发现snmp 代理没有响应,然后再试一次。如果您丢失了系统日志流量 (UDP),您只会丢失一小段日志信息,这些信息可能仍包含在缓冲区或设备上的日志文件中。由于 NTP 根据先前的数据包计算延迟,同时还考虑了最大偏移错误,因此您确实不会遇到任何问题。最坏的情况是,您的时间会漂移几皮秒……

如果您丢失了与路由相关的数据包,即使是一秒钟,您也可能面临整个系统瘫痪;使任何其他标记一文不值。那时,NTP 将完全失去同步并依靠它的本地自动收报机来计时。

编辑后的答案:根据IETF 的 RFC 4594 DiffServ Service Classes 配置指南, NTP 应放置在 EF 类中(与实时语音数据包相同)

5.2. NTP 映射

从执行的测试中可以看出,精确的时间分配需要非常低的数据包延迟变化(抖动)传输。因此,我们建议使用以下网络时间协议 (NTP) 准则:

o 当 NTP 用于在管理员(运营商)网络内或向最终用户/客户端提供高精度计时时,应使用电话服务类, NTP 数据包应标有 EF DSCP 值。

o 对于需要“挂钟”计时精度的应用程序,应使用标准服务类,并且应使用 DF DSCP 标记数据包。