一种实现多通道无压缩IP流PTP时钟精准校时分析的方法

电子说

1.3w人已加入

描述

一、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所示。

UDP协议

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标准以IEEE-1588协议为基础,并衍生到广电领域进行应用。

SMPTE ST 2059-1:2021:Generation and Alignment of Interface Signals to the 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监测所需要关注的参数。

UDP协议

4. PTP与RTP

IP专业媒体系统中视音频数据包传输用的RTP/RTCP协议是使用时间戳来携带时钟同步信息。SMPTE ST 2110-10定义了一个基于RTP的可扩展系统,该系统以指定其时序关系的方式引用公共参考时钟,规定了所有基本流的系统定时模型和通用要求。

UDP协议

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母钟状态。

UDP协议

由于服务器操作系统一般使用抢占式调度机制,使得进程被调度的时间不可预测,造成不确定的延迟,因此设计服务器性能优化模块来提高同步进程和同步线程的优先级;利用高精度时间定时器,获取当前时间值,循环等待,直到系统时间刷新改变,记下此时定时器的计数值,根据基准时间和该时刻的计数值,可以计算之后任意时刻的准确时间。

PTP时基处理完成时钟校正算法,由数据处理算法得到时间偏差,由高精度本地时钟获得准确的本地时间,利用时钟校正算法可以进行稳定可靠的时钟校正。Windows和Unix等系统都提供了相位校正和频率校正的API,内部工作原理如下:

◆误差计算:根据解析接收IP数据包得到时间戳(Timestamp),可计算出上一次发包到这一次发包的时间间隔。另外在这段时间内拿本地时钟进行计数,与上一步计算出的时间间隔进行比较,可得到本地时钟相比GM时钟存在的误差;

◆本地时钟调整:本地时钟相比GM时钟存在的误差是逐步消除的,通过滤波算法去抖动。针对相位调节和频率调节的优缺点,提出相位调节和频率调节相结合的时钟校正模式,不同的场合使用不同的调节方式,初次同步或开机同步时,以及时间偏差较大时(如>100ms),使用相位调节校正方式,直接修正本地时钟,将其校正到一定精度范围内。时间偏差较小时,使用频率调节校正,缓慢地调节时钟频率,本地时钟逐渐趋于准确,防止出现时钟回退和时钟大幅改变的现象。经过不断自我调整后,逐步达到锁定状态,实现PTP同步精度范围在1μs内。得到的时钟信号与GM时钟基本是同步的。

PTP校时分析服务器提供PTP校时精度调整界面,适配不同的IP制播系统。该校时分析服务以纯软件形态部署在通用IT环境下,完全摆脱专用硬件;实现多通道IP流实时分析监测,成本降低,安装部署快捷,维护方便。

UDP协议

三、PTP校时分析及监测

1. 多种PTP数据获取研究

PTP校时分析服务器锁定后会以当前锁定的PTP时间为基准,对发送端发送的IP流量进行数据包头分析,得到数据包基础信息。

◆源地址:发流设备的源IP地址;

◆源端口:发流设备的源端口;

◆目的地址:发送流量的目标地址,一般是一个组播地址;

◆目的端口:发送流量的目的端口;

◆Sequence Number:数据包序列号;

◆M:mark标记;

◆F:场序标记;

◆Time stamp:RTP时间戳。

PTP校时分析服务器收到以上数据后,将本地时间与RTP时间进行实时对比,并且将对比结果反馈给上层。通过上层展示页面,用户将看到IP数据流的时钟精度,也就是IP流与PTP的时钟偏差。

UDP协议

基于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及优先级信息。

UDP协议

UDP协议

UDP协议

四、总结

基于本地稳定时钟,PTP校时分析服务器连接到管理交换机,基于以上获取到的PTP数据,可以构建系统全局PTP分发拓扑,图形化实时呈现PTP分发状态,直观呈现当前系统PTP时钟以及各个网络设备的PTP状态,实现整网PTP状态监测。

PTP分发拓扑界面可查看如下内容:

◆实时显示PTP的分发状态及分发流向,可查看母钟、网络设备(BC)和终端的PTP状态信息;

◆实时展现母钟倒换、分发路径变化等信息,实时展现母钟、网络设备(BC)、终端的PTP报警;

◆实时展现网络设备、母钟、终端的PTP信息。

软件通过PTP拓扑图以及设备PTP参数表来直观呈现当前系统PTP时钟以及各个网络设备的PTP状态,在图上显示GM母钟、交换机和所有节点的状态信息。进一步,通过建立GM母钟、网络交换设备和终端设备三级PTP展现拓扑图,不仅实现全局PTP信息及各设备校时状态的展现,动态查看系统整体PTP状态,以及局部PTP问题,还可以实现监控每个终端设备校时方向是否均指向同一个系统母钟,解决现有方案只能查看局部网络交换设备和终端设备信息的问题。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分