Precision Time Protocol

MikroTik RouterOS 文档介绍用于跨网络进行亚微秒级时钟同步的精密时间协议(PTP),支持带硬件时间戳的 IEEE 1588-2008,以及包括 802.1AS、AES67、G.8275.1 和 SMPTE 在内的多种配置文件,适用于专业行业。

精密时间协议

精密时间协议(PTP)由电气和电子工程师协会(IEEE)开发,是一种用于在局域网内同步时钟的协议。在电信、金融和工业自动化等对精确计时至关重要的行业和应用中,它必不可少。PTP 通常确保亚微秒范围的时间精度,但在满足硬件要求时也可以实现纳秒级精度。MikroTik 的 PTP 实现支持 IEEE 1588-2008(PTPv2),并包含硬件时间戳功能,可确保在纳秒范围内同步。有关 MikroTik PTP 功能的更多详细信息,请参阅以下列表。

  • 两步普通时钟(Ordinary Clock)和边界时钟(Boundary Clock)。
  • 硬件时间戳,确保在纳秒(ns)范围内的时钟同步。
  • IPv4 和二层(L2)组播传输模式。
  • 端到端(E2E)和对等(P2P)延迟机制。
  • IEEE 1588-2008(PTPv2)。
  • 配置文件支持:
    • 802.1AS:基于 IEEE 802.1AS-2020 的音频视频桥接(AVB)和时间敏感网络(TSN)的计时与同步。
    • AES67:高性能 IP 音频互操作性。
    • G.8275.1:PTP 感知网络中的频率和相位同步。
    • SMPTE:专业广播环境中的音频/视频同步。

信息

Mikrotik PTP 支持依赖于硬件;请参阅支持的设备列表。

通用属性

子菜单: /system/ptp

属性描述
port用于添加、移除或查看已分配端口的子菜单。
status显示 PTP 端口、其状态以及从端口延迟的子菜单。
comment (string; Default: )PTP 配置文件的简短描述。
name (string; Default: )PTP 配置文件的名称。
domain (Default: auto)用于分隔不同 PTP 实例的标识符。 每个 PTP 配置文件定义自己允许的域范围和默认值: • 802.1AS 范围:0–127,默认:0 (auto) • AES67 范围:0–127,默认:0 (auto) • G.8275.1 范围:24–43,默认:24 (auto) • SMPTE 范围:0–127,默认:127 (auto) • Default 范围:0–127,默认:0 (auto) 注意:- "auto" 选择配置文件的默认域值。
delay-mode (auto | e2e | p2p; Default: auto)auto - 根据所使用的配置文件自动选择延迟模式。e2e - 使用延迟请求-响应机制。p2p - 使用对等延迟机制。
priority1 (integer [0..255]; auto; Default: auto)参与选出主时钟(grandmaster clock)的参数。
priority2 (integer [0..255]; auto; Default: auto)参与选出备份主时钟的参数。
profile(802.1as; aes67; g8275.1; smpte; default; Default: default)每个配置文件都带有自己预定义的 PTP 操作参数和选项自动值:802.1as 是 PTP 的改编版本,用于音频视频桥接和时间敏感网络。默认(auto) 值:priority1=246,priority2=248,transport=l2-non-forwardable,delay-mode=p2p。aes67 配置文件用于高性能 IP 音频互操作性。默认(auto) 值:priority1=128,priority2=128,domain=0,transport=ipv4,delay-mode=e2e。g8275.1 配置文件用于完全 PTP 感知网络中的频率和相位同步。默认(auto) 值:priority1=128,priority2=128,domain=24,transport=l2-non-forwardable,delay-mode=e2e。smpte 配置文件用于专业广播环境中音频/视频设备的同步。默认(auto) 值:priority1=128,priority2=128,domain=127,transport=ipv4,delay-mode=e2e。default 配置文件,PTPv2 默认配置,允许比其他配置文件更多的配置选项。默认(auto) 值:priority1=128,priority2=128,domain=0,transport=ipv4,delay-mode=e2e。
transport (auto; ipv4; l2-forwardable; l2-non-forwardable; Default: auto)要使用的传输协议:auto - 根据使用的 PTP 配置文件自动选择传输模式。ipv4 - 使用 IPv4 组播地址 224.0.1.129 用于 PTP 主消息,224.0.0.107 用于 PTP 对等延迟消息。l2-forwardable - 使用组播 MAC 地址 <code>01-1B-19-00-00-00</code>,该地址会通过不感知 PTP 的网络设备转发。l2-non-forwardable - 使用组播 MAC 地址 <code>01-80-C2-00-00-0E</code>,确保 PTP 消息不会通过不感知 PTP 的网络设备转发。

配置

在 MikroTik 设备上配置精密时间协议(PTP)是一个简单的过程。主要步骤包括创建 PTP 配置文件并将相关端口分配给此配置文件以进行 PTP 操作。

创建 PTP 配置文件

要创建 PTP 配置文件,使用以下命令。在此示例中,我们使用 802.1as 配置文件,但您可以根据需要从其他可用配置文件中选择:

/system/ptp/add name=ptp1 profile=802.1as

要验证配置文件已成功创建,请执行:

/system/ptp/print

输出将显示创建的配置文件及其当前设置:

 Flags: I - inactive, X - disabled 
 0   name="ptp1" priority1=auto priority2=auto delay-mode=auto transport=auto profile=802.1as domain=auto  

说明

默认情况下,每个配置文件的参数都配置为 "auto",它会根据所选的配置文件自动选择适当的值。在进行手动调整之前,请验证设置是否符合相关标准(例如 ITU-T G.8275.1、IEEE 802.1as、SMPTE、AES67)。

为 PTP 配置文件分配端口

作为最后一步,分配将参与 PTP 的端口。例如,让我们包含几个 sfp28 接口。 SFP28-12 连接到主时钟,而 SFP28-1 和 SFP28-2 连接到普通时钟/从时钟:

/system/ptp/port/add interface=sfp28-1 ptp=ptp1
/system/ptp/port/add interface=sfp28-2 ptp=ptp1
/system/ptp/port/add interface=sfp28-12 ptp=ptp1

VLAN 端口上的 PTP

当 PTP 端口也是边界时钟设备上 VLAN 的一部分时,您必须在 Bridge VLAN Table 中为每个包含 PTP 端口的条目添加一个 bridge 接口作为无标签端口。

这是必要的,因为 bridge 接口充当朝向 CPU 的桥接端口。因此,它必须与 PTP 端口一起包含在 VLAN 表中,以确保数据包可以从物理端口正确接收并通过 bridge 转发到 CPU。让我们继续之前的配置以使这一点更清晰:

# Create a new bridge interface
/interface/bridge/add name=bridge1

# Assign the ports that will be part of this bridge
/interface/bridge/port/add bridge=bridge1 interface=sfp28-1 pvid=10
/interface/bridge/port/add bridge=bridge1 interface=sfp28-2 pvid=20

# Create new entries for Bridge VLAN Table
/interface/bridge/vlan/add bridge=bridge1 vlan-ids=10 untagged=bridge1,sfp28-1
/interface/bridge/vlan/add bridge=bridge1 vlan-ids=20 untagged=bridge1,sfp28-2

说明

这适用于 IPv4 和 L2-forwardable (01-1B-19-00-00-00) 传输模式。唯一的例外是 L2-non-forwardable (01-80-C2-00-00-0E),在这种情况下无需在 Bridge VLAN Table 中添加 bridge 接口作为无标签端口。

要检查每个配置文件的默认(auto) 传输模式值,请参阅 "General Properties" 部分。

带 IGMP Snooping 的 PTP

如果您的 bridge 上启用了 IGMP snooping 并且 VLAN 按前一个示例配置,您必须为每个包含使用 IPv4 (224.0.1.129) 作为传输模式的 PTP 端口的 VLAN 手动添加静态组播数据库(MDB)条目。这可确保 PTP 组播流量的正确转发。

/interface/bridge/mdb/add group=224.0.1.129 bridge=bridge1 ports=bridge1 vid=10
/interface/bridge/mdb/add group=224.0.1.129 bridge=bridge1 ports=bridge1 vid=20

说明

在 PTP 设置中,仅在同时启用 IGMP snooping 和 VLAN 时才需要静态 MDB 条目。

监控

要监控 PTP 配置文件的状态和性能,使用以下命令:

/system/ptp/monitor 0

输出将提供有关配置文件运行状态的详细信息:

name: ptp1
clock-id: 64:D1:54:FF:FE:EB:AD:C7
priority1: 246
priority2: 248
i-am-gm: no
gm-clock-id: 64:D1:54:FF:FE:EB:AE:C3
gm-priority1: 100
gm-priority2: 248
master-clock-id: 64:D1:54:FF:FE:EB:AE:C3
slave-port: ether1
freq-drift: 2690 ppb
offset: 3 ns
hw-offset: -889419842 ns
slave-port-delay: 306 ns

此信息包括时钟 ID、优先级值和计时偏移等关键细节,这些对于监控 PTP 设置的准确性和同步至关重要。

监控属性

属性描述
clock-id:本地时钟标识符,用于在 PTP 网络中唯一标识该时钟。
priority1:用于选出主时钟的优先级参数。较低的值表示较高的优先级。
priority2:用于选出备份主时钟的优先级参数。较低的值表示较高的优先级。
i-am-gm: yesno
gm-clock-id:主时钟的标识符。这是提供主要时间源的时钟。
gm-priority1:从从设备看到的 priority1 主时钟值。
gm-priority2:从从设备看到的 priority2 主时钟值。
master-clock-id:PTP 通信路径中主时钟的标识符。根据网络拓扑,这可能是主时钟或边界时钟。
slave-port:设备上连接到主时钟或 grandmaster 时钟的端口。
freq-drift:主时钟和从时钟之间的频率漂移,以十亿分之一(ppb)为单位。这表示从时钟的频率偏离主时钟频率的程度。
offset:主时钟和从时钟之间的时间差,以纳秒(ns)为单位。这反映了同步精度。
hw-offset:与硬件时钟的偏移差。
slave-port-delay:数据包在两个设备之间传输的时间延迟,以纳秒(ns)为单位。此延迟可能受网络中使用的电缆和光模块质量的影响。
namePTP 配置文件的名称。

支持的设备

  • CRS326-24G-2S+: 仅在千兆以太网端口上支持。
  • CRS328-24P-4S+: 仅在千兆以太网端口上支持。
  • CRS317-1G-16S+: 在所有端口上支持。
  • CRS326-24S+2Q+: 在 SFP+ 和 QSFP+ 接口上支持。
  • CRS312-4C+8XG: 在所有端口上支持。
  • CRS318-16P-2S+: 仅在千兆以太网端口上支持。
  • CRS318-1Fi-15Fr-2S: 仅在 100M 以太网端口上支持。

RouterOS 7.16 及更高版本中新增的 PTP 支持

  • CCR2116-12G-4S+: 在所有端口上支持。
  • CCR2216-1G-12XS-2XQ: 在所有端口上支持。
  • CRS518-16XS-2XQ: 在所有端口上支持。
  • CRS504-4XQ: 在所有端口上支持。
  • CRS510-8XS-2XQ: 在所有端口上支持。
  • CRS520-4XS-16XQ: 在所有端口上支持。

RouterOS 7.17 及更高版本中新增的 PTP 支持

  • CRS320-8P-8B-4S+RM: 仅在千兆以太网端口上支持。
  • CRS326-4C+20G+2Q+: 在所有端口上支持。

RouterOS 7.20 及更高版本中新增的 PTP 支持

  • RDS2216-2XG-4S+4XS-2XQ: 在所有端口上支持。

信息

本节中未列出的设备不支持精密时间协议。 信息

MGMT(管理)端口在任何设备上都不支持 PTP。"所有端口" 指所有数据接口,不包括 MGMT 端口。