我可以在终端站上使用新的 NIC 来克服 Catalyst Switch PTP 限制吗?

网络工程 思科
2022-02-22 18:39:02

我有一个使用 Catalyst 交换机和 NTP 同步时间的网络。工作站之间的时间差异可能在 5 毫秒到 100 毫秒之间。我知道 Catalyst 系列交换机不支持 PTP 或 GTP。我可以使用 Syn1588® PCIe NIC 之类的东西来克服交换机的限制并在我的网络中获得更精确的时间吗?

1个回答

我会尝试回答。

TLDR:简而言之,在 Catalyst 交换机上运行 PTP:

  • 对 PTP 数据包/帧使用优先级队列
  • 使用 PTP over UDP/IP(可能使 QoS 配置更简单一些)
  • 可能,PTP 以多播的形式出现 - 确保有适当的多播转发设置。
  • 一个好的 NTP 设置可能就足够了。

更长:您可以选择从 NTP 切换到 PTP。将涉及一些成本和学习曲线。新的 NIC、新的客户端驱动程序/内核模块/守护程序将需要配置、调试分析和监控。

(不仅)Catalyst 交换机将愉快地传输 PTP 数据包或帧。您可以通过将这些帧放入低延迟/优先级队列的 QoS 配置来“帮助”一些事情。

这将需要在源头使用 DSCP46/EF 标记数据包(推荐),或者在它们进入您的交换基础设施时使用 DSCP46/EF 对它们进行分类/标记。您可能需要查阅供应商的文档或使用给定 PTP 数据包/帧的数据包跟踪来找出可用于分类/标记匹配标准的数据包属性。

从这个角度来看,通过 UDP/IP 运行 PTP 可能会有所帮助,因此您可以从 IP 标头的字段读取或设置 QoS 标记。在这种情况下,IEEE802.3 上的 PTP(即“以太网上”)可能更难处理,因为它可能会使 QoS 分类/标记过程更加困难。

关于PTP,我能说的就这些了。我只遇到过一次,我所要做的就是确保多播转发按预期工作,并且按照供应商的要求,PTP 帧在优先级队列中。

NTP 案例:可以选择坚持使用 NTP。

首先,了解您的客户。那些“简单类型”的人(乐于每天获取一次时间并相应地调整他们的时钟)可以使用单个服务器,也许是第二个服务器以实现冗余。他们的准确性将取决于他们当地的时钟系统,以及它的准确性。

复杂的客户喜欢训练(而不是踩)他们的时钟,他们需要一个时间源,或者三个或更多,最好不要两个。NTP 数学不适用于两个时间源(另见https://tools.ietf.org/id/draft-ietf-ntp-bcp-01.html#rfc.section.4.1)。此外,这些客户端依赖于长时间与相同的服务器通信,因此他们可以了解他们的服务器的可靠性。

将 GPS 接收器作为一个时间源是一个很好的起点。

一些人建议带有 RTC 插件的 Raspberry Pi 也可以作为良好的 NTP 服务器(在这种情况下,通过您的第一个 ISP 连接到基于 Internet 的服务器)。

连接到其他时间源的第三个小硬件盒(即通过另一个 ISP 的不同 Internet 服务器集)将为您提供第三个时间源(可能是多余的 Cisco 800 系列路由器?)。

如果您所在地区有相当于 DCF77 ( https://en.wikipedia.org/wiki/DCF77 ) 的设备,请考虑将这种基于无线电的源用于第四个小型硬件盒。

然后让简单的 NTP 客户端定期从这三个中的任何一个获取时间,让更复杂的客户端与所有三个/四个对话。这应该为您的大多数系统提供非常好的时间质量。