时频科普

PTP服务器中PTP 消息中的 TLV

2022-05-20 09:33:19

精确时间协议中的所有这些 TLV 是什么?
让我们从头开始,TLV 代表“类型、长度、值”。这是用一些额外信息来扩展 PTP 消息的一般方法,用于某些可选功能或其他任何东西。TLV 用于许多网络协议,而不仅仅是 PTP。PTP 中的 TLV 具有以下结构:
图 1:PTP 中 TLV 的一般结构

让我们看一个来自即将修订的 PTP的简单示例。任何 PTP 消息的长度都可以通过使用 PAD TLV 来增加。TLV 在 1588 中被认为非常重要,我们将它们全部大写!PAD TLV 具有以下结构:

图 2:PAD TLV 的结构

等等,你为什么想让 PTP 消息更长?Peer Delay PTP 网络的情况下,传播延迟是使用 Pdelay 消息测量的,它比 Sync 消息长 10 个八位字节。如果 Sync 消息的传播与 Pdelay 消息不同,这可能会导致错误。例如,如果主端口和从端口之间的链接包含媒体转换器,则可能会发生这种情况,该媒体转换器通常具有与消息长度相关的传播延迟。

TLV 的另一个示例是 PATH TRACE TLV。路径跟踪选项用于将消息从大师 (GM) 的路由映射到充当从属的普通时钟。GM 将 PATH TRACE TLV 附加到它发送的 Announce 消息中。每个接收到带有此 TLV 的 Announce 消息的边界时钟(BC) 将其时钟 ID 添加到 TLV 并将 TLV 附加到它发送的所有 Announce 消息。这允许接收 Announce 消息的 PTP 节点查看来自 GM 的消息经过的路由。PATH TRACE TLV 具有以下结构: 

图 3:PATH TRACE TLV 的结构

当 BC 接收到 Announce 消息上的 TLV,然后将它(可能已更新)附加到它发送的 Announce 消息中,它称为“传播”TLV。在 IEEE-2008 中,我们将其称为“转发”,但决定在新版 1588 中将其更改为“传播”,以免与数据链路层的帧转发混淆。一些 TLV 被定义为“非传播”,这意味着接收它们的 BC 不会将接收到的 TLV 附加到它传输的消息中。这种 TLV 的一个例子是 PAD TLV。1588 中定义的所有 TLV 都被定义为传播或非传播。

标准中定义了许多 TLV,包括所有本地 PTP 管理消息。太多了,无法在此处全部列出,但仍然符合我对您的承诺,将其保持在 5 分钟以内。要了解更多信息,请参阅关于 TLV 的 IEEE 1588 中的第 14 条。还描述了允许其他标准组定义配置文件特定 TLV 的机制,并允许组织(例如公司)定义自己的 TLV。