下载本文的 PDF 版本 PDF

迈向更高精度

PTP 简介及其对 NTP 从业者的意义


Rick Ratzel 和 Rodney Greenstreet,美国国家仪器公司


对于现代计算机系统而言,同步时间的重要性怎么强调都不为过。我们今天的日常生活依赖于金融交易、电信、发电和输电、高速制造以及“大型物理学”的发现等等,这些都由快速、强大的计算设备在时间上相互协调驱动。

自 1988 年 NTP(网络时间协议)版本 1 的首个完整规范及其随附算法在 RFC 1059 中发布以来,NTP 在时间同步方面发挥了重要作用,使联网计算机系统的时钟同步到彼此的毫秒级以内。多年来,NTP 已部署到大量系统中,但它并非独自承担时钟同步的重任。当用户想要协调多个系统之间的时间事件时,他们通常有许多选择来实现此目的,所有这些选择都有不同的权衡。

PTP(精确时间协议)是 NTP 的新兴替代方案之一。PTP 由 IEEE 标准 1588 定义,该标准于 2002 年 11 月发布,基于 1990 年至 1998 年间在安捷伦科技公司构建的早期原型。PTP 的修订版于 2008 年发布,具有附加功能和改进的性能;它被称为 PTP 版本 2 或 IEEE 1588-2008(本文中对 PTP 的所有引用均指此较新版本)。

PTP 和 NTP 相似之处在于,两者都基于数据包,并通过网络将时间参考设备的时间戳发送到一个或多个其他设备。此外,两者都基于时间偏移和网络延迟同步设备时钟,并且都支持具有不同时钟时间精度、分辨率和稳定性的异构设备,这些设备在物理上可以相隔很远的距离。每种协议都有其独特的优势,选择哪一种通常需要评估系统的环境、功能和目标。

当系统的同步性能要求超过典型的基于 NTP 的解决方案的毫秒级阈值时,通常会选择 PTP。当与具有精确时间戳 PTP 数据包能力(这在工业网络接口中正迅速变得普遍)的 PTP 功能网络硬件一起使用时,局域网(本地局域网)上使用 PTP 的设备可以将其时钟同步到彼此的纳秒级以内。在没有硬件时间戳的情况下(称为纯软件配置),PTP 实现仍然可以实现亚毫秒级的精度。

即使更多的 PTP 实现已在更多平台(商业平台和免费提供的开源实现)上供系统设计人员使用,NTP 仍然是一种流行的同步技术。如果 PTP 可供系统设计人员使用并显示出卓越的同步性能,为什么还要考虑 NTP 呢?PTP 应该完全取代 NTP 吗?如果不是,系统设计人员需要了解什么才能选择合适的协议?或许,从导致 PTP 定义的情况以及对这个较新标准的更深入了解中,可以辨别出这些问题的答案。

测量和控制设备:是时候采用新事物了吗?

测量和控制设备一直是高精度事件同步的先锋。为了实现此类设备所需的同步程度,可以使用通过专用电缆发送的信号来同步设备之间的事件。这些专门用于事件同步的电缆,其长度通常是匹配的,以确保传播延迟的一致性。使用这种专用电缆进行同步可实现极高的精度,在邻近的多个设备之间,事件可以协调到皮秒级以内。这种类型的同步通常被称为基于信号

虽然对于需要尽可能最准确同步的应用来说,基于信号的同步几乎是无与伦比的,但它可能非常不切实际,有时甚至不可能实现。同步单独设备所需的专用电缆成本可能过高,并且基于信号的同步需要专门的硬件和软件来生成和接收电缆上的信号。信令协议可能是专有的,从而导致潜在的供应商捆绑、停产风险或其他法律或技术限制。电缆本身通常会随着时间和温度的变化而出现不同的传播延迟,并且随着系统中添加更多设备,为多个设备布线的复杂性会增加维护负担和故障排除工作。与其他同步机制相比,基于信号的同步还要求设备彼此相对靠近,并且无法在长距离上扩展。

与此同时,随着以太网在实验室和部署测量和控制设备的工厂车间变得越来越普及,这些设备需要能够使用局域网甚至广域网 (WAN) 进行控制和数据通信。NTP 甚至被用来为这些设备设置系统时间,但仍然需要专用的事件同步电缆。尽管已经存在使用协调的分布式计时器(有时称为基于时间的同步)进行事件同步的所有基本要素,但一种可以使用这种基础设施来取代基于信号的同步的可接受技术尚未被创建出来。

由于基于信号的实现施加了前面提到的约束,因此进一步研究了使用以太网的基于时间的解决方案作为同步解决方案。乍一看,NTP 似乎是低成本的基于时间的同步解决方案的良好候选者——对于许多应用来说确实如此。然而,基于信号的同步提供了极高的精度,而 NTP 版本 3(直到最近才是官方支持的 NTP 版本)仅提供毫秒级精度,这甚至远不能满足使用基于信号的解决方案的应用的需求。PTP 的设计旨在满足测量和控制行业的需求,并且能够实现接近纳秒级的精度,同时利用类似于 NTP 使用的基础设施。仔细研究 PTP 可以揭示它为何在测量和控制应用中取得成功——并且,随着它的发展,在许多其他应用中也取得了成功。

PTP 简介

PTP 的主要设计目标已在众多演示文稿和文档中列出,包括 IEEE 1588 标准:1

* 在联网的分布式测量和控制系统的组件中提供亚微秒级的实时时钟同步。

* 在工业自动化以及测试和测量环境的典型相对本地化系统中实现最佳性能。

* 适用于支持多播通信的局域网(包括但不限于以太网)。

* 提供简单、免管理的安装。

* 支持具有不同精度、分辨率和稳定性的异构时钟系统。

* 对网络和主机组件施加最小的资源需求。

PTP 使用强大的同步方法、一种自动且持续维护适当设备层次结构以实现最大精度的算法以及专用硬件(仅在获得最佳性能时才需要)来实现这些目标。

同步方法

PTP 标准的核心是同步方法。虽然在概念上与其他基于时间的以太网同步协议相似,但 PTP 的同步方法是独特的,并且在某种程度上取决于 PTP 部署的特定硬件和应用(电力行业、电信等)。

PTP 定义了基于描述设备计时能力及其时间源可追溯性的标准的主从层次结构。主时钟充当一个或多个从时钟的时间参考。从参与设备列表中选择主时钟的过程在 PTP 的 BMC(最佳主时钟)算法中定义,该算法由每个设备以特定间隔应用。设备(通常称为普通时钟)可能会认为自己是主时钟,因为它们尚未针对其他时钟进行评估,或者根据 BMC 确定,它们现在比当前主时钟具有更好的计时能力。它们将使用 UDP(用户数据报协议)多播(默认情况下)以可配置的间隔发送Announce消息。其他设备将根据 BMC 处理这些 Announce 消息并选择新的主时钟。如果主时钟从另一个潜在的主时钟(称为外来主时钟)接收到 Announce 消息,并且设备的 BMC 指示该外来主时钟应为主时钟,则当前主时钟将转换为从时钟状态。

除了 Announce 消息外,主时钟还会定期使用 UDP 多播(默认情况下)发送 Sync 消息,从时钟会接收该消息。每个从时钟都使用 Sync 消息来计算其时钟与主时钟之间的差异。该消息包含来自主时钟的时间戳,表示其发出时间(图 1 中的 t1);当从时钟接收到 Sync 消息时,它会记录其接收时间(t2)。Sync 消息中的时间并不代表消息离开设备的精确时间,因为它在发送后才知道。然后,主时钟发送一个 Follow-up 消息,其中包含 Sync 消息离开主时钟的实际时间,该时间由专用硬件(如果配备)或网络驱动程序确定。从时钟接收 Follow-up 消息并使用该值作为实际的 t1。

此时,从时钟有两个时间值(t1 和 t2),可以计算其计时器与主时钟之间的偏移量。不幸的是,从 t1 和 t2 得出的偏移量包含网络产生的一些未知的额外传播延迟量。为了确定此延迟并计算计时器之间的实际偏移量,从时钟向主时钟发出 Delay Request 消息,并记录其发送时间 (t3)。主时钟记录在其计时器上接收到 Delay Request 的时间 (t4),并向从时钟发回包含 t4 的 Delay Response 消息。当从时钟接收到 Delay Response 时,它将有四个时间戳—t1、t2、t3 和 t4—并且可以计算其计时器与主时钟的计时器之间的偏移量,同时正确考虑网络延迟。

硬件时间戳和“纯软件”配置

为了找到 Sync 消息从主时钟发送的实际时间,以便将其插入 Follow-up 消息中,主时钟必须确切知道其网络硬件何时能够发送 Sync 消息。此硬件很可能是网络接口的 PHY(物理收发器)或其他识别 PTP 数据包并记录其发送或接收精确时间的硬件。主时钟的 PTP 软件启动此消息发送的时间(Sync 消息中包含的 t1 的估计值)与 PHY 能够发送物理介质上的信号的时间之间的差异不仅会发生变化,而且相对于 PTP 能够实现的亚微秒级精度而言,也会相当显着。因此,为了获得最大精度,需要在主时钟的网络堆栈中花费 Sync 消息的时间进行核算。(参见图 2。)

PTP 定义了另一种略有不同的同步机制,该机制利用了额外的硬件支持(如果可用)。用于计算前面描述的主时钟和从时钟之间偏移量的 Sync 和 Follow-up 消息由两步时钟使用。一步时钟使用专用网络硬件,不仅对 PTP Sync 消息离开设备的时间进行时间戳,还使用实际离开时间修改传出的 Sync 消息的 t1 值(图 3)。

此值通常在 Follow-up 消息中发送,但由于硬件使其在 Sync 消息中可用,因此 Follow-up 是冗余的,因此不需要。从时钟设备还必须了解其主时钟作为一步时钟运行。它可以通过读取主时钟发送的 PTP 消息标头中的位字段来确定这一点。一步时钟有助于最大限度地减少网络流量,同时保持高同步性能,因此是某些行业中 PTP 应用的要求。

支持 PTP 的网络接口硬件也可以简单地对 PTP 消息进行时间戳,并将它们与消息 ID 相关联,以便 PTP 软件稍后检索。此功能允许以两步模式运行的 PTP 主时钟在 Follow-up 消息中向从时钟发送精确的 t1 值。虽然这种程度的硬件支持不能实现(准确的)一步操作,但与纯软件实现相比,它确实可以实现卓越的两步性能。如果 PTP 设备没有硬件支持,则认为它作为纯软件时钟运行。纯软件时钟仅限于两步操作,并且通常在 Follow-up 消息中发送从软件堆栈中尽可能低的软件组件(通常来自驱动程序级别)检索到的 t1 值。虽然纯软件时钟显然不如具有硬件辅助的时钟准确,但它们仍然能够实现亚毫秒级的精度。

最佳主时钟算法

BMC 算法使 PTP 设备能够在不断变化的网络条件下维护所需的同步层次结构。描述 BMC 算法本身超出了本文的范围,但不用说,BMC 是 PTP “简单、免管理”目标的关键组成部分。任何充当主时钟或从时钟的 PTP 设备都会持续运行 BMC,并使用它来确定是否需要选择新的主时钟,或者设备是否需要退出主时钟状态。

这种类型的状态更改可能会由于多种情况而发生,所有这些情况都反映在主时钟(或潜在主时钟)的 Announce 消息中。作为协议的一部分,主时钟和可能成为主时钟的设备以可配置的速率发出 Announce 消息。Announce 消息包含 BMC 需要确定当前主时钟是否应保持为主时钟或让位于新主时钟(作为从时钟)的所有相关信息,或者在从时钟的情况下,应开始侦听新主时钟还是成为主时钟本身。Announce 消息的一些属性包括设备的时间源(GPS、原子钟、自由振荡器等);由本地 PTP 管理员确定的“优先级”(用作覆盖机制,并非正常运行所必需);设备的时钟 ID(通常包括设备的 MAC 地址);以及 BMC 使用的其他属性。

让每个 PTP 设备运行 BMC 并处理 Announce 消息意味着管理员只需打开系统电源,即可自动配置时间同步设备网络以获得最佳性能,而无需考虑自发的网络拓扑更改。

边界时钟

由于交换机和路由器有效地分割了 PTP 网络,因此 PTP 引入了边界时钟,作为将主时钟分配到网络不同部分的一种手段。PTP 标准将边界时钟描述为包含由 PTP 约束的单个计时器,但在域中具有多个 PTP 端口。端口可以充当连接到它的设备的时间源(PTP 主时钟),或者将计时器(PTP 从时钟)同步到连接到该端口的某些其他时钟。可以实现边界时钟来替换通常由此类设备分割的较大网络中的传统网络交换机或路由器。由于边界时钟的操作与本文前面描述的 PTP 时钟不同,因此 PTP 通过将它们称为普通时钟边界时钟来区分两者。

边界时钟的每个端口都可以被认为是单独的普通时钟实例,这些实例与边界时钟的其他普通时钟实例共享单个计时器。设备上只有一个端口可以处于从时钟状态,这消除了对设备计时器的争用使用(例如,两个端口试图调整时间)。所有其他端口都被视为其各自网段上的设备的主时钟。

边界时钟的存在要求 PTP 使用术语主时钟来描述整个 PTP 网络的主时钟,因为边界时钟端口上的从时钟将边界时钟视为它们的主时钟。每个主时钟端口都负责处理与普通时钟主时钟相同的职责,这有效地隐藏了所有来自边界时钟主时钟的从时钟。同样,从时钟普通时钟(或另一个连接端口处于从时钟状态的边界时钟)也从边界时钟“上方”的 PTP 层次结构中隐藏起来。边界时钟不会将其从时钟的 PTP 同步消息“向上”传递给其主时钟。如果没有此行为,主时钟将负责处理来自整个 PTP 网络上每个从时钟设备的 Delay Request 消息并分别向其发送 Delay Response 消息。在大多数情况下,它将无法有效地运行协议栈。

但是,边界时钟仍可能允许整个 PTP 网络中的任何合格的从时钟成为主时钟。例如,如果主时钟离线,则下一个最合格的从时钟设备可以将其自身声明为主时钟(一旦其 BMC 算法确定这样做是合适的),并且边界时钟会将连接到该从时钟的端口转换为从时钟状态。然后,该边界时钟将具有一个曾经处于从时钟状态的端口,现在处于主时钟状态,以连接到其他普通时钟和边界时钟。然后,这些时钟将使用 BMC 算法评估该新主时钟并进行适当的转换,从而为层次结构的其余部分重复此过程。根据网络拓扑,这种情况可能不是理想的,因为此新主时钟与从时钟之间的跳数将增加一个(连接到新主时钟的边界时钟),从而增加任何同步误差累积。

为了最大限度地提高全系统同步精度,必须考虑边界时钟的使用以及由此产生的 PTP 设备层次结构(图 4)。

边界时钟还可用于桥接使用不同网络协议的网络(图 5),因为 PTP 实现没有要求使用相同的底层通信介质或技术。例如,一个系统可以有一些设备使用以太网,另一些设备使用 DeviceNet,所有设备都通过使用功能强大的边界时钟同步到同一个主时钟。在这种情况下,边界时钟将具有一个连接到 DeviceNet 设备的支持 DeviceNet 的端口,以及另一个连接到以太网设备的端口。特定的通信介质从 PTP 时钟中抽象出来,允许两种类型的设备同步到同一个 PTP 主时钟,而无需考虑该主时钟的介质。除了不同的网络协议外,边界时钟还可以加入使用不同延迟计算机制的 PTP 系统,这将在稍后介绍。

透明交换机

并非所有应用都允许以一种适合平衡的树状层次结构的方式部署其 PTP 设备。系统有时以长线形或环形拓扑部署,当使用边界时钟连接这些网段时,可能会导致显着的同步误差累积。因此,PTP 定义了一种称为透明交换机的设备,该设备连接 PTP 设备组,而无需分割 PTP 网络。

透明交换机识别通过的 PTP 消息,并记录每条消息的驻留时间,即消息在交换机中花费的时间,在该时间段内,消息对于预期的 PTP 设备尚不可见。驻留时间被添加到 PTP 消息的校正字段中,然后在消息从交换机传输到下一个设备之前(图 6)。然后,PTP 时钟可以检查接收到的消息的校正字段并将其应用于其计算。即使消息在透明交换机中被暂时延迟—这是一种通常会引入显着同步误差的非确定性行为—校正字段也允许消除该时间,就好像交换机从未存在过一样(因此,得名透明交换机)。

与边界时钟不同,透明交换机将其从时钟暴露给 PTP 主时钟。透明交换机通常只对相对时间(消息在交换机中花费的时间)感兴趣,因此不需要将其计时器同步到主时钟的时间。但是,主时钟和交换机中“滴答”作响的振荡器必须以相同的速率滴答作响。保持此速率相同称为频率同步。PTP 规定透明交换机必须频率同步—不一定是同步—到主时钟。

对等延迟机制

前面描述的同步模型,其中从时钟发出 Delay Request 消息,主时钟以 Delay Response 响应,称为延迟请求-响应机制,有时也称为端到端模式。PTP 提供了另一种替代方案,称为对等延迟机制,或对等模式,在某些情况下可以提供卓越的性能。由于端到端模式和对等模式不能一起使用,因此系统设计人员必须评估哪种延迟机制将提供最佳结果,并相应地设计他们的系统。

在对等模式下,设备向其紧邻的邻居发出 Peer Delay Request 消息,该邻居可能是也可能不是设备的主时钟。接收设备以 Peer Delay Response 消息(以及可选的 Peer Delay Response Follow-up 消息,如果设备以两步模式运行)响应。这允许请求设备计算单个网段的传播延迟。

通过了解网络路径的每个网段的精确传播延迟,当中间交换机选择不同的路径时,与端到端模式允许的延迟补偿相比,对等模式允许 PTP 应用更准确的主时钟和从时钟之间的延迟补偿。由于对等模式规定透明交换机不仅要使用 Sync 和 Follow-up 消息的驻留时间来调整校正字段(就像在端到端模式下运行的透明交换机一样),而且还添加了先前计算出的消息传入链路的延迟(图 7)。

这种行为意味着主时钟无需处理来自其每个从时钟的 Delay Request 消息;相反,它只关注其紧邻的对等方(透明交换机或处于从时钟状态的 PTP 时钟)的 Peer Delay Request 和 Response。因此,对等模式下的透明交换机不会传递 Delay Request 或 Delay Response 消息。与端到端模式不同,对等模式对于关注网络流量的系统设计人员来说可能更具吸引力,因为主时钟设备无需接收和响应每个从时钟的 Delay Request 消息,而只需关注其紧邻的对等方。

配置文件

PTP 配置文件允许组织指定 PTP 的属性值和可选功能的选择,当使用相同的传输协议时,这些选择可以协同工作并实现满足特定应用要求的性能。3 配置文件使 PTP 更适合特定应用,同时遵守更通用的 PTP 标准。配置文件可以指定标准的几个方面。有两个“默认”配置文件:延迟请求-响应(通常称为端到端模式)和对等延迟(通常称为对等模式)。实施者必须至少支持其中一个默认值。配置文件本身由对特定行业(例如 IEC、IEEE、IETF、ANSI 或 ITU)具有管辖权且获得认可的标准组织进行标准化和定义。正如 PTP 标准中所述,这些组织应咨询 IM/ST(仪器和测量/传感器技术)委员会的精确网络时钟同步工作组进行技术审查。

PTP 配置文件不仅更改了 PTP 标准的几个方面,而且还对其进行了扩展。配置文件可以定义其自己的 BMC 算法;配置和监控(“管理”)机制;路径延迟机制(端到端或对等);多播或单播的使用;传输机制;节点类型;以及任何必需、允许或禁止的选项。配置文件还可以定义全新的传输机制和数据类型。配置文件在将 PTP 变形以满足几乎任何特定应用的需求方面的灵活性已被证明对电信和能源行业等非常有用。

单播

PTP 的设计假定采用多播通信模式,但最终添加了对单播操作的支持作为可选功能。PTP 标准未详细描述单播 PTP 实现,而是描述了可以用于实现的几个可选单播功能,“只要协议的行为得到保留”。2 某些实现可能要求从时钟使用一种配置,该配置通过协议地址(例如,通过以太网使用时的 IP 地址列表)指定已知的主时钟列表,以发现潜在的主时钟。

这种单播发现机制是可选的,这意味着单播实现可以选择使用多播来发现主时钟,而使用单播进行所有其他消息传递。此外,此发现机制可能还需要一些配置来定义主时钟列表,因为这很可能特定于给定的系统,并且扩展了 PTP 目标“提供简单、免管理的安装”的解释。1 PTP 定义的另一个可选实现细节是单播协商机制的使用,该机制涉及向主时钟设备发送特定的信令消息,指示它们使用单播 Announce、Sync、Delay Response 或 Peer Delay Response 响应信令从时钟设备。这种允许单播操作的灵活性以及提供几个可选功能来实现它的灵活性,使配置文件能够定义最适合其应用的特定单播实现细节。

时间尺度

PTP 网络的时间尺度由主时钟定义,可以是两种类型之一:默认 PTP 时间尺度或 ARB(任意)时间尺度。5 对于 ARB 时间尺度,历元由一些预定的程序设置,并且可以在正常操作期间使用该程序再次设置。PTP 时间尺度使用 PTP 历元,其时间单位是 SI 秒。PTP 历元是 1970 年 1 月 1 日 00:00:00 TAI(国际原子时),即 1969 年 12 月 31 日 23:59:51.999918 UTC(协调世界时)。

为工作选择合适的工具:NTP 还是 PTP?

测量和控制行业对设备的要求与其他许多行业的要求相似—并且许多创新成果都源于以其设计者最初未考虑的方式应用技术—但在采用任何技术之前,仍然应该考虑其预期应用,而不管它可能与现有技术有多么相似。

目标

正如前面所述以及标准中所述,PTP 的设计目的是在局域网上使用,更具体地说,“在空间局部化的系统中使用,并可以选择用于更大的系统”。4 这是 PTP 和 NTP 之间更显着的区别因素之一。局域网的使用允许使用多播进行发现和自动选择 PTP 主时钟、边界时钟和透明交换机等网络设备以及可能无法通过 WAN 实现的非常高的消息交换速率等技术来实现其他 PTP 目标。局域网还赋予 PTP 一些 NTP 通常不具备的自由,例如,合理地假设不相关的网络流量和安全风险都很低,因为局域网的使用通常受到限制和控制。

相比之下,NTP 通常在 Internet 上使用,因此会受到来自中间网络元素(例如路由器)的大量非确定性延迟的影响,并且会暴露于更多的安全威胁(拒绝服务和中间人攻击是一些更明显的威胁)。它必须接受这些惩罚,或者在安全的情况下,解决这些挑战。

尤其值得强调的是安全性,因为 PTP 仅包含协议的实验性扩展以解决安全问题,但 NTP 定义了访问控制列表和称为 Autokey 的公钥密码学变体的使用。6 另请注意,当在局域网上使用时,NTP 可以使用多播模式自动发现服务器,而 PTP 可以在单播模式下运行以在 WAN 上使用。但是,这两种用途都不是最常见的,并且它们可能会增加额外的配置成本。

另一个 PTP 的目标是免管理操作,即构成系统的设备在部署时只需极少或无需配置,即可针对给定环境实现最佳时间同步。在系统使用过程中,可以添加、移除或重新配置设备,而构成系统的 PTP 设备将自动协商新的层级结构,以维持最佳同步性能。PTP 的 BMC 算法负责实现此行为。尽管最新的 NTP 规范中包含了动态发现方案,但 NTP 的优化算法不允许像 PTP 那样具有同等程度的自主性,在必要时允许任何设备成为等同于 PTP Grandmaster 的设备。7 相反,NTP 定义了一系列缓解算法,用于在已配置 NTP 客户端以从多个服务器中选择的情况下,找到最佳网络路径。6

同步方法

虽然 PTP 和 NTP 采用的同步方法在最终计算时钟偏移和消息延迟方面是相似的,但协议在选择合适技术时必须考虑的各种机制上存在很大差异。例如,PTP 依赖于边界时钟和透明交换机,以在某些环境中实现最佳性能。不包含这些设备或错误地使用它们可能会显著降低 PTP 的性能。

对于这些规范的实施者而言,更相关的是 PTP 没有为设备应用 PTP 提供的信息到设备的振荡器定义伺服算法。相反,伺服定义是特定于实现的,并且不能保证不同的 PTP 软件堆栈在同一设备上会表现出相同的同步行为。与此形成鲜明对比的是,NTP“定义了一个高度进化的、自适应参数的混合相位频率锁相环”,用于根据 NTP 提供的数据调整设备的时间保持器。6

这两种技术的时间尺度也不同。NTP 使用 UTC 时间,而 PTP(通常)使用 TAI 和 UTC 偏移。这种差异对于假设特定时间尺度的系统设计人员来说可能很重要。对正确处理闰秒的担忧也可能成为一个考虑因素;与 PTP 不同,闰秒将导致整个 NTP 时间尺度偏移一秒。

性能预期

典型的 PTP 同步系统可以期望亚微秒级的同步精度,其中“典型”包括硬件辅助和局域网。典型的 NTP 同步系统,意味着没有专用硬件且设备通过广域网连接,将实现毫秒级的同步精度。然而,当 PTP 适当配置为在广域网上使用时,与 NTP 相比,可能几乎没有性能优势。8

结论

PTP 能够在公共网络基础设施上将设备同步到彼此的纳秒级精度,从而使系统设计人员能够替换更昂贵、受限或两者兼而有之的同步解决方案。NTP 具有类似的用例,但通常无法满足需要测量和控制系统典型性能水平的应用。PTP 的 BMC 算法使其能够适应不断变化的条件,以确保设备始终具有最高质量的时间参考。PTP 边界时钟和透明交换机确保即使在非理想的网络拓扑中也能实现高同步性能。相比之下,NTP 要求所有设备在使用前都配置为引用预定的一组时间服务器,并且当消息必须穿越交换机等网络元素时,其性能会受到影响。

然而,PTP 的预期环境与 NTP 的不同,并且根据应用,NTP 可能是更好的选择。例如,NTP 更成熟的安全机制和公开可用的时间服务器池9 使其更适合在性能要求允许的情况下通过互联网同步时间。

PTP 填补了 NTP 尚未能填补的空白,但它并没有取代 NTP。相反,PTP 为系统设计人员提供了一个新的同步工具,可以放入他们的工具箱中。

参考文献

1. Eidson, J. 2005. IEEE-1588 standard for a precision clock synchronization protocol for networked measurement and control systems. Agilent Technologies; http://www.nist.gov/el/isd/ieee/upload/tutorial-basic.pdf.

2. IEEE Std. 1588-2008 section 6.2. 2011. IEEE 1588 precision time protocol demonstration for STM32F107 connectivity line microcontroller; http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/DM00030825.pdf.

3. IEEE Std. 1588-2008 section 19.3.

4. IEEE Std. 1588-2008 section 1.2.

5. IEEE Std. 1588-2008 section 7.2.

6. Mills, D. 2012. IEEE 1588 Precision Time Protocol (PTP); http://www.eecis.udel.edu/~mills/ptp.html.

7. Mills, D., Martin, J., Burbank, J., Kasch, W. 2010. Network Time Protocol Version 4: Protocol and Algorithms Specification; http://tools.ietf.org/html/rfc5905.

8. Novick, A. N., Weiss, M. A., Lee, K. B., Sutton, D. D. 2011. Examination of time and frequency control across wide area networks using IEEE-1588v2 Unicast Transmissions; http://www.nist.gov/manuscript-publication-search.cfm?pub_id=908609.

9. NTP Pool Project; http://www.pool.ntp.org.

喜欢还是讨厌?请告诉我们

[email protected]

Rick Ratzel ([email protected], [email protected]) 是德克萨斯州奥斯汀市美国国家仪器公司的高级软件工程师,他在 Timing & Synchronization 部门担任技术主管和开发人员。在获得普渡大学计算机工程学士学位后,他曾在一家电子设计自动化初创公司和一家专门从事科学计算的咨询初创公司开发软件,之后加入 NI。他曾在 PyCon 和 SciPy 会议上展示他的工作,并在 NI 和其他地方为工程师教授 Python 课程。除了定时和同步技术外,他的许多专业兴趣还包括高级语言、自动化、可测试设计和开源。

Rodney Greenstreet ([email protected]) 是美国国家仪器公司 Timing & Synchronization 部门的技术主管,拥有 20 年的行业经验。他负责实施 NI 首款 USB 设备的固件,并设计了首款 CompactPCI 板,这促成了 PXI 平台的诞生。之后,他转型为软件开发人员,在 2006 年加入 Timing & Synchronization 部门之前,领导了多项战略计划。作为 Timing & Synchronization 部门的技术主管,他在架构利用 GPS、IEEE 1588、IRIG 等技术的亚纳秒级硬件和软件同步产品方面发挥了重要作用。他喜欢为他从定时和同步到可再生能源的各种专业和个人兴趣,设计涉及嵌入式、实时技术的新想法原型。

© 2012 1542-7730/12/0700 $10.00

acmqueue

最初发表于 Queue vol. 10, no. 8
数字图书馆 中评论这篇文章





更多相关文章

David Collier-Brown - 你不了解带宽
当您的员工或客户说他们的互联网性能很差时,带宽可能不是问题。一旦他们拥有 50 到 100 Mbps 范围内的带宽,问题就是延迟,即 ISP 的路由器处理他们的流量需要多长时间。如果您是一家 ISP,并且所有客户都讨厌您,请振作起来。这现在是一个可以解决的问题,这要归功于一群专门的人员,他们找到了这个问题,解决了它,然后在家庭路由器中验证了他们的解决方案。


Geoffrey H. Cooper - 使用 FDO 和不受信任的安装程序模型进行设备入网
设备的自动入网是处理越来越多的正在安装的“边缘”和 IoT 设备的重要技术。设备的入网与大多数设备管理功能不同,因为设备的信任从工厂和供应链转移到目标应用程序。为了通过自动入网加快流程,供应链中的信任关系必须在设备中正式化,以允许自动化过渡。


Brian Eaton, Jeff Stewart, Jon Tedesco, N. Cihan Tas - 通过关键路径追踪进行分布式延迟分析
低延迟是许多 Google 应用程序(如搜索)的重要功能,延迟分析工具在维持大规模低延迟方面起着关键作用。对于包括功能和数据不断发展的服务的复杂分布式系统,将总体延迟保持在最低水平是一项具有挑战性的任务。在大型真实世界的分布式系统中,现有的工具(如 RPC 遥测、CPU 分析和分布式追踪)对于理解整个系统的子组件很有价值,但不足以在实践中执行端到端延迟分析。


David Crawshaw - 一切 VPN 焕然一新
VPN(虚拟专用网络)已有 24 年的历史。这个概念是为与我们今天所知的互联网截然不同的互联网而创建的。随着互联网的增长和变化,VPN 用户和应用程序也在增长和变化。VPN 在 2000 年代的互联网中经历了一个尴尬的青春期,与其他广泛流行的抽象概念交互不良。在过去的十年中,互联网再次发生了变化,这个新的互联网为 VPN 提供了新的用途。一种全新的协议 WireGuard 的开发,为构建这些新的 VPN 提供了技术基础。





© 保留所有权利。

© . All rights reserved.