CN115347966A - 报文传输方法、装置、设备及存储介质 - Google Patents
报文传输方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115347966A CN115347966A CN202110639092.8A CN202110639092A CN115347966A CN 115347966 A CN115347966 A CN 115347966A CN 202110639092 A CN202110639092 A CN 202110639092A CN 115347966 A CN115347966 A CN 115347966A
- Authority
- CN
- China
- Prior art keywords
- clock
- port
- data set
- message
- network device
- 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 98
- 230000005540 biological transmission Effects 0.000 title claims abstract description 55
- 230000004044 response Effects 0.000 claims description 26
- 230000001360 synchronised effect Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 abstract description 28
- 230000004048 modification Effects 0.000 abstract description 6
- 238000012986 modification Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 29
- 230000008569 process Effects 0.000 description 20
- 238000004590 computer program Methods 0.000 description 15
- 230000008520 organization Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 10
- 230000001186 cumulative effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 108700009949 PTP protocol Proteins 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
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
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- 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/0685—Clock or time synchronisation in a node; Intranode synchronisation
- H04J3/0688—Change of the master or reference, e.g. take-over or failure of the master
-
- 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/067—Details of the timestamp structure
-
- 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/0685—Clock or time synchronisation in a node; Intranode synchronisation
- H04J3/0697—Synchronisation in a packet node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/12—Arrangements providing for calling or supervisory signals
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)
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种报文传输方法、装置、设备及存储介质,涉及通信技术领域。该方法包括:响应于网络设备的第二从端口失效或第二从端口不存在,网络设备的第二主端口获取第二数据集,第二数据集基于第一数据集修改得到,第一数据集包括第一从端口接收的第一时钟报文所携带的时戳以及第一从端口根据第一时钟报文产生的数据;网络设备根据第二数据集,通过第二主端口发送第二时钟报文,第二时钟报文所携带的时戳为第一时钟报文所携带的时戳。该方法通过简单的方式使得当网络设备内的某一时钟域的从端口失效或者不存在时,网络设备仍然能够通过主端口发送携带精确时间的时钟报文,提高了通信系统的可靠性。
Description
本申请要求于2021年5月12日提交的申请号为202110518908.1、发明名称为“一种时钟数据传递方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及报文传输方法、装置、设备及存储介质。
背景技术
电气和电子工程师协会(institute of electrical and electronicsengineers,IEEE)1588协议标准在技术规范中定义了一套基于消息的同步协议,通过周期性的发送带有时戳(timestamp)的报文,使网络中的各个节点的时间得到校正,从而实现整个网络的时间同步。其中,IEEE1588协议标准全称是网络测量和控制系统的精密时钟同步协议标准(IEEE 1588 precision clock synchronization protocol),简称精确时间协议(precision time protocol,PTP)。
针对基于IEEE 1588协议标准定义的IEEE 802.1AS-2020应用标准(IEEE802.1AS-2020页称为广义精确时间协议(generalizedprecision time protocol,gPTP),IEEE 802.1AS-2020定义每个设备可以支持多个1588实体,每个实体通过不同域(domain)来区分。以下称支持多个1588实体的设备为多域1588实体,多域实体,多域1588设备或多域设备。每个实体可支持边界时钟(boundary clock,BC)或者根主时钟(Grandmaster,GM)。每个BC实体包括一个从(slave)端口与至少一个主(master)端口,每个GM实体包括至少一个master端口,而且,不同域的BC实体或GM实体间1588报文的处理是相互独立的。
目前,IEEE 802.1AS-2020协议标准已经应用到时间敏感网络(time sensitivenetworking,TSN)工业领域以及TSN车载领域。考虑到工业领域以及车载领域的高可靠性要求,实现即使多个实体中的某一1588实体对应的slave端口丢失,该1588实体仍然能够继续从该1588实体对应的master端口发送携带准确时间的1588报文显得尤为重要。
发明内容
本申请提供了一种报文传输方法、装置、设备及存储介质,以使得当网络设备的某个时钟域的从端口失效或是不存在时,网络设备仍然能够通过主端口发送携带精确时间的时钟报文。
第一方面,提供了一种报文传输方法,该方法包括:响应于网络设备的第二从端口失效或第二从端口不存在,网络设备的第二主端口获取第二数据集,第二数据集基于第一数据集修改得到,第一数据集包括第一从端口接收的第一时钟报文所携带的时戳以及第一从端口根据第一时钟报文产生的数据,第一从端口属于第一时钟域,第二主端口属于第二时钟域,第一时钟域与第二时钟域不同;网络设备根据第二数据集,通过第二主端口发送第二时钟报文,第二时钟报文所携带的时戳为第一时钟报文所携带的时戳,第一时钟报文和第二时钟报文包括精确时间协议中的同步sync报文或跟随follow_up报文。
其中,时戳为sync报文中的源时戳originTimestamp,或者为follow_up报文中的精确源时戳preciseOriginTimestamp。精确时间协议是指IEEE 1588定义的精确时间协议PTP或IEEE 802.1AS定义的广义精确时间协议gPTP。
由于网络设备能够基于第一数据集修改得到第二数据集,并且基于该第二数据集通过第二主端口发送第二时钟报文。使得当网络设备的第二从端口失效或第二从端口不存在时,网络设备仍然能够保持通过第二主端口发送携带精确时间的第二时钟报文,以保证第二时钟域继续传递准确的时间,从而提高通信系统的可靠性。
在一种可能的实施方式中,网络设备的第二主端口获取第二数据集,包括:第二主端口接收第一数据集,根据第二时钟域的信息修改第一数据集,得到第二数据集。网络设备通过第二主端口接收并修改第一数据集,以获得属于第二时钟域的数据集。
在一种可能的实施方式中,第二主端口与第一从端口之间包括IWF模块,IWF模块用于根据第二时钟域的信息修改第一数据集,得到第二数据集;网络设备的第二主端口获取第二数据集,包括:第二主端口接收IWF模块发送的第二数据集。网络设备增加IWF模块,IWF模块可通过软件实现无需额外的硬件支持,由IWF模块接收并修改第一数据集,以获得属于第二时钟域的数据集,提高了报文传输的可靠性及灵活性。
在一种可能的实施方式中,第一数据集包括域名domainNumber;根据第二时钟域的信息修改第一数据集,包括:修改domainNumber的值为网络设备的第二时钟域的域名。由于第一数据集是通过第一时钟域的第一从端口获得的,因此第一数据集中的域名为第一时钟域的域名,将第一数据集中第一时钟域的域名修改为第二时钟域的域名,即可得到第二数据集。
在一种可能的实施方式中,第一数据集包括域名domainNumber、本地端口号localPortNumber、同步回执时间syncReceiptTimeoutTime、源端口标识sourcePortIdentity和日志消息间隔logMessageInterval;根据第二时钟域的信息修改第一数据集,包括:修改domainNumber的值为网络设备的第二时钟域的域名,修改localPortNumber的值为第一值,修改syncReceiptTimeoutTime的值为第二值,修改sourcePortIdentity中的时钟标识clockIdentity为第二时钟域的clockIdentity,修改sourcePortIdentity中的端口号portnumber为第三值,修改logMessageInterval为第二时钟域的clockMaster发送报文的时间间隔。
在一种可能的实施方式中,网络设备包括第二开关;响应于网络设备的第二从端口失效或第二从端口不存在,网络设备的第二主端口获取第二数据集,包括:响应于第二从端口失效或第二从端口不存在,网络设备的第二主端口基于第二开关的控制,根据第一从端口对应的第一数据集获取第二数据集。
在一种可能的实施方式中,网络设备包括第二开关;该方法还包括:响应于第二从端口存在且有效,第二从端口属于第二时钟域,网络设备的第二主端口基于第二开关的控制,根据第二从端口对应的第三数据集发送第三时钟报文,第三时钟报文包括精确时间协议中的sync报文或follow_up报文。
网络设备包括能够控制第二主端口获取第二数据集的方式的第二开关,若网络设备存在属于第二时钟域的第二从端口,当第二从端口存在且有效时,基于第二开关的控制第二主端口接收来自第二从端口的数据集,当第二从端口失效或第二从端口不存在时,基于第二开关的控制第二主端口接收来自第一从端口的数据集,即可保证第二主端口在任何情况下能够获取到第二数据集。
在一种可能的实施方式中,网络设备还包括第一开关,第一主端口属于第一时钟域;该方法还包括:响应于第一从端口存在且有效,网络设备的第一主端口基于第一开关的控制,根据第一从端口对应的第一数据集发送第四时钟报文,第四时钟报文包括精确时间协议中的sync报文或follow_up报文;响应于第一从端口失效或第一从端口不存在,第二从端口存在且有效,网络设备的第一主端口基于第一开关的控制,根据第二从端口对应的第三数据集发送第五时钟报文,第五时钟报文包括精确时间协议中的sync报文或follow_up报文,。
当网络设备存在第一主端口与第二主端口的情况下,通过第一开关和第二开关控制第一主端口与第二主端口发送时钟报文的方式,无论是第一从端口失效或不存在,还是第二从端口失效或不存在时,均能够保证第一主端口和第二主端口发送携带精确时间的时钟报文。
在一种可能的实施方式中,网络设备的第二主端口获取第二数据集之前,该方法还包括:网络设备的第一从端口接收第三主端口发送的第一时钟报文,第三主端口为网络设备的时钟源设备的第一时钟域对应的一个主端口;基于接收到的第一时钟报文获取根据第一时钟报文产生的数据;基于第一时钟报文所携带的时戳以及根据第一时钟报文产生的数据生成第一数据集。
第二方面,提供了一种报文传输装置,该装置包括:
第一获取模块,用于响应于网络设备的第二从端口失效或第二从端口不存在,网络设备的第二主端口获取第二数据集,第二数据集基于第一数据集修改得到,第一数据集包括第一从端口接收的第一时钟报文所携带的时戳以及第一从端口根据第一时钟报文产生的数据,第一从端口属于第一时钟域,第二主端口属于第二时钟域,第一时钟域与第二时钟域不同;
发送模块,用于网络设备根据第二数据集,通过第二主端口发送第二时钟报文,第二时钟报文所携带的时戳为第一时钟报文所携带的时戳,第一时钟报文和第二时钟报文包括精确时间协议中的同步sync报文或跟随follow_up报文。
其中,时戳为sync报文中的源时戳originTimestamp,或者为follow_up报文中的精确源时戳preciseOriginTimestamp。
在一种可能的实施方式中,第一获取模块,用于第二主端口接收第一数据集,根据第二时钟域的信息修改第一数据集,得到第二数据集。
在一种可能的实施方式中,第二主端口与第一从端口之间包括IWF模块,IWF模块用于根据第二时钟域的信息修改第一数据集,得到第二数据集;第一获取模块,用于第二主端口接收IWF模块发送的第二数据集。
在一种可能的实施方式中,第一数据集包括域名domainNumber;第一获取模块,还用于修改domainNumber的值为网络设备的第二时钟域的域名。
在一种可能的实施方式中,第一数据集包括域名domainNumber、本地端口号localPortNumber、同步回执时间syncReceiptTimeoutTime、源端口标识sourcePortIdentity和日志消息间隔logMessageInterval;第一获取模块,还用于修改domainNumber的值为网络设备的第二时钟域的域名,修改localPortNumber的值为第一值,修改syncReceiptTimeoutTime的值为第二值,修改sourcePortIdentity中的时钟标识clockIdentity为第二时钟域的clockIdentity,修改sourcePortIdentity中的端口号portnumber为第三值,修改logMessageInterval为第二时钟域的clockMaster发送报文的时间间隔。
在一种可能的实施方式中,网络设备包括第二开关;第一获取模块,用于响应于第二从端口失效或第二从端口不存在,网络设备的第二主端口基于第二开关的控制,根据第一从端口对应的第一数据集获取第二数据集。
在一种可能的实施方式中,网络设备包括第二开关,第二从端口属于第二时钟域;该装置还包括:
第一控制模块,用于响应于第二从端口存在且有效,网络设备的第二主端口基于第二开关的控制,根据第二从端口对应的第三数据集发送第三时钟报文,第三时钟报文包括精确时间协议中的sync报文或follow_up报文。
在一种可能的实施方式中,网络设备还包括第一开关,第一主端口属于第一时钟域;该装置还包括:
第二控制模块,用于响应于第一从端口存在且有效,网络设备的第一主端口基于第一开关的控制,根据第一从端口对应的第一数据集发送第四时钟报文,第四时钟报文包括精确时间协议中的sync报文或follow_up报文;
第三控制模块,用于响应于第一从端口失效或第一从端口不存在,第二从端口存在且有效,网络设备的第一主端口基于第一开关的控制,根据第二从端口对应的第三数据集发送第五时钟报文,第五时钟报文包括精确时间协议中的sync报文或follow_up报文。
在一种可能的实施方式中,该装置还包括:
接收模块,用于网络设备的第一从端口接收第三主端口发送的第一时钟报文,第三主端口为网络设备的时钟源设备的第一时钟域对应的一个主端口;
第二获取模块,用于基于接收到的第一时钟报文获取根据第一时钟报文产生的数据;
生成模块,用于基于第一时钟报文所携带的时戳以及根据第一时钟报文产生的数据生成第一数据集。
第三方面,提供了一种网络设备,该网络设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述网络设备实现如上任一所述的报文传输方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
第四方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该通信装置执行第一方面或第一方面的任一种可能的实施方式中的方法。
第五方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以使计算机实现如上任一所述的报文传输方法。
第六方面,提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
第七方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
第八方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
应当理解的是,本申请实施例的第二方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实施方式的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种PTP报文头的结构示意图;
图2为本申请实施例提供的一种one-step模式下的sync报文的结构示意图;
图3为本申请实施例提供的一种two-step模式下的sync报文的结构示意图;
图4为本申请实施例提供的一种follow_up报文的结构示意图;
图5为本申请实施例提供的一种Follow_Up information TLV字段的结构示意图;
图6为本申请实施例提供的一种网络设备的结构示意图;
图7为本申请实施例提供的一种网络设备的结构示意图;
图8为本申请实施例提供的一种报文传输方法的流程图;
图9为本申请实施例提供的一种网络设备的结构示意图;
图10为本申请实施例提供的一种网络设备的结构示意图;
图11为本申请实施例提供的一种网络设备的结构示意图;
图12为本申请实施例提供的一种报文传输装置的结构示意图;
图13为本申请实施例提供的一种报文传输装置的结构示意图;
图14为本申请实施例提供的一种报文传输装置的结构示意图;
图15为本申请实施例提供的一种报文传输装置的结构示意图;
图16为本申请实施例提供的一种网络设备的结构示意图;
图17为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
IEEE 1588协议标准支持将设备(也称为从设备)的本地时钟(也称为从时钟)与根主(grand master,GM)时钟设备的时钟或时间实现同步,以使得分布式通信网络能够具有严格的定时同步。在应用过程中,IEEE1588协议在技术规范中定义了一套基于消息的同步协议,通过周期性的发布带有时戳(timestamp)的报文,使网络中的各个节点的时钟或时间得到校正,从而实现整个系统的同步运行。例如,对标准以太网或其他采用多播技术的分布式总线系统中的传感器、执行器以及终端设备中的时钟进行亚微秒级同步。
针对基于IEEE 1588协议标准定义的IEEE 802.1AS-2020应用标准,主要用于TSN工业领域以及TSN车载领域等。IEEE 802.1AS-2020定义的各种PTP报文包括PTP报文头,示例性地,该PTP报文头的结构如图1所示。该PTP报文头包括主标准组织标识(majorSdoId)字段、报文类型(messageType)字段、PTP次版本(minorVersion PTP)字段、PTP版本(versionPTP)字段、报文长度(messageLength)字段、域序列号(domainNumber)字段、次标准组织标识(minorSdoId)字段、标志(flags)字段、修正域(correctionField)字段、报文类型特征(messageTypeSpecific)字段、源端口标识(sourcePortIdentity)字段、序列标识(sequence Id)字段、控制域(controlField)字段以及对数报文时间间隔(logMessageInterval)字段。PTP报文头的各个字段介绍如下。
报文类型(messageType):不同的值代表不同类型的PTP报文。versionPTP和minorVersionPTP代表1588协议的版本号,如果versionPTP为1,minorVersionPTP为0,代表1588报文符合IEEE 1588v1协议(IEEE 1588-2002);如果versionPTP为2,minorVersionPTP为0,代表1588报文符合IEEE 1588v2协议(IEEE 1588-2008);如果versionPTP为2,minorVersionPTP为10,代表1588报文符合IEEE 1588v2.1协议(IEEE 1588-2019)。PTP域序列号(domainNumber):此PTP域序列号(domainNumber)字段的值为默认数据集的DS域名(defaultDS.domainNumber)这个变量。标志(flags):携带各种标记。修正域(correctionField):传送1588报文的驻留时间、链路延时或链路非对称时延等。源端口标识(sourcePortIdentity):发送端口的标识。序列号(sequence Id):为了区分一个发送端口发送同一类型的多个报文。控制域(controlField):可以填为0,或者由报文类型域的值决定,即根据报文类型不同取值不同。对数报文时间间隔(logMessageInterval):携带发送报文的对数时间间隔,它们的值是以2为底取的对数。
其中,IEEE 802.1AS-2020标准定义,sync报文由GM时钟设备的Master端口发送。若Master端口是一步(one-step)模式的时钟,参见图2,sync报文的格式包括头(header)字段、源时戳(originTimestamp)字段以及跟随信息(Follow_Up information)类型-长度-值(type-lenght-value,TLV)字段。其中,图2中的头(header)字段的结构示意图可参见图1,源时戳(originTimestamp)字段定义为数值为0或Master端口发送sync报文的时间,此时,sync报文发送的时戳携带在sync报文的originTimestamp,Follow_Up information TLV字段的结构示意图可参见图5。若Master端口是两步(two-step)模式的时钟,参见图3,sync报文的格式包括头(header)字段和源时戳(originTimestamp)字段。其中,图3中的头(header)字段的结构示意图同样可参见图1,在two-step模式下,sync报文的originTimestamp信息为0,实际的时戳信息携带在和该sync报文相关联的follow_up报文的精确源时戳(preciseOriginTimestamp)中。参见图4,follow_up报文格式包括头(header)字段、精确源时戳(preciseOriginTimestamp)以及跟随信息(Follow_Upinformation)TLV字段。
其中,图4中的头(header)字段的结构示意图可参见图1,Follow_Up informationTLV字段的结构示意图如图5所示,Follow_Up information TLV字段包括TLV类型(tlvType)字段、长度域(lengthField)字段、组织标识(organizationID)字段、组织子类型(organizationSubType)字段、累积尺度速率偏移(cumulativeScaledRateOffset)字段、根主时基指示器(gmTimeBaseIndicator)字段、最近根主相位变化(lastGMPhaseChange)字段和尺度最近根主频率变化(scaledLastGMFreqChange)字段。Follow_Up information TLV字段中包括的各个字段介绍如下。
TLV类型(tlvType)字段的值是0x3,该值表示TLV是供应商和标准组织扩展TLV。长度域(lengthField)字段的值为28,组织标识(organizationID)字段为00-80-C2,组织子类型(organizationSubType)字段的值为1。累积尺度速率偏移(cumulativeScaledRateOffset)字段为累积ScaledRateOffset的值。根主时基指示器(gmTimeBaseIndicator)字段的值是当前Grandmaster PTP实例的lockSource实体的timeBaseIndicator(参见IEEE 802.1AS-2020协议的9.2.2.3章节的内容)。最近根主相位变化(lastGMPhaseChange)字段的值是当前主控时钟的时间减去上一个主控时钟的时间,该值是从Sync报文结构的lastGmPhaseChange字段复制的。尺度最近根主频率变化(scaledLastGMFreqChange)字段的值是当前根主时钟相对于上一个根主时钟的分数频率偏移。
在IEEE 802.1AS-2020协议标准中,一个设备可支持多个1588实体,其中,每个实体对应不同的时钟domain(简称,domain),每个实体可以为BC实体或者GM实体,每个BC实体包括一个slave端口与至少一个master端口,每个GM实体包括至少一个master端口,并且,不同的domain内的时钟报文的处理是相互独立的。
示例性地,网络设备包括实体1和实体2,实体1和实体2均为BC实体。参见图6,实体1对应的时钟域为domain1,实体2对应的时钟域为domain2。slave1端口接收该设备的实体1对应的时钟源设备发送的domain1的时钟报文,slave1端口基于接收该时钟报文获取时钟数据集,时钟数据集包括该时钟报文携带的数据与slave1端口接收该时钟报文时产生的数据。实体1把slave1端口获取的时钟数据集传输至master1端口,master1端口基于发送时钟报文更新时钟数据集,master1端口根据更新后的时钟数据集向下行设备发送domain1的时钟报文。slave2端口接收该设备的实体2对应的时钟源设备发送的domain2的时钟报文,slave2端口基于接收该时钟报文获取时钟数据集。时钟数据集包括该时钟报文携带的数据与slave2端口接收该时钟报文时产生的数据,实体2把slave2端口获取的时钟数据集传输至master2端口。master2端口基于发送时钟报文更新时钟数据集,master2端口根据更新后的时钟数据集向下行设备发送domain2的时钟报文。
随着IEEE 802.1AS-2020协议标准在TSN工业领域以及TSN车载领域的应用范围越来越广,对1588报文进行时钟同步的高可靠性要求越来越高。基于IEEE 802.1AS-2020,IEEE标准正在研究制定1588多域热备份方案,该多域热备份方案需要借助从时钟模块(ClockSlave)和主时钟模块(ClockMaster)模块的功能实现。其中,ClockSlave模块根据slave端口的信息用于恢复实体1对应的时钟源的时间,ClockMaster模块用于同步ClockSlave模块的时间。
参见图7,当实体2对应的domain2的slave2端口失效或者不存在时,实体1的ClockSlave模块根据slave1端口的信息来恢复实体1对应的时间源的时间,设备将实体1的ClockSlave模块恢复的时间源的时间传递给实体2的ClockMaster模块,实体2的ClockMaster模块可以从实体1的ClockSlave模块获取信息,进而实体2的ClockMaster模块的时间同步到实体1的ClockSlave模块的时间,从而使master2端口能够基于ClockMaster模块的时间继续发送实体2的1588报文。由此,实体2的1588报文携带的时戳同步于实体1的ClockSlave模块恢复的时间,master2端口发送的1588报文可以携带准确时间。
但是,上述图7所示的方法需要ClockSlave模块根据slave1端口恢复时间源的时间并同步到ClockMaster模块,以使master2端口能够基于ClockMaster模块同步的ClockSlave模块恢复的时间源的时间发送时钟报文。也就是说,master2端口发送的时钟报文所携带的时戳为ClockSlave模块根据slave1端口恢复得到的时间,而不是slave1端口接收的时钟报文所携带的时戳。例如,slave1端口接收的时钟报文所携带的时戳为2021年1月1日0:0:0,由于ClockSlave模块与slave1端口之间存在1秒的传输时延,ClockSlave模块根据slave1端口恢复得到的时间源的时间为2021年1月1日0:0:1,ClockMaster模块同步上述时间2021年1月1日0:0:1并发送给master2端口,因此,master2端口发送的时钟报文所携带的时戳为2021年1月1日0:0:1,而不是2021年1月1日0:0:0。
并且,参照IEEE 802.1AS-2020标准要求,ClockMaster模块是可选要求,即:一些设备没有ClockMaster模块,因而对于这些设备无法使用上述多域热备份方法。另外,需要采用slave端口同步后的ClockSlave时间作为另外一个域的master端口发送的ClockMaster时间,而ClockSlave模块需要设备支持时间恢复功能,也即ClockSlave模块和ClockMaster模块还需要借助额外的硬件设备实现,例如,支持时钟锁相环功能的硬件模块,实现过程较复杂。
对此,本申请实施例提供了一种报文传输方法,以简单的方式实现网络设备的多域热备份功能。该方法可应用于包括多个网络设备的通信系统中,该多个网络设备至少包括GM设备和BC设备,该多个网络设备中的每一个网络设备能够支持同时传输多个时钟域的时钟报文。示例性地,本申请实施例以该多个网络设备中的任一网络设备为例,对本申请实施例提供的报文传输方法进行说明。参见图8,该方法包括如下步骤801和步骤802。
步骤801,响应于网络设备的第二从端口失效或第二从端口不存在,网络设备的第二主端口获取第二数据集,第二数据集基于第一数据集修改得到,第一数据集包括第一从端口接收的第一时钟报文所携带的时戳以及第一从端口根据第一时钟报文产生的数据,第一从端口属于第一时钟域,第二主端口属于第二时钟域,第一时钟域与第二时钟域不同。
在一种可能的实施方式中,网络设备支持多个实体,每个实体可实现为BC或者GM,其中,每个BC实体包括一个从端口与至少一个主端口,每个GM实体包括至少一个主端口,每个BC实体或GM实体间的时钟报文的处理是相互独立的。
其中,网络设备的第二从端口可以为网络设备包括的某一BC实体对应的从端口,第二从端口失效或不存在指的是网络设备某一BC实体的第二从端口失效或丢失,或者网络设备某一GM实体不存在从端口。网络设备的第二主端口可以为网络设备包括的某一BC实体对应的主端口,或者网络设备某一GM实体对应的主端口,第二主端口属于第二时钟域。网络设备的第一从端口可以为网络设备其它某一BC实体的从端口,第一从端口存在且有效,也就是说,此时的第一从端口能够正常处理时钟报文,第一从端口属于第一时钟域。这里的第一时钟域与第二时钟域是两个不同的时钟域。
示例性地,以网络设备包括两个BC实体为例进行说明,其中,第一BC实体的第一从端口与第一主端口属于第一时钟域,第二BC实体的第二从端口与第二主端口属于第二时钟域。示例性地,在IEEE 802.1AS-2020协议标准中,网络设备支持的每个时钟域称为一个实体,即第一时钟域称为实体1,第二时钟域称为实体2。在本申请实施例中,实体1和实体2支持BC功能,也称作BC实体1和BC实体2,BC实体1对应的第一从端口称为slave1端口,BC实体1对应的第一主端口称为master1端口,BC实体2对应的第二从端口称为slave2端口,BC实体2对应的第二主端口称为master2端口。
在一种可能的实施方式中,BC实体2的第二主端口也可以和BC实体1的第一从端口组成一个融合BC实体。该融合BC实体与IEEE 802.1AS-2020标准定义的BC实体不一样,标准BC实体只限于同一个实体内处理时钟数据及其它功能,其中,时钟数据包括但不限于时戳信息,融合BC实体允许所融合的不同时钟域之间处理时钟数据及其它功能。例如,BC实体2的第二主端口和BC实体1的第一从端口组成的融合BC实体,允许第二主端口接收源于第一从端口的时钟数据。
在一种可能的实施方式中,第一数据集包括网络设备的第一从端口接收的第一时钟报文所携带的时戳及相关数据以及第一从端口根据接收的第一时钟报文产生的数据。在本申请实施例中,第一时钟报文包括精确时间协议中的sync报文。可选地,在two-step模式下第一时钟报文还包括follow_up报文。其中,精确时间协议包括IEEE 1588定义的PTP协议或IEEE 802.1AS定义的gPTP。
本申请实施例不对第一数据集的获取方式进行限定,在一种可能的实施方式中,网络设备的第二主端口获取第二数据集之前,还包括:网络设备的第一从端口接收第三主端口发送的第一时钟报文,第三主端口为网络设备的时钟源设备的第一时钟域对应的一个主端口;基于接收到的第一时钟报文获取根据第一时钟报文产生的数据;基于第一时钟报文所携带的时戳以及根据第一时钟报文产生的数据生成第一数据集。
在本申请实施例中,网络设备的第一从端口能够接收第一时钟域对应的主端口发送的第一时钟报文,第一时钟报文携带了时钟源设备的时戳,第一从端口根据接收到的第一时钟报文能够产生相应的数据,例如第一时钟报文的接收时戳或第一从端口和第三主端口之间的时延信息。由此,第一从端口能够基于第一时钟报文携带的时钟源设备的时戳以及根据第一时钟报文产生的数据,生成携带有第一时钟域的时钟数据的第一数据集。
在一种可能的实施方式中,以第一时钟报文为sync报文为例,根据sync报文生成的第一数据集在IEEE 802.1AS-2020协议标准中称为端口同步(portSyncSync)数据集,成员包括:domainNumber、本地端口号(localPortNumber)、同步回执时间(syncReceiptTimeoutTime)、跟随修正字段(followUpCorrectionField)、sourcePortIdentity、logMessageInterval、preciseOriginTimestamp、上行发送时间(upstreamTxTime)、频偏(rateRatio)、gmTimeBaseIndicator、lastGmPhaseChange和lastGmFreqChange。
对于one-step模式,第一从端口只会接收到sync报文,根据图1所示的PTP报文头的结构、图2所示的sync报文的结构及图5所示的Follow_Up information TLV字段的结构可知,网络设备的第一从端口接收的sync报文所携带的时戳为originTimestamp,网络设备的第一从端口接收的sync报文所携带的数据包括:domainNumber、sourcePortIdentity、logMessageInterval、correctionField、、cumulativeScaledRateOffset、gmTimeBaseIndicator、lastGmPhaseChange和scaledLastGmFreqChange。第一从端口生成的portSyncSync数据集里的domainNumber、followUpCorrectionField、sourcePortIdentity、logMessageInterval、preciseOriginTimestamp、gmTimeBaseIndicator、lastGmPhaseChange和lastGmFreqChange分别来源于sync报文的domainNumber、correctionField、sourcePortIdentity、logMessageInterval、originTimestamp、gmTimeBaseIndicator、lastGmPhaseChange和scaledLastGmFreqChange。
第一从端口生成的portSyncSync数据集里的localPortNumber为第一从端口的PTP端口号。第一从端口生成的portSyncSync数据集里的rateRatio为sync报文里的cumulativeScaledRateOffset累加第一从端口自己生成的相邻速率比(neighborRateRatio),neighborRateRatio根据第一从端口和上游端口交互的点延迟请求(pdelay_req)报文、点延迟响应(pdelay_resp)报文和点延迟响应跟随(pdelay_resp_follow_up)报文携带的时戳计算得到。其中,neighborRateRatio代表本网络设备相对于上行设备之间的频偏,cumulativeScaledRateOffset代表网络设备的上行设备相对于GM时钟设备的频偏,rateRatio代表本网络设备相对于GM时钟设备的频偏。
第一从端口生成的portSyncSync数据集里的upstreamTxTime需要第一从端口根据接收到的sync报文产生获得。在一种可能的实施方式中,以第一时钟报文为sync报文为例,第一从端口获取根据sync报文产生数据的过程如下描述。首先,第一从端口获取网络设备接收该sync报文时的本地时钟对应的入口时戳,标记为Ta;upstreamTxTime=Ta–meanPathDelay/neighborRateRatio。其中,平均路径延迟(meanPathDelay)是第一从端口和上行设备的第三主端口之间的光纤时延,meanPathDelay通过点延迟请求(pdelay_req)报文、点延迟响应(pdelay_resp)报文和点延迟响应跟随(pdelay_resp_follow_up)报文携带的时戳信息计算得到。
对于two-step模式,第一从端口会接收到sync报文和follow_up报文,根据图4所示的follow_up报文的结构及图5所示的Follow_Up information TLV字段的结构可知,网络设备的第一从端口接收的follow_up报文所携带的数据包括:domainNumber、sourcePortIdentity、logMessageInterval、followUpCorrectionField、preciseOriginTimestamp、cumulativeScaledRateOffset、gmTimeBaseIndicator、lastGmPhaseChange和scaledLastGmFreqChange。第一从端口生成的portSyncSync数据集里的domainNumber、followUpCorrectionField、sourcePortIdentity、logMessageInterval、preciseOriginTimestamp、gmTimeBaseIndicator、lastGmPhaseChange和lastGmFreqChange分别来源于follow_up报文的domainNumber、followUpCorrectionField、sourcePortIdentity、logMessageInterval、preciseOriginTimestamp、gmTimeBaseIndicator、lastGmPhaseChange和scaledLastGmFreqChange。第一从端口生成的portSyncSync数据集里的localPortNumber、rateRatio和upstreamTxTime参照one-step的生成方式。
在一种可能的实施方式中,由于第一数据集由第一从端口根据第一时钟域的时钟报文得到,因此,第一数据集中包括的信息为第一时钟域的信息,需要根据第二时钟域的信息对第一数据集进行修改,以得到包括第二时钟域的信息的第二数据集,使得第二主端口能够基于该第二数据集发送第二时钟域的时钟报文。
在一种可能的实施方式中,网络设备的第二主端口获取第二数据集,包括:第二主端口接收第一数据集,根据第二时钟域的信息修改第一数据集,得到第二数据集。该实施方式中,第二时钟域对应的第二实体或者第二时钟域对应的第二实体的第二主端口具有修改第一数据集的功能。
在一种可能的实施方式中,网络设备的第二主端口获取第二数据集,包括:第二实体接收第一数据集;第二实体根据第二时钟域的信息修改第一数据集,得到第二数据集;第二主端口接收第二实体发送的第二数据集。该实施方式中,第二实体具有修改第一数据集的功能,第二主端口直接接收第二实体修改第一数据集后得到的第二数据集。
在本申请实施例中,网络设备中还可以包括有互通功能(interworkingfunctionality,IWF)模块,IWF模块具有将状态或协议变换成一致的网络或用户业务的功能,能够隐蔽在物理链路和网络技术上的存在差异的装置。也就是说,IWF模块是能够提供互连的网络功能实体,IWF模块可以是网络中一个或多个逻辑或物理实体的一部分,实体指的是任何能独立看待的部件、器件、功能单元、设备、子系统或系统等。其中,IWF模块只需要通过软件代码即可实现。
在一种可能的实施方式中,第二主端口与第一从端口之间包括IWF模块;网络设备的第二主端口获取第二数据集,包括:第二主端口接收IWF模块发送的第二数据集。其中,IWF模块用于根据第二时钟域的信息修改第一数据集,得到第二数据集。
在一种可能的实施方式中,IWF模块可以为第二主端口的一部分,也可以为第一从端口的一部分,还可以为网络设备的一部分。当IWF模块为网络设备的一部分的情况下,IWF模块还可用于当第一从端口失效或丢失时,根据第一时钟域的参数信息修改由第二从端口生成的数据集,该数据集包括第二从端口接收的时钟报文所携带的数据以及第二从端口根据该时钟报文产生的数据。
示例性地,参见图9所示的网络设备的结构示意图。其中,IWF模块用IWF2模块表示,此时,domain2不存在slave2端口或者slave2端口丢失。slave1端口将domain1的时钟数据集即第一数据集发送给IWF2模块,IWF2模块将domain1的时钟数据集对应修改为domain2的时钟数据集,即第二数据集。之后,IWF2模块将domain2的第二数据集发送给master2端口,从而使得master2端口能够基于该domain1的第二数据集继续生成和发送domain2的时钟报文,实现了在slave2端口不存在或失效的情况下,master2端口仍然能够继续保持domain2的时钟报文的传输的目的,并且master2端口发送的时钟报文也携带了精确的时间。
在一种可能的实施方式中,根据所述第二时钟域的信息修改所述第一数据集包括如下两种方式。方式一:只修改domainNumber的值为网络设备的第二时钟域的域名,第一数据集中的其他参数的值无需修改。方式二:修改domainNumber的值为网络设备的第二时钟域的域名;修改localPortNumber的值为第一值;修改syncReceiptTimeoutTime的值为第二值;修改sourcePortIdentity中的时钟标识clockIdentity为网络设备的第二时钟域的clockIdentity,修改sourcePortIdentity中的端口号portnumber为第三值;修改logMessageInterval为第二时钟域的clockMaster发送报文的时间间隔;gmTimeBaseIndicator、lastGmPhaseChange和lastGmFreqChange的值无需修改。其中,第一值、第二值与第三值均可以根据需求灵活设置。
示例性地,以第一时钟报文为sync报文为例,根据第二时钟域的信息修改第一数据集,包括如下两种情况。
情况一,当slave2端口失效或者不存在情况下,该网络设备作为第二时钟域的BC实体。
在该情况一下,根据第二时钟域的信息修改第一数据集,包括:将domainNumber的值修改为网络设备的第二时钟域的域名,例如,网络设备的第二时钟域的域名为标识domain2,第一数据集中的其他参数的值无需修改。
情况二,当slave2端口失效或者不存在情况下,该网络设备作为第二时钟域的GM实体。
在该情况二下,网络设备作为第二时钟域的GM时钟节点,GM时钟节点周期性地发送时钟报文,第二时钟域的其他BC节点与GM时钟节点的时间保持一致。可选地,根据第二时钟域的信息修改(参见IEEE 802.1AS-2020协议10.2.9章节的内容),包括:
1、修改domainNumber的值为网络设备的第二时钟域的标识domain2;
2、修改localPortNumber的值为0;
3、修改syncReceiptTimeoutTime的值为FFFFFFFFFFFFFFFF16;
4、修改sourcePortIdentity中的时钟标识clockIdentity为网络设备的第二时钟域的clockIdentity,修改sourcePortIdentity中的端口号portnumber为0;
5、修改logMessageInterval为第二时钟域的clockMaster发送报文的时间间隔;
6、gmTimeBaseIndicator、lastGmPhaseChange和lastGmFreqChange的值无需修改。
由此,通过上述方式能够将第一数据集中的属于domain1的信息,修改为domain2的信息,生成了包括domain2的信息与同步时钟信息的第二数据集。在本申请实施例中,不对第一数据集和第二数据集的成员参数进行限定,也就是说,第一数据集与第二数据集的成员数量可以相同也可以不同,只要是第二数据集是基于第一数据集修改得到即可。
步骤802,网络设备根据第二数据集,通过第二主端口发送第二时钟报文,第二时钟报文所携带的时戳为第一时钟报文所携带的时戳,第一时钟报文和第二时钟报文包括精确时间协议中的sync报文或follow_up报文。
在本申请实施例中,第二时钟报文包括精确时间协议中的sync报文。可选地,在two-step模式下第二时钟报文还包括follow_up报文,第二时钟报文与第一时钟报文的类型相同。由于第二数据集根据第一数据集修改得到,而修改过程没有修改时戳信息,第二数据集中包括的时戳为第一数据集中的时戳,即第一时钟报文所携带的时戳,因此,第二时钟报文所携带的时戳为第一时钟报文所携带的时戳。其中,时戳指的是sync报文中的originTimestamp或者follow_up报文中的preciseOriginTimestamp。
例如,slave1端口接收的第一时钟报文所携带的时戳为2021年1月1日0:0:0,由于第二时钟报文所携带的时戳为第一时钟报文所携带的时戳,因此,master2端口发送的第二时钟报文所携带的时戳为2021年1月1日0:0:0。对于网络设备内部的时延,可通过其他信息携带在时钟报文里,例如,可携带在sync报文或者follow_up报文的header字段中的correctionField字段。从而基于时钟报文所携带的时戳以及该时延,仍然能够使得第二报文携带的时间与时间源的时间同步。
而对于采用ClockSlave模块和ClockMaster模块的方式,由于ClockSlave模块与slave1端口之间存在1秒的传输时延,ClockSlave模块根据slave1端口恢复得到的时间源的时间为2021年1月1日0:0:1,ClockMaster模块同步上述时间2021年1月1日0:0:1并发送给master2端口,因此,master2端口发送的时钟报文所携带的时戳为2021年1月1日0:0:1,而不是2021年1月1日0:0:0。
由此可见,本申请实施例提供的方法与采用ClockSlave模块和ClockMaster模块的方式不同。
在一种可能的实施方式中,网络设备能够根据第二数据集生成第二时钟报文,并通过第二主端口发送该第二时钟报文。其中,本申请不对网络设备根据第二数据集生成第二时钟报文的方式进行限定,第二时钟报文携带的数据可以包括第二数据集中所有的数据,也可以只包括第二数据集中的部分数据,只要保证通过第二主端口发送的第二时钟报文能够正常发送即可。
在一种可能的实施方式中,以第一时钟报文和第二时钟报文为sync报文为例,在one-step模式下,网络设备根据第二数据集,通过第二主端口master2发送第二时钟报文的过程为:获取发送第二时钟报文时网络设备的本地时钟对应的出口时戳;根据出口时戳更新followUpCorrectionField的值;将第二数据集里的preciseOriginTimestamp、rateRatio以及更新后的followUpCorrectionField写入第二时钟报文的originTimestamp、cumulativeScaledRateOffset以及correctionField字段;通过第二主端口向下行设备发送第二时钟报文。该第二时钟报文中携带的originTimestamp即为第一时钟报文携带的originTimestamp。
在一种可能的实施方式中,以第一时钟报文和第二时钟报文为sync报文为例,在two-step模式下,网络设备根据第二数据集,通过第二主端口master2发送第二时钟报文的过程为:获取发送第二时钟报文时网络设备的本地时钟对应的出口时戳;根据出口时戳更新followUpCorrectionField的值;将第二数据集里的preciseOriginTimestamp、rateRatio以及更新后的followUpCorrectionField写入主报文对应的从报文的preciseOriginTimestamp,cumulativeScaledRateOffset以及correctionField字段;通过第二主端口向下行设备发送主报文与从报文。示例性地,主报文为two-step模式下的sync报文,从报文为two-step模式下的follow_up报文。
可选地,根据出口时戳更新followUpCorrectionField的值的过程包括但不限于:followUpCorrectionField=followUpCorrectionField+(Tb–upstreamTxTime)*rateRatio,其中,Tb为网络设备发送该第二时钟报文时的本地时钟对应的出口时戳,等式右边的followUpCorrectionField为第二主端口接收的第二数据集里的成员。
在本申请实施例中,网络设备的第二主端口发送的第二时钟报文携带有originTimestamp、preciseOriginTimestamp、followUpCorrectionField以及rateRatio等信息,且第二时钟报文携带的originTimestamp为第一时钟报文所携带的originTimestamp,或者第二时钟报文携带的preciseOriginTimestamp为第一时钟报文所携带的preciseOriginTimestamp。实现了在网络设备的第二从端口失效或第二从端口不存在的情况下,第二主端口能够保持发送携带有准确时间信息的时钟报文的目的,使得实体2的时钟报文的精确时间传递不间断,提高通信系统时钟同步的高可靠性。
在一种可能的实施方式中,网络设备还可以包括第二开关;响应于网络设备的第二从端口失效或第二从端口不存在,网络设备的第二主端口获取第二数据集,包括:响应于第二从端口失效或第二从端口不存在,网络设备的第二主端口基于第二开关的控制,根据第一从端口对应的第一数据集获取第二数据集。此时,第二从端口属于第二时钟域,该报文传输方法还包括:响应于第二从端口存在且有效,网络设备的第二主端口基于第二开关的控制,根据第二从端口对应的第三数据集发送第三时钟报文,第三时钟报文包括精确时间协议中的sync报文或follow_up报文。本申请实施例不对第二从端口对应的第三数据集的内容进行限定,可参考第一数据集的内容。例如,第三数据集包括第二从端口接收的时钟报文所携带的时戳以及第二从端口根据接收到的时钟报文产生的数据。
示例性地,以IWF模块修改第一数据集为例,参见图10,其中,第二开关用符号D2来表示,IWF模块用IWF2来表示。在图10所示的网络设备的结构示意图中,domain2的slave2端口存在,slave2端口与IWF2模块的输出与开关D2连接。当slave2端口有效时,开关D2控制master2端口接收slave2端口发送的时钟数据集,即本申请实施例中的第三数据集。当slave2端口失效或丢失时,开关D2控制master2端口接收IWF2模块发送的时钟数据集,即本申请实施例中的第二数据集,这里,IWF2模块能够通过修改接收到的slave1端口的时钟数据集(即本申请实施例中的第一数据集)生成该第二数据集。由此,即可保证网络设备能够根据slave2端口的状态控制开关D2,使得master2端口能够在slave2端口失效或丢失情况下继续保持domain2的时钟报文的精确时间的传输。
在一种可能的实施方式中,网络设备还可以包括第一开关,此时,第一主端口属于第一时钟域,第二从端口属于第二时钟域,该报文传输方法还包括:响应于第一从端口存在且有效,网络设备的第一主端口基于第一开关的控制,根据第一从端口对应的第一数据集发送第四时钟报文,第四时钟报文包括精确时间协议中的sync报文或follow_up报文;响应于第一从端口失效或第一从端口不存在,第二从端口存在且有效,网络设备的第一主端口基于第一开关的控制,根据第二从端口对应的第三数据集发送第五时钟报文,第五时钟报文包括精确时间协议中的sync报文或follow_up报文。
本申请实施例不对第二从端口对应的第三数据集的内容进行限定,可参考第一数据集的内容。例如,第三数据集包括第二从端口接收的时钟报文所携带的时戳以及第二从端口根据接收到的时钟报文产生的数据。网络设备的第一主端口基于第一开关的控制,根据第二从端口对应的第三数据集发送第五时钟报文可参考第二主端口基于第二数据集发送第二时钟报文的方式,此处不再赘述。
示例性地,以IWF模块修改第一数据集为例,参见图11,其中,第一开关用符号D1来表示,第二开关用符号D2来表示,IWF模块包括IWF1和IWF2两部分,IWF1用于修改来自第二从端口的数据集,IWF2用于修改来自第一从端口的数据集。在图11所示的网络设备的结构示意图中,domain1的slave1端口和domain2的slave2端口都没有丢失,slave1端口与IWF1模块的输出与开关D1连接,slave2端口与IWF2模块的输出与开关D2连接。
当slave1端口存在且有效时,通过开关D1控制master1端口接收slave1端口发送的时钟数据集。当slave1端口失效或丢失时,通过开关D1控制master1端口接收IWF1模块发送的时钟数据集。由此,即可保证网络设备能够根据slave1端口的状态控制开关D1,使得master1端口能够在slave1端口失效或丢失情况下继续保持时钟报文的传输。同样,当slave2端口存在且有效时,通过开关D2控制master2端口接收slave2端口发送的时钟数据集。当slave2端口失效或第二从端口失效或者丢失时,通过开关D2控制master2端口接收IWF2模块发送的时钟数据集。由此,即可保证网络设备能够根据slave2端口的状态控制开关D2,使得master2端口能够在slave2端口失效或丢失情况下继续保持时钟报文的传输。
在一种可能的实施方式中,图11所示的网络设备的结构示意图中的IWF1模块和IWF2模块也可以为同一IWF模块,此时,当slave1端口失效或不存在时,IWF模块修改slave2端口的时钟数据集,并发给master1端口,当slave2端口失效不存在时,IWF模块修改slave1端口的时钟数据集,并发给master2端口。
本申请实施例提供的报文传输方法,当网络设备的第二从端口失效或第二从端口不存在时,第二主端口能够获取基于第一数据集修改得到的第二数据集,进而根据该第二数据集继续发送携带精确时间的时钟报文。也就是说,本申请实施例提供的方法可以不需要采用ClockMaster模块以及ClockSlave模块,即可使得当多域时钟设备内的某一时钟域的从端口失效或者不存在时,该某一时钟域的主端口仍然能够保持发送精确时间的时钟报文,该方法通过简单的方式实现了多域时钟设备的多域热备份功能,提高了通信系统的可靠性。对于不支持ClockMaster模块以及ClockSlave模块的BC设备,也可实现多域热备份hot-Standby功能。
另外,本申请实施例提供的方法通过采用保护开关,当某个域的slave端口正常时,将此域slave端口的数据和报文发送给此域的Master端口;当某个域的slave端口不存在或失效后,将另外一个域的slave端口的数据和报文通过IWF转换发送给此域的Master端口,提高了报文传输的可靠性及灵活性。
以上介绍了本申请实施例的报文传输方法,与上述方法对应,本申请实施例还提供了报文传输装置。图12-15是本申请实施例提供的一种报文传输装置的结构示意图,该装置应用于网络设备,该网络设备为上述图6-7、9-11或16-17附图所示的网络设备。基于图12-15所示的报文传输装置的如下多个模块,该图12-15所示的报文传输装置能够执行网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图12所示,报文传输装置包括:
第一获取模块1201,用于响应于网络设备的第二从端口失效或第二从端口不存在,网络设备的第二主端口获取第二数据集,第二数据集基于第一数据集修改得到,第一数据集包括第一从端口接收的第一时钟报文所携带的时戳以及第一从端口根据第一时钟报文产生的数据,第一从端口属于第一时钟域,第二主端口属于第二时钟域,第一时钟域与第二时钟域不同;
发送模块1202,用于网络设备根据第二数据集,通过第二主端口发送第二时钟报文,第二时钟报文所携带的时戳为第一时钟报文所携带的时戳,第一时钟报文和第二时钟报文包括精确时间协议中的同步sync报文或跟随follow_up报文。
其中,时戳指的是sync报文中的originTimestamp,或者follow_up报文中的preciseOriginTimestamp。
在一种可能的实施方式中,第一获取模块1201,用于第二主端口接收第一数据集,根据第二时钟域的信息修改第一数据集,得到第二数据集。
在一种可能的实施方式中,第二主端口与第一从端口之间包括IWF模块,IWF模块用于根据第二时钟域的信息修改第一数据集,得到第二数据集;第一获取模块1201,用于第二主端口接收IWF模块发送的第二数据集。
在一种可能的实施方式中,第一数据集包括域名domainNumber;第一获取模块1201,还用于修改domainNumber的值为网络设备的第二时钟域的域名。
在一种可能的实施方式中,第一数据集包括域名domainNumber、本地端口号localPortNumber、同步回执时间syncReceiptTimeoutTime、源端口标识sourcePortIdentity和日志消息间隔logMessageInterval;第一获取模块1201,还用于修改domainNumber的值为网络设备的第二时钟域的域名,修改localPortNumber的值为第一值,修改syncReceiptTimeoutTime的值为第二值,修改sourcePortIdentity中的时钟标识clockIdentity为第二时钟域的clockIdentity,修改sourcePortIdentity中的端口号portnumber为第三值,修改logMessageInterval为第二时钟域的clockMaster发送报文的时间间隔。
在一种可能的实施方式中,参见图13,该装置还包括:
接收模块1203,用于网络设备的第一从端口接收第三主端口发送的第一时钟报文,第三主端口为网络设备的时钟源设备的第一时钟域对应的一个主端口;
第二获取模块1204,用于基于接收到的第一时钟报文获取根据第一时钟报文产生的数据;
生成模块1205,用于基于第一时钟报文所携带的时戳以及根据第一时钟报文产生的数据生成第一数据集。
在一种可能的实施方式中,网络设备包括第二开关;第一获取模块1201,还用于响应于第二从端口失效或第二从端口不存在,网络设备的第二主端口基于第二开关的控制,根据第一从端口对应的第一数据集获取第二数据集。
在一种可能的实施方式中,网络设备包括第二开关;参见图14,该装置还包括:
第一控制模块1206,用于响应于第二从端口存在且有效,第二从端口属于第二时钟域,网络设备的第二主端口基于第二开关的控制,根据第二从端口对应的第三数据集发送第三时钟报文,第三时钟报文包括精确时间协议中的sync报文或follow_up报文。
在一种可能的实施方式中,网络设备还包括第一开关,第一主端口属于第一时钟域;参见图15,该装置还包括:
第二控制模块1207,用于响应于第一从端口存在且有效,网络设备的第一主端口基于第一开关的控制,根据第一从端口的第一数据集发送第四时钟报文,第四时钟报文包括精确时间协议中的sync报文或follow_up报文;
第三控制模块1208,用于响应于第一从端口失效或第一从端口不存在,第二从端口存在且有效,网络设备的第一主端口基于第一开关的控制,根据第二从端口对应的第三数据集发送第五时钟报文,第五时钟报文包括精确时间协议中的sync报文或follow_up报文。
应理解的是,上述图12-15提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图16,图16示出了本申请一个示例性实施例提供的网络设备2000的结构示意图。图16所示的网络设备2000用于执行上述图8所示的报文传输方法所涉及的操作。该网络设备2000例如是交换机、路由器等,该网络设备2000可以由一般性的总线体系结构来实现。
如图16所示,网络设备2000包括至少一个处理器2001、存储器2003以及至少一个通信接口2004。
处理器2001例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processingunits,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器2001包括专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,网络设备2000还包括总线。总线用于在网络设备2000的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器2003例如是独立存在,并通过总线与处理器2001相连接。存储器2003也可以和处理器2001集成在一起。
通信接口2004使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口2004可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口2004可以为以太(Ethernet)接口、快速以太(Fast Ethernet,FE)接口、千兆以太(Gigabit Ethernet,GE)接口,异步传输模式(Asynchronous Transfer Mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口2004可以用于网络设备2000与其他设备进行通信。
在具体实现中,作为一种实施例,处理器2001可以包括一个或多个CPU,如图16中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备2000可以包括多个处理器,如图16中所示的处理器2001和处理器2005。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备2000还可以包括输出设备和输入设备。输出设备和处理器2001通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器2001通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器2003用于存储执行本申请方案的程序代码2010,处理器2001可以执行存储器2003中存储的程序代码2010。也即是,网络设备2000可以通过处理器2001以及存储器2003中的程序代码2010,来实现方法实施例提供的报文传输方法。程序代码2010中可以包括一个或多个软件模块。可选地,处理器2001自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的网络设备2000可对应于上述方法实施例中的网络设备,网络设备2000中的处理器2001读取存储器2003中的指令,使图16所示的网络设备2000能够执行网络设备所执行的全部或部分操作。
具体的,处理器2001用于网络设备的第二主端口通过通信接口获取第二数据集。
其他可选的实施方式,为了简洁,在此不再赘述。
网络设备2000还可以对应于上述图12-15所示的报文传输装置,报文传输装置中的每个功能模块采用网络设备2000的软件实现。换句话说,报文传输装置包括的功能模块为网络设备2000的处理器2001读取存储器2003中存储的程序代码2010后生成的。
其中,图8所示的报文传输方法的各步骤通过网络设备2000的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
参见图17,图17示出了本申请另一个示例性实施例提供的网络设备2100的结构示意图,图17所示的网络设备2100用于执行上述图8所示的报文传输方法所涉及的全部或部分操作。该网络设备2100例如是交换机、路由器等,该网络设备2100可以由一般性的总线体系结构来实现。
如图17所示,网络设备2100包括:主控板2110和接口板2130。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(routeprocessor card),主控板2110用于对网络设备2100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板2110包括:中央处理器2111和存储器2112。
接口板2130也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板2130用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板2130包括:中央处理器2131网络处理器2132、转发表项存储器2134和物理接口卡(ph10sical interface card,PIC)2133。
接口板2130上的中央处理器2131用于对接口板2130进行控制管理并与主控板2110上的中央处理器2111进行通信。
网络处理器2132用于实现报文的转发处理。网络处理器2132的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,NP)。在一些实施例中,转发芯片可以通过专用集成电路(application-specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)实现。具体而言,网络处理器2132用于基于转发表项存储器2134保存的转发表转发接收到的报文,如果报文的目的地址为网络设备2100的地址,则将该报文上送至CPU(如中央处理器2131)处理;如果报文的目的地址不是网络设备2100的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用CPU实现软件转发,从而接口板中不需要转发芯片。
物理接口卡2133用于实现物理层的对接功能,原始的流量由此进入接口板2130,以及处理后的报文从该物理接口卡2133发出。物理接口卡2133也称为子卡,可安装在接口板2130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器2132处理。在一些实施例中,中央处理器2131也可执行网络处理器2132的功能,比如基于通用CPU实现软件转发,从而物理接口卡2133中不需要网络处理器2132。
可选地,网络设备2100包括多个接口板,例如网络设备2100还包括接口板2140,接口板2140包括:中央处理器2141、网络处理器2142、转发表项存储器2144和物理接口卡2143。接口板2140中各部件的功能和实现方式与接口板2130相同或相似,在此不再赘述。
可选地,网络设备2100还包括交换网板2120。交换网板2120也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板的情况下,交换网板2120用于完成各接口板之间的数据交换。例如,接口板2130和接口板2140之间可以通过交换网板2120通信。
主控板2110和接口板耦合。例如。主控板2110、接口板2130和接口板2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板2110和接口板2130及接口板2140之间建立进程间通信协议(inter-processcommunication,IPC)通道,主控板2110和接口板2130及接口板2140之间通过IPC通道进行通信。
在逻辑上,网络设备2100包括控制面和转发面,控制面包括主控板2110和中央处理器2111,转发面包括执行转发的各个组件,比如转发表项存储器2134、物理接口卡2133和网络处理器2132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护网络设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器2132基于控制面下发的转发表对物理接口卡2133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器2134中。在有些实施例中,控制面和转发面可以完全分离,不在同一网络设备上。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的网络设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态网络设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在具体实施例中,网络设备2100对应于上述图12-15所示的应用于网络设备的报文传输装置。在一些实施例中,图12-15所示的报文传输装置中的第一获取模块1201相当于网络设备2100中的网络处理器2132,发送模块1202相当于网络设备2100中的物理接口卡2133。
本申请实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行网络设备所需执行的方法。
应理解的是,上述处理器可以是CPU,还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行,以使计算机实现如上任一所述的报文传输方法。
本申请实施例还提供了一种计算机程序(产品),当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
本申请实施例还提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行如上任一所述的报文传输方法。
本申请实施例还提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行如上任一所述的报文传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solidstate disk))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本申请实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一图像可以被称为第二图像,并且类似地,第二图像可以被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种报文传输方法,其特征在于,所述方法包括:
响应于网络设备的第二从端口失效或所述第二从端口不存在,所述网络设备的第二主端口获取第二数据集,所述第二数据集基于第一数据集修改得到,所述第一数据集包括所述第一从端口接收的第一时钟报文所携带的时戳以及所述第一从端口根据所述第一时钟报文产生的数据,所述第一从端口属于第一时钟域,所述第二主端口属于第二时钟域,所述第一时钟域与所述第二时钟域不同;
所述网络设备根据所述第二数据集,通过所述第二主端口发送第二时钟报文,所述第二时钟报文所携带的时戳为所述第一时钟报文所携带的时戳,所述第一时钟报文和第二时钟报文包括精确时间协议中的同步sync报文或跟随follow_up报文。
2.根据权利要求1所述的方法,其特征在于,所述网络设备的第二主端口获取第二数据集,包括:
所述第二主端口接收所述第一数据集,根据所述第二时钟域的信息修改所述第一数据集,得到所述第二数据集。
3.根据权利要求1所述的方法,其特征在于,所述第二主端口与所述第一从端口之间包括IWF模块,所述IWF模块用于根据所述第二时钟域的信息修改所述第一数据集,得到所述第二数据集;
所述网络设备的第二主端口获取第二数据集,包括:
所述第二主端口接收所述IWF模块发送的所述第二数据集。
4.根据权利要求2或3所述的方法,其特征在于,所述第一数据集包括域名domainNumber;
所述根据所述第二时钟域的信息修改所述第一数据集,包括:
修改所述domainNumber的值为所述网络设备的所述第二时钟域的域名。
5.根据权利要求2或3所述的方法,其特征在于,所述第一数据集包括域名domainNumber、本地端口号localPortNumber、同步回执时间syncReceiptTimeoutTime、源端口标识sourcePortIdentity和日志消息间隔logMessageInterval;
所述根据所述第二时钟域的信息修改所述第一数据集,包括:
修改所述domainNumber的值为所述网络设备的所述第二时钟域的域名,修改所述localPortNumber的值为第一值,修改所述syncReceiptTimeoutTime的值为第二值,修改所述sourcePortIdentity中的时钟标识clockIdentity为所述第二时钟域的clockIdentity,修改所述sourcePortIdentity中的端口号portnumber为第三值,修改所述logMessageInterval为所述第二时钟域的clockMaster发送报文的时间间隔。
6.根据权利要求1-5任一所述的方法,其特征在于,所述网络设备包括第二开关;
所述响应于网络设备的第二从端口失效或所述第二从端口不存在,所述网络设备的第二主端口获取第二数据集,包括:
响应于所述第二从端口失效或所述第二从端口不存在,所述网络设备的第二主端口基于所述第二开关的控制,根据所述第一从端口对应的第一数据集获取所述第二数据集。
7.根据权利要求1-6任一所述的方法,其特征在于,所述网络设备包括第二开关;
所述方法还包括:
响应于所述第二从端口存在且有效,所述第二从端口属于第二时钟域,所述网络设备的第二主端口基于所述第二开关的控制,根据所述第二从端口对应的第三数据集发送第三时钟报文,所述第三时钟报文包括所述精确时间协议中的sync报文或follow_up报文。
8.根据权利要求6或7所述的方法,其特征在于,所述网络设备还包括第一开关,所述第一主端口属于第一时钟域;
所述方法还包括:
响应于所述第一从端口存在且有效,所述网络设备的第一主端口基于所述第一开关的控制,根据所述第一从端口对应的第一数据集发送第四时钟报文,所述第四时钟报文包括所述精确时间协议中的sync报文或follow_up报文;
响应于所述第一从端口失效或所述第一从端口不存在,所述第二从端口存在且有效,所述网络设备的第一主端口基于所述第一开关的控制,根据所述第二从端口对应的第三数据集发送第五时钟报文,所述第五时钟报文包括所述精确时间协议中的sync报文或follow_up报文。
9.根据权利要求1-8任一所述的方法,其特征在于,所述网络设备的第二主端口获取第二数据集之前,所述方法还包括:
所述网络设备的第一从端口接收第三主端口发送的第一时钟报文,所述第三主端口为所述网络设备的时钟源设备的所述第一时钟域对应的一个主端口;
基于接收到的所述第一时钟报文获取所述根据所述第一时钟报文产生的数据;
基于所述第一时钟报文所携带的时戳以及根据所述第一时钟报文产生的数据生成所述第一数据集。
10.一种报文传输装置,其特征在于,所述装置包括:
第一获取模块,用于响应于网络设备的第二从端口失效或所述第二从端口不存在,所述网络设备的第二主端口获取第二数据集,所述第二数据集基于第一数据集修改得到,所述第一数据集包括所述第一从端口接收的第一时钟报文所携带的时戳以及所述第一从端口根据所述第一时钟报文产生的数据,所述第一从端口属于第一时钟域,所述第二主端口属于第二时钟域,所述第一时钟域与所述第二时钟域不同;
发送模块,用于根据所述第二数据集,通过所述第二主端口发送第二时钟报文,所述第二时钟报文所携带的时戳为所述第一时钟报文所携带的时戳,所述第一时钟报文和第二时钟报文包括精确时间协议中的同步sync报文或跟随follow_up报文。
11.根据权利要求10所述的装置,其特征在于,所述第一获取模块,用于所述第二主端口接收所述第一数据集,根据所述第二时钟域的信息修改所述第一数据集,得到所述第二数据集。
12.根据权利要求10所述的装置,其特征在于,所述第二主端口与所述第一从端口之间包括IWF模块,所述IWF模块用于根据所述第二时钟域的信息修改所述第一数据集,得到所述第二数据集;所述第一获取模块,用于所述第二主端口接收所述IWF模块发送的所述第二数据集。
13.根据权利要求11或12所述的装置,其特征在于,所述第一数据集包括域名domainNumber;所述第一获取模块,还用于修改所述domainNumber的值为所述网络设备的所述第二时钟域的域名。
14.根据权利要求11或12所述的装置,其特征在于,所述第一数据集包括域名domainNumber、本地端口号localPortNumber、同步回执时间syncReceiptTimeoutTime、源端口标识sourcePortIdentity和日志消息间隔logMessageInterval;所述第一获取模块,还用于修改所述domainNumber的值为所述网络设备的所述第二时钟域的域名,修改所述localPortNumber的值为第一值,修改所述syncReceiptTimeoutTime的值为第二值,修改所述sourcePortIdentity中的时钟标识clockIdentity为所述第二时钟域的clockIdentity,修改所述sourcePortIdentity中的端口号portnumber为第三值,修改所述logMessageInterval为所述第二时钟域的clockMaster发送报文的时间间隔。
15.根据权利要求10-14任一所述的装置,其特征在于,所述网络设备包括第二开关;所述第一获取模块,用于响应于所述第二从端口失效或所述第二从端口不存在,所述网络设备的第二主端口基于所述第二开关的控制,根据所述第一从端口对应的第一数据集获取所述第二数据集。
16.根据权利要求10-15任一所述的装置,其特征在于,所述网络设备包括第二开关;所述装置还包括:
第一控制模块,用于响应于所述第二从端口存在且有效,所述第二从端口属于第二时钟域,所述网络设备的第二主端口基于所述第二开关的控制,根据所述第二从端口对应的第三数据集发送第三时钟报文,所述第三时钟报文包括精确时间协议中的sync报文或follow_up报文。
17.根据权利要求15或16所述的装置,其特征在于,所述网络设备还包括第一开关,所述第一主端口属于第一时钟域;所述装置还包括:
第二控制模块,用于响应于所述第一从端口存在且有效,所述网络设备的第一主端口基于所述第一开关的控制,根据所述第一从端口对应的第一数据集发送第四时钟报文,所述第四时钟报文包括精确时间协议中的sync报文或follow_up报文;
第三控制模块,用于响应于所述第一从端口失效或所述第一从端口不存在,所述第二从端口存在且有效,所述网络设备的第一主端口基于所述第一开关的控制,根据所述第二从端口对应的第三数据集发送第五时钟报文,所述第五时钟报文包括精确时间协议中的sync报文或follow_up报文。
18.根据权利要求10-17任一所述的装置,其特征在于,所述装置还包括:
接收模块,用于所述网络设备的第一从端口接收第三主端口发送的第一时钟报文,所述第三主端口为所述网络设备的时钟源设备的所述第一时钟域对应的一个主端口;
第二获取模块,用于基于接收到的所述第一时钟报文获取所述根据所述第一时钟报文产生的数据;
生成模块,用于基于所述第一时钟报文所携带的时戳以及根据所述第一时钟报文产生的数据生成所述第一数据集。
19.一种网络设备,其特征在于,所述网络设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述网络设备实现权利要求1-9中任一所述的报文传输方法。
20.一种计算机可读存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行,以使计算机实现如权利要求1-9中任一所述的报文传输方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/073839 WO2022237238A1 (zh) | 2021-05-12 | 2022-01-25 | 报文传输方法、装置、设备及存储介质 |
JP2023570032A JP2024518525A (ja) | 2021-05-12 | 2022-01-25 | パケット伝送方法および装置、デバイス、ならびに記憶媒体 |
EP22806215.4A EP4329219A1 (en) | 2021-05-12 | 2022-01-25 | Packet transmission method and apparatus, device, and storage medium |
US18/506,388 US20240080122A1 (en) | 2021-05-12 | 2023-11-10 | Packet transmission method and apparatus, device, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021105189081 | 2021-05-12 | ||
CN202110518908 | 2021-05-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115347966A true CN115347966A (zh) | 2022-11-15 |
Family
ID=83946597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110639092.8A Pending CN115347966A (zh) | 2021-05-12 | 2021-06-08 | 报文传输方法、装置、设备及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240080122A1 (zh) |
EP (1) | EP4329219A1 (zh) |
JP (1) | JP2024518525A (zh) |
CN (1) | CN115347966A (zh) |
WO (1) | WO2022237238A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977104B (zh) * | 2010-11-13 | 2013-01-09 | 上海交通大学 | 基于ieee1588精确时钟同步协议系统及其同步方法 |
CN102843205B (zh) * | 2012-09-03 | 2015-08-12 | 杭州华三通信技术有限公司 | 一种基于精确时间协议的时间同步收敛的方法和装置 |
CN106411446B (zh) * | 2016-08-29 | 2018-08-31 | 烽火通信科技股份有限公司 | 一种在单播模式下实现1588时间同步的自适应方法 |
CN109600186B (zh) * | 2018-11-20 | 2020-06-16 | Ut斯达康通讯有限公司 | 时钟同步方法及装置 |
-
2021
- 2021-06-08 CN CN202110639092.8A patent/CN115347966A/zh active Pending
-
2022
- 2022-01-25 WO PCT/CN2022/073839 patent/WO2022237238A1/zh active Application Filing
- 2022-01-25 JP JP2023570032A patent/JP2024518525A/ja active Pending
- 2022-01-25 EP EP22806215.4A patent/EP4329219A1/en active Pending
-
2023
- 2023-11-10 US US18/506,388 patent/US20240080122A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022237238A1 (zh) | 2022-11-17 |
JP2024518525A (ja) | 2024-05-01 |
EP4329219A1 (en) | 2024-02-28 |
US20240080122A1 (en) | 2024-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9577774B2 (en) | Time synchronization method and system | |
US8964790B2 (en) | Communication apparatus | |
EP2448168A1 (en) | Method and system for bearing time synchronization protocol in optical transport network | |
US9419738B2 (en) | Communication device, method and system for queueing packets to be transmitted | |
CN101951312A (zh) | 基于e1链路的双向时频同传方法及主从装置 | |
JP7401656B2 (ja) | クロック・ソースを選択するための方法、装置、及びシステム、並びに記憶媒体 | |
WO2022052609A1 (zh) | 时延补偿方法、装置、设备及计算机可读存储介质 | |
US20170272190A1 (en) | Time synchronization method and apparatus for network devices and time synchronization server | |
CN110266422B (zh) | 中间时钟设备报文驻留时间处理方法、装置、设备及介质 | |
JP2009182659A (ja) | タイミング同期方法、同期装置、同期システム及び同期プログラム | |
WO2022027666A1 (zh) | 一种时间同步方法及装置 | |
JP2014216669A (ja) | 通信システム、同期システム、通信方法 | |
CN113424466B (zh) | 时钟同步的方法和装置 | |
CN102342051B (zh) | 用于通过经由至少一个时间分发协议分开传输第一和第二数据来同步时钟的方法和相关的系统及模块 | |
WO2021129578A1 (zh) | 同步信息的配置方法、装置、网络设备和存储介质 | |
CN115347966A (zh) | 报文传输方法、装置、设备及存储介质 | |
JP7118324B1 (ja) | 転送装置及び時刻同期システム | |
WO2021103806A1 (zh) | 一种时间同步方法、装置、系统及存储介质 | |
WO2022048482A1 (zh) | 报文处理方法、装置、设备、系统及存储介质 | |
CN114389733A (zh) | Ptp主时钟设备、时钟同步方法及存储介质 | |
KR102628183B1 (ko) | 네트워크 트랜슬레이터 및 디바이스 트랜슬레이터 | |
US20230208544A1 (en) | Method, apparatus, and system for processing time synchronization fault and storage medium | |
WO2021139692A1 (zh) | 一种时钟端口属性恢复方法, 设备及系统 | |
CN201789509U (zh) | 基于e1链路的双向时频同传主从装置 | |
US20230262625A1 (en) | Time Synchronization Fault Processing Method, Apparatus, And System |
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 |