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: yes | no |
| 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)为单位。此延迟可能受网络中使用的电缆和光模块质量的影响。 |
| name | PTP 配置文件的名称。 |
支持的设备
- 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 端口。