CN116208289B - 基于白盒交换机的时间同步方法、装置及电子设备 - Google Patents
基于白盒交换机的时间同步方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116208289B CN116208289B CN202310474451.8A CN202310474451A CN116208289B CN 116208289 B CN116208289 B CN 116208289B CN 202310474451 A CN202310474451 A CN 202310474451A CN 116208289 B CN116208289 B CN 116208289B
- Authority
- CN
- China
- Prior art keywords
- time
- switch
- data packet
- time stamp
- response
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000012545 processing Methods 0.000 claims abstract description 56
- 230000001360 synchronised effect Effects 0.000 claims abstract description 48
- 230000004044 response Effects 0.000 claims description 135
- 230000005540 biological transmission Effects 0.000 claims description 84
- 238000004458 analytical method Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101000738734 Drosophila melanogaster Tyrosine-protein phosphatase 69D Proteins 0.000 description 1
- 101000761740 Homo sapiens Ubiquitin/ISG15-conjugating enzyme E2 L6 Proteins 0.000 description 1
- 108700009949 PTP protocol Proteins 0.000 description 1
- 102100024843 Ubiquitin/ISG15-conjugating enzyme E2 L6 Human genes 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000013589 supplement Substances 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
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于白盒交换机的时间同步方法、装置及电子设备,包括:通过从交换机向主交换机发送同步请求数据包;通过主交换机接收同步请求数据包,并对同步请求数据包进行数据包处理,以及在每个数据包处理阶段为同步请求数据包标记第一时间戳,以得到携带有第一时间戳的时间反馈数据包;通过从交换机接收时间反馈数据包,并根据时间反馈数据包和第一时间戳确定当前时间信息,以基于当前时间信息实现从交换机的时间同步。本发明不仅可以降低时间同步对硬件设备的要求,还可以实现高精准、高分辨率的时间同步功能。
Description
技术领域
本发明涉及时间同步技术领域,尤其是涉及一种基于白盒交换机的时间同步方法、装置及电子设备。
背景技术
时间同步是指将系统中所有计算机设备的时间信息与系统时钟对比,使系统中各设备的时间误差在足够小的范围内。时间同步要求具备标准的时钟源,目前常用的时钟源有世界时、国际标准时间、地球动力学时、世界原子时等。由于计算机内部的时钟晶振会受物理因素的影响,因此让计算机等终端自身保持精准的时间是无法做到的,因此,要想获得标准的时钟源,必须进行设备间的时间同步。
目前国内外有关时间同步的研究已有多年,已有的时间同步方式例如采用脉冲时间同步方式、串口时间同步方式等,精度受传输距离影响大;编码时间同步方式虽然解决了前面两者的问题,但所含时间信息较少,传输的有效距离有限,精度会随传输距离的增加而降低;网络时间同步方式解决远距离同步精度降低的问题,以以太网作为时间传输介质,常使用的时间同步协议包括NTP(Network Time Protocol,网络时间协议)和PTP(PrecisionTime Protocol,精确时间协议),其中,由于NTP中的时间信息产生和接收处理发生于应用层,主节点在应用层将时间同步信息发送后,该信息还需经过协议栈其他层的处理,将出现处理时延,且传输时延会随着中间节点数量的不同而有随机性,PTP虽降低了处理时延,但对硬件有更严格的要求。
发明内容
有鉴于此,本发明的目的在于提供一种基于白盒交换机的时间同步方法、装置及电子设备,不仅可以降低时间同步对硬件设备的要求,还可以实现高精准、高分辨率的时间同步功能。
第一方面,本发明实施例提供了一种基于白盒交换机的时间同步方法,应用于白盒交换机,所述白盒交换机包括主交换机和从交换机,所述主交换机与所述从交换机通信连接,所述方法包括:
通过所述从交换机向所述主交换机发送同步请求数据包;
通过所述主交换机接收所述同步请求数据包,并对所述同步请求数据包进行数据包处理,以及在每个数据包处理阶段为所述同步请求数据包标记第一时间戳,以得到携带有所述第一时间戳的时间反馈数据包;
通过所述从交换机接收所述时间反馈数据包,并根据所述时间反馈数据包和所述第一时间戳确定当前时间信息,以基于所述当前时间信息实现所述从交换机的时间同步。
在一种实施方式中,所述第一时间戳包括第一接收时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳;通过所述主交换机接收所述同步请求数据包,并对所述同步请求数据包进行数据包处理,以及在每个数据包处理阶段为所述同步请求数据包标记第一时间戳,包括:
通过所述主交换机接收所述同步请求数据包,为所述同步请求数据包标记第一接收时间戳,并对所述同步请求数据包进行解析处理以得到解析数据;
当所述解析数据进入所述主交换机的入口流水线时,通过所述主交换机为所述解析数据标记响应开始时间戳,并将所述主交换机的全局参考时间配置至所述解析数据以得到响应数据;
当所述响应数据进入所述主交换机的出口流水线时,通过所述主交换机为所述响应数据标记响应结束时间戳,并对所述响应数据进行逆解析处理以得到所述时间反馈数据包;
当所述主交换机向所述从交换机发送所述时间反馈数据包时,通过所述主交换机为所述时间反馈数据包标记第一发送时间戳。
在一种实施方式中,根据所述时间反馈数据包和所述第一时间戳确定当前时间信息,包括:
通过所述从交换机,确定所述从交换机的系统时钟、所述时间反馈数据包内配置的全局参考时间、所述第一时间戳内的响应结束时间戳之间的和值,并将所述和值与所述从交换机的时钟偏置之间的差值确定为当前时间信息。
在一种实施方式中,所述方法还包括:
在通过所述从交换机向所述主交换机发送同步请求数据包之前,为所述同步请求数据包标记第二时间戳;以及在通过所述从交换机接收所述时间反馈数据包之后,为所述时间反馈数据包标记第三时间戳;其中,所述第二时间戳包括第二发送时间戳,所述第二时间戳包括第二接收时间戳;
根据所述第二发送时间戳、所述第二接收时间戳、所述第一时间戳中的第一发送时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳,确定目标响应时延;其中,所述目标响应时延包括所述主交换机的响应时延、所述从交换机的响应时延、所述主交换机与所述从交换机之间的单向线路延迟;
将所述当前时间信息与所述目标响应时延的和值,确定为目标时间信息,以基于所述目标时间信息实现所述从交换机的时间同步。
在一种实施方式中,根据所述第二发送时间戳、所述第二接收时间戳、所述第一时间戳中的第一发送时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳,确定目标响应时延,包括:
按照如下公式确定目标响应时延:
;
其中,为目标响应时延,/>为第二接收时间戳,/>为第二发送时间戳,/>为第一发送时间戳,/>为第一接收时间戳,/>为响应结束时间戳,/>为一响应开始时间戳。
在一种实施方式中,所述白盒交换机还部署有透传时钟,所述主交换机经所述透传时钟与所述从交换机通信连接;所述方法还包括:
确定所述透传时钟的传输时延,并基于所述传输时延对所述当前时间信息或目标时间信息,以基于修正后的所述当前时间信息或所述目标时间信息实现所述从交换机的时间同步。
在一种实施方式中,确定所述透传时钟的传输时延,包括:
如果所述透传时钟为端到端透传时钟,将所述端到端透传时钟传输所述同步请求数据包或所述时间反馈数据包所消耗的时间,作为传输时延;
或者,如果所述透传时钟为点到点透传时钟,将所述主交换机与所述点到点透传时钟之间的线路时延、所述从交换机与所述点到点透传时钟之间的线路时延、所述点到点透传时钟传输所述同步请求数据包或所述时间反馈数据包所消耗的时间之间的和值,作为传输时延。
第二方面,本发明实施例还提供一种基于白盒交换机的时间同步装置,应用于白盒交换机,所述白盒交换机包括主交换机和从交换机,所述主交换机与所述从交换机通信连接,所述装置包括:
同步请求模块,用于通过所述从交换机向所述主交换机发送同步请求数据包;
数据处理模块,用于通过所述主交换机接收所述同步请求数据包,并对所述同步请求数据包进行数据包处理,以及在每个数据包处理阶段为所述同步请求数据包标记第一时间戳,以得到携带有所述第一时间戳的时间反馈数据包;
时间同步模块,用于通过所述从交换机接收所述时间反馈数据包,并根据所述时间反馈数据包和所述第一时间戳确定当前时间信息,以基于所述当前时间信息实现所述从交换机的时间同步。
第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现第一方面提供的任一项所述的方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面提供的任一项所述的方法。
本发明实施例提供的基于白盒交换机的时间同步方法、装置及电子设备,应用于白盒交换机,白盒交换机包括主交换机和从交换机,主交换机与从交换机通信连接,首先通过从交换机向主交换机发送同步请求数据包,然后通过主交换机接收同步请求数据包,并对同步请求数据包进行数据包处理,以及在每个数据包处理阶段为同步请求数据包标记第一时间戳,以得到携带有第一时间戳的时间反馈数据包,最后通过从交换机接收时间反馈数据包,并根据时间反馈数据包和第一时间戳确定当前时间信息,以基于当前时间信息实现从交换机的时间同步。上述方法应用于白盒交换机,由于白盒交换机的灵活性,使其能够计算数据包在主交换机和从交换机中每一个数据包处理阶段所用的时间,通过对数据包在主交换机和从交换机中的数据处理阶段进行精细化的划分,能够实现高精度、高分辨率的时间同步功能,而且降低了时间同步对硬件设备的要求。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种现有精准时间同步协议流程;
图2为本发明实施例提供的一种基于白盒交换机的时间同步方法的流程示意图;
图3为本发明实施例提供的一种白盒交换机的结构示意图;
图4为本发明实施例提供的一种10G测试下的高精度时间戳位置与平均延迟计算图;
图5为本发明实施例提供的一种基于白盒交换机的时间同方法的时序图;
图6为本发明实施例提供的另一种基于白盒交换机的时间同方法的时序图;
图7为本发明实施例提供的一种端到端透传时钟的示意图;
图8为本发明实施例提供的一种点到点透传时钟的示意图;
图9为本发明实施例提供的另一种基于白盒交换机的时间同步方法的时序图;
图10为本发明实施例提供的一种基于白盒交换机的时间同步装置的结构示意图;
图11为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,常见的时间同步方式有以下几种:
(1)脉冲时间同步方式:这种方式提供授时服务的方式是利用脉冲的边沿信号(上升沿或者下降沿)来标识时刻的同步。这种同步方式虽然精度比较高,但不能体现当前时刻具体的时间信息,并且精度受传输距离的影响较大。脉冲时间同步方式有三种:秒脉冲(1PPS)、分脉冲(IPPM)和时脉冲(1PPH),在实际使用过程中秒脉冲最为常用。
(2)串口时间同步方式:串口时间同步方式又称软对时,是利用串口信息的方式输出时间信息,将时间信息通过RS232、RS422和RS485标准进行传输,设备接收到时间信息之后可以对自身进行校准。这种方式传输距离有限,且精度受传输的波特率的影响较大。可输出的时间信息包括年、月、日、时、分、秒、GPS(Global Positioning System,全球定位系统)卫星数、告警信号等,可根据用户指定选择。
(3)编码时间同步方式:为了同时利用脉冲时间同步方式和串口时间同步方式的优势,解决两者各自的缺点,提出了编码时间同步方式,即将脉冲和串口报文两种方式通过特殊的编码方式相结合。这种方式有具体的时间信息,精度较高。国内最常用的编码时间信号为RIG-B码,为脉宽编码。这种方式对比上面两种方式虽然精度有所提高,但所含时间信息仍较少,并且传输的有效距离有限,精度会随传输距离的增加而降低。
(4)网络时间同步方式:上述三种时间同步方式都受到传输距离的限制,远距离同步时精度会降低,为解决远距离传输的问题,出现了以太网作为时间传输介质的同步方式。网络时间同步方式是基于全球商议并通过的网络协议,常用的协议有日期时间协议(Daytime Protocol),时间协议(Time Protocol),网络时间协议(Network TimeProtocol,NTP),简单网络时间协议(Simple Network Time Protocol,SNTP)和精确时间协议(Precision Time Protocol,PTP),其中,Daytime Protocol和Time Protocol都只能表示到秒而且并没有估算网络延时,因此在网络中并不常见。各个网络时间同步协议的对比如下表1所示。
表1
其中,NTP是时间同步中常用的协议之一,它采用分层的方法来定义时钟的准确性,可以迅速同步网络中各台设备的时间,同时采用Client/Server结构使其具有相当高的灵活性,满足互联网上时间同步的复杂性、严格性的要求,可以适应不同互联网环境。NTP产生的网络开销比其他时间同步方式的开销都要少,使用的识别机制可以防止对时间服务器的恶意破坏,是保证网络安全的重要应对措施。NTP协议的这些优点使其成为公认的最优的互联网时间同步工具。NTP协议的时间信息产生和接收处理发生于应用层,主节点在应用层将时间同步信息发送后,该信息还需经过协议栈其他层的处理,这里就存在处理时延。而另外一种常见的网络时间同步协议PTP,把时间同步信息的时间戳标记操作放在协议栈的底层,由硬件直接处理,降低了处理时延,但对硬件有更严格的要求。同时,NTP的传输时延会随着中间节点数量的不同而有随机性,PTP为了解决这一问题,设计了主从式架构。在每段传输链路上安装PTP主从设备,也就是设置Master节点和Slave节点。
现有网络精准时间同步协议PTP 具有以下特点:1. 理想状态达纳秒级别,主要在专用设备或交换机控制平面实现,网络拥塞下亚微秒级。2. 需要多次同步轮和统计过滤来抵消在软件处理延迟期间的时钟漂移。基于可编程芯片的白盒交换机可以通过配备多功能精密时间协议IEEE 1588v2模块实现PTP。参见图1所示的一种现有精准时间同步协议流程,同步的基本原理包括时间发出和接收时间信息的记录,并且对每一条信息增加一个“时间戳”。有了时间记录,接收端就可以计算出自己在网络中的时钟误差和延时。为了管理这些信息,PTP协议定义了4种多点传送的报文类型和管理报文,包括同步报文(Sync),跟随报文(Follow_up),延迟请求报文(Delay_Req),延迟应答报文(Delay_Resp)。
但是NTP可能出现处理时延,且传输时延会随着中间节点数量的不同而有随机性;PTP时间同步协议虽降低了处理时延,但对硬件有更严格的要求。
基于此,本发明实施提供了一种基于白盒交换机的时间同步方法、装置及电子设备,不仅可以降低时间同步对硬件设备的要求,还可以实现高精准、高分辨率的时间同步功能。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于白盒交换机的时间同步方法进行详细介绍,该方法应用于白盒交换机,具体为可编程白盒交换机,白盒交换机包括主交换机和从交换机,主交换机与从交换机通信连接,参见图2所示的一种基于白盒交换机的时间同步方法的流程示意图,该方法主要包括以下步骤S202至步骤S206:
步骤S202,通过从交换机向主交换机发送同步请求数据包。其中,同步请求数据包也即从交换机发送数据平面时间同步的请求,该请求为数据包形式。在一种实施方式中,当同步请求数据包进入从交换机队列时,从交换机会在每个数据处理阶段对同步请求数据包标记第二时间戳,第二时间戳包括同步请求数据包进入从交换机队列的时间戳、同步请求数据离开从交换机队列的时间戳、从交换机向主交换机发送同步请求数据的时间戳(也即,第二发送时间戳)。
步骤S204,通过主交换机接收同步请求数据包,并对同步请求数据包进行数据包处理,以及在每个数据包处理阶段为同步请求数据包标记第一时间戳,以得到携带有第一时间戳的时间反馈数据包。其中,时间反馈数据包也即配置有主交换机的全局参考时间的数据包,是主交换机对同步请求数据包进行数据包处理之后得到的,数据包处理阶段可以包括进入主交换机队列、进入入口流水线、进入出口流水线、离开主交换机队列,第一时间戳包括第一接收时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳。
在一种实施方式中,当主交换机接收到同步请求数据包时,也即当同步请求数据包进入主交换机队列时,主交换机将在数据包级别上标记第一接收时间戳;当进入主交换机的入口流水线时,主交换机将在数据包级别上标记响应开始时间戳;当进入主交换机的出口流水线时,主交换机将在数据包级别上标记响应结束时间戳;当离开主交换机队列时,主交换机将在数据包级别上标记第一发送时间戳。
步骤S206,通过从交换机接收时间反馈数据包,并根据时间反馈数据包和第一时间戳确定当前时间信息,以基于当前时间信息实现从交换机的时间同步。在一种实施方式中,从交换机寄存器中维护有时间偏置和系统时钟,可以根据时间偏执、系统时钟、时间反馈数据包中配置的全局参考时间和第一时间戳中的响应结束时间戳,确定当前时间信息,通过将当前时间信息存储至从交换机的存储器,以利用当前时间信息替换存储器内存储的时间信息,即可实现从交换机的时间同步。
本发明实施例提供的基于白盒交换机的时间同步方法,由于白盒交换机的灵活性,使其能够计算数据包在主交换机和从交换机中每一个数据包处理阶段所用的时间,通过对数据包在主交换机和从交换机中的数据处理阶段进行精细化的划分,能够实现高精度、高分辨率的时间同步功能,而且降低了时间同步对硬件设备的要求。
在一种实施方式中,本发明实施例基于可编程白盒交换机通过可重配置的“匹配-动作”pipeline提供灵活的数据包解析和报头操作,并且提供有状态内存,允许以line-rate跨包进行有状态处理。示例性的,本发明实施例提供了如图3所示的一种白盒交换机的结构示意图。其中,(a)示意出了白盒交换机包括一个主交换机和多个从交换机,主交换机分别与每个从交换机通信连接;(b)示意出了白盒交换机包括串行连接的多个交换机,交换机Master作为交换机Slave1的主交换机,交换机Slave1作为交换机Master的从交换机;交换机Slave1作为交换机Slave2的主交换机,交换机Slave2作为交换机Slave1的主交换机,以此类推。
在一种实施方式中,可编程白盒交换机可自定义数据包处理逻辑,根据接收的信号在数据包级别上打上高分辨率时间戳,并执行有状态计算。
为便于对前述实施例进行理解,本发明实施例以白盒交换机中的任一交换机为例,提供了交换机在数据包级别标记时间戳的具体过程,参见图4所示的一种10G测试下的高精度时间戳位置与平均延迟计算图,当数据包进入交换机队列时,在数据包级别上标记时间戳T_Rx;当数据包进入交换机的入口流水线(ingress pipeline),在数据包级别上标记时间戳T_Ig;经过队列缓冲引擎到达交换机出口流水线(egress pipeline)时,在数据包级别上标记时间戳T_Eg;当数据包离开交换机时,在数据包级别上标记时间戳T_Tx。
在前述图4的基础上,本发明实施例提供了一种时间同步过程中通过交换机标记时间戳的实施方式,参见图5所示的一种基于白盒交换机的时间同方法的时序图,其中,SW1为从交换机,SW2为主交换机,具体包括如下步骤1至步骤3:
步骤1,在通过从交换机向主交换机发送同步请求数据包之前,为同步请求数据包标记第二时间戳。其中,第二时间戳包括响应开始时间戳、响应结束时间戳/>和第二发送时间戳/>。在具体实现时,同步请求数据包进入从交换机SW1的入口流水线(ingress pipeline),从交换机SW1为同步请求数据包标记响应开始时间戳/>,也即从交换机sw1发送数据平面时间同步的请求(简称DPTP);同步请求数据包进入从交换机SW1的出口流水线(egress pipeline),从交换机SW1为同步数据包标记响应结束时间戳/>;同步请求数据包离开从交换机SW1队列,从交换机SW1为同步请求数据包标记第二发送时间戳,此时同步请求数据包携带有响应开始时间戳/>、响应结束时间戳/>和第二发送时间戳/>。
步骤2,通过主交换机接收同步请求数据包,并对同步请求数据包进行数据包处理,以及在每个数据包处理阶段为同步请求数据包标记第一时间戳。在具体实现时,参见如下步骤2.1至步骤2.4:
步骤2.1,通过主交换机接收同步请求数据包,为同步请求数据包标记第一接收时间戳,并对同步请求数据包进行解析处理以得到解析数据。在具体实现时,当同步请求数据包进入主交换机SW2队列时,主交换机SW2为同步请求数据包标记第一接收时间戳,也即主交换机sw2收到同步请求数据包,同时利用pipeline提供的数据包解析操作,对同步请求数据包进行解析处理,即可得到解析数据。
步骤2.2,当解析数据进入主交换机的入口流水线时,通过主交换机为解析数据标记响应开始时间戳,并将主交换机的全局参考时间配置至解析数据以得到响应数据。在具体实现时,当解析数据进入主交换机SW2的入口流水线(ingress pipeline)时,主交换机SW2将在该解析数据的数据包级别标记响应开始时间戳,响应开始时间戳/>也可以理解为解析数据到达入口流水线(ingress pipeline)的时间。同时主交换机SW2的入口流水线(ingress pipeline)开始对解析数据进行响应,以将全局参考时间/>配置至解析数据以得到响应数据。
步骤2.3,当响应数据进入主交换机的出口流水线时,通过主交换机为响应数据标记响应结束时间戳,并对响应数据进行逆解析处理以得到时间反馈数据包。在具体实现时,当响应数据进入主交换机SW2的出口流水线(egress pipeline)时,主交换机SW2将在该响应数据的数据包级别标记响应结束时间戳,响应结束时间戳/>也可以理解为响应数据达到出口流水线(egress pipeline)的时间,或者理解为主交换机sw2在出口流水线(egress pipeline)计算当前时间,并对响应数据进行逆解析处理以得到时间反馈数据包。
步骤2.4,当主交换机向从交换机发送时间反馈数据包时,通过主交换机为时间反馈数据包标记第一发送时间戳。在具体实现时,当时间反馈数据包离开主交换机SW2队列时,主交换机SW2将为时间反馈数据包标记第一发送时间戳,此时该时间反馈数据包配置有全局参考时间/>,同时还携带有响应开始时间戳/>、响应结束时间戳/>、第二发送时间戳/>、第一接收时间戳/>、响应开始时间戳/>、响应结束时间戳/>、第一发送时间戳/>。
步骤3,在通过从交换机接收时间反馈数据包之后,为时间反馈数据包标记第三时间戳。其中,第二时间戳包括第二接收时间戳和响应开始时间戳/>。在具体实现时,当时间反馈数据包进入从交换机SW1队列时,从交换机SW1将为时间反馈数据包标记第二接收时间戳/>,也即时间反馈数据包到达交换机sw1的时间戳,同时利用pipeline提供的数据包解析操作,对时间反馈数据包进行解析处理,即可得到响应数据;并在响应数据进入从交换机SW1的入口流水线(ingress pipeline)时,从交换机SW1为响应数据在数据包级别上标记响应开始时间戳/>,也即从交换机SW1开始处理响应数据的时间戳,同时在入口流水线(ingress pipeline)中确定全局参考时间/>。
本发明实施例提供的基于可编程白盒交换机的高精度时间同步方案,兼备直连芯片纳秒级别、安全可靠性、按需定制化等优势。每个交换机中的动作有:(1) 维护时钟,包括(i)主交换机存储全局参考时间;(ii)当响应结束时间戳/>,也可以称之为前数据平面时间戳;(iii)存入寄存器维护的偏置/>。(2)维护系统时钟/>。
基于此,从交换机SW1即可根据系统时钟、时钟偏置/>、时间反馈数据包中的全局参考时间/>和第一时间戳中的响应结束时间戳/>确定当前时间信息,具体的,可以确定从交换机的系统时钟/>、时间反馈数据包内配置的全局参考时间/>、第一时间戳内的响应结束时间戳/>之间的和值,并将和值与从交换机的时钟偏置/>之间的差值确定为当前时间信息/>。具体的,按照如下公式确定所述当前时间信息/>:
;
其中,为当前时间信息,/>为全局参考时间,/>为维护系统时钟,/>为响应结束时间戳,/>为时钟偏置。
考虑到主交换机SW2、从交换机SW1在处理数据包的过程中时存在响应时延,同时主交换机SW2与从交换机SW1之间进行数据传输时也存在传输时延,因此可以进一步对上述当前时间信息进行优化,以实现更高精准时间同步。本发明实施例提供了一种优化当前时间信息/>的实施方式,参见如下步骤a至步骤b:
步骤a,根据第二发送时间戳、第二接收时间戳、第一时间戳中的第一发送时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳,确定目标响应时延。其中,目标响应时延包括主交换机的响应时延、从交换机的响应时延、主交换机与从交换机之间的单向线路延迟。为便于理解,参见图6所示的另一种基于白盒交换机的时间同方法的时序图,图6示意出主交换机SW2与从交换机SW1之间存在单向线路延迟x1,在具体实现时需要从RTT中减去交换机延迟近似的单向线路延迟,测试中链路速率越高,单向线路延迟对称性越好;图6还示意出主交换机SW2存在响应时延x2,响应时延x2为主交换机SW2处生成响应数据到传输响应数据之间的延迟,也即响应结束时间戳与第一发送时间戳/>之间的时间间隔;图6还示意出从交换机SW1存在响应时延x3,响应时延x3为在从交换机SW1处接收时间反馈数据包到处理时间反馈数据包之间的延迟,也即第二接收时间戳/>与从交换机SW1侧的响应开始时间戳/>之间的时间间隔。
在具体实现时,可以按照如下公式确定目标响应时延:
;
其中,为目标响应时延,/>为第二接收时间戳,/>为第二发送时间戳,/>为第一发送时间戳,/>为第一接收时间戳,/>为响应结束时间戳,/>为一响应开始时间戳。
步骤b,将当前时间信息与目标响应时延的和值,确定为目标时间信息,以基于目标时间信息实现从交换机的时间同步。在一种实施方式中,可以按照如下公式确定目标时间信息:
。
在一种实施方式中,除了主交换机SW2与从交换机SW1之间的同步外,在网络中还可以部署中间节点,即透传时钟。透传时钟同样可以在交换机中部署,透传时钟有两种,分别是端到端透传时钟以及点对点透传时钟。端到端透传时钟对普通数据包不做任何处理。对进行时间同步的数据包,将他们从接收端口到发送端口间的驻留延迟时间累加到数据包中的修正域,用以弥补时间同步数据帧在经过其自身所带来的延迟误差。
基于此,本发明实施例提供的白盒交换机还部署有透传时钟,主交换机经透传时钟与从交换机通信连接,从交换机SW2可以确定透传时钟的传输时延,并基于传输时延对当前时间信息或目标时间信息,以基于修正后的当前时间信息或目标时间信息实现从交换机的时间同步。其中,透传时钟包括端到端透传时钟和点到点透传时钟。为便于理解,本发明实施例分别提供了针对端透传时钟和点到点透传时钟确定传输时延的实施方式,参见如下方式一至方式二:
方式一:如果透传时钟为端到端透传时钟,将端到端透传时钟传输同步请求数据包或时间反馈数据包所消耗的时间,作为传输时延;在一种实施方式中,参见图7所示的一种端到端透传时钟的示意图,T-SW2表示主交换机的时钟(简称,主时钟),T-SW1表示从交换机的时钟(简称,从时钟),TC表示透传时钟。主从时间同步的流程是从主时钟T-SW2到从交换机T-SW1的传输过程,在中间的TC节点只进行传输,但同时还会记录下在此节点传输处理所用的时间∆t(也即,传输时延),时间∆t将被用作主从时间同步的修正。
方式二:如果透传时钟为点到点透传时钟,将主交换机与点到点透传时钟之间的线路时延、从交换机与点到点透传时钟之间的线路时延、点到点透传时钟传输同步请求数据包或时间反馈数据包所消耗的时间之间的和值,作为传输时延。在实际应用中,点对点透传时钟只转发特定的时间同步报文。会采用 Pdelay_Req 数据帧系列计算每次传输的路径延迟时间,再与端口间延迟时间合并添加到时间修正域,来补偿数据帧从源端口到点对点透明时钟出端口的时间延迟。在一种实施方式中,参见图8所示的一种点到点透传时钟的示意图,当主时钟T-SW2与从时钟T-SW1之间要进行同步时,会分别计算主时钟T-SW2点对点透传时钟TC之间的线路时延∆t1,与点对点透传时钟到从时钟T-SW1的线路时延∆t3,以及在透传时钟中消耗的时间∆t2。通过将这些时延信息进行合并,并添加到修正域,最终实现主时钟T-SW2与从时钟T-SW1之间的同步。
透传时钟的存在是对可编程白盒交换机的时间同步方案的补充,并不是所有的交换机节点都需要时钟同步,主从节点之间的交换机可以作为透传时钟使用,透传时钟不需要进行自身的同步,能够减少网络进行时间同步的资源消耗。同时,利用可编程交换机具备细粒度时间戳的特性,将其用在透传时钟中,能够计算出精准的数据包在透传时钟中逗留的时间(纳秒级别),从而实现主从节点时钟的精确同步。
综上所述,由于可编程交换机的灵活性,使其能够计算数据包在交换机中每一个步骤所用的时间,包括在网络接口卡中的时间,在入端口流水线处理的时间,在出端口流水线处理的时间以及在队列中停留的时间等。通过对数据包在交换机中的处理流程进行精细化的划分,能够实现高精准的设备之间的时间同步功能。由于可编程交换机中时间戳的分辨率为ns级别,由此实现的同步技术方案能够实现高分辨率的时间同步。除此之外,对于不需要进行时间同步的设备,设计了两种透传时钟功能部署在中间交换机节点。主时钟、从时钟、透传时钟都能够利用可编程白盒交换机部署,这三种设备的结合共同构成了高精准高分辨率的时间同步设计。
本发明实施例提供的基于白盒交换机的时间同步方法,板载芯片直连精度可以达到纳秒级别;而且在接收端,即从交换机可以进行逐个数据包的解析。为便于理解,本发明实施例还提供了一种基于白盒交换机的时间同步方法的应用示例,以前述图3中(b)所示的结构为例,参见图9所示的另一种基于白盒交换机的时间同步方法的时序图,Master为测试发包的主机服务器(也即,主交换机),Slave则是具有时间同步能力的交换机1、2、3(也即从交换机)。
首先Master端发送msgtype=0的数据包,并将主时钟时间赋值给specified字段,由图中可以看出此时间=973707867;Slave端收到此数据包后,记录收到时的时间=2464716091到寄存器中,同时,将/>存入寄存器中,并发送msgtype=1的数据包,并将发送时刻/>=2464716910记录到寄存器中;Master收到此数据包后,发送msgtype=2的数据包,并将此发送时刻赋值到数据包的specified字段,即/>=1012986918;至此,、/>、/>、/>的值都已知晓,经过如下式的计算能够得出此Slave相较Master的offset=1471369108ns,delay=19639116ns。在实验中,这些数据的计算结果可以由msgtype=4的数据包的附加头部PTPCAL观察到。
;
。
对于前述实施例提供的基于白盒交换机的时间同步方法,本发明实施例提供了一种基于白盒交换机的时间同步装置,该装置应用于白盒交换机,白盒交换机包括主交换机和从交换机,主交换机与从交换机通信连接,参见图10所示的一种基于白盒交换机的时间同步装置的结构示意图,该装置主要包括以下部分:
同步请求模块1002,用于通过从交换机向主交换机发送同步请求数据包;
数据处理模块1004,用于通过主交换机接收同步请求数据包,并对同步请求数据包进行数据包处理,以及在每个数据包处理阶段为同步请求数据包标记第一时间戳,以得到携带有第一时间戳的时间反馈数据包;
时间同步模块1006,用于通过从交换机接收时间反馈数据包,并根据时间反馈数据包和第一时间戳确定当前时间信息,以基于当前时间信息实现从交换机的时间同步。
本发明实施例提供的基于白盒交换机的时间同步装置,由于白盒交换机的灵活性,使其能够计算数据包在主交换机和从交换机中每一个数据包处理阶段所用的时间,通过对数据包在主交换机和从交换机中的数据处理阶段进行精细化的划分,能够实现高精度、高分辨率的时间同步功能,而且降低了时间同步对硬件设备的要求。
在一种实施方式中,第一时间戳包括第一接收时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳;数据处理模块1004还用于:
通过主交换机接收同步请求数据包,为同步请求数据包标记第一接收时间戳,并对同步请求数据包进行解析处理以得到解析数据;
当解析数据进入主交换机的入口流水线时,通过主交换机为解析数据标记响应开始时间戳,并将主交换机的全局参考时间配置至解析数据以得到响应数据;
当响应数据进入主交换机的出口流水线时,通过主交换机为响应数据标记响应结束时间戳,并对响应数据进行逆解析处理以得到时间反馈数据包;
当主交换机向从交换机发送时间反馈数据包时,通过主交换机为时间反馈数据包标记第一发送时间戳。
在一种实施方式中,时间同步模块1006还用于:
通过从交换机,确定从交换机的系统时钟、时间反馈数据包内配置的全局参考时间、第一时间戳内的响应结束时间戳之间的和值,并将和值与从交换机的时钟偏置之间的差值确定为当前时间信息。
在一种实施方式中,响应延时确定模块,用于:
在通过从交换机向主交换机发送同步请求数据包之前,为同步请求数据包标记第二时间戳;以及在通过从交换机接收时间反馈数据包之后,为时间反馈数据包标记第三时间戳;其中,第二时间戳包括第二发送时间戳,第二时间戳包括第二接收时间戳;
根据第二发送时间戳、第二接收时间戳、第一时间戳中的第一发送时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳,确定目标响应时延;其中,目标响应时延包括主交换机的响应时延、从交换机的响应时延、主交换机与从交换机之间的单向线路延迟;
将当前时间信息与目标响应时延的和值,确定为目标时间信息,以基于目标时间信息实现从交换机的时间同步。
在一种实施方式中,响应延时确定模块还用于:
按照如下公式确定目标响应时延:
;
其中,为目标响应时延,/>为第二接收时间戳,/>为第二发送时间戳,/>为第一发送时间戳,/>为第一接收时间戳,/>为响应结束时间戳,/>为一响应开始时间戳。
在一种实施方式中,白盒交换机还部署有透传时钟,主交换机经透传时钟与从交换机通信连接;还包括传输时延确定模块,用于:
确定透传时钟的传输时延,并基于传输时延对当前时间信息或目标时间信息,以基于修正后的当前时间信息或目标时间信息实现从交换机的时间同步。
在一种实施方式中,传输时延确定模块还用于:
如果透传时钟为端到端透传时钟,将端到端透传时钟传输同步请求数据包或时间反馈数据包所消耗的时间,作为传输时延;
或者,如果透传时钟为点到点透传时钟,将主交换机与点到点透传时钟之间的线路时延、从交换机与点到点透传时钟之间的线路时延、点到点透传时钟传输同步请求数据包或时间反馈数据包所消耗的时间之间的和值,作为传输时延。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了一种电子设备,具体的,该电子设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法 。
图11为本发明实施例提供的一种电子设备的结构示意图,该电子设备100包括:处理器110,存储器111,总线112和通信接口113,所述处理器110、通信接口113和存储器111通过总线112连接;处理器110用于执行存储器111中存储的可执行模块,例如计算机程序。
其中,存储器111可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口113(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线112可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器111用于存储程序,所述处理器110在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器110中,或者由处理器110实现。
处理器110可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器110中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器110可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器111,处理器110读取存储器111中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种基于白盒交换机的时间同步方法,其特征在于,应用于白盒交换机,所述白盒交换机包括主交换机和从交换机,所述主交换机与所述从交换机通信连接,所述方法包括:
通过所述从交换机向所述主交换机发送同步请求数据包;
通过所述主交换机接收所述同步请求数据包,并对所述同步请求数据包进行数据包处理,以及在每个数据包处理阶段为所述同步请求数据包标记第一时间戳,以得到携带有所述第一时间戳的时间反馈数据包;其中,数据包处理阶段包括进入主交换机队列、进入入口流水线、进入出口流水线、离开主交换机队列;第一时间戳包括第一接收时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳;
通过所述从交换机接收所述时间反馈数据包,并根据所述时间反馈数据包和所述第一时间戳确定当前时间信息,以基于所述当前时间信息实现所述从交换机的时间同步;
所述方法还包括:
在通过所述从交换机向所述主交换机发送同步请求数据包之前,为所述同步请求数据包标记第二时间戳;以及在通过所述从交换机接收所述时间反馈数据包之后,为所述时间反馈数据包标记第三时间戳;其中,所述第二时间戳包括第二发送时间戳,所述第三时间戳包括第二接收时间戳;
根据所述第二发送时间戳、所述第二接收时间戳、所述第一时间戳中的第一接收时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳,确定目标响应时延;其中,所述目标响应时延包括所述主交换机的响应时延、所述从交换机的响应时延、所述主交换机与所述从交换机之间的单向线路延迟;
将所述当前时间信息与所述目标响应时延的和值,确定为目标时间信息,以基于所述目标时间信息实现所述从交换机的时间同步;
根据所述第二发送时间戳、所述第二接收时间戳、所述第一时间戳中的第一接收时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳,确定目标响应时延,包括:
按照如下公式确定目标响应时延:
;
其中,为目标响应时延,/>为第二接收时间戳,/>为第二发送时间戳,为第一发送时间戳,/>为第一接收时间戳,/>为响应结束时间戳,/>为响应开始时间戳。
2.根据权利要求1所述的基于白盒交换机的时间同步方法,其特征在于,通过所述主交换机接收所述同步请求数据包,并对所述同步请求数据包进行数据包处理,以及在每个数据包处理阶段为所述同步请求数据包标记第一时间戳,包括:
通过所述主交换机接收所述同步请求数据包,为所述同步请求数据包标记第一接收时间戳,并对所述同步请求数据包进行解析处理以得到解析数据;
当所述解析数据进入所述主交换机的入口流水线时,通过所述主交换机为所述解析数据标记响应开始时间戳,并将所述主交换机的全局参考时间配置至所述解析数据以得到响应数据;
当所述响应数据进入所述主交换机的出口流水线时,通过所述主交换机为所述响应数据标记响应结束时间戳,并对所述响应数据进行逆解析处理以得到所述时间反馈数据包;
当所述主交换机向所述从交换机发送所述时间反馈数据包时,通过所述主交换机为所述时间反馈数据包标记第一发送时间戳。
3.根据权利要求1所述的基于白盒交换机的时间同步方法,其特征在于,根据所述时间反馈数据包和所述第一时间戳确定当前时间信息,包括:
通过所述从交换机,确定所述从交换机的系统时钟、所述时间反馈数据包内配置的全局参考时间、所述第一时间戳内的响应结束时间戳之间的和值,并将所述和值与所述从交换机的时钟偏置之间的差值确定为当前时间信息。
4.根据权利要求1所述的基于白盒交换机的时间同步方法,其特征在于,所述白盒交换机还部署有透传时钟,所述主交换机经所述透传时钟与所述从交换机通信连接;所述方法还包括:
确定所述透传时钟的传输时延,并基于所述传输时延对所述当前时间信息或目标时间信息进行修正,以基于修正后的所述当前时间信息或所述目标时间信息实现所述从交换机的时间同步。
5.根据权利要求4所述的基于白盒交换机的时间同步方法,其特征在于,确定所述透传时钟的传输时延,包括:
如果所述透传时钟为端到端透传时钟,将所述端到端透传时钟传输所述同步请求数据包或所述时间反馈数据包所消耗的时间,作为传输时延;
或者,如果所述透传时钟为点到点透传时钟,将所述主交换机与所述点到点透传时钟之间的线路时延、所述从交换机与所述点到点透传时钟之间的线路时延、所述点到点透传时钟传输所述同步请求数据包或所述时间反馈数据包所消耗的时间之间的和值,作为传输时延。
6.一种基于白盒交换机的时间同步装置,其特征在于,应用于白盒交换机,所述白盒交换机包括主交换机和从交换机,所述主交换机与所述从交换机通信连接,所述装置包括:
同步请求模块,用于通过所述从交换机向所述主交换机发送同步请求数据包;
数据处理模块,用于通过所述主交换机接收所述同步请求数据包,并对所述同步请求数据包进行数据包处理,以及在每个数据包处理阶段为所述同步请求数据包标记第一时间戳,以得到携带有所述第一时间戳的时间反馈数据包;其中,数据包处理阶段包括进入主交换机队列、进入入口流水线、进入出口流水线、离开主交换机队列;第一时间戳包括第一接收时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳;
时间同步模块,用于通过所述从交换机接收所述时间反馈数据包,并根据所述时间反馈数据包和所述第一时间戳确定当前时间信息,以基于所述当前时间信息实现所述从交换机的时间同步;
响应延时确定模块,用于:
在通过所述从交换机向所述主交换机发送同步请求数据包之前,为所述同步请求数据包标记第二时间戳;以及在通过所述从交换机接收所述时间反馈数据包之后,为所述时间反馈数据包标记第三时间戳;其中,所述第二时间戳包括第二发送时间戳,所述第三时间戳包括第二接收时间戳;
根据所述第二发送时间戳、所述第二接收时间戳、所述第一时间戳中的第一接收时间戳、响应开始时间戳、响应结束时间戳和第一发送时间戳,确定目标响应时延;其中,所述目标响应时延包括所述主交换机的响应时延、所述从交换机的响应时延、所述主交换机与所述从交换机之间的单向线路延迟;
将所述当前时间信息与所述目标响应时延的和值,确定为目标时间信息,以基于所述目标时间信息实现所述从交换机的时间同步;
响应延时确定模块,还用于:
按照如下公式确定目标响应时延:
;
其中,为目标响应时延,/>为第二接收时间戳,/>为第二发送时间戳,为第一发送时间戳,/>为第一接收时间戳,/>为响应结束时间戳,/>为响应开始时间戳。
7.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310474451.8A CN116208289B (zh) | 2023-04-28 | 2023-04-28 | 基于白盒交换机的时间同步方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310474451.8A CN116208289B (zh) | 2023-04-28 | 2023-04-28 | 基于白盒交换机的时间同步方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116208289A CN116208289A (zh) | 2023-06-02 |
CN116208289B true CN116208289B (zh) | 2023-07-21 |
Family
ID=86513278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310474451.8A Active CN116208289B (zh) | 2023-04-28 | 2023-04-28 | 基于白盒交换机的时间同步方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116208289B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447553A (zh) * | 2010-10-12 | 2012-05-09 | 研祥智能科技股份有限公司 | 一种精确时间同步协议的实现装置 |
CN104507156A (zh) * | 2014-12-17 | 2015-04-08 | 西南大学 | 针对无线网络的基于ieee 1588ptp机制的时间同步改进方法 |
CN110545214A (zh) * | 2019-08-21 | 2019-12-06 | 视联动力信息技术股份有限公司 | 一种基于视联网的时延检测方法和交换机 |
WO2020068093A1 (en) * | 2018-09-28 | 2020-04-02 | Hewlett-Packard Development Company, L.P. | Master/slave communication protocol |
CN113572655A (zh) * | 2021-06-16 | 2021-10-29 | 清华大学 | 无丢失网络的拥塞探测方法及系统 |
CN114401067A (zh) * | 2021-12-24 | 2022-04-26 | 浙江中控技术股份有限公司 | 环网通讯的时间同步方法、可编程门阵列及环网通讯系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582561B2 (en) * | 2013-07-16 | 2017-02-28 | Sap Se | Size-based data synchronization |
US9112631B2 (en) * | 2013-09-11 | 2015-08-18 | Khalifa University of Science, Technology, and Research | Method and devices for frequency distribution |
US9671822B2 (en) * | 2014-12-11 | 2017-06-06 | Khalifa University Of Science, Technology And Research | Method and devices for time transfer using end-to-end transparent clocks |
US10931391B2 (en) * | 2017-09-27 | 2021-02-23 | Intel Corporation | One-step time stamping of synchronization packets for networked devices |
CN110716977A (zh) * | 2019-10-17 | 2020-01-21 | 广东绿腾新能源服务有限公司 | 一种基于区块链的能源数据链接方法、及装置 |
CN111106894B (zh) * | 2019-12-24 | 2021-12-14 | 北京无线电计量测试研究所 | 一种时间同步方法和系统 |
-
2023
- 2023-04-28 CN CN202310474451.8A patent/CN116208289B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447553A (zh) * | 2010-10-12 | 2012-05-09 | 研祥智能科技股份有限公司 | 一种精确时间同步协议的实现装置 |
CN104507156A (zh) * | 2014-12-17 | 2015-04-08 | 西南大学 | 针对无线网络的基于ieee 1588ptp机制的时间同步改进方法 |
WO2020068093A1 (en) * | 2018-09-28 | 2020-04-02 | Hewlett-Packard Development Company, L.P. | Master/slave communication protocol |
CN110545214A (zh) * | 2019-08-21 | 2019-12-06 | 视联动力信息技术股份有限公司 | 一种基于视联网的时延检测方法和交换机 |
CN113572655A (zh) * | 2021-06-16 | 2021-10-29 | 清华大学 | 无丢失网络的拥塞探测方法及系统 |
CN114401067A (zh) * | 2021-12-24 | 2022-04-26 | 浙江中控技术股份有限公司 | 环网通讯的时间同步方法、可编程门阵列及环网通讯系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116208289A (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111194529B (zh) | 包分类与加时间戳系统和方法 | |
US7835402B2 (en) | Synchronization module | |
CN102833062B (zh) | 智能变电站ieee1588主从时钟同步报文对时方法及系统 | |
CN112385183B (zh) | 执行phy级硬件时间戳和时间同步的装置、方法和微控制器 | |
KR102031268B1 (ko) | 시간-인식 디바이스들 사이에 시간 정보를 통신하는 방법 및 장치 | |
US20110035511A1 (en) | Remote Hardware Timestamp-Based Clock Synchronization | |
CN109699199B (zh) | 一种报文处理的方法和网络设备 | |
EP2976866B1 (en) | Timestamp correction in a multi-lane communication link with skew | |
CA2767499A1 (en) | A method of time synchronization of free running nodes in an avionics network | |
JP5127482B2 (ja) | タイミング同期方法、同期装置、同期システム及び同期プログラム | |
EP2448168A1 (en) | Method and system for bearing time synchronization protocol in optical transport network | |
CN108259109B (zh) | Ptp域中的网络设备及tod同步方法 | |
US9031055B2 (en) | Method and system for recording, synchronizing and analysing data by means of analysis devices which are spatially distributed in a communication network | |
WO2012052481A1 (en) | Non-intrusive method for synchronizing master and slave clocks of a packet-switched network, and associated synchronization devices | |
US20220360350A1 (en) | Method and apparatus for acquiring timestamp of data stream, storage medium, and electronic apparatus | |
KR20230018469A (ko) | 타임 스탬프 정보 전송 방법, 장치, 기기 및 저장 매체 | |
Kyriakakis et al. | Hardware assisted clock synchronization with the ieee 1588-2008 precision time protocol | |
WO2016058347A1 (zh) | 一种实现时间和时钟同步的方法及装置 | |
EP2341650B1 (en) | Transfer of a synchronization message through a packet radio network | |
CN101951300B (zh) | 一种实现以太网精确对时的方法 | |
CN112865901A (zh) | 一种基于fpga纳秒时间戳的高速数据包采集系统及方法 | |
CN116208289B (zh) | 基于白盒交换机的时间同步方法、装置及电子设备 | |
JP2009164736A (ja) | リモートi/oシステム及びリモートi/oシステムにおける時刻同期方法 | |
Moreira et al. | IEEE 1588 Transparent Clock architecture for FPGA-based network devices | |
CN101420281A (zh) | 用于在网络要素之间传送日内时间值的方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |