CN116865897A - 兼容802.1as的tsn网络分布式时间同步方法 - Google Patents
兼容802.1as的tsn网络分布式时间同步方法 Download PDFInfo
- Publication number
- CN116865897A CN116865897A CN202310998387.3A CN202310998387A CN116865897A CN 116865897 A CN116865897 A CN 116865897A CN 202310998387 A CN202310998387 A CN 202310998387A CN 116865897 A CN116865897 A CN 116865897A
- Authority
- CN
- China
- Prior art keywords
- message
- clock
- time synchronization
- state machine
- ftframe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000007711 solidification Methods 0.000 claims abstract description 44
- 230000008023 solidification Effects 0.000 claims abstract description 44
- 238000005259 measurement Methods 0.000 claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000001514 detection method Methods 0.000 claims abstract description 10
- 230000005856 abnormality Effects 0.000 claims abstract description 7
- 241000465502 Tobacco latent virus Species 0.000 claims description 17
- 230000011664 signaling Effects 0.000 claims description 13
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000010187 selection method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了兼容802.1AS的TSN网络分布式时间同步方法,涉及时钟同步技术领域,解决了802.1AS主从式时间同步方法依赖主时钟,风险较大的问题,其技术方案要点是:透传标准8021.AS状态机发出的链路测量报文和信号报文,完成链路测量和PTP协商;接收并丢弃标准8021.AS状态机广播发送的announce报文和sync报文,在其基础上增加TLV字段生成FTframe报文;接收其他设备发送的FTframe报文,进行固化;执行端口选择操作,选出最优固化点集合,通过最优固化点集合以及异常检测算法判断DAS状态机的状态,根据容错时间同步算法计算时钟值,实现兼容802.1AS协议的分布式时钟同步。
Description
技术领域
本发明涉及时钟同步技术领域,更具体地说,它涉及兼容802.1AS的TSN网络分布式时间同步方法。
背景技术
随着计算机网络和各种新技术得发展与应用,很多行业应用需要毫秒级甚至更低得确定性网络连接。而传统以太网由于其尽力而为的特性逐渐难以满足这些业务的QoS需求。为了满足确定有界且低时延得传输需求,IEEE802.1建立了TSN子任务组,用于提供一套开源、可以承载高可靠、低时延、低抖动且具有高互操作性的TSN协议族。TSN是基于以太网的拓展协议,全称是Time Sensitive Network,包含IEEE802.1AS/IEEE1588,IEEE802.1Qbv,IEEE802.1Qci,IEEE802.1CB等标准。目前TSN协议已在车载网络、航电网络、工业网络以及电信网络等多方面获得了广泛关注。
时钟同步是TSN关键技术之一,结合TSN的应用场景时钟同步具有重要意义:从应用的角度来说,从传感器数据融合到动作器,数据在不同的子网络之间交换,这些子网络应具有时间相关性;对于一些反馈控制回路,需要提供亚微秒级的时间精度;此外,最重要的是利用全局一致时间视图,便于对时间关键业务的时延进行限制。从故障诊断角度来说,对网络中的关键流量加以时间标记,并且形成一致的时钟视图有助于重建事务顺序并辅助故障诊断;对于分布式场景,一致的时钟视图可以简化超时机制。从其他协议的角度来说,时间同步机制是Qbv、Qch以及Qci协议正常运行的基础。可见,保证TSN时间同步的可靠性是至关重要的,亟需为TSN提供时钟同步方案。
发明专利CN115473602A中公开了一种基于TSN的星间和星内一体化通信的时间同步方法,能够在星间星内实现一种时间敏感网络协议,实现星间和星内数据通信的时间同步。该方案本质上属于主从时间同步方案,采用单一时钟树的方法容易受到时间同步失效的影响。
发明专利CN113411153A中公开了一种用于时间敏感网络的集中式控制时间同步方法,能够更加灵活简单的实现网络实现同步。该方案本质上还是属于主从时间同步方案,并且集中控制器的设计复杂,容易成为瓶颈点。
发明专利CN112260791A中公开了一种改进的时钟同步超主时钟热备份方法,该方法在原有热备份时钟思想的基础上,通过一种新的子域划分和冗余超主时钟选取的办法,对时间同步网络内发生的异常进行快速甄别和处理。该方案本质上还是属于主从时间同步方案,并且子域的划分,以及用于判断子域时间同步情况的阈值设置和计算方法都需要精心设计,并且无法容忍拜占庭失效场景。
有基于此,本发明提出了兼容802.1AS的TSN网络分布式时间同步方法,兼容现有TSN标准所用的时间同步协议及IEEE802.1 AS协议,解决上述问题。
发明内容
本申请的目的是提供兼容802.1AS的TSN网络分布式时间同步方法,解决802.1AS主从式时间同步方法依赖主时钟,风险较大的问题。
本申请的上述技术目的是通过以下技术方案得以实现的:包括:
S1、透传标准8021.AS状态机发出的Pdelay链路测量报文和signaling信号报文,完成链路测量和PTP协商;
S2、接收并丢弃标准8021.AS状态机广播发送的announce报文和sync报文,在announce报文和sync报文的基础上增加TLV字段重组生成FTframe报文,并广播发送;
S3、接收其他节点设备发送的FTframe报文,对所述FTframe报文进行固化;
S4、执行端口选择操作,从端口中选出最优固化点集合,通过最优固化点集合以及异常检测算法判断DAS状态机的状态,根据容错时间同步算法计算时钟值,根据所述时钟值完成DAS状态机和标准8021.AS状态机的时钟同步。
采用上述技术方案,通过在原有802.1AS帧格式的基础上增加TLV字段,实现兼容IEEE802.1AS协议的分布式时钟同步算法;基于端口选择操作选举出的结构结合容错时间同步算法实现时钟值计算,进而实现自身时钟和IEEE802.1AS时钟的分布式时间同步,本方法计算出的时钟值不再依赖于某个主节点或者某棵时间同步树。
在一种可能的实施方式中,所述FTframe报文的帧格式为:802.1AS-Head、802.1AS-Payload、FTAS-tlv和Other TLV,所述FTAS-tlvA包含FT-tag、FT-len、devid、seqid、resdur和sync cycle。
在一种可能的实施方式中,对所述FTframe报文进行固化,包括:接收到FTframe报文后静默一段固化延时到达固化点,所述固化点为接收时刻加上固化延时所到达的时刻,所述固化延时为发送端到接收端的最差到达时间估计与FTframe报文实际在网络中经历的时延之差。
在一种可能的实施方式中,执行端口选择操作,从端口中选出最优固化点集合,包括:
将端口收集到的FTframe数据帧根据synccycle数值的不同划分为多个集合,并统计各个集合内的固化点个数;
根据synccycle数值的大小以及集合中固化点的数量选择出端口最优固化点集合portbestpermset;
统计各个端口的最优固化点集合portbestpermset,根据synccycle数值的大小以及集合中固化点的数量选择出整个设备的最优固化点集合bestpermset。
在一种可能的实施方式中,根据容错时间同步算法计算时钟值,包括:通过时钟值读取函数读取位于接收窗口内的时钟值,根据时钟值收敛函数计算时钟值。
在一种可能的实施方式中,所述时钟值收敛函数采用中位值平均算法:
其中,Xp代表设备p收到的时钟值集合,假定该集合各元素按照从小到大排序;函数Midk(X)含义为从集合X中丢弃较高的k个值以及较低的k个值;|Midk(X)|代表集合X经过Midk(X)运算后元素个数。
在一种可能的实施方式中,DAS状态机的时钟同步,包括:
当DAS状态机处于异步状态,根据时钟值对本地时钟进行授时;
当DAS状态机处于同步状态,根据时钟值对本地时钟进行维持。
在一种可能的实施方式中,标准8021.AS状态机的时钟同步,包括:
将包含时钟值信息的FT报文发送至标准8021.AS状态机的0号端口,实现授时。
在一种可能的实施方式中,在步骤S2中,广播发送FTframe报文时,如与透传Pdelay链路测量报文、signaling报文冲突,则执行输出仲裁,确定输出。
在一种可能的实施方式中,在步骤S3中,还包括执行网络破环算法实现环状网络的监测与破环。
与现有技术相比,本申请提供的兼容802.1AS的TSN网络分布式时间同步方法,通过在原有802.1AS帧格式的基础上增加TLV字段,实现兼容IEEE802.1AS协议的分布式时钟同步算法;基于端口选择操作选举出的结构结合容错时间同步算法实现时钟值计算,进而实现自身时钟和IEEE802.1AS时钟的分布式时间同步。本方法计算出的时钟值不再依赖于某个主节点或者某棵时间同步树。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明提供的兼容802.1AS的TSN网络分布式时间同步方法的流程示意图;
图2为本发明提供的本方法与IEEE802.1AS的协议关系图;
图3为本发明提供的FTframe报文的帧格式;
图4为本发明提供的固化示意图;
图5为本发明提供的端口选择方法示意图;
图6为本发明提供的网络破环方法示意图;
图7为本发明提供的IEEE802.1AS同步原理与本方法同步原理的比较示意图;
图8为本发明提供的实施结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本申请作进一步的详细说明,本申请的示意性实施方式及其说明仅用于解释本申请,并不作为对本申请的限定。
首先,对本文中涉及到的部分术语进行解释:
时间敏感网络(Time-Sensitive Network,TSN):是IEEE802.1TSN工作组开发的一系列数据链路层协议规范的统称,用于指导和开发低延迟、低抖动,并具有传输时间确定性的以太网局域网,是传统以太网在汽车等特定应用环境下的增强功能实现。
异常检测算法,是指在每次同步过程中,为每个设备的每个端口打开一个窗口,正常工作的设备会在这个窗口内接收到来自其他设备的FTframe数据帧,如果当设备没有从自身某一个端口的窗内接收到FTframe数据帧,或者仅接收了少量FTframe数据帧,即认为检测出了异常。
目前,IEEE802.1AS主要采用主从式的时间同步方法,受主时钟影响较大。因此本发明提供一种分布式时间同步方法,具体而言是提供一种兼容802.1AS的TSN网络分布式时间同步方法。
该方法可以视作为IEEE802.1AS协议塑造了一个容错时间同步层,并在此基础上为容错时间同步层设计了分布式时间同步算法(DAS:Distributed-IEEE802.1ASAlgorithm),该分布式时间同步算法的具体过程是本方法的核心。基于分布式时间同步算法使得时间值的选择,不再依赖于某个主节点或者某棵时间同步树。
请参见图1所示,图1为兼容802.1AS的TSN网络分布式时间同步方法的流程示意图。
方法包括:
S1、透传标准8021.AS状态机发出的Pdelay链路测量报文和signaling报文,完成链路测量和PTP协商;
S2、接收并丢弃标准8021.AS状态机广播发送的announce报文和sync报文,在announce报文和sync报文的基础上增加TLV字段重组生成FTframe报文,并广播发送;
S3、接收其他节点设备发送的FTframe报文,对所述FTframe报文进行固化;
S4、执行端口选择操作,从端口中选出最优固化点集合,通过最优固化点集合以及异常检测算法判断DAS状态机的状态,根据容错时间同步算法计算时钟值,根据所述时钟值完成DAS状态机和标准8021.AS状态机的时钟同步。
具体的,请参见图2所示,图2为本方法与IEEE802.1AS的协议关系图。图中包含标准802.1AS状态机和容错时间同步层FTLayer,本方法由FTLayer执行。FTLayer包含:输入单元、DAS状态机和输出单元。标准802.1AS状态机发出的报文类型有:Pdelay链路测量报文、signaling信号报文、announce报文、sync报文和FollowUp报文等。
步骤S1中,对标准8021.AS状态机发出的Pdelay链路测量报文和signaling信号报文采用透传策略,透传策略是指对Pdelay链路测量报文和signaling信号报文不做处理,直接传出/传入,由Pdelay链路测量报文完成链路测量,由signaling信号报文完成PTP协商。
步骤S2中,FTLayer对标准8021.AS状态机广播发送的announce报文和sync报文(在采用两步法进行时钟同步时还包括followUp报文)进行接收,但不直接使用,而是运行DAS状态机对其帧格式进行改变,在原有字段的基础上增加自定义的TLV字段,生成FTframe报文。FTframe报文包括与announce报文、sync报文、followUp报文对应的FTan报文、FTsync报文以及FTfollowUp报文。
可以理解的是,本方法由于采用在原有报文的基础上增加TLV字段重组生成FTframe报文,使得该帧格式既能兼容IEEE802.1AS协议,被标准802.1AS状态机接收,又能满足DAS状态机运算的需求,以便于实现兼容802.1AS的TSN网络分布式时间同步。
在一些可能的实现方式中,所述FTframe报文的帧格式为:802.1AS-Head、802.1AS-Payload、FTAS-tlv和Other TLV,所述FTAS-tlv包含FT-tag、FT-len、devid、seqid、resdur和sync cycle。
具体的,请参见图3所示,图3为FTframe报文的帧格式。FTframe报文保留8021.AS的帧头和8021.AS的有效载荷,并在此基础上增加TLV字段,TLV字段可以根据需要进行自定义。本方法中TLV字段包括FTAS-tlv和Other TLV,FTAS-tlv包含了本方法执行分布式时间同步算法所需的信息,Other TLV可以用于拓展其他内容。在本方法中定义FTframe报文中FT-tag为0x41。
步骤S3中,通过FTLayer的输入单元接收来自其他节点设备的FTframe报文,完成FTframe的识别与固化操作,收集并存储这些FTframe的固化点。固化后的报文在时刻上达到初步的一致,可以减少端与端之间由于传输延迟不一致导致的对时钟同步的影响。
在一些可能的实现方式中,对所述FTframe报文进行固化,包括:接收到FTframe报文后静默一段固化延时到达固化点,所述固化点为接收时刻加上固化延时所到达的时刻,所述固化延时为发送端到接收端的最差到达时间估计与FTframe报文实际在网络中经历的时延之差。
具体的,请参见图4所示,图4为固化示意图。FTLayer在接收到FTframe数据帧后并不立刻使用该接收时刻,而是在接收时刻的基础上等待一段延时。这段延时时间称为固化延时permdelay,其计算方法为:
permdelay=dmax-ttlinkdelay
其中,dmax为预先定义好的发送端到接收端的最差到达时间估计;ttlinkdelay为数据帧实际在网络中经历的时延。
以图4为例,令N1-SW的路径延时为d1,SW-N2的路径延时为d2,在t2、t3时刻分别收到N1发送的报文后,SW与N2分别延时(dmax-d1)与(dmax-d2),理想情况下,延时结束后SW与N2会同时到达t4时刻,在该时刻达成初步的一致。
步骤S4中,FTLayer运行DAS状态机执行端口选择操作,选出最优固化点集合;接着根据异常检测算法对DAS状态机的状态进行判断;最后运行容错时间同步算法完成时钟值的计算,实现DAS状态机和标准8021.AS状态机的时钟同步。
在一些可能的实现方式中,执行端口选择操作,从端口中选出最优固化点集合,包括:
A、将端口收集到的FTframe数据帧根据synccycle数值的不同划分为多个集合,并统计各个集合内的固化点个数;
B、根据synccycle数值的大小以及集合中固化点的数量选择出端口最优固化点集合portbestpermset;
C、统计各个端口的最优固化点集合portbestpermset,根据synccycle数值的大小以及集合中固化点的数量选择出整个设备的最优固化点集合bestpermset。
具体的,请参见图5所示,图5为端口选择方法示意图。端口选择操作的目的是选择出整个设备固化时间最新(即synccycle数值最大)、固化点数量最多(FTframe数据帧数量最多)的集合。端口选择时,先从端口内的多个集合中选择出端口最优固化点集合,再基于各个端口的端口最优固化点集合选择出整个设备的最优固化点集合。为了便于理解端口选择操作,下面举例说明。
例如,各个端口可能会收集到很多帧,这些帧中的synccycle字段可能不尽相同。举个例子,对于端口1来说,可能会收到很多FTframe数据帧,这些FTframe数据帧中的synccycle字段可能等于1、2、3。那么对于端口1来说,可以得到三个集合:
Synccycle=1的集合{frame1、frame2、frame3}
Synccycle=2的集合{frame4、frame5}
Synccycle=3的集合{frame6、frame7、frame8}
下面先从端口1的这三个集合中选出一个集合作为所谓的portbestpermset即,端口最佳集合。选择依据是根据Synccycle数值的大小以及集合中帧的数量。显然,
portbestpermset=Synccycle=3的集合{frame6、frame7、frame8}
portbestSynccycle=Synccycle=3
现在选出了端口1的portbestpermset和portbestSynccycle。每个端口都可以选择出各自的portbestpermset和portbestSynccycle。那么就需要从这些端口中选择出设备的bestpermset和bestSynccycle。假设对于端口1和端口2:
port1bestpermset=Synccycle=3的集合{frame6、frame7、frame8}
port2bestpermset=Synccycle=4的集合{frame9、frame10、frame11、frame11}
要从上述两个端口得到的端口集合中,再选出设备的bestpermset和bestSynccycle,选择依据依然是根据Synccycle数值的大小以及集合中固化点的数量,则,显然端口2的集合中帧数量多,且synccycle值要更大:
bestpermset=port2bestpermset
bestSynccycle=Synccycle=4
最终选择出整个设备的最优固化点集合bestpermset。
通过最优固化点集合以及异常检测算法判断DAS状态机的状态,是指通过异常检测算法在每次同步过程中,为每个设备的每个端口打开一个接收窗口,通过接收窗口接收来自其他设备的FTframe数据帧。接收窗口具有一个接收阈值,分析最优固化点集合内的固化点数量是否大于该接收窗口的接收阈值,即可获得DAS状态机的状态。如最优固化点集合内的固化点数量大于该接收窗口的接收阈值,则表示DAS状态机处于同步状态,如小于则表示DAS状态机处于异步状态。
在一些可能的实现方式中,根据容错时间同步算法计算时钟值,包括:通过时钟值读取函数读取位于接收窗口内的时钟值,根据时钟值收敛函数计算时钟值。
所述时钟值收敛函数采用中位值计算:
其中,Xp代表设备p收到的时钟值集合,假定该集合各元素按照从小到大排序;函数Midk(X)含义为从集合X中丢弃较高的k个值以及较低的k个值;|Midk(X)|代表集合X经过Midk(X)运算后元素个数。
需要说明的是,时钟值收敛函数还可以采用平均值进行计算。
最后,根据所述时钟值完成DAS状态机和标准8021.AS状态机的时钟同步。对于DAS状态机的时钟同步而言,当DAS状态机处于异步状态,根据时钟值对本地时钟进行授时;当DAS状态机处于同步状态,根据时钟值对本地时钟进行维持。对于标准8021.AS状态机的时钟同步而言,则是将包含时钟值信息的FTframe报文发送至标准8021.AS状态机的0号端口,实现授时。
另外,作为对本方法的改进,在步骤S2中,广播发送FTframe报文时,如与透传Pdelay链路测量报文、signaling报文冲突,则执行输出仲裁,确定输出。请参见图2所示。输出仲裁可以通过设置优先级的方式实现。避免了不同报文经同一端口输出时的冲突。
作为对本方法的另一方面改进,在步骤S3中,还包括执行网络破环算法实现环状网络的监测与破环。请参见图6所示,图6为网络破环方法示意图。本文采用的网络破环算法为,每台设备维护一张devid-seqid表,当接收到报文后,就更新对应devid的seqid表项,如果发现当前帧devid对应的seqid与表中重复,则丢弃掉该帧,如不存在重复,则进行转发广播。避免了环状网络可能出现的广播风暴。
需要说明的是,为了兼容标准802.1AS状态机,本方法可以提前手动指定哪些端口与标准802.1AS状态机直连,针对这些端口可选的使用一步同步或者两步同步模式。为了减少失效场景,推荐采用一步同步模式。
可以理解的是,本方法提供的兼容802.1AS的TSN网络分布式时间同步方法,通过在原有802.1AS帧格式的基础上增加TLV字段,实现兼容IEEE802.1AS协议的分布式时钟同步算法;基于端口选择操作选举出的结构结合容错时间同步算法实现时钟值计算,进而实现自身时钟和IEEE802.1AS时钟的分布式时间同步。本方法计算出的时钟值不再依赖于某个主节点或者某棵时间同步树。本方法采用异常检测算法对状态机的状态进行实时监测,以便及时发现并抑制潜在的时间同步失效。本方法考虑了从系统上电到系统稳定同步过程中经历的冷启动阶段、集成阶段以及稳定同步阶段。
为了进一步说明本方法提供的分布式时间同步方法相较于传统IEEE802.1AS主从式时间同步方法的优势,下面对两者的原理进行说明。请参见图7所示,图7为IEEE802.1AS同步原理与本方法同步原理的比较示意图。请参见图7(a)所示,图7(a)为IEEE 802.1AS同步原理图。图中GM为主时钟,sw0、sw1为交换机,N2、N3为主机节点。IEEE 802.1AS工作流程包括:1、利用BMCA(BestMaster clock Algorithm,最佳主时钟算法),通过交互announce报文,各个设备完成自身端口角色的选举,整个网络形成一棵时钟树;2、同时通过交换Pdelay相关报文,相邻设备完成链路时延与频率偏移测量;3、主节点利用Sync报文,按照选举出的时钟树,对各个设备进行周期性同步;4、当设备检测到例如announce报文接收超时、Sync报文接收超时等失效,并且累积次数超过阈值后,设备会重新选举各个端口的角色。
图7(a)中的蓝色虚线及箭头代表IEEE 802.1AS利用BMCA形成的时钟树和sync报文的流向,可以看出,用于同步的sync报文是沿着时钟树自上游至下游单向流动的,并且报文内含有用于同步的时间值。当设备接收到来自时钟树上游设备的sync报文,提取出报文内含有的时间值信息,根据IEEE 802.1AS所规定的计算方法对时间值进行计算,将计算后的时间值用于更新自身的本地时钟,完成了对自身的同步。
本方法实现时间同步的原理为。请参见图7(b)所示,图7(b)为本方法同步原理图。本方法工作流程包括:1、丢弃来自标准8021.AS的同步、BMCA相关报文,转而由DAS自身产生,透传Pdelay链路测量报文、signaling信号报文,完成自身链路测量和PTP协商;2、按照一定周期生成并广播FTsync报文和FTan报文;3、收到来自其他节点的FTsync和FTan报文后对上述报文进行固化;4、执行端口选择操作,根据固化结果监测DAS状态机的状态,并根据计算出的时钟值矫正自身时钟。
图1(b)中的蓝色和黄色实线及箭头代表了两条终端节点相同,但是途径节点、链路均互斥的通道。由于DAS算法采用了广播的机制,可以看出报文在节点与交换机之间是双向流动的,任意一个节点都能收到网络内其余节点所发送的报文,绿色虚线及箭头代表的虚链路形象地说明了这种机制。以N3节点为例,N3在接收窗口内完成了两个通道的帧的接收和固化,根据端口选择算法在两个通道中选出最优固化点集合,利用最优固化点集合根据异常检测算法对设备同步状态进行判断,最后运行容错时间同步算法完成时钟值的计算,利用0号端口更新自身的本地时钟值。
可以理解的是,本方法提供的分布式时间同步方法优势在于:1、相较于IEEE802.1AS时间同步方案,降低了主节点失效、网络重选举对时间同步精度的影响;2、相较于背景技术中提到的集中式同步方案,降低了单一时间同步控制器失效对网络时间同步造成的影响;3、相较于背景技术中提到的多时钟域方案其实现成本较低,不需要在每个设备上为多棵时钟树分别运行802.1AS协议实体;4、本方法的分布式时间同步方案可以容忍拜占庭失效;5、此外,由于交互流程和交互的帧格式与IEEE802.1AS一致,本方案在一定程度上兼容IEEE802.1AS协议。
上述内容详细地说明了本发明提供的兼容802.1AS的TSN网络分布式时间同步方法。下面提供具体的实施结构,用于实现上述方法。
请参见图8所示,图8为实施结构图。包括分布式时间同步单元(FT_AS_layer)、和标准AS协议单元(Standard AS layer)。分布式时间同步单元用于执行上述的兼容802.1AS的TSN网络分布式时间同步方法。
分布式时间同步单元主要由面向标准AS协议单元一侧的输入处理模块(ingress_as),面向链路一侧的输入处理模块(ingress_link)、破环处理模块(break_loop)、固化预处理模块(pm_pre_func)、固化模块(pm_func)、DAS状态机模块(DAS_FSM)、帧生成模块(FT_frame_gen)、本地时钟生成模块(local_clk_gen)和交换平面模块(switch_plane)构成。
A、分布式时间同步单元在面向标准AS协议单元一侧的交互流程如下:
步骤1:标准AS帧识别和透传处理
步骤1.1:面向标准AS协议一侧的输入处理模块(ingress_as)丢弃来自标准AS协议单元产生的announce报文、sync报文和followup报文,将pdelay报文和signaling报文输出至交换平面模块(switch_plane),交换平面将报文传输至链路上。
步骤1.2:面向链路一侧的输入处理模块(ingress_link)将来自链路上的pdelay报文和signaling报文输出至交换平面模块(switch_plane),交换平面将该报文输出至标准AS协议单元。
步骤2:0号端口授时处理
交换平面模块(switch_plane)将利用0号端口,实现对标准AS同步单元的授时。
B、分布式时间同步单元在面向链路一侧的交互流程如下:
步骤1:面向链路侧输入处理
面向链路一侧的输入处理模块(ingress_link)识别来自链路上的FTsync报文和FTan报文,提取报文内的TLV信息字段。
步骤1.1:破环和广播处理
完成devid和seqid字段的提取后,向破环处理模块(break_loop)发送帧冗余查询请求,破环处理模块返回查询结果后,若已接收过该报文,则将该报文丢弃并且不产生该报文的固化点和描述符信息;若没有接收过该报文,则在破环处理模块记录该报文的id字段,将该报文传输至交换平面模块(switch_plane),交换平面将该报文在链路上进行广播,同时允许产生固化点和描述符信息。
步骤1.2:生成固化点和描述符
完成resdur和synccycle字段的提取和破环处理后,根据链路最大传输时延利用固化算法计算得到该报文对应的固化点,并将接收该报文的端口号,该报文的type字段和synccycle字段组成描述符与固化点一起向固化预处理模块(pm_pre_func)传递。
步骤2:固化预处理
固化预处理模块(pm_pre_func)缓存来自各个链路输入处理模块(ingress_link)的固化点和描述符信息,通过轮询仲裁的方式依次将固化点和描述符信息串行输出至固化模块(pm_func)。
步骤3:固化处理
固化模块(pm_func)缓存输入的固化点和描述符信息,至固化点时刻时完成固化,根据描述符内的type字段判断当前完成固化操作的报文是announce报文或sync报文,并根据该报文类型生成对应的recv接收信号,该信号与描述符内的端口号和synccycle字段共同输出至DAS状态机模块(DAS_FSM)。
步骤4:状态机处理
DAS状态机模块(DAS_FSM)运行DAS算法,根据步骤3产生的输入实现或维持节点之间的同步。
步骤4.1:本地时钟修正
在非同步状态下,根据DAS算法得到的时钟值赋值给本地时钟生成模块(local_clk_gen)内维护的本地时钟,实现同步。
在同步状态下,根据DAS算法得到的容错时间同步矫正值对本地时钟生成模块(local_clk_gen)内维护的本地时钟进行修正。
步骤4.2:DAS报文生成和广播处理
根据DAS算法输出帧产生信号至帧生成模块(FT_frame_gen),帧生成模块产生特定类型的DAS报文,将该报文传输至交换平面模块(switch_plane),交换平面将该报文在链路上进行广播。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.兼容802.1AS的TSN网络分布式时间同步方法,其特征在于,包括:
S1、透传标准8021.AS状态机发出的Pdelay链路测量报文和signaling信号报文,完成链路测量和PTP协商;
S2、接收并丢弃标准8021.AS状态机广播发送的announce报文和sync报文,在announce报文和sync报文的基础上增加TLV字段重组生成FTframe报文,并广播发送;
S3、接收其他节点设备发送的FTframe报文,对所述FTframe报文进行固化;
S4、执行端口选择操作,从端口中选出最优固化点集合,通过最优固化点集合以及异常检测算法判断DAS状态机的状态,根据容错时间同步算法计算时钟值,根据所述时钟值完成DAS状态机和标准8021.AS状态机的时钟同步。
2.根据权利要求1所述的兼容802.1AS的TSN网络分布式时间同步方法,其特征在于,所述FTframe报文的帧格式为:802.1AS-Head、802.1AS-Payload、FTAS-tlv和Other TLV,所述FTAS-tlvA包含FT-tag、FT-len、devid、seqid、resdur和sync cycle。
3.根据权利要求1所述的兼容802.1AS的TSN网络分布式时间同步方法,其特征在于,对所述FTframe报文进行固化,包括:接收到FTframe报文后静默一段固化延时到达固化点,所述固化点为接收时刻加上固化延时所到达的时刻,所述固化延时为发送端到接收端的最差到达时间估计与FTframe报文实际在网络中经历的时延之差。
4.根据权利要求1所述的兼容802.1AS的TSN网络分布式时间同步方法,其特征在于,执行端口选择操作,从端口中选出最优固化点集合,包括:
将端口收集到的FTframe数据帧根据synccycle数值的不同划分为多个集合,并统计各个集合内的固化点个数;
根据synccycle数值的大小以及集合中固化点的数量选择出端口最优固化点集合portbestpermset;
统计各个端口的最优固化点集合portbestpermset,根据synccycle数值的大小以及集合中固化点的数量选择出整个设备的最优固化点集合bestpermset。
5.根据权利要求1所述的兼容802.1AS的TSN网络分布式时间同步方法,其特征在于,根据容错时间同步算法计算时钟值,包括:通过时钟值读取函数读取位于接收窗口内的时钟值,根据时钟值收敛函数计算时钟值。
6.根据权利要求5所述的兼容802.1AS的TSN网络分布式时间同步方法,其特征在于,所述时钟值收敛函数采用中位值平均算法:
其中,Xp代表设备p收到的时钟值集合,假定该集合各元素按照从小到大排序;函数Midk(X)含义为从集合X中丢弃较高的k个值以及较低的k个值;|Midk(X)|代表集合X经过Midk(X)运算后元素个数。
7.根据权利要求1所述的兼容802.1AS的TSN网络分布式时间同步方法,其特征在于,DAS状态机的时钟同步,包括:
当DAS状态机处于异步状态,根据时钟值对本地时钟进行授时;
当DAS状态机处于同步状态,根据时钟值对本地时钟进行维持。
8.根据权利要求1所述的兼容802.1AS的TSN网络分布式时间同步方法,其特征在于,标准8021.AS状态机的时钟同步,包括:
将包含时钟值信息的FT报文发送至标准8021.AS状态机的0号端口,实现授时。
9.根据权利要求1所述的兼容802.1AS的TSN网络分布式时间同步方法,其特征在于,在步骤S2中,广播发送FTframe报文时,如与透传Pdelay链路测量报文、signaling报文冲突,则执行输出仲裁,确定输出。
10.根据权利要求1所述的兼容802.1AS的TSN网络分布式时间同步方法,其特征在于,在步骤S3中,还包括执行网络破环算法实现环状网络的监测与破环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310998387.3A CN116865897A (zh) | 2023-08-09 | 2023-08-09 | 兼容802.1as的tsn网络分布式时间同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310998387.3A CN116865897A (zh) | 2023-08-09 | 2023-08-09 | 兼容802.1as的tsn网络分布式时间同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116865897A true CN116865897A (zh) | 2023-10-10 |
Family
ID=88236063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310998387.3A Pending CN116865897A (zh) | 2023-08-09 | 2023-08-09 | 兼容802.1as的tsn网络分布式时间同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116865897A (zh) |
-
2023
- 2023-08-09 CN CN202310998387.3A patent/CN116865897A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bello et al. | A perspective on IEEE time-sensitive networking for industrial communication and automation systems | |
EP3016306B1 (en) | Method and apparatus for providing in-vehicle network time synchronization using redundant grandmaster | |
JP5370870B2 (ja) | 分散形コンピュータネットワーク内のローカルクロックに同期させるための方法 | |
US20160197719A1 (en) | Time Synchronization Method and Device | |
Garner et al. | Synchronization of audio/video bridging networks using IEEE 802.1 AS | |
US9485045B2 (en) | Communication control equipment | |
CN104022906A (zh) | 用于弹性无线分组通信的系统和方法 | |
Kerö et al. | Performance and reliability aspects of clock synchronization techniques for industrial automation | |
CN104170291A (zh) | 用于处理精确时间协议的方法和网络节点 | |
EP3903454A2 (en) | A tsn enabled controller | |
Zeng et al. | Time-slotted software-defined Industrial Ethernet for real-time Quality of Service in Industry 4.0 | |
Mildner | Time sensitive networking for wireless networks-a state of the art analysis | |
CN105978652B (zh) | 冗余以太网的同步对时设备、系统及方法 | |
US8463945B2 (en) | Method for synchronizing local clocks in a distributed computer network | |
Striffler et al. | Time-sensitive networking in 5th generation cellular networks-current state and open topics | |
Pahlevan et al. | Evaluation of tsn dynamic configuration model for safety-critical applications | |
JP5266705B2 (ja) | 通信システム | |
CN108631899A (zh) | 基于时间触发以太网络中的数据包转发与容错方法及装置 | |
CN114070448B (zh) | 一种基于多属性决策的主时钟选取方法 | |
WO2012000374A1 (zh) | 接口业务集中处理方法和系统 | |
Simanic et al. | Compensation of asymmetrical latency for ethernet clock synchronization | |
CN112688812B (zh) | 应用于电力数据传输的可靠性感知时间敏感网络路由方法 | |
JP2001358766A (ja) | パケット通信システム、パケット通信方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN116865897A (zh) | 兼容802.1as的tsn网络分布式时间同步方法 | |
US20100158002A1 (en) | Communication system, node, terminal, program and communication method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |