基于IEEE1588的高精度时间同步技术分析

2019-05-29 06:33
无线电工程 2019年6期
关键词:主从标准差以太网

郑 翊

(中国电子科学研究院,北京 100041)

0 引言

电子信息时代网络化、智能化的飞速发展,系统各个节点之间对时间同步的需求也日益增高,为统一各系统之间的时间基准,许多时钟同步协议应运而生,例如:参考广播同步协议(RBS)[1]、无线传感网时间同步协议(TPSN)[2]和洪泛时间同步协议(FTSP)[3]等。“精密时钟同步协议标准”IEEE1588作为新的时间同步标准[4],可以实现物理层的时间同步,IEEE1588标准采用PTP精密时钟同步协议,其精度可达微秒级别[5],提高了通过以太网进行通信传输的实时性。

系统中各设备之间通信传输和各类事件的执行顺序都需要精确的时间同步,才可以准确地完成各项指令和任务,因此,在以太网传输系统中增加时间同步、时间触发等服务,来满足系统的实时性需求。

网络时间协议(NTP)是当前网络中应用最广泛的同步协议[6],NTP协议采用在应用层获取报文时间戳的方式,可以提供百毫秒级的时间同步精度,该协议通过估算往返路由的时延差来缩小误差,其通过在互联网上指定多个时钟源来对整个系统进行授时[7],精度虽然可达毫秒级别,却难以满足对时间精度有更高需求的传输网络。

PTP协议报文相对于NTP协议而言能获得微秒级的时间同步精度,精度更高,PTP协议的时间戳加在物理层[8],其根本目的是在靠近网口的位置记录时间标记,保证写入的时钟速率与接收的时钟速率在同一个误差范围内,从而降低信号传输的时间偏移[9],来保证数据的正确传送和处理。PTP协议设计用于精确同步分布式网络通信中各个节点的实时时钟,其基本构思为通过硬件和软件将网络设备的内时钟与主控机的主时钟实现同步[10]。PTP较NTP占用更少的网络资源,同时具有和以太网兼容的特性,因此更适合在通过以太网传输的通信系统中使用。

本文详细阐述了PTP协议时间同步过程,采用时钟修正模型和最佳主时钟(Best Master Clock BMC)算法对PTP性能产生的影响因素进行了修正,将时间同步精度提高到了亚微秒级,并且通过测试得到了验证。

1 PTP协议原理

1.1 PTP时间同步过程

IEEE1588标准的目的是为了精确地把网络系统中分散、独立运行的时钟同步起来,IEEE1588系统中包括多个节点,各节点通过网络相连接。在以太网中采用PTP技术,首先是要形成一个主时钟(Master)和多个从时钟(Slave)的架构,将系统按主从关系建立起来,系统中最精确的时钟(即Master)通过传输PTP协议报文来同步所有节点(即Slave)的时间,通过主从设备间传递PTP报文来计算时间偏移(Offset)和路径时延(Delay),最终实现整个系统的时间同步[11]。

PTP系统的特点是主从时钟之间传递消息遵循的唯一路径原则,在主从时钟之间通过交换已经定义好的报文来实现时间同步,这些报文在物理层被打上时间戳,用以计算时间偏移和路径时延,具体原理如图1所示。

图1 PTP协议同步过程

PTP协议主从设备之间报文传递过程为:

①t1时刻主时钟发送时间同步(Sync Message)报文,该报文带t1时刻信息,t1的时刻值由Master通过MAC层以下的逻辑直接填充;

②t2时刻从时钟接收到Sync Message报文;

③t3时刻从时钟发送延迟请求(Delay-Req Message)报文;

④t5时刻主时钟发送延迟响应请求(Delay-Resp Message)报文,带t4时刻信息。

通过PTP报文传递过程可进一步计算出时间偏移和路径时延:

①t2-t1=Delay-Offset;

②t3-t4=Delay+Offset;

③ Offset=((t4-t3)-(t2-t1))/2;

④ Delay=((t4-t3)+(t2-t1))/2。

在理想环境下网络延迟是对称的,通过计算时间偏移和路径时延可以得出时间同步精度,同时也是实现时间同步的过程。

1.2 PTP精度影响因素以及时钟模型修正

与理想情况相比较,实际环境中对时间同步精度产生影响的主要因素是:

① PTP协议是通过PTP报文传递来实现的,传递过程中存储转发设备的延时会对同步精度产生影响;

② 主、从时钟之间的网络延时不完全对称会对同步精度产生影响;

③ 系统中时钟本身的漂移也会对同步精度产生影响。

这些对时间同步精度产生的影响因素可以通过时钟模型来进行修正,PTP时钟模型主要包括普通时钟、边界时钟和透明时钟。

1.2.1 普通时钟

普通时钟模型最显著的特点是各个系统节点某一时刻只能充当主时钟或者从时钟,当某个系统节点作为主时钟的时候,可作为系统中最精确的时钟源与外界时钟进行同步;当某个系统节点作为从时钟的时候,则与系统主时钟进行时间同步[12]。各节点设备作为普通时钟时只有一个端口可作为通信接口与各节点开展报文交换,普通时钟模型对应于系统中的时钟源。

1.2.2 边界时钟

边界时钟与普通时钟最大的区别在于可以允许多个端口同时开展时间同步,这些端口共享同一个本地时钟,并且边界时钟既可以充当主时钟也可以充当从时钟[13]。边界时钟模型相当于对时过程中的中继,既可以恢复时钟又可以作为时钟源向下传递时间,边界时钟对应于系统中的中间网络节点。

1.2.3 透明时钟

透明时钟可以校正主、从时钟之间的延迟,但透明时钟本身不恢复时间和频率,只是对同步报文进行转发[14]。透明时钟通过记录PTP报文传输时的时间戳来计算出时延,从而进行修正。系统网络中自身不需要时钟同步的设备(诸如配合处理PTP报文的设备等)可以使用透明时钟逻辑模型。

2 PTP协议实现模型

2.1 测试平台搭建

本文通过搭建PTP测试平台来验证PTP协议在实际以太网传输过程中所能达到的精度,测试设备包括PTP测试平台、以太网背景流量注入设备、千兆以太网交换机、IEEE1588测试设备和示波器。PTP测试平台硬件使用的是PHY芯片DP83867,在物理层加时间戳,并且PTP测试平台分Master和Slave两种状态,Master状态试验件具备PTP主节点功能,同时也具备PTP从节点功能;Slave状态试验件具备PTP从节点功能,能够通过以太网与PTP主节点交换符合PTP协议的报文,实现自身时间对PTP主节点时间的跟踪。该环境下,除包含PTP协议功能的设备之外的配试设备包括以太网背景流量注入设备,用以生成不同程度的流量,模拟近似真实情况下的网络;千兆以太网交换机用来模拟网络中经过交换设备对同步精度的影响;通过IEEE1588测试设备来测量主时钟和从时钟之间的时间差;最后通过示波器来观测实验结果。具体测试环境如图2所示。

2.2 测试过程

通过对PTP时间同步原型的设计,具体测试过程如下:

① 按照图2搭建测试环境;

图2 IEEE1588测试环境

② 启动以太网背景流量注入设备,测试模式选择“IEEE1588”,点击启动测试按钮,以从节点为目的地址通过以太网接口注入背景数据流,模拟多种典型网络背景流量(分别采用615 Mbps、305 Mbps、744 Mbps、 606 Mbps、612 Mbps等,具体设置情况如表1所示);

③ 主节点已上电工作,从节点加电,等待从节点指示与主节点锁定;

④ 从节点指示与主节点锁定后,利用示波器“延迟测量”功能,每1~2 s读取一次主节点输出1PPS上升沿与从节点输出1PPS上升沿之间的时间差,共测量10次,求均方根用以形成同步精度测试结果;

⑤ 主节点保持上电工作、从节点断电;

⑥ 重复第①~第⑤步骤对不同以太网包长(分别采用64 B、256 B、512 B和1 024 B以太网包长)情况下的时间同步进行测试,使用示波器观测时间同步效果。

表1 测试背景流量注入情况

上电初始化后的时刻/min测试剖面1测试剖面2测试剖面3测试剖面4测试剖面5测试剖面6包长度/B吞吐量/Mbps包长度/B吞吐量/Mbps包长度/B吞吐量/Mbps包长度/B吞吐量/Mbps包长度/B吞吐量/Mbps包长度/B吞吐量/Mbps1064615643052567442565925126061 0246122064615643052567442565925126061 0246123064615643052567442565925126061 0246124064615643052563722562615123031 0243065064615643052563722562615123031 024306

2.3 时钟校正与算法

在该实验当中,PTP主节点和PTP从节点相当于系统中对时的发起端和接收端,主从时钟之间传输延迟的一致性对系统精度起着至关重要的作用,当系统中存在诸如交换机等网络设备时,会对传输路径的对称性产生影响。为降低由于传输路径不对称而对系统精度带来的影响,同时为了避免在系统设计过程中出现多个时钟源,试验过程中采用了最佳主时钟(Best Master Clock,BMC)算法[15]。

BMC算法的原理是各端口定期发送报文来通告时钟信息,每单板上的各端口收到时钟信息,得出这个单板的最佳时钟源,时钟板比较各单板选出的最佳时钟源后最终选择出一个并下发给各端口进行同步,同时,根据最佳时钟源和其它相关信息,BMC算法和端口状态机共同决定出端口的状态[16]。BMC算法通过报文宣告各端口上的时钟源信息,通过维护本地获得的时钟数据组,按严格时钟等级选择出最佳时钟源。该算法对整个网络的时钟生成时钟树,产生不同等级的主从关系,从时钟与主时钟进行同步,从而消除时钟环路。

3 PTP协议测试结果分析

通过上述试验测得PTP协议在不同以太网包长度下的性能,当以太网包长为64B时测试结果如表2所示(测试剖面1、测试剖面2是分别对应表1中测试剖面1、测试剖面2的包长度和数据率)。

表2 以太网包长64B时测试结果

序号测试项目测试指标测试剖面1测试剖面21从上电初始化到锁定所需时长锁定时间/s20023023上电初始化后10 min主从1PPS延迟RMS/μs138.487标准差/μs10.932.945上电初始化后20 min主从1PPS延迟RMS/μs309102标准差/μs6.61567上电初始化后30 min主从1PPS延迟RMS/μs309.125.6标准差/μs10.81.989上电初始化后40 min主从1PPS延迟RMS/μs17371389.6标准差/μs9.47.41011上电初始化后50 min主从1PPS延迟RMS/μs36.229.1标准差/μs24.519.6

当以太网包长为256 B时测试结果如表3所示(测试剖面3、测试剖面4是分别对应表1中测试剖面3、测试剖面4的包长度和数据率)。

表3 以太网包长256B时测试结果

序号测试项目测试指标测试剖面3测试剖面41从上电初始化到锁定所需时长锁定时间/s24630523上电初始化后10 min主从1PPS延迟RMS/μs313.2184.6标准差/μs21.41245上电初始化后20 min主从1PPS延迟RMS/μs124.265.7标准差/μs21.130.467上电初始化后30 min主从1PPS延迟RMS/μs764.7109.9标准差/μs25.39.489上电初始化后40 min主从1PPS延迟RMS/μs35.829.4标准差/μs8.416.31011上电初始化后50 min主从1PPS延迟RMS/μs6.65.5标准差/μs64.9

当以太网包长为512 B时测试结果如表4(测试剖面5是基于表1中测试剖面5的包长度和数据率)。

表4 以太网包长512B时测试结果

序号测试项目测试指标测试剖面51从上电初始化到锁定所需时长锁定时间/s24523上电初始化后10 min主从1PPS延迟RMS/μs252标准差/μs17.145上电初始化后20 min主从1PPS延迟RMS/μs262.2标准差/μs23.867上电初始化后30 min主从1PPS延迟RMS/μs194.8标准差/μs25.689上电初始化后40 min主从1PPS延迟RMS/μs148.8标准差/μs14.21011上电初始化后50 min主从1PPS延迟RMS/μs78标准差/μs33.3

当以太网包长为1 024 B时测试结果如表5所示(测试剖面6是基于表1中测试剖面6的包长度和数据率)。

表5 以太网包长1 024 B时测试结果

序号测试项目测试指标测试剖面61从上电初始化到锁定所需时长锁定时间/s31423上电初始化后10 min主从1PPS延迟RMS/μs207.4标准差/μs16.445上电初始化后20 min主从1PPS延迟RMS/μs136.4标准差/μs14.467上电初始化后30 min主从1PPS延迟RMS/μs128.4标准差/μs8.689上电初始化后40 min主从1PPS延迟RMS/μs120.6标准差/μs13.21011上电初始化后50 min主从1PPS延迟RMS/μs10.4标准差/μs10.9

从使用角度考虑,用户对于PTP最关注的两项指标之一是对时精度,对时精度可以从试验测试结果的RMS数据得出结论;另外一项指标是失锁率,即PTP对时机制在使用过程中的稳定性,可以从试验测试结果的标准差数据得出结论。对表2至表5中的RMS值和标准差值进行分析可以得出以下结论:

① 时间同步精度与注入的背景数据流包长度、有效数据率相关性显著:相同包长度条件下,有效数据率越大,主从节点同步精度越差。

在以太网包长为64 B情况下,表2中测试剖面1是基于615 Mbps的数据率来开展测试的,而试剖面2是基于305 Mbps的数据率,对比表2中测试剖面1和测试剖面2的测试结果,可以看出测试剖面1情况下的RMS值明显高于测试剖面2情况下的RMS值,即测试剖面2情况下的同步精度优于测试剖面1情况下的同步精度。在以太网包长为256 B情况下,对比表3中测试剖面3和测试剖面4也可以得到同样的结论。

② 保持锁定的能力与注入的背景数据流包长度、有效数据率相关性显著:相同包长度条件下,有效数据率越大,主从节点失锁的概率越大。

在以太网包长为64 B情况下,表2中测试剖面1是基于615 Mbps的数据率来开展测试的,而试剖面2是基于305 Mbps的数据率,对比表2中测试剖面1和测试剖面2的测试结果,可以看出测试剖面1情况下的失锁次数多于测试剖面2情况下的失锁次数(在实验中RMS值大多稳定在300 μs左右,RMS值明显高于500 μs 即被视为失锁)。在以太网包长为256 B情况下,对比表3中测试剖面3和测试剖面4也可以得到同样的结论。

③ 在实验中的典型网络流量条件下,主从节点可保持稳定同步,排除表2至表5中的几处失锁情况之外,由测试数据可以看出:同步精度优于359.5 μs,抖动优于37.9 μs。

④ 按照IEEE 802.3以太网协议,相同有效数据率情况下,包长度越短,发包数量越多、传输效率越低、由交换机引入的传输延时不确定性越大,对主从节点时间同步的综合性能影响也就越大。

对比表2、表3、表4和表5的测试数据可知,在包长度64 B、有效数据率大于600 Mbps的极端情况下,主从节点锁定后同步精度显著变差、失锁概率显著变大,当网络规划中包长度设置在256 B以上时主从节点时间同步的综合性能相对稳定。

4 结束语

在以太网标准中没有定义发送端时钟与接收端时钟恢复出来的时钟关系,缺乏全网时钟同步机制,采用IEEE 1588标准可以在以太网上进行时钟同步。本文以提高以太网数据传输的对时精度为目的,对PTP协议进行了深入地分析,开发了PTP时钟节点的设计,搭建了测试平台,以PTP时钟节点作为同步系统的核心组成,验证了PTP协议在以太网传输环境下的性能,对PTP时间同步误差来源进行了分析并采取了误差补偿措施,将时间同步精度提高到了亚微秒级。

猜你喜欢
主从标准差以太网
订正
Antarctica's pretty pink snow
Boy dresses up to honor school security officer
旋转位似的性质与主从联动法
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
基于以太网的计算机与数控系统通信技术研究
方差中亟待澄清的两个错误观点
医学科技论文中有效数字的确定
基于ENC28J60的嵌入式以太网/CAN网关设计