1、引言
目前,运营商在大规模部署下一代网络,分组交换网将替代TDM成为主流承载网络。随着网络和业务全IP化的发展,在分组交换网络上传送TDM业务,IPTV业务,3G/4G等实时要求较高的应用时,需要分组交换网络提供更高质量的同步与定时机制。传统以太网没有内置时钟的分布能力,同步以太网对现有以太网做了一种扩展,类似TDM网络在物理层发布时钟,实现了设备间时钟频率同步。但是还有一些应用需要时间上的同步,IEEE1588-2008 PTP(Precision Timing Protocol)应运而生,成为公用的提供时间同步和频率同步的协议。
回顾同步技术的发展,我们曾在以太网上用过NTP技术,GPS技术或用T1/E1和以太网组成混合网络来增加以太网的时钟同步能力,但由于NTP自身技术的限制,其精度只能在1~50ms之间;GPS广泛应用在CDMA基站和许多其它应用,提供时间和频率的同步,但GPS接收机需要在空中架设天线,在办公室或运营商机房里实施是比较困难的;在T1/E1和以太网混合网络,用T1/E1传递时钟,用以太网扩大带宽,但从网络建设成本来讲用这种方法是不经济的。IEEE1588v2是一种精确时间同步协议,可以认为是对NTP协议的一种进化版本,IEEE1588v1精度可以达到亚ms级,IEEEv2精度可以达到亚us级的精度。IEEE1588v2对IEEE1588v1进行了改进和提高,提高了同步精度,加入了故障容限,满足冗余和安全的保障功能,并引入边界时钟和透传时钟两种新类型设备。通过主从设备间传递PTP消息包,从时钟计算时间和频率偏移,实现与主时钟的频率和时间的同步。
在研发和部署PTP设备时,在主要功能、性能和压力测试方面,我们面临诸多挑战。目前,对PTP的协议测试主要有以下方面:
(1)校正系数测试:测试PTP设备是否能精确计算校正系数(Correction Factor)。
(2)PTP设备规模测试:测试主时钟在不同的各种消息速率下,能够支持的最大从时钟数。
(3)BMC测试:主要指最佳主时钟(BMC)选择测试和错误倒换测试。
(4)对PTP包优先级的测试:测试PTP设备如何对PTP的包做到有保证的转发,结合L2和L3 QoS的测试。
(5)多时间域测试:测试多时间域的规模和多时间域下是否有相互交互。
(6)加载控制面:在测试PTP协议时,通过仿真STP和路由协议等,可以加载控制平面,并同时仿真网络的不稳定情况。
(7)异常测试和加载额外压力的测试。
(8)协议定时器的测试:例如在发送了Sync消息以后可以控制发送Follow UP的间隔时间。
(9)稳定性测试:通过发送异常包来测试PTP设备的稳定性。
2、主要测试项目
2.1 校正系数错误测试(Correction Factor Error)
透传时钟(Transparent Clock)最重要的一个功能就是能够正确测量PTP包经过它时的延迟(ns级),这个延迟我们又叫做“驻留时间”。透传时钟在发向下游的PTP消息里携带延迟信息,称为校正系数(Correction Factor),如果CF不准确,下游的从时钟就无法与上游的主时钟精确同步。
用IXIA测试仪表可以测量每个PTP包经过透传时钟的实际延迟,并比较PTP消息里所报告的CF值,可以更有效地测试透传时钟所计算的CF值是否准确。CF Error计算公式为:CF Error=Correction Factor-Actual Latency。
CF Error如果是正的,则表示透传时钟过高估算了驻留时间。反之,则表示透传时钟过低估算了驻留时间。如果CF Error过大和变化过大,将引起下游的从时钟同步丢失。通常CF值在几十ns是可以接受的。在ISPCS2009研讨会上IXIA展示了CF的测试结果,被公认为是透传时钟测试的业界标准。
(1)IXIA测试的配置模式
●校准模式:用校准线缆直接背靠背连接IXIA测试仪表的两个端口,执行校准过程(见图1)。
图1 校准测试拓扑图
●测试模式:用测试仪表的两个端口连接被测设备的两个端口,执行测试过程。校准线缆长度是测试线缆的2倍(见图2)。
图2 Correction Factor Error测试拓扑图
为了测试的准确性,在测试前需先校准,减少由于测试仪表内部的时间开销或光缆/电缆传送的延迟引起的不准确性,主要包括:测试仪表内部的时间开销和通过光缆或电缆传送的延迟(如五类电缆线的传送延迟是48ns/m,光缆传送延迟是29ns/m)。图3所示的是校准帮助修正测试仪表内部时间开销和线缆传送延迟示意图。
图3 校准帮助修正测试仪表内部时间开销和线缆传送延迟
(2)CF Error测试步骤
●校准时间戳
①在两个测试端口分别设置主时钟仿真和从时钟仿真,Tx和Rx校准因子(Calibration Factor)的缺省值为0,测试拓扑如图1所示。
②测试执行一段时间后,测试系统会显示平均Sync Latency和平均Delay Request Latency。
③在模拟主时钟的测试端口,我们可以根据公式(1)和公式(2)配置Tx和Rx校准因子(Calibration Factor):
Tx Calibration Factor=Sync Latency/2 (1)
Rx Calibration Factor=Delay Request Latency/2 (2)
④在模拟从时钟的测试端口,可以根据公式(3)和公式(4)配置Tx和Rx校准因子 (Calibration Factor):
Tx Calibration Factor=Delay Request Latency/2 (3)
Rx Calibration Factor=Sync Latency/2 (4)
⑤重新启动测试,再从时钟结果显示界面,可以检查Sync Latency的值(接近0,低于100ns),Delay Request Latency的值(接近0,低于100ns),Latency Asymmetry的值(接近0,低于50ns),Offset From Master (OFM)的值(接近0,低于100ns)的参数:
可以微调校准因子(Calibration Factor),使得以上参数接近0。
●在两个测试端口分别模拟主时钟和从时钟
在主时钟测试接口发送Sync message的速率,在从时钟测试接口发送Delay Request的速率可以调节。测试拓扑如图2所示。
●测试结果
如图4所示,测试结果会非常直观地显示在界面上,测试系统会实时显示Sync Correction Factor Error和Delay Request Correction Factor Error等。
图4 CF Error测试结果
●变化以下条件,重复上述测试步骤
①加快Sync和Delay Request消息的发送速率。
②增加在一个测试端口模拟从时钟的数量。
③用多对端口,并分布在不同的时间域中双向测试,由于端口的不对称,发现商用透传时钟在多端口存在测试结果的差异性,因此需要我们用多对端口测试,可以观察在大的压力下透传时钟计算CF值的准确性。
④同时在多个时间域中执行测试。这将测试透传时钟是否会与上行多个主时钟(在多个时间域)同步。如果不能同步上,透传时钟的时间基准就会不准确,造成CF值的计算错误。
⑤在测试过程中,在数据平面可以增加背景业务流,模拟真实环境。
⑥在控制平面,可以同时仿真多个协议,例如同时仿真最小生成树和其它路由协议。
⑦PTP协议可以在单播和组播两种模式下分别进行测试。
2.2 PTP大规模测试(PTP Scalability)
大多数PTP系统里有很多从时钟。在系统中随着从时钟数量的增加,会加重主时钟或边界时钟的处理负担。因此,在设计、布置和升级PTP设备的时候,主时钟、边界时钟和透传时钟的大规模基准测试非常重要。利用IXIA测试系统,可以非常容易模拟在多个时间域里大量的主时钟和从时钟。PTP设备所能支持的规模与很多因素有关,例如,Sync和Delay-Request消息的发送速率,是用单播模式还是组播模式等。以下详细介绍测试主时钟规模的测试方法。测试拓扑如图5所示。
图5 PTP大规模测试拓扑图
(1)测试步骤
●IXIA测试系统可以实时监测每块板卡上CPU和内存的占用情况。启动Dashboard功能,以保证测试的瓶颈不是由于测试仪表造成的。如果发现测试仪表板卡的CPU和内存的占用过高,可以使用更多数量的测试板卡,以降低每块测试板卡的压力,并可把压力汇聚到被测系统。
●仿真50个从时钟,建立从时钟的速率可以设置为5 slaves/100sm。
●判断被测设备主时钟能支持的最大从时钟数量。根据两个条件判断,即所有仿真的从时钟都达到Slave状态;经过一段测试时间,从时钟所发送的Delay response 消息数应等于所接收的Delay request消息数。
●如果通过测试,则再增加从时钟的数量;如果没有通过测试,就减少从时钟的数量。用二次折半法,可以测试出被测设备所能支持的最大从时钟数量(见表1)。也可以通过改变不同消息的发送速率,来测量被测设备所能支持最大的从时钟数量(见表2)。
表1 用二次折半法查找被测设备所支持的最大从时钟数量
表2 在不同的条件下测量被测设备所支持的从时钟数量
●在测试过程中,改变条件(在多个时间域中测试,在单播和多播两种模式下进行测试,在one-step模式和two-step模式下进行测试)来测试被测设备的规模基准。
2.3 最佳主时钟选择算法(Best Master Clock)
最佳主时钟(MBC)选择算法主要应用在从时钟和边界时钟的从时钟端口上,在本时间域选择质量最好的主时钟。此算法主要是比较不同的时钟质量参数,以特定的优先级顺序选择最佳主时钟。IXIA测试系统可以模拟多个带有不同时钟质量参数的主时钟。如果被测设备是边界时钟,则下游IXIA测试系统所仿真的从时钟可以很容易地确定系统的祖时钟(Grandmaster)和被测设备所选择的是否相同。以测试边界时钟为例,详细介绍测试过程,测试拓扑如图6所示。
图6 BMC测试拓扑图
测试步骤如下:
(1)在IXIA测试系统的两个测试端口上分别仿真两个主时钟Master Clock 1和Master Clock 2,但两个主时钟的时钟质量参数不同。Master Clock 2的时钟质量低于Master Clock 1的时钟质量,但高于被测设备的时钟质量。
(2)在IXIA测试系统的第3个测试端口仿真从时钟,目的是在从时钟上查看Grandmaster Clock ID和Clock Quality参数是否与被测设备所选定的相同。
(3)在被测设备和所仿真的从时钟上可以看到都选择了Grandmaster为Master Clock 1。
(4)改变Master Clock 1和Master Clock 2的时钟质量,使Master Clock2的时钟质量高于Master 1,重新执行测试。
(5)在被测设备和所仿真的从时钟上可以看到都选择了Grandmaster为 Master Clock 2。
(6)如果现有的最佳时钟损坏了,被测设备是否会选择次佳时钟。仿真Master Clock 1出现故障,在被测设备和所仿真的从时钟上可以看到都选择了Grandmaster为 Master Clock 2。
(7)让两个或更多Clock Quality参数的组合不断变化,重复以上测试;可以在组播和单播两种模式下重复以上测试;在多个端口仿真多个主时钟,并且分布在不同的时间域里,重复以上测试。
3、IXIA IEEE1588测试解决方案
IXIA IEEE1588测试软件提供了全面和丰富的测试功能。用于测试主/从时钟、边界时钟和透传时钟的协议功能,性能和规模。
3.1 测试功能
(1)可以在一个端口仿真多个主时钟和从时钟,并分布在不同时间域。
(2)可以实时地测试主要性能参数,例如校正系数错误(Correction Factor Error),主时钟的时间开销和平均路径延迟。
(3)能够控制协议仿真性能,例如对于Follow-up Delay,可以仿真立即或延迟很大的Follow-up消息,对被测系统的性能影响很大。
(4)可以全面设置主时钟和从时钟的属性,包括Unicast和Multicast模式,one-step和two-step行为,Unicast协商,QoS级别,时间域,Clock ID,时钟质量参数,E2E和P2P参数,Announce/Sync/Delay-Request 消息间隔等。
(5)可以在测试运行过程中实时改变参数(如发送消息速率)。
(6)可以实时跟踪PTP仿真状态和观察统计结果。
(7)可以跟踪时间值(如T1,T1等),以便更详细的故障排除。
(8)在PTP仿真的同时,在相同端口可以同时加入其它协议的仿真(如STP和路由协议的仿真等);也可以在相同端口加载流量,模拟真实的背景业务流。
(9)可以模拟复杂的PTP DDoS攻击。
(10)提供对被测设备容错能力的测试。
3.2 特色
(1)在大压力的环境下,可以测试透传时钟的校正系数错误(CF Error)
IXIA IEEE1588可以快速地监测和测量透传时钟CF Error,通过比较Sync消息所报告的Correction Factor和用硬件级的时间戳所测量的实际在被测设备的驻留时间(包转发延迟),测试仪表可以实时检测到CF Error。为了更准确的测试,测试系统提供校准功能,可以消除测试系统内部时钟和光纤/电缆传送时间。
(2)能够有效验证BMC和错误倒换
IXIA IEEE1588提供全面的BMC测试解决方案,用来测试透传时钟、边界时钟和从时钟的处理速度和支持规模。IXIA IEEE 1588可以在每个时间域实时跟踪和显示当前的主时钟和上次变化的时间,以便测试主时钟的改变和BMC的性能,所能支持的主要测试场景包括:
●最优主时钟选择:可以测试BMC的精确度和处理速度。
●错误倒换测试:可以仿真错误主时钟,验证次优主时钟的选择和倒换时间。
●模拟主时钟振荡:通过停止和重发Announce或Sync消息,可以仿真主时钟不断振荡的情况,用以测试主时钟的操作和稳定性。
●实时改变时钟质量参数:可以实时改变时钟质量属性,用以对IEEE 1588 BMC执行协议一致性认证。
●弹性测试:可以插入不正确的Announce消息,验证被测系统对BMC处理的稳定性。
●不同时间域的相互作用:通过模拟多个不同时间域的主时钟并改变所报告的主时钟质量,来验证时钟能够区分不同时间域并能够在同一时间处理多个时间域。
●可以验证CF的精确性:在BMC处理出现错误时,可以检测透传时钟的CF Error,以确认透传时钟是否会受到影响。
4、结束语
IEEE1588最初是由Agilent Laboratories(安捷伦实验室)发明,并得到IEEE的赞助,2002年11月得到IEEE批准。Agilent在此测试领域一直处于领先地位,随着IXIA收购Agilent N2X,两家公司将联手推出业界最领先的测试解决方案。IEEE1588作为测试的新兴领域,IXIA引领了业界的测试标准。
责任编辑:gt
评论
查看更多