1、2023 年第 36 卷第 1 期Electronic Sci.Tech./Jan.15,2023https:/journa-收稿日期:2021-06-26基金项目:国家自然科学基金(71840003);上海市自然科学基金(15Z1429300)National Natural Science Foundation of China(71840003);Shang-hai Municipal Natural Science Fund(15Z1429300)作者简介:张宇辉(1996 ),男,硕士研究生。研究方向:分布式实时系统、实时以太网、深度学习。张凤登(1963 ),男,博士,教授。研究方
2、向:汽车电子与现场总线。RTEthernet 中改进的 FTA 时钟同步算法研究张宇辉,张凤登,张海涛(上海理工大学 光电信息与计算机工程学院,上海 200093)摘要针对以太网存在节点时钟漂移、网络链路延迟、同步能力差等问题,文中基于 TEthernet 协议的通信原理,构建了时钟同步系统的模型。文中研究了 TEthernet 的组成、工作原理,考虑了影响实时以太网时钟同步精密度的三大因素:漂移率、网络传输延迟和时钟拜占庭故障,并基于此分析了原始的 FTA 时钟同步算法,发现它在拜占庭故障增多的情况下容错性能明显降低,进而引入“容错中值”的思想进行改进并提出了 TE FTM 算法。通过 CA
3、Noe 仿真平台,对系统(7 个节点)中存在 2 个拜占庭故障与不存在拜占庭故障进行对比分析。结果表明系统的精密度损失率降低了3 1%,并由此验证了该算法的收敛性和有效性。关键词以太网;TEthernet;漂移率;网络传输延迟;时钟拜占庭故障;容错中值;TE FTM;收敛性中图分类号TP393文献标识码A文章编号1007 7820(2023)01 067 08doi:10.16180/ki.issn1007 7820.2023.01.010esearch on Improved FTA Clock Synchronization Algorithm in TEthernetZHANG Yuhu
4、i,ZHANG Fengdeng,ZHANG Haitao(School of Optical Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)AbstractIn view of the problems that node clock drift,network link delay and poor synchronization ability inEthernet,this study constructs a clo
5、ck synchronization system model based on the communication principle of TEth-ernet protocol By studying the composition and working principle of TEthernet,three factors affecting the time syn-chronization precision of real time Ethernet drift rate,network transmission delay and clock Byzantine fault
6、 areconsidered Based on this,the original FTA clock synchronization algorithm is analyzed,and it is found that its faulttolerance performance is obviously reduced when Byzantine faults increase The idea of fault tolerant midpoint is introduced to improve it and TE FTM algorithm is proposed Through t
7、he CANoe simulation platform,two By-zantine faults and no Byzantine faults in the system(seven nodes)are compared and analyzed,and the precision lossrate of the system is reduced by 3 1%,which verifies the convergence and effectiveness of the algorithmKeywordsEthernet;TEthernet;drift rate;network tr
8、ansmission delay;clock for Byzantine failure;fault tol-erant midpoint;TE FTM;convergenceTEthernet(eal Time Ethernet)是新提出的一种实时以太网,该网络能够兼容传统以太网的实时以太网协议,主要应用于工业、车载以太网技术应用。这种实时以太网采用总线拓扑结构,在传统的物理层和数据链路层之上增加了会话层,并使用“通信循环”的概念分时传输实时性消息和非实时性消息。对于时钟同步技术的研究,国外在该领域的起步较早。1978 年,文献 1 较为全面地阐述了时钟同步技术的原理、方法以及时钟同步在分布
9、式系统中的应用。文献 2 以经典的 Lamport 时钟同步算法为基础研究了平均值算法和 Berkeley 算法,且这两种类型算法的核心都是平均技术。文献 3 针对确定全网时钟的问题提出了一种基于平均场的分布式时钟同步方法,该算法将节点间的时钟偏差映射为团势能,然后使用能量函数来描述时钟同步平均场模型。该方法中,时钟同步的核心思想仍基于平均场理论,通过节点间的平均作用来确定全网虚拟时钟基准。目前多数关于分布式时钟同步算法的研究都是针对某一网络进行适应性改进。基于此,本文通过对 TEthernet 协议通信原理及其基础时钟同步算法的研究,考虑最恶劣的拜占庭故障对系统时钟精密度的影响,分析时钟同步
10、的条件和经典时钟同步算法,即容错均值(Fault Tolerant Average,FTA)算法,逐步提出76Electronic Science and Technology张宇辉,等:TEthernet 中改进的 FTA 时钟同步算法研究https:/journa-容错性更高的时钟同步算法。1RTEthernet 基本原理TEthernet 是一种实时以太网,它保留了传统Ethernet 的物理层和数据链路层工作模型,并在此基础上使用了 ISO/OSI 参考模型的第5 层(会话层)进行报文的再封装。TEthernet 网络还引入了“全局时间”的概念,这使得其不仅可以兼容传统以太网,还可以使
11、用时分多路访问(Time Division Multiple Access,TD-MA)的通信方式进行基础报文的传输,从而克服了传统以太网在负载较高时延迟较大的影响,提高了传统以太网的实时性和安全性。1.1体系结构国际 标 准 化 组 织(International Organization forStandardization,ISO)制订的开放式系统互连(OpenSystem Interconnection,OSI)参考模型共分 7 层,从低到高依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层4 5,如图 1 所示。由图 1 可以看出,以太网只定义了 ISO/OSI 体系结
12、构中的最低两层,这主要是因为物理层是用来建立实时传输网络中的物理连接,而数据链路层是用来将数据封装成帧进行传输,以此实现真的顺序控制、差错控制以及流控制等功能,使得不可靠的链路变成可靠的链路,这两者都是必不可少的部分。然而,TEther-net 要做的是在这两层的基础上添加一个协议层,且不改变 Ethernet 的物理层和数据链路层。为此,该协议修改了 OSI/ISO 参考模型的会话层。图 1 ISO/OSI、Ethernet 和 TEthernet 的体系结构Figure 1 Architecture for ISO/OSI、Ethernet and TEthernet1.2工作原理TEth
13、ernet 协议是以确定性定时通信为基础,其通信方法是基于周期性重复的通信循环,因此需要提前建立通信循环和时间窗口的大小。如图 2 所示,本文类比矩阵行和列的方式,将 TEthernet 的整体情况进行展示。图中的矩阵从宏观上展现了 TEthernet 的一般性工作原理。图 2 形象地展示了 TEthernet 的通信原理,其中每个通信循环中包含了静态段、动态段和网络空闲时间段。在实际实现中,循环的个数是一个常数,具体会根据实际应用的需求进行设定。在基本的通信循环中用于报文传输的时间只在动态段和静态段,并且所有要通过该网络进行传输的报文都会被组织成静态段或者动态段的元素。在静态段中进行传输的报
14、文都是周期性的、具有实时性的报文,其元素所处的位置都是固定的,而动态段传输的是随机的、事件触发型报文,其中的元素位置是不固定的。因此,这种通信模式定义了时间窗口与使用该网络进行传输的报文的相关性。图 2 TEthernet 通信原理Figure 2 TEthernet communication principles86张宇辉,等:TEthernet 中改进的 FTA 时钟同步算法研究Electronic Science and Technologyhttps:/journa-2时钟同步分布式系统6 由一组处理器组成,它们通过消息交换进行通信,并且不能访问全局时钟。尽管如此,越来越多的分布式应
15、用程序,例如过程控制应用程序、事务处理应用程序或通信协议,都要求同步时钟能够拥有近似相同的时间视图。在此上下文中,时间意味着实际时间的近似值或简单的整数值计数器。确保物理上分散的处理器有共同的时间知识的算法被称为时钟同步算法。2.1误差来源及时钟故障分类由于分布式系统中的各个节点对于时间的看法各不相同,因此需要对其进行时钟同步。造成这一现象的主要因素是温度和老化,这使得各个节点的硬件时钟的晶振频率发生漂移。在实际应用中,漂移率的量级通常在 106s7。在分布式系统中,节点的故障可以定义为不符合正常行为的表现。节点中的所有组件,例如处理器、时钟、通信的链路等都可能出现故障。对于各个节点的时钟而言
16、,与其相关的故障主要分为 7 类8:其中最著名的是时钟拜占庭故障9(Clock Byzantine Failure)。在分布式系统中,任意节点都可能会存在上述类型的某一种故障或几种故障混合,在这种情况下则称该节点是故障的,否则是无故障的。同时,在本文主要考虑的就是最恶劣情况(拜占庭故障,如图 3 所示)下的两种情况。如果一个时钟同步算法能够使得分布式系统能够容忍上述最恶劣情况下的故障,则表明该算法是有效的。因此,时钟同步算法容错性的重点就体现在系统对拜占庭故障节点的容忍性上。图 3 时钟拜占庭故障Figure 3 The clock Byzantine failure2.2时钟同步的基本表征为了能够有效衡量系统中各个时钟是否达到同步,本文引入了如下衡量指标:时钟偏差(Offset)、精密度(Precision)和准确度(Accuracy)。偏差 为具有相同粒度的两个时钟在同一单位微节拍上的偏差,可用下式表示iab=rMTia()rMTib()(1)式中,iab表示时钟 a、b 在第 i 个微节拍上的时钟偏差;a、b表示时钟编号;i表示微节拍;r(MTia)和r(MTib)分别表示时钟