基于DTS和IEEE1588v2协议的网络跳变同步技术研究
2017-09-16王贤德贾连兴
王贤德, 贾连兴
(1. 国防信息学院八系, 湖北 武汉 430010; 2. 国防信息学院四系, 湖北 武汉 430010)
基于DTS和IEEE1588v2协议的网络跳变同步技术研究
王贤德1, 贾连兴2
(1. 国防信息学院八系, 湖北 武汉430010;2. 国防信息学院四系, 湖北 武汉430010)
在对以往跳变同步技术进行梳理分析的基础上,针对军事信息网络的实际情况,借鉴分布式时间戳(DistributedTimestampSynchronization,DTS)技术,提出分布式改进型PTP同步(DistributedImprovedPTP(PrecisionTimeProtocol)Synchronization,DIPS)技术,通过改进型IEEE1588v2协议进行全网时间同步,并利用GPS/北斗授时系统和本地高精度晶振对主时钟进行智能时钟纠正,不仅提高了时间同步精度,而且有效提高了系统可靠性,可很好地适应复杂恶劣的军事斗争环境。
分布式时间戳技术;IEEE1588v2协议; 分布式改进型PTD同步技术; 智能时钟纠正
军事信息网络存在诸多漏洞和缺陷,而当前的静态防护体系经不起敌方的长期观察、分析和反复攻击,变静为动则可以大幅提高敌方攻击难度[1-2],使得运用跳变技术构建网络动态安全防护系统具有重要意义。同步技术在网络跳变中极其重要,它不仅能够使通信双方达成同步跳变,而且会对整个网络的安全功能和服务性能产生直接影响。目前,常见的同步技术有严格时间同步、ACK(ACKnowledgement)应答同步和时间戳同步等技术。严格时间同步技术广泛应用于跳频通信,但在网络通信中,因传输时延、网络堵塞和其他原因往往会导致传输时间不固定,另外时钟漂移现象也不容忽视,这就很容易导致同步失败[3-5]。ACK应答同步技术只有在收到ACK应答消息后发送方才会改变跳变信息[6-7]。它能够很好地避免严格时间同步的缺陷,然而如果发送端一直没有收到ACK应答消息,则跳变信息就可能因保持不变而存在安全隐患。为了克服以上2种同步方式的弊端,石乐义等[8-9]提出时间戳同步机制。服务器收到时间戳请求报文时,当即生成时间戳并发送给客户端,而后二者各自根据该时间戳和密钥生成同样的跳变信息,从而达成同步。但服务器一般要与多个客户端同时进行通信,大量的时间戳将会对网络传输性能造成严重影响。另外,服务器的唯一性也会降低系统的可靠性。为了缓解时间戳同步技术存在的问题,林楷等[10]提出了分布式时间戳(Distributed Timestamp Synchronization,DTS)技术。它主要采用一组分布式部署的时间戳服务器来提供服务,并利用网络时间协议(Network Time Protocol,NTP)进行时间校准。与以上技术相比,DTS技术具有极大的优势,然而它依赖软件实现,时间精度有限。
笔者在前人研究成果的基础上,以服务器和客户端进行单工跳变通信为例,提出一种改进的跳变同步技术——分布式改进型PTP同步(Distributed Improved PTP (Precision Time Protocol) Synchronization,DIPS)技术。其跳变机制为:在网络中分布式部署多个相互独立的时间戳服务器,用于独立自主地向服务器和客户端提供时间戳服务。服务器和客户端均维护着一份时间戳服务器列表,根据预置规则从列表中选择相应的时间戳服务器作为主时钟,并利用GPS/北斗授时系统和本地高精度晶振对主时钟进行智能时钟纠正,利用改进型IEEE1588协议[11]与之通信,以便对本地时间进行校准,进而实现服务器和客户端的同步,这就提高了时间同步精度和系统可靠性。
1 DIPS技术
1.1IEEE1588协议及存在的问题
随着网络技术的发展,日期查询协议、时间协议和NTP协议等同步技术因精度较低而不能满足需要,GPS或北斗系统虽然信号稳定且同步精度高,但购置成本大、不易安装维护且容易遭受干扰,IEEE1588因其高精度、低成本和易维护等优点而得到了日益广泛的应用。
IEEE1588协议现已发展到v2版本,具有事件报文和通用报文2类报文,并定义了5种网络节点模型。它属于主从同步类技术,在单步模式的同步过程中,主时钟master周期性发送时间同步报文,从时钟slave接收master发来的报文,然后根据报文计算主从时钟之间的时间延迟和时间偏差,进而利用时间延迟和时间偏差来纠正本地时间,使主从时钟保持同步[12-15]。其同步过程如图1所示。
图1 IEEE1588v2协议同步过程
这里用Toffset表示主从时钟之间的偏差,用Tdelay12和Tdelay34分别表示发送sync时间同步报文和delay_req延迟请求报文的网络延迟,则
Toffset=[(T2-T1)-(T4-T3)+
(Tdelay12-Tdelay34)]/2。
(1)
假设主从时钟之间的网络延迟是双向对称的,即Tdelay12=Tdelay34,用Tdelay表示主从时钟之间的网络延迟,则
Toffset=[(T2-T1)-(T4-T3)]/2,
(2)
Tdelay=[(T2-T1)+(T4-T3)]/2。
(3)
IEEE1588v2协议虽然相比其他时间同步技术具有很大优势,但也存在如下一些问题[16-18]:
1)同步报文内的时间戳不精确。主时钟master向从时钟slave发送sync时间同步报文时,首先对当前时间取值,此值为T1,然后将T1放入报文内再发送出去,由于对当前时间取值、将时间值放入报文和发送报文均需要耗时,因此报文内的时间戳T1并不是报文的实际发送时间,两者之间的差值会影响同步精度。
2)主从时钟间的双向网络时延不同且不稳定。在上面的公式中,假设主从时钟之间的双向网络时延相等,然而这只是理想情况下的正常推理,在实际网络中不可能存在。目前有些网络电缆采用了非对称设计,不少收发器也采用不对称的发送和接收路径,而且网络负载不均衡、不确定,因而不同方向上的网络延迟一般不同,同一方向的网络延迟也不会一直不变。而上述公式假定它们都是相等的,这自然影响时间同步精度。
3)同步报文丢失导致误差增大。无论是主时钟master还是从时钟slave,都有可能因自身故障、敌方攻击或网络堵塞而导致同步报文丢失。当报文丢失后,从时钟不能正常进行时间校准,不能及时对时间偏差进行纠正,自然也会影响时间同步精度。
1.2IEEE1588v2协议的改进措施
针对这些问题,笔者借鉴前人成果,提出如下改进措施:
1)在报文中增加相应处理时间以进行补偿。主时钟master计算出从T1到报文真实发送时刻之间所有操作所耗费的时间,将该值也放入sync时间同步报文中,从时钟收到报文后再将该值加到T1上即可[19]。假设从T1到报文真实发送时刻之间主时钟master需要取当前时间值、将该值放入报文和发送报文3个操作,对应的耗费时间分别为t1、t2、t3,则耗费总时间为t=t1+t2+t3。因此,公式需要改为
T2-(T1+t)=Toffset+Tdelay12。
(4)
2)通过纠正相应指标来改进双向网络时延不同的问题。双向网络延迟不同对主从时钟之间的偏差具有一定影响。如果对时间偏差进行纠正,则可以提高时间同步精度。由于主从时钟之间时间偏差Toffset的实际测量值和理论计算值不一致,为了提高同步精度,一般对已经取得的大量测量值进行加权平均。但在时间源保持稳定的情况下,主从时钟之间的时间偏差值近似服从正态分布。如果只是对时间偏差进行加权平均求值,当采集的实际测量值不理想时,加权平均值与期望值可能会有偏差,或者主时钟master的源时间发生轻微的时间跳变时,此时对从时钟slave进行调相操作就可能使得从时钟的相位发生位移,从而降低时间同步精度和运行稳定性。因此这里采用方差滤波的方法进行改进[20]。当n个时间偏差的方差D小于某一个阈值Dthreshold时,即
(5)
第n个时间偏差Toffset[n]才被接受,然后进行下一步运算。为了保证算法速度和系统稳定,可根据网络状态调整n的大小,以尽快与主时钟master保持同步。
3)针对同步报文丢失而导致的从时钟无法进行时间校准问题,进行如下设置:在从时钟建立一个计时器,若一定时间内未收到主时钟发来的sync时间同步报文,由计时器来触发时间校准。可以依据之前时间偏差的平均值进行时间校准。
1.3DIPS的同步流程
基于GPS/北斗的时钟同步技术可以有效解决全网时钟同步问题,但GPS/北斗授时信号不稳定,不仅具有随机误差,且易受外界干扰。本地时钟(本地晶振)虽不存在上述问题,但经过长时间运行后容易出现累积误差,需要定期纠正。本文利用GPS/北斗授时具有随机误差但正常条件下误差不累计、高精度晶振没有随机误差但具有累计误差的特点,并充分考虑GPS/北斗授时信号可能被干扰的情况,提出GPS/北斗授时与本地高精度晶振相结合的智能纠偏技术,提供优于二者本身的时钟同步机制,以满足高速跳变对高精度时钟同步的要求。本系统采用上海奇微公司生产的IEEE1588v2 PTPGRAND-1000系列时钟和西安同步电子科技有限公司研发的GPS/北斗双模授时设备。DIPS的具体流程如下:
1)由GPS/北斗授时系统对多个时钟进行授时,协调世界时
UCT=ft(Bi,Ni);
(6)
式中:Ni为一段时间内高精度晶振的计数平均值;Bi为接收到GPS/北斗时钟的i个秒脉冲序列,其误差服从正态分布;并将其中一个设为主时钟,其他几个均为备选主时钟,以便在主时钟不能正常运行时接替主时钟继续提供服务。
2)GPS/北斗授时,系统定期再次进行授时的时候,各(备选)主时钟智能判断GPS/北斗授时信息的有效性,屏蔽信号不稳定或被干扰时对时钟同步的影响。计算当前接收的GPS/北斗时钟i个秒脉冲序列Bi的方差D(Bi)。当D(Bi)≤正常GPS/北斗授时精度要求时,Bi为有效时钟序列,表明当前GPS/北斗时钟脉冲序列未受外部干扰,代入式(6),更新时钟值;否则,重新选取一组GPS/北斗时钟脉冲序列。
3)边界时钟(Boundary Clock,BC)、透明时钟(Transparent Clock,TC)混合组网模式可以有效利用2类时钟的优点,并且可以避免单一种类时钟带来的问题。按照这种方式进行部署,并建立主从时钟层次。在一个时钟域内,普通时钟(Ordinary Clock,OC)和BC的各个端口检查其收到的Announce报文,利用最佳主时钟算法(Best Master Clock Algorithm,BMCA)对报文中的内容进行分析,以此判定各个端口的状态。
4)主时钟master定期(周期为T)向从时钟slave发送sync时间同步报文,slave根据预置阈值1T设置定时器,以便判断主时钟 master 发来的报文是否发生延迟或丢失。
5)在定时器报警,也就是时间阈值到点之前,如果从时钟slave正常收到报文,则使用此报文进行时间校准,复原定时器并重新开始计时,并根据上述公式计算时间偏差。如果之前与主时钟master有过通信记录,则使用历次网络延迟的平均值代替测量值(为了对网络状况保持及时跟踪和提高计算速度,可将历次网络延迟测量值的记录保存次数限定在一个数值,如只保存前100次网络延迟测量值)来进行时间偏差计算,即
(7)
从时钟再根据对历次时间偏差测量值进行方差测量的结果决定是否将该时间偏差值放入历次时间偏差数据库,测量标准为
(8)
式中:Dthreshold为方差阈值。然后执行步骤8)。
7)如果在定时器到点前收到上一个周期对应的同步报文,则可认定报文延时,不予接收处理。
8)从时钟slave用本地当前时间减去计算所得出的时间偏差值,则可得到与主时钟master同步的时间。
由于现有网络设备一般不支持IEEE1588v2协议,本文提出先将一部分关键设备进行升级,使其支持IEEE1588v2协议,之后再根据网络发展状况逐步进行更新换代。整个时间同步系统结构如图2所示。
图2 时间同步系统结构
2 有效性分析
2.1理论分析
由于主时钟master发送的sync时间同步报文内所含的时间戳T1与报文实际发送时间不一致,设两者之间的差值为Δt,则实际的时间偏差为
Toffset-true=T2-Δt-T1-Tdelay34。
(9)
由于本文对此进行了改进,则DIPS技术中的时间偏差为
(10)
而在IEEE1588v2协议中,时间偏差计算公式为
Toffset-1588=T2-T1-Tdelay-1588。
(11)
设同步误差为DIS,则
DIS=Toffset-value-Toffset-tue。
(12)
由此可得
(13)
DIS1588=Δt-Tdelay-1588+Tdelay34。
(14)
在发生报文丢失的情况下,IEEE1588v2协议的主从时延会增大,而本文的改进方法可以通过定时器自动进行校时,用于计算的数值为以往延迟的平均值,则有如下公式:
(15)
IEEE1588v2协议采用硬件打时间戳,相对来说t的大小一般可忽略,则由式(13)、(14)可得
DIS1588>DISDIPS。
(16)
误差越小,同步精度越高,所以本文设计的DIPS同步策略要优于IEEE1588v2协议所描述的同步策略。
2.2实验验证
本文通过如下实验验证了所提方法的有效性。
1)非对称时延改进实验
实验主要是对比非对称时延纠正前后的时间同步精度。为了更形象地展示实验效果,该实验的测试环境如图3所示。
路由器中的调试工具较多,便于进行测试。本实验使用其中的ptp debug命令行工具,在主机上可以直接显示结果。采用ATMEL出品的ARM9260芯片来完成本文所设计的算法,并与路由器相联。主机通过串口服务器登录多个路由器。主从时钟端口在全双工模式下工作,端口间的光纤长度分别为5、14 km。
记主从时钟端口间的传输时延分别为tms和tsm,由于光的传输速度是固定的,则非对称延迟delayasy为
图3 非对称时延纠正实验
(tms-tsm)/2= [(14-5)/(3×108)]/2=
1.5×10-8(s)=15(ns)。
通过对主从时钟端口进行配置后,主从时钟建立主从关系,从时钟对本地时间进行纠正以同步主时钟,纠正过程可通过命令行查看,其中的Correction(s,ns)表示与主时钟的偏移程度,即同步精度,根据是否对IEEE1588v2协议进行改进可得纠正前后的时间同步精度对比,如图4所示。可以看出:经过改进后,同步精度及稳定性明显提高,能够降低对链路对称性的依赖。
图4 非对称时延改进前后同步精度对比图
2)时间同步系统原型实验
分别对DIPS和IEEE1588v2单步模式算法进行了实验测试。主时钟由GPS/北斗授时系统和频率为100 MHz的高精度恒温晶振通过智能纠正算法提供时间, CPU采用由ATMEL出品的ARM9260芯片,用于完成本文所设计的算法,采用ACTEL公司出品的A3P125当作FPGA芯片以便在PHY(物理)层打时间戳。从时钟由频率为100 MHz的高精度恒温晶振时间,并采用A3P125当作FPGA芯片。由3个路由器组成模拟网络,路由器由ARM9260实现本文所设计的同步机制,从时钟根据策略从2个主时钟中优选一个进行同步,主从时钟硬件设计及整个测试环境如图5-7所示。
图5 主时钟设计图
图6 从时钟设计图
图7 DIPS技术的测试环境
连续多次利用示波器比较主从时钟硬件电路的脉冲输出,可以得到主从时钟之间的误差,实验测试结果如图8所示。在网络通畅时,由于增加了处理时间,对主时钟发送sync时间同步报文的时间进行了修正,因此能够缩小主从时钟之间的误差,也验证了本文所做改进的有效性。经过测试验证可知:该同步系统的时间同步精度可以达到10 ns等级,能够实现比较精准的网络同步,而且具有较强的可靠性和环境适应性,达到了预期目标。
图8 IEEE 1588v2改进前后对比图
3 结论
本文通过对IEEE1588v2协议进行改进,提出DIPS同步技术,并通过理论推导和原型实验验证了其优越性。下一步将根据网络堵塞、网络时延抖动等情况,设置不同的复杂场景进行仿真或实验,分析存在的问题,以便进一步改进。
[1] 林楷.端信息跳变的若干关键技术研究[D].天津:南开大学.2013.
[2] JAJODIA S,GHOSH A K,SWARUP V, et al.动态目标防护:为应对赛博威胁构建非对称的不确定性[M].杨林,译.北京:国防工业出版社.2014:2.
[3] LEEH C J, THINGV L L. Port hopping for resilient networks[C]∥IEEE 60th Vehicular Technology Conference(VTC2004-Fall),September 26-29,2004,Los Angeles CA,USA.IEEE:c2004: 3291-3295.
[4] MILLS D L.Internet time synchronization:The network time protocol.Communications[J]. IEEE Transactions on Communications, 1991, 39(10): 1482-1493.
[5] 贺鹏,李菁,吴海涛.网络时间同步算法研究与实现[J].计算机应用,2003(2):15-17.
[6] BADISHI G, HERZBERG A,KEIDAR I.Keeping denial-of-service attackers in the dark[C]∥Proc of the 19th International Symposium on Distributed Computing.Berlin:Springer-Verlag, 2005: 18-32.
[7] BADISHI G, HERZBERG A,KEIDAR I.Keeping denial-of-ser-vice attackers in the dark[J].IEEE Trans on Dependable and Secure Computing,2007, 4(3):191-204.
[8] 石乐义,贾春福,吕述望.基于端信息跳变的主动网络防护研究[J].通信学报,2008,29(2):106-110.
[9] SHI L Y, LI J.Research on timestamp synchronization for network confrontation[C]∥The 6th International Conference on Wireless Communications Networking and Mobile Computing(WiCOM),September 23-25,2010,Chengdu,China.IEEE:c2010:1-4.
[10] LIN K, JIA C F, WENG C.Distributed timestamp synchronization for end hopping[J].China Communications, 2011, 8(4): 164-169.
[11] 刘建成.基于IEEE1558协议的精确时钟同步算法改进[J].电子设计工程,2015,23(4):105-107.
[12] 曾祥君,黎锐烽,李泽文,等.基于IEEE1588的智能变电站时钟同步网络[J].电力科学与技术学报,2011,26(3):3-8.
[13] 黎锐烽,曾祥君,李泽文,等.IEEE1588同步时钟网络时延误差的分析及修正[J].电力系统自动化,2012,36(12):82-87.
[14] 张军,李信,黄源源,等.1588技术在大规模网络环境下的应用方式探讨[J].电信网技术,2015(7):29-33.
[15] 沈瑞武,刘兴铨.基于PTN网的1588时间同步技术及应用研究[J].移动通信,2009,18(2):57-62.
[16] 俞慧春.IEEE1588v2时钟特性和应用方案[J].信息安全与技术,2015(4):44-45,51.
[17] 张大帅.基于IEEE1588协议的光传送网同步技术研究[D].乌鲁木齐:新疆大学.2016.
[18] 张大帅,葛文萍,赵俊飞,等.一种基于IEEE1588协议的同步误差修正算法[J].激光杂志,2014,35(7):46-49,54.
[19] 蔡羽.IEEE1588精密时钟同步协议的研究及其在核心路由器的实现[D].南京:东南大学.2015.
[20] HE Z Y.Automatic asymmetric delay correction for IEEE1588 in TSS-5R [C]∥Alcatel-Lucent 2012 Technical Volume.Shanghai:Alcatel-Lucent,2012:10-11.
(责任编辑: 牛燕平)
ResearchofNetworkHoppingSynchronizationTechnologyBasedonDTSandIEEE1588v2Protocol
WANG Xian-de1, JIA Lian-xing2
(1. The Eighth Department, Defense Information Academy, Wuhan430010, China;2. The Fourth Department, Defense Information Academy, Wuhan430010, China)
According to the actual situation of military information network, we analyze the previous hopping synchronization technologies and learn from Distributed Timestamp Synchronization (DTS) firstly. Then Distributed Improved PTP(Precision Time Protocol) Synchronization(DIPS)technology is proposed to realize the whole network time synchronization using improved IEEE1588v2protocol, and the master clock is intelligently corrected using GPS/Beidou timing system and local high precision crystal oscillator. It not only improves the precision of time, but also the reliability of the system, and can well adapt to the complex and harsh environment of military struggle.
Distributed Timestamp Synchronization(DTS); IEEE1588v2protocol; Distributed Improved PTP(Precision Time Protocol) Synchronization(DIPS); intelligent clock correcting
1672-1497(2017)04-0087-06
2017-05-09
国家重大专项基金资助项目
王贤德(1986-),男,博士研究生。
TN915
:ADOI:10.3969/j.issn.1672-1497.2017.04.017