IEEE1588在混合网络中性能分析
2010-09-13周春福赵新胜
赵 红, 周春福, 张 春, 赵新胜
(①中国电子科技集团公司第二十八研究所,江苏 南京 210006;②东南大学移动通信国家重点实验室,江苏 南京 (210096)
0 引言
由于无线网络具有易于安装和行动自由的特点,目前已成为有线网络扩展应用的方法之一,使得有线无线混合网络的应用日趋广泛,但有线无线混合网络本身存在固有的问题,比如带宽受限、高延迟、较高误码率、用户的移动性等,所以有线无线混合网络将需要更高的时钟同步精度才能够满足系统传输性能的要求。
当前常用的时钟同步技术有全球定位系统(GPS[1])和网络时间协议(NTP)。GPS是当前比较成熟并广泛使用的时间同步技术,在没有卫星干扰信号时 GPS定时精度为50 ns,有卫星干扰信号时GPS的定时精度为500 ns。NTP采用了客户端/服务器结构,具有相当高的灵活性,在无序的因特网环境中提供精确的时间服务,典型的广域网情况下时钟精度为10~100 ms。
当前对在有线无线混合网络场景下 IEEE1588[2]协议的应用研究还处在起步阶段,文献[3]选取了含有确定主时钟的树型网络拓扑结构用于研究IEEE1588在无线分布式测量系统的时钟同步性能,仿真结果如下:当时钟同步稳定后,实时调整后的时钟偏移范围为±10 µs。
但是上述工作是在硬件辅助的基础上完成IEEE1588协议性能研究的。现采用软件仿真方法分析 IEEE1588协议性能。
1 IEEE1588协议在混合网络中的应用
图1描述了一个典型的移动终端接入混合网络的系统模型,针对该模型,实现IEEE1588协议时进行了如下系统设置:
①所有参与同步的时钟都被设置成普通时钟、没有设置边界时钟;
②所有参与同步的时钟都在同一个局域网内,当系统稳定时只有一个时钟会成为主时钟,其它时钟都与这个主时钟进行同步;
③系统中没有设置管理节点,管理节点的作用主要是通过发送Management消息设置或者获取其他时钟的属性[2];
④仿真在Windows操作系统平台上,在TCP/IP协议下使用WinSock2实现通信[4]。
图1 有线无线混合网络系统模型
IEEE1588协议一共定义了九种时钟状态,考虑到实现的简易可行性,故优化了时钟状态转移图,只保留了四种必要的时钟状态,如图2所示。
图2 执行状态转移
当时钟运行程序时,首先初始化本地时钟,然后在系统指定的时间内监听来自主时钟的Sync消息[2]:如果收到Sync消息,则根据最佳主时钟算法(BMC)[2]确定本地时钟状态;如果监听时间内没有收到 Sync消息,则该时钟状态设置为主时钟状态,并且广播发送Sync消息。执行BMC算法目的是计算出每个时钟端口的状态,从而确立网络中最佳主时钟。BMC算法计算过程是由两部分组成:数据集比较算法,通过计算两个相关时钟端口数据集的二进制关系来决定两个时钟端口中哪个端口更好;状态决定算法,由数据集比较算法的结果来决定每个时钟端口的状态[2]。
IEEE1588协议一共定义了四种同步报文消息[5]。首先主时钟广播发送Sync消息,随后发送FollowUp消息,FollowUp消息包含时间戳,该时间戳以发送 Sync消息到通信链路上的主时钟时间为基准。接收到 Sync消息后,从时钟会发送DelayReq消息给主时钟,主时钟接收到这个消息后,将返回DelayResp消息给从时钟,DelayResp消息也含有时间戳,该时间戳是主时钟接收到DelayReq消息的时间。
由IEEE1588协议执行状态转移流程和同步报文传输流程可以获得IEEE1588协议实现执行流程图,如图3所示。
图3 IEEE1588协议实现执行流程
2 影响同步精度的因素分析
在系统中,每个时钟都有一个本地时钟源,由于晶振和时钟定时器分频偏差等原因导致每个时钟运行速度都不一样。假设主时钟时钟速度为mR,从时钟时钟速度为sR,同步间隔周期为TΔ,则每次同步间隔周期内引起的最大偏差为:
假设同步周期间隔为2 s,考虑到一般晶振的精度为100ppm,由式(1)可得在系统运行过程中主从时钟产生的最大时钟偏差为:Δt=2106(µs)×20010-6= 400µs 。
max
3 系统仿真及其结果分析
IEEE1588协议系统仿真时,时钟初始化及其同步报文消息帧设置见文献[2]。
仿真实现过程中,监听时间设置为2 s,Sync消息发送周期设置为2 s,仿真实验数据选取了程序开始运行后60 s内的数据作为仿真结果,原因是当程序运行一段时间后,时钟同步精度将趋于稳定,波动平稳。仿真结果选取了两组数据进行比较。
图4中有线传输1为主时钟,其他为从时钟;图5中无线传输1为主时钟,其他为从时钟。
仿真实验结果分析如下:
①有线传输模式下IEEE1588协议能够实现毫秒级的同步定时精度,而在无线传输模式下只能够达到10 ms的精度;
②从两组时钟偏差统计图可看出,开始的数据有正有负且数值会很大,这说明从时钟在启动同步程序之前与主时钟的时钟不同步,经过程序运行后可达到时钟同步状态;
③虽然该实现模型对同步协议做了简化,但精确时间协议(PTP)所制定的通信以及同步规则在每个时钟节点中都进行了实现,因此该模型能够实现与所有使用IEEE1588协议进行时钟同步的设备通信;
④由于在 VC++仿真平台上采用的是 Getlocaltime函数获得本地时钟[4],无硬件的支持,而 Getlocaltime函数提取的本地时钟的最高精度为毫秒级,因此主从时钟的时间精度最高只能达到毫秒级。
图4 第一组数据-时钟偏差
图5 第二组数据-时钟偏差
4 结语
通过对 IEEE1588协议和仿真结果分析可以看出:IEEE1588协议具有尽量减少资源需求、对内存和 CPU没有特殊要求、工作时只需要很少的带宽和监控、自动选取最佳时钟等特性,在有线无线混合网络场景下具有较低的时钟偏差和波动,能够达到有线无线混合网络对时钟同步的精度要求。而GPS授时由于其成本高昂且维护困难,不适合有线无线混合网络场景下同步定时的使用。而NTP 为了获得优良的性能,必须对网络进行仔细的规划和管理,因此也不符合有线无线混合网络组网方式灵活性和多样性的要求。
[1] 田炳丽,宁春林,丁风雷,等. GPS软件接收机导航电文提取的研究[J].通信技术,2009,42(03):212-215.
[2] Grow R M, Prevost T, Mills S M. IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems[M]. USA: IEEE, 2008.
[3] WANG H J, HUANG J G, SHI Y B. Research on Clock Synchronization of Wireless Distributed Measurement System[M].USA: IEEE,2009.
[4] 任泰明.TCP/IP协议与网络编程[M].西安:西安电子科技大学出版社,2004.
[5] 王璇,杜军.CE/PTN 中时钟同步和实现的一种方法[J]. 通信技术,2009,42(02):88-90.