一 PTP 概述
PTP(Precision Time Protocol,精确时间协
议)是一种时间同步的协议,由IEEE 1588-2008
定义,通过在主时钟和从时钟之间交换信息来工
作,用于精确同步分布式网络通信中各个节点的
实时时钟,将网络设备时钟与主控机的主时钟进
行同步,提供建立同步时间小于1μs 的运用。相
比NTP(Network Time Protocol, 网络时间协
议),PTP 能够满足更高精度的时间同步要求,
相比GPS(Global Positioning System,全球定位
系统),PTP 具备更低的建设和维护成本。
SMPTE ST 2059-2 标准基于IEEE 1588 标准,
定义了在专业广播环境下的时间和频率同步的精
确时间协议,并且定义了视音频系统中网络管理
报文的基本格式。根据规范描述,PTP 精确时间
同步精确到纳秒级,可以提供涵盖模拟视频、数
字视频和AES 音频的各种同步。
广电制播系统对PTP 时钟锁定稳定度要求比
较高,跳变或者偏移都可以引起终端设备信号输出
不稳定或者偏差,为了保证系统PTP 稳定以及维
护需求,全系统PTP 实时精准分析监测也成为IP
制播网系统监控的重要组成部分。
1. PTP 与NTP
NTP 协议(Network Time Protocol)是一种 目前被广泛应用的网络时间同步协议,最高可以达 到毫秒级的同步精度。NTP 协议基于 UDP 协议 以客户机/ 服务器方式工作,由服务器提供准确稳 定的时间,客户端通过发送和接收 NTP 报文,计 算时间偏差,校准自己的时间。NTP 客户端和服 务器的通信包括两个数据报文:客户端的时间请求 报文和服务器的响应报文。NTP 协议报文中包含 4 个 64bit 时间戳(Timestamp),根据时间戳可以 计算出时间偏差和网络延迟。
PTP 协议也是基于UDP 协议的应用层协议,
其数据报文经过TCP/IP 协议栈的层层封装,最终
通过网络传输进行主从时钟之间的交互,完成主
从时钟的同步。PTP 技术可以实现高精度时间同
步的关键原因是要求PTP 设备支持基于硬件打时
间戳。同步消息在通过PTP 设备数据链路层(MAC)
和物理层(PHY)之间的媒体独立接口(MII)时,
会在PTP 设备的本地时钟上触发一个时间戳,如
图1 所示。
NTP 协议和PTP 协议都是基于 UDP 协议
位于 TCP/IP 协议栈的应用层上,PTP 协议不同
于NTP 协议在于PTP 报文的数据包时间戳是在
MAC 记录的,而NTP 协议是在应用层记录的。
相比于NTP 协议,PTP 的时间戳是位于数据链路
层(MAC)和物理层(PHY)之间与介质无关的
接口中,这消除了操作系统和其他软件无法预测
的缓慢响应,因此基于硬件的时间戳不受软件处
理时延、流量的影响,从而可以实现更高精度的
时间同步。另外PTP 协议的时间校准可以根据网
络状况和终端的时间漂移情况,使用一定的数据
处理算法,隔一段时间后才进行一次测量,从而
减少了网络流量和带宽使用,相比NTP 协议来说
减轻了网络终端的处理负担。
2. PTP 与传统B.B
在技术原理和传输介质上,传统基带B.B 同
步是模拟电平在基带中传输,在一个SDI 系统中,
公共校时频率可通过物理层直接用于所有设备,
只要拓扑结构没有改变,相位关系就保持不变。
而PTP 使用以太网作为物理介质,默认情况下以
太网是异步的,只有在两个相邻设备之间而不是
在系统全局范围内建立一个共同频率,因此固有
频率传输不可行,我们无法通过物理层恢复频率
传输,因此必须使用基于数据包的方法分配时间
和频率。
随着IP 网络设备的能力和容量稳步提高,使
用SMPTE ST 2022-6 等现有标准虽然可以通过IP
交换和路由技术传输和交换视频、音频和元数据,
但业界希望可以分别切换不同的基本元素,因此
SMPTE 提出采用SMPTE ST 2110-20、SMPTE ST
2110-30 以及SMPTE ST 2110-40 来分别传输视
频、音频以及辅助数据。这一系列SMPTE 标准
建立在VSF TR-03 和TR-04 以及AES67 的工
作基础上,采用实时、基于RTP 协议传输,通
过SMPTE ST 2110-10 定义一个定时系统, 用
于互连各种视、音频以及辅助数据基本流之间的
时序关系,因此PTP 时钟信号与视音频业务数
据流混合在一起于带内传输,而传统B.B 同步信
号是独立于视音频制作系统外的单独系统,参考
时钟在自己专有的外部同步系统中传输不与业务
系统混合。
基于以上原因,在部署多系统统一校时方式
时,传统SDI 多系统协同工作的时钟可以由总控
来统一分配,而多IP 系统协同工作的PTP 校时目
前则有多域、单域不同的部署方案。
3. PTP 与SMPTE ST 2059
IEEE Std 1588-2008 引入了PTP 配置文件的概
念,第19.3.1.1 款“概述”中描述了配置文件的目
的:“PTP 配置文件的目的是允许组织指定PTP 属
性值和可选功能的特定选择,当使用相同的传输协
议时,这些属性值和可选功能可以相互作用,并实
现满足特定应用要求的性能。”2021 年最新发布的
SMPTE ST 2059-1、2059-2 标准以IEEE1588 协议
为基础,并衍生到广电领域进行应用。
SMPTE ST 2059-1:2021:Generation and
Al i g n m e n t o f I n t e r f a c e S i g n a l s t o t h e SMPTE
Epoch: 定义了一个时间点即SMPTE 历元, 用
于实时信号的校准,指定自SMPTE 纪元以来信
号与时间的持续对齐的公式,以及指定SMPTE
ST 12-1 时间地址值和SMPTE ST 309 日期值计
算的公式。该标准使用精确时间分布、历元定义
(“SMPTE 历元”)以及信号与该历元的关系,
设备可以生成用于锁定传统设备的传统参考信号,
或者可以在其接口上从内部导出视频和音频本质
信号的定时。
SMPTE ST 2059-2:2021:SMPTE Profile
for Use of IEEE-1588 Precision Time Protocol in
Professional Broadcast Applications: 与SMPTE ST
2059-1 一起使用,基于IEEE-1588-2 协议,定义
了专业广播环境中时间和频率同步的PTP 配置文
件。此配置文件的设计目的如下:
◆允许时钟快速、准确地同步,以支持专业
的IP 媒体应用;
◆传输音频/ 视频信号同步和时间标记所需
的同步元数据(SM)。
PTP 配置文件指定以下主要参数以及参数值,
这些参数是专业媒体网络PTP 校时系统工作基础,
也是PTP 监测所需要关注的参数。
4. PTP 与RTP
IP 专业媒体系统中视音频数据包传输用的RTP/ RTCP 协议是使用时间戳来携带时钟同步信息。 SMPTE ST 2110-10 定义了一个基于RTP 的可扩展 系统,该系统以指定其时序关系的方式引用公共参考 时钟,规定了所有基本流的系统定时模型和通用要求。 RTP 报文内容包括待传数据的报文头和报文负 载,报文数据头包括序列号、时间戳和传输监视等信 息,负载就是视音频数据流。报文头会专门提供固定 字节位用于时间戳的携带,这样接收设备就可以通过 时间戳解读出负载数据的同步时间用于数据重组。我 们使用端口镜像的方式,在实际IP 系统中将视音频 流量转到观测口,使用专业仪器对观测口的数据进行 抓包,结果可以看到RTP 数据包的基本信息:RTP 协议建立在UDP 协议基础之上。
◆ IP 头和UDP 头信息可获取到源地址、目的
地址(组播地址)、源端口、目的端口等信息;
◆ RTP 层数据可以获取到RTP 相关的信息,
如:payload、SSRC、SN 包序列号、RTP 时间戳等。
基于以上PTP 校时原理,我们可以采用通用IT 服务器平台实现专业媒体网络下IP 流时钟同步精度 分析和监测,以纯软件形态部署在通用IT 环境下, 实现对基于ST 2110、ST 2022-6 等多种专业媒体网 络IP 流的时钟锁定精度状态进行实时监测和分析。
二 PTP 校时分析服务器
超高清媒体节点设备在发送数据包间隔为微秒
级,但实际网络环境中IP 数据包存在抖动和延时,
不能直接使用接收到的PTP 时间戳作为发送定时依
据,必须通过校时锁定本地的高稳时钟,利用这个与
PTP 同步锁相的高稳时钟,才能同时达到精度高、稳
定两个基本要求。
IEEE-802.3 标准定义了MII(Media Independent
Interface,介质无关接口,或称为媒体独立接口),
用于描述以太网收发器与网络控制器之间的接口,用
于将不同类型的PHY 与相同网络控制器(MAC)相
连接的通用总线。网络控制器可以用同样的硬件接口
与任何PHY 进行连接,它包括一个数据接口,以及
一个MAC 和PHY 之间的管理接口。数据接口包括
分别用于发送器和接收器的两条独立信道,每条信道
都有自己的数据、时钟和控制信号;管理接口是个双
信号接口,一个是时钟信号,另一个是数据信号,通
过管理接口,上层能监视和控制PHY。
受计算机本地时钟晶振和软件时钟精度的影响,
目前操作系统提供的本地时钟的精度只能达到 10ms
左右,远不能满足同步系统的需要,因此需要重新
构建高精度的本地时钟,并能够使其精度保持在较高
的范围内。在服务器中稳定时钟源是CPU 的石英晶
体谐振器(Quartz crystal oscillator),它能够产生中央
处理器(CPU)执行指令所必需的时钟频率信号。
为了减少操作系统的影响,修改网络驱动,通过MII
接口时间戳使用独立通道进行报文的发送和接收,网
络 I/O 使用阻塞 Socket,在一个数据报文发送完毕之
后,才返回做其他事情或发送下一个数据报文,这样
就保证了报文的确认接收和发送,数据报文有序的发
送和接收。
如图3 所示,TP 校时分析服务器硬件平台配置
光纤网卡,通过光纤网卡接入IP 数据送给服务器IP
解封包模块;服务器基于ST 2059 协议从IP 解封包
处理模块获取PTP 时钟GM 母钟状态。
由于服务器操作系统一般使用抢占式调度机制,
使得进程被调度的时间不可预测,造成不确定的延迟,
因此设计服务器性能优化模块来提高同步进程和同步
线程的优先级;利用高精度时间定时器,获取当前时
间值,循环等待,直到系统时间刷新改变,记下此时
定时器的计数值,根据基准时间和该时刻的计数值,
可以计算之后任意时刻的准确时间。
PTP 时基处理完成时钟校正算法,由数据处理
算法得到时间偏差,由高精度本地时钟获得准确的本
地时间,利用时钟校正算法可以进行稳定可靠的时钟
校正。Windows 和 Unix 等系统都提供了相位校正和
频率校正的 API,内部工作原理如下:
◆误差计算:根据解析接收IP 数据包得到时间
戳(Timestamp),可计算出上一次发包到这一次发
包的时间间隔。另外在这段时间内拿本地时钟进行计
数,与上一步计算出的时间间隔进行比较,可得到本
地时钟相比GM 时钟存在的误差;
◆本地时钟调整:本地时钟相比GM 时钟存在
的误差是逐步消除的,通过滤波算法去抖动。针对相
位调节和频率调节的优缺点,提出相位调节和频率调
节相结合的时钟校正模式,不同的场合使用不同的调
节方式,初次同步或开机同步时,以及时间偏差较大
时( 如>100ms),使用相位调节校正方式,直接修正
本地时钟,将其校正到一定精度范围内。时间偏差较
小时,使用频率调节校正,缓慢地调节时钟频率,本
地时钟逐渐趋于准确,防止出现时钟回退和时钟大幅
改变的现象。经过不断自我调整后,逐步达到锁定状
态,实现PTP 同步精度范围在1μs 内。得到的时钟
信号与GM 时钟基本是同步的。
PTP 校时分析服务器提供PTP 校时精度调整界 面,适配不同的IP 制播系统。该校时分析服务以纯 软件形态部署在通用IT 环境下,完全摆脱专用硬件; 实现多通道IP 流实时分析监测,成本降低,安装部 署快捷,维护方便。
三 PTP 校时分析及监测
1. 多种PTP 数据获取研究
PTP 校时分析服务器锁定后会以当前锁定的
PTP 时间为基准,对发送端发送的IP 流量进行数据
包头分析,得到数据包基础信息。
◆源地址:发流设备的源IP 地址;
◆源端口:发流设备的源端口;
◆目的地址:发送流量的目标地址,一般是一
个组播地址;
◆目的端口:发送流量的目的端口;
◆ Sequence Number:数据包序列号;
◆ M:mark 标记;
◆ F:场序标记;
◆ Time stamp:RTP 时间戳。
PTP 校时分析服务器收到以上数据后,将本地
时间与RTP 时间进行实时对比,并且将对比结果反
馈给上层。通过上层展示页面,用户将看到IP 数据
流的时钟精度,也就是IP 流与PTP 的时钟偏差。
基于IP 系统设备的复杂性,校时分析服务器具
备多种直接获取设备PTP 数据的方法。
◆一些网络设备PTP 数据可以通过NetConf、
SNMP 获取;
◆某些不支持这些通用协
议设备,可以通过
SSH 协议先获取到数据,然后再把有用数据通过正则
表达式转成JSON 标准的数据,通过API 接口上报到
监测服务代理,通过这个方法可以获取到系统内所有
网络设备的PTP 数据;
◆通过get 指令可以获取一些网络控制器的PTP 数据。
2. PTP 分析参数确定
PTP 状态监测展现网络设备上的PTP 信息。从
网络设备上读取系统中的PTP 信息,内容包括:PTP
信息( 锁定状态、Grandmaster ID、Clock ID、PTP
mode、step 模式)、PTP clock time(当前PTP 系统时间、
最新同步时间)、PTP 端口状态(slave 端口、master 端
口及数量、禁用PTP 端口、PTP domain 及优先级信息。
基于本地稳定时钟,PTP 校时分析服务器连接
到管理交换机,基于以上获取到的PTP 数据,可以
构建系统全局PTP 分发拓扑,图形化实时呈现PTP
分发状态,直观呈现当前系统PTP 时钟以及各个网
络设备的PTP 状态,实现整网PTP 状态监测。
PTP 分发拓扑界面可查看如下内容:
◆实时显示PTP 的分发状态及分发流向,可查
看母钟、网络设备(BC)和终端的PTP 状态信息;
◆实时展现母钟倒换、分发路径变化等信息,
实时展现母钟、网络设备(BC)、终端的PTP 报警;
◆实时展现网络设备、母钟、终端的PTP 信息。
软件通过PTP 拓扑图以及设备PTP 参数表来直
观呈现当前系统PTP 时钟以及各个网络设备的PTP
状态,在图上显示GM 母钟、交换机和所有节点的
状态信息。进一步,通过建立GM 母钟、网络交换
设备和终端设备三级PTP 展现拓扑图,不仅实现全
局PTP 信息及各设备校时状态的展现,动态查看系
统整体PTP 状态,以及局部PTP 问题,还可以实现
监控每个终端设备校时方向是否均指向同一个系统母
钟,解决现有方案只能查看局部网络交换设备和终端
设备信息的问题。
本文受国家重点研发计划资助(National Key R&D Program of
China),“4K 超高清电视制播系统研制”项目,项目编号:
2019YFB1804300(课题一:2019YFB1804301)