WO2022048482A1 - 报文处理方法、装置、设备、***及存储介质 - Google Patents

报文处理方法、装置、设备、***及存储介质 Download PDF

Info

Publication number
WO2022048482A1
WO2022048482A1 PCT/CN2021/114588 CN2021114588W WO2022048482A1 WO 2022048482 A1 WO2022048482 A1 WO 2022048482A1 CN 2021114588 W CN2021114588 W CN 2021114588W WO 2022048482 A1 WO2022048482 A1 WO 2022048482A1
Authority
WO
WIPO (PCT)
Prior art keywords
port
state
packet
network device
message
Prior art date
Application number
PCT/CN2021/114588
Other languages
English (en)
French (fr)
Inventor
吕京飞
张兴新
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to JP2023514869A priority Critical patent/JP2023540527A/ja
Priority to KR1020237010953A priority patent/KR20230058485A/ko
Priority to EP21863548.0A priority patent/EP4199409A4/en
Publication of WO2022048482A1 publication Critical patent/WO2022048482A1/zh
Priority to US18/177,584 priority patent/US20230208545A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0673Clock or time synchronisation among packet nodes using intermediate nodes, e.g. modification of a received timestamp before further transmission to the next packet node, e.g. including internal delay time or residence time into the packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Definitions

  • the first network device after the first network device receives the first packet sent by the second port through the first port, based on the port state of the first port being the non-primary state, the first network device sends the message to the first port through the first port.
  • the second port replies with a second packet, and the second packet carries the port status of the first port.
  • the second packet is stopped from being replied to, so that the scenario of stopping the replying of the second packet is more accurate.
  • the port state of the first port is a non-primary state is obtained by using the clock identifier, so that the second packet does not need to carry additional information, and the method for determining the port state is more effective and convenient.
  • the scenarios to which the packet processing method is applied are made more comprehensive.
  • the source media access control MAC address in the second packet is inconsistent with the MAC address of the master node, and the port state of the first port is a non-master state.
  • FIG. 7 is a schematic flowchart of a message processing method provided by an embodiment of the present application.
  • the announce packet, sync packet, and follow_up packet can be multiplied.
  • a slave node receives normally. However, when the master node sends a pdelay_req message, multiple slave nodes will receive the pdelay_req message, and then each slave node will also reply to the pdelay_resp message and pdelay_resp_follow_up message to the master node. Therefore, the master node will receive multiple pdelay_req messages and multiple pdelay_resp_follow_up messages.
  • Uncalibrated state is a transitional state, and the uncalibrated state indicates that the master clock source has been selected and synchronization is in progress.
  • a port in the uncalibrated state can send pdelay_req packets, pdelay_resp packets, pdelay_resp_follow_up packets, signaling packets, and management packets.
  • the IP address of the master node can be obtained from the announce message, sync message or follow_up message sent by the master node, that is, the port in the master state, or, if the node is the master node, the IP address of the node is The IP address of the master node.
  • the first network device receives, through the first port, the first packet sent by the second port.
  • the first condition includes that the clock identifier in the first packet is inconsistent with the clock identifier of the master node.
  • the second condition includes that the port state of the second port is a listening state, a former master state, an uncalibrated state, an alternate state or a slave state.
  • the first packet carries the port status of the second port.
  • the network device 2100 includes: a main control board 2110 and an interface board 2130 .
  • the main control board 2110 is coupled with the interface board.
  • the main control board 2110, the interface board 2130, the interface board 2140, and the switching network board 2120 are connected to the system backplane through a system bus to realize intercommunication.
  • an inter-process communication (IPC) channel is established between the main control board 2110 and the interface board 2130 and the interface board 2140, and the main control board 2110 and the interface board 2130 and the interface board 2140 Communicate through IPC channel.
  • IPC inter-process communication
  • the network device 2100 also corresponds to the packet processing apparatus shown in FIG. 12 and applied to the second network device.
  • the sending module 1201 and the receiving module 1202 in the packet processing apparatus shown in FIG. 12 are equivalent to the physical interface card 2133 in the network device 2100 .
  • the processing module 1203 in the packet processing apparatus shown in FIG. 12 is equivalent to the central processing unit 2111 or the network processing unit 2132 in the network device 2100 .
  • modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, may be located in one place, or may be distributed to multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solutions of the embodiments of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了报文处理方法、装置、设备及存储介质,针对包括至少三个网络设备的通信***,该至少三个网络设备中的一个网络设备的端口状态为主状态,其余网络设备的端口状态为非主状态。通信***中的第一网络设备通过第一端口接收第二端口发送的用于测量时延的第一报文,第二端口为通信***中的第二网络设备的端口。基于第一端口的端口状态为非主状态,第一网络设备停止回复第二报文,使得第二端口避免因接收到多份第二报文而导致1588功能不可用,或者,第一网络设备通过第一端口向第二端口回复携带第一端口的端口状态的第二报文,使得第二网络设备能够确定出第一端口为非主状态而不处理该第二报文,从而避免该第二端口的1588功能不可用。

Description

报文处理方法、装置、设备、***及存储介质
本申请要求于2020年9月4日提交的申请号为202010924424.2、发明名称为“报文处理方法、装置、设备、***及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及时钟技术领域,尤其涉及报文处理方法、装置、设备、***及存储介质。
背景技术
为了满足越来越多的高精度时间同步要求,电气和电子工程师协会(institute of electrical and electronics engineers,IEEE)1588协议标准应运而生。其中,IEEE 1588协议标准全称是网络测量和控制***的精密时钟同步协议标准(IEEE 1588precision clock synchronization protocol),简称精确时间协议(precision time protocol,PTP)。
随着IEEE 1588协议标准的应用范围越来越广,通过1588报文进行时间同步的场景越来越多,在一对多端口的通信***中应用1588报文进行时间同步便是其中的一种应用场景。其中,一对多端口包括一个主端口,多个从端口,每个端口均对应一个网络设备。
如何在一对多端口的通信***中支持1588报文的交互,是目前亟待解决的问题。
发明内容
本申请提供了一种报文处理方法、装置、设备、***及存储介质,以解决相关技术提供的问题,技术方案如下:
第一方面,提供了一种报文处理方法,针对包括至少三个网络设备的通信***,该至少三个网络设备中的一个网络设备的端口状态为主状态,其余网络设备的端口状态为非主状态。以该方法应用于通信***中的第一网络设备为例,第一网络设备通过第一端口接收第二端口发送的第一报文,该第一端口为第一网络设备的端口,第二端口为通信***中的第二网络设备的端口,第一报文用于测量时延。基于第一端口的端口状态为非主状态,第一网络设备停止回复第二报文,第二报文包括响应报文及跟随报文。
示例性地,第一报文为点延迟请求(pdelay_req)报文,第二报文为点延迟响应(pdelay_resp)报文和点延迟响应跟随(pdelay_resp_follow_up)报文。按照当前802.1AS协议,当一个节点收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文,节点会将本端口的1588功能置为不可用。而该报文处理方法在接收第一报文的第一端口为非主状态的情况下,第一网络设备停止回复第二报文,使得第二端口能够避免因接收到多份第二报文而导致1588功能不可用。
在一种可能的实现方式中,第一网络设备通过第一端口接收第二端口发送的第一报文后,基于第一端口的端口状态为非主状态,第一网络设备通过第一端口向第二端口回复第二报文,第二报文携带第一端口的端口状态。
由于第二报文携带第一端口的端口状态,使得第二网络设备能够确定出第一端口为非主 状态,从而不处理该第二报文,进而避免该第二网络设备的第二端口的1588功能不可用。
在一种可能的实现方式中,第一端口的端口状态为非主状态,包括第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。通过将监听状态、前主状态、未校准状态、备选状态或从状态等多个端口状态均作为非主状态,使得报文处理方法所应用的场景更为全面。
在一种可能的实现方式中,基于第一端口的端口状态为非主状态,第一网络设备停止回复第二报文,包括:基于第一端口的端口状态为非主状态及第一条件,第一网络设备停止回复第二报文。
通过在第一端口的端口状态为非主状态及第一条件的情况下,再停止回复第二报文,使得停止回复第二报文的场景更为精准。
在一种可能的实现方式中,第一条件包括第一报文中的时钟标识与主节点的时钟标识不一致。其中,主节点的时钟标识通过主节点也即主状态的端口发送的announce报文、sync报文或者follow_up报文中获取。如果第一网络设备为主节点,第一网络设备的时钟标识即为主节点的时钟标识。
第一报文中的时钟标识与主节点的时钟标识是否一致能反映第二端口的端口状态是否为非主状态,将第一报文中的时钟标识与主节点的时钟标识不一致作为第一条件,从而实现在第一端口及第二端口的端口状态均为非主状态的情况下,停止回复第二报文。无需第一报文携带额外信息,即可有效且便捷地得到第一条件。
在一种可能的实现方式中,第一条件包括第一报文中的源媒体访问控制(media access control,MAC)地址与主节点的MAC地址不一致。
第一报文中的源MAC地址与主节点的MAC地址是否一致能反映第二端口的端口状态是否为非主状态,将第一报文中的源MAC地址与主节点的MAC地址不一致作为第一条件,从而实现在第一端口及第二端口的端口状态均为非主状态的情况下,停止回复第二报文。无需第一报文携带额外信息,即可有效且便捷地得到第一条件。
在一种可能的实现方式中,第一条件包括第一报文中的源网际协议(internet protocol,IP)地址与主节点的IP地址不一致。
第一报文中的源IP地址与主节点的IP地址是否一致能反映第二端口的端口状态是否为非主状态,将第一报文中的源IP地址与主节点的IP地址不一致作为第一条件,从而实现在第一端口及第二端口的端口状态均为非主状态的情况下,停止回复第二报文。无需第一报文携带额外信息,即可有效且便捷地得到第一条件。
在一种可能的实现方式中,第一报文携带第二端口的端口状态,第一条件包括第一报文携带的第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
通过第一报文携带第二端口的端口状态,使得第一网络设备能够直接基于第一报文得到第一条件。
第二方面,提供了一种报文处理方法,针对包括至少三个网络设备的通信***,该至少三个网络设备中的一个网络设备的端口状态为主状态,其余网络设备的端口状态为非主状态。以该方法应用于通信***中的第二网络设备为例,第二网络设备通过第二端口向第一端口发送第一报文,第二端口为第二网络设备的端口,第一端口为第一网络设备的端口,第一报文 用于测量时延;第二网络设备通过第二端口接收第一端口回复的第二报文,基于第一端口的端口状态为非主状态,第二网络设备停止处理第二报文,第二报文包括响应报文及跟随报文。
其中,停止处理第二报文也可理解为跳过对第二报文的处理。
示例性地,第一报文为pdelay_req报文,第二报文为pdelay_resp报文和pdelay_resp_follow_up报文。按照当前802.1AS协议,当一个节点收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文,节点会将本端口的1588功能置为不可用。而该报文处理方法在发送第二报文的第一端口为非主状态的情况下,第二网络设备停止处理第二报文,进而避免该第二网络设备的第二端口的1588功能不可用。
在一种可能的实现方式中,第二报文中的时钟标识与主节点的时钟标识不一致,则第一端口的端口状态为非主状态。
通过时钟标识来得到第一端口的端口状态是否为非主状态,从而无需第二报文携带额外信息,端口状态的确定方式比较有效且便捷。
在一种可能的实现方式中,第二报文中的源媒体访问控制MAC地址与主节点的MAC地址不一致,则第一端口的端口状态为非主状态。
通过源MAC地址来确定第一端口的端口状态是否为非主状态,从而无需第二报文携带额外信息,确定端口状态的方式比较有效且便捷。
在一种可能的实现方式中,第二报文中的源网际协议IP地址与主节点的IP地址不一致,则第一端口的端口状态为非主状态。
通过源IP地址来确定第一端口的端口状态是否为非主状态,从而无需第二报文携带额外信息,确定端口状态的方式比较有效且便捷。
在一种可能的实现方式中,第二报文携带第一端口的端口状态,第二报文携带的第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态,则第一端口的端口状态为非主状态。
通过第二报文携带第一端口的端口状态,使得第二网络设备能够直接基于第二报文来确定第一端口的端口状态,使得确定端口状态的方式更为直接。
在一种可能的实现方式中,基于第一端口的端口状态为非主状态,第二网络设备停止处理第二报文,包括:基于第一端口为非主状态以及第二条件,第二网络设备停止处理第二报文。
通过在第一端口的端口状态为非主状态以及第二条件的情况下,再停止处理第二报文,使得停止处理第二报文的场景更为精准。
在一种可能的实现方式中,第二条件包括第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
通过将第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态作为第二条件,使得报文处理方法所应用的场景更为全面。
在一种可能的实现方式中,第一报文中携带第二端口的端口状态。通过第一报文携带第二端口的端口状态,使得接收到第一报文的第一网络设备能够直接基于第一报文来确定第二端口的端口状态。
第三方面,提供了一种报文处理装置,该装置包括:
接收模块,用于通过第一端口接收第二端口发送的第一报文,第一端口为第一网络设备的端口,第二端口为第二网络设备的端口,第一报文用于测量时延;
处理模块,用于基于第一端口的端口状态为非主状态,停止回复第二报文,或者,通过第一端口向第二端口回复第二报文,第二报文携带第一端口的端口状态,第二报文包括响应报文及跟随报文。
在一种可能的实现方式中,所述第一端口的端口状态为非主状态,包括所述第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
在一种可能的实现方式中,所述处理模块,用于基于所述第一端口的端口状态为非主状态及第一条件,停止回复第二报文。
在一种可能的实现方式中,所述第一条件包括所述第一报文中的时钟标识与主节点的时钟标识不一致。
在一种可能的实现方式中,所述第一条件包括所述第一报文中的源媒体访问控制MAC地址与主节点的MAC地址不一致。
在一种可能的实现方式中,所述第一条件包括所述第一报文中的源网际协议IP地址与主节点的IP地址不一致。
在一种可能的实现方式中,所述第一报文携带所述第二端口的端口状态,第一条件包括所述第一报文携带的所述第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
第四方面,提供了一种报文处理装置,该装置包括:
发送模块,用于通过第二端口向第一端口发送第一报文,所述第二端口为第二网络设备的端口,所述第一端口为第一网络设备的端口,所述第一报文用于测量时延;
接收模块,用于通过所述第二端口接收所述第一端口回复的第二报文,所述第二报文包括响应报文及跟随报文;
处理模块,用于基于所述第一端口的端口状态为非主状态,停止处理所述第二报文。
在一种可能的实现方式中,所述第二报文中的时钟标识与主节点的时钟标识不一致,则所述第一端口的端口状态为非主状态。
在一种可能的实现方式中,所述第二报文中的源媒体访问控制MAC地址与主节点的MAC地址不一致,则所述第一端口的端口状态为非主状态。
在一种可能的实现方式中,所述第二报文中的源网际协议IP地址与主节点的IP地址不一致,则所述第一端口的端口状态为非主状态。
在一种可能的实现方式中,所述第二报文携带所述第一端口的端口状态,所述第二报文携带的所述第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态,则所述第一端口的端口状态为非主状态。
在一种可能的实现方式中,所述处理模块,用于基于所述第一端口为非主状态及第二条件,停止处理所述第二报文。
在一种可能的实现方式中,所述第二条件包括所述第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
在一种可能的实现方式中,所述第一报文中携带所述第二端口的端口状态。
还提供一种网络设备,该网络设备包括:存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使网络设备实现上述第一方面或第二方面任一所述的报文处理方法。
还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上任一所述的报文处理方法。
提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法,或者执行第一方面或第一方面的任一种可能的实施方式中的方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1为本申请实施例提供的一种PTP报文头的结构示意图;
图2为本申请实施例提供的一种pdelay_req报文的结构示意图;
图3为本申请实施例提供的一种pdelay_resp报文的结构示意图;
图4为本申请实施例提供的一种pdelay_resp_follow_up报文的结构示意图;
图5为本申请实施例提供的一种通信***的结构示意图;
图6为本申请实施例提供的一种报文交互流程示意图;
图7为本申请实施例提供的一种报文处理方法的流程示意图;
图8为本申请实施例提供的一种1588报文的格式示意图;
图9为本申请实施例提供的另一种1588报文的格式示意图;
图10为本申请实施例提供的一种报文处理方法流程图;
图11为本申请实施例提供的一种报文处理装置的结构示意图;
图12为本申请实施例提供的一种报文处理装置的结构示意图;
图13为本申请实施例提供的一种网络设备的结构示意图;
图14为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的实施例进行解释,而非旨在限定本申请。
由于越来越多的通信***具有高精度时间同步要求,IEEE 1588协议标准的应用范围越来越广。IEEE 1588协议标准简称精确时间协议(precision time protocol,PTP)。PTP协议中定义了两种传播延时测量机制:请求应答(requset_response)机制和点延时(peer delay)机制。在IEEE 1588v2中,包括点延迟机制(peer-delay mechanism)中的三种PTP报文,分别为点延迟请求(pdelay_req)报文、点延迟响应(pdelay_resp)报文和点延迟响应跟随(pdelay_resp_follow_up)报文。此外,还增加了信号(signaling)报文和声明(announce)报文。
其中,IEEE 802.1AS-2020为IEEE 1588v2的一个概述(Profile),主要用于工业,车载等领域。IEEE 802.1AS-2020定义的各种PTP报文包括PTP报文头,示例性地,该PTP报文头的结构如图1所示。该PTP报文头包括主标准组织标识(majorSdoId)字段、报文类型(message type)字段、次PTP版本(minor version PTP)字段、PTP版本(version PTP)字段、报文长度(message length)字段、PTP域序列号(domain number)字段、次标准组织标识(minorSdoId)字段、标志(flags)字段、修正域(correction field)字段、报文类型特征(message type specific)字段、源端口标识(source port identity)字段、序列标识(sequence ID)字段、控制域(control field)字段以及对数报文时间间隔(log message interval)字段。PTP报文头的各个字段介绍如下。
报文类型(message type):不同的值代表不同的PTP报文。PTP版本(version PTP),如果为PTP version1,version PTP的值为1,如果为PTP version 2,version PTP的值为2。PTP域序列号(domain number):此PTP域序列号(domain number)字段的值为默认数据集的DS域名(defaultDS domain Number)这个变量。标志(flags):携带各种标记。修正域(correction field):传送透明时钟的驻留时间、点对点透明时钟的链路延时以及非对称补偿等。源端口标识(source port identity):发送端口的相关属性。序列号(sequence ID):为了区分多条发送端口相同的同一类型的报文。控制域(control field):此处的值由报文类型域的值决定,即根据报文类型不同取值不同。对数报文时间间隔(log message interval):携带发送报文的对数时间间隔,它们的值是以2为底取的对数。
其中,pdelay_req报文的结构如图2所示,包括头(header)字段(详见11.4.2)以及预留(reserved)字段。pdelay_resp报文的结构如图3所示,包括头(header)字段(详见11.4.2)、请求接收时间戳(request receipt timestamp)字段以及请求端口标识(requesting port identity)字段。如图4所示,pdelay_resp_follow_up报文包括头(header)字段(详见11.4.2)、响应源时间戳(response origin timestamp)字段以及请求端口标识(requesting port identity)字段。
随着IEEE 1588协议标准的应用范围越来越广,通过1588报文进行时钟同步的场景越来越多。1588报文不仅能够应用在一对一端口的通信***中,还可应用在一对多端口的通信***中。其中,一对一端口包括一个主端口,一个从端口;一对多端口包括一个主端口,多个从端口。无论是一对一端口还是一对多端口,每个端口对应一个网络设备。在本申请实施例中, 将主端口对应的网络设备称为主(master)节点,从端口对应的网络设备称为从(slave)节点。
以在车载领域的10BASE-T1S场景下应用1588报文的应用场景为例,10BASE-T1S是一种使用单根非屏蔽双绞线总线线路连接多个以太网设备的技术,10Base代表10Mbps速度等级,T1代表物理层为单双绞线(非屏蔽),S代表短程(short range)。该10BASE-T1S可应用于一对多端口的通信***。
例如,以如图5所示的一对多端口的通信***为例,一个主节点分别与四个从节点进行通信,四个从节点分别为从节点1、从节点2、从节点3和从节点4。在一对多端口的通信***中,10BASE-T1S采用IEEE 802.1AS协议来实现1588功能。IEEE 802.1AS协议定义了广义的精确时钟同步***,该IEEE 802.1AS协议作为时间敏感网络(time sensitive networking,TSN)标准簇的基础,为TSN中其他的标准提供最基本的时间同步功能,实现和测试IEEE 802.1AS协议对于理解TSN具有重要的意义。
当前802.1AS协议定义的主节点和从节点之间的报文交互流程如图6所示,包括如下几种报文的交互过程。
1)主(master)节点向从(slave)节点发送声明(announce)报文和同步(sync)报文。
如果主节点被配置为两步(two-step)模式,主节点还向从节点发送跟随(follow_up)报文;如果主节点被配置为一步(one-step)模式,主节点不需要向从节点发送follow_up报文。
2)主节点与从节点之间传输点延迟(pdelay)报文,该pdelay报文的发送和端口状态无关。
例如,主节点向从节点发送点延迟请求(pdelay_req)报文,从节点向主节点回复点延迟响应(pdelay_resp)报文和点延迟响应跟随(pdelay_resp_follow_up)报文。此时主节点可计算主从节点之间的链路时延,以及主节点相对于从节点的频率偏差。
又例如,从节点也能够向主节点发送pdelay_req报文,主节点向从节点回复pdelay_resp报文和pdelay_resp_follow_up报文。此时从节点可计算主从节点之间的链路时延,以及从节点相对于主节点的频率偏差。
对于普通一对一的以太接口,由于端口的端口状态会发生倒换,如:主节点的端口由主(master)状态会变为从(slave)状态,从节点的端口由从状态变为主状态,所以普通以太接口场景下,主节点需要发送pdelay_req报文给从节点,计算主从节点的时延和主节点相对于从节点的频偏,这样在倒换完成后,可以实现时间快速锁定。
由于当前802.1AS协议定义的1588报文为组播封装,对于10BASE-T1S,当主节点发送announce报文、sync报文和follow_up报文时,announce报文、sync报文和follow_up报文可被多个从节点正常接收。但当主节点发送pdelay_req报文时,多个从节点都会接收到pdelay_req报文,然后每个从节点也会回复pdelay_resp报文和pdelay_resp_follow_up报文给主节点。从而主节点会收到多份pdelay_req报文和多份pdelay_resp_follow_up报文。
然而,按照当前802.1AS协议,当一个节点收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文,节点会将本端口的1588功能置为不可用。因此,最终主节点会将本端口的1588功能置为不可用,导致其他从节点无法从主节点获取1588时间。
对于从节点发送Pdelay_Req报文后,也会收到多份Pdelay_Resp报文和多份Pdelay_Resp_Follow_Up报文,从而导致本从节点的本端口的1588功能不可用。
对此,考虑到10BASE-T1S下,主节点和从节点的端口状态是固定不会变的,因此,主节点不需要通过pdelay报文计算主节点到从节点的时延以及主节点相对于从节点的频偏。因此,通过设置主节点的pdelay发包间隔为127(参见IEEE 802.1AS-2020协议10.6.4.3.6章节对于127的解释),这样主节点不会发送pdelay_req报文给从节点,从而主节点也不会接收到需要处理的多份pdelay_resp报文和多份pdelay_resp_follow_up报文,主节点的端口的1588功能不会置为不可用。但当从节点发送pdelay_req报文时,由于会收到多份Pdelay_Resp报文和多份Pdelay_Resp_Follow_Up报文,还会出现问题。
例如,当多个从节点中的一个目标从节点发送pdelay_req报文时,主节点和多个从节点中的其它从节点都会接收到pdelay_req报文,然后主节点和每个接收到pdelay_req报文的从节点会回复pdelay_resp报文和pdelay_resp_follow_up报文给目标从节点,从而导致该目标从节点会接收到多份pdelay_req报文和多份pdelay_resp_follow_up报文。按照当前802.1AS协议,当一个节点收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文,该节点会将本端口的1588功能置为不可用;因此,按照当前802.1AS协议定义的1588功能,10BASE-T1S的1588功能无法正常使用。
对此,本申请实施例提供了一种报文处理方法,以使得10BASE-T1S场景下的从节点能够正常传递1588报文。该方法可应用于包括至少三个网络设备的通信***中,该至少三个网络设备中的一个网络设备的端口的端口状态为主状态,其余网络设备的端口的端口状态为非主状态。示例性地,本申请实施例以该至少三个网络设备中的第一网络设备和第二网络设备的交互过程为例,对本申请实施例提供的报文处理方法进行说明。参见图7,该方法包括如下几个过程。
701,第二网络设备通过第二端口向第一端口发送第一报文,第二端口为第二网络设备的端口,第一端口为第一网络设备的端口,第一报文用于测量时延。
其中,第二网络设备和第一网络设备位于同一通信***中,本申请实施例不对第一端口和第二端口的端口状态进行限定。在IEEE1588协议中,端口状态包括如下几种。
(1)初始化(initializing)状态:端口处于初始化状态,完成后会变为监听(listening)状态。处于initializing状态的端口不能发送任何1588报文。
(2)故障(faulty)状态:如果发现端口故障,将端口置为faulty状态。faulty状态的端口不能发送任何1588报文,但可以对接收到的1588管理报文做出响应。
(3)去使能(disabled)状态:处于disabled状态的端口不能发送任何1588报文,除1588管理报文以外,disabled端口要丢弃接收到的1588报文。
(4)监听(listening):可以接收报文,处于listening状态的端口能够发送pdelay_req报文、pdelay_resp报文、pdelay_resp_follow_up报文,信号(signaling)报文和管理(management)报文,但不能发送其它报文。
(5)前主(pre_master)状态:pre_master状态和主状态类似,但只能发送pdelay_req报文、pdelay_resp报文、pdelay_resp_follow_up报文、signaling报文和management报文。
(6)主(master)状态:处于master状态的端口能够发送需要发送的报文,如:announce报文、sync报文、follow_up报文、pdelay_req报文、pdelay_resp报文、pdelay_resp_follow_up报文、signaling报文和management报文。
(7)备选(passive)状态:处于passive状态的端口只能发送pdelay_req报文、pdelay_resp 报文、pdelay_resp_follow_up报文、signaling报文和management报文。
(8)未校准(uncalibrated)状态:uncalibrated状态是一个过渡状态,该uncalibrated状态指示master时钟源已选中,正在进行同步中。处于uncalibrated状态的端口能够发送pdelay_req报文、pdelay_resp报文、pdelay_resp_follow_up报文、signaling报文和management报文。
(9)从(slave)状态:该slave状态是设备同步稳定后的状态,处于slave状态的端口能够发送pdelay_req报文、pdelay_resp报文、pdelay_resp_follow_up报文、signaling报文和management报文。
第二网络设备通过第二端口向第一端口发送的第一报文用于时延测量,例如该第一报文是pdelay_req报文。
702,第一网络设备通过第一端口接收第二端口发送的第一报文。
在示例性实施例中,第一报文为pdelay_req报文。第一网络设备接收到pdelay_req报文后,应该向第二网络设备返回pdelay_resp报文和pdelay_resp_follow_up报文。但由于第一网络设备和第二网络设备在一对多端口的通信***中,按照当前802.1AS协议,当一个网络设备接收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文,该网络设备会将接收到报文的端口的1588功能置为不可用。对此,第一网络设备通过第一端口接收到第二端口发送的第一报文后,基于第一端口的状态,以进一步确定是否回复pdelay_resp报文和pdelay_resp_follow_up报文。
在本申请实施例中,第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态,则第一端口的端口状态为非主状态。
在示例性实施例中,第一网络设备除了基于第一端口的端口状态来确定是否回复第二报文,还需要考虑第二端口的端口状态,以基于第一端口的端口状态及第一条件来确定是否回复第二报文,也即是pdelay_resp报文和pdelay_resp_follow_up报文。
本申请实施例不对第一条件进行限定,包括但不限于如下四种中的任一种。
第一种:第一条件包括第一报文中的时钟标识与主节点的时钟标识不一致。
10BASE-T1S场景下的各个网络设备接收到pdelay_req报文时,该pdelay_req报文包括时钟标识。如果第一报文中的时钟标识与主节点的时钟标识不一致,则说明发送第一报文的第二端口不是主状态。例如,pdelay_req报文的报文头的source port identity字段里的前8个字节为时钟标识(clockIdentity)。如果pdelay_req报文的报文头的clockIdentity和主时钟的clockIdentity不一致,则第一网络设备确定第二端口为非主状态,即得到第一条件。如果pdelay_req报文的报文头的clockIdentity和主时钟的clockIdentity一致,则第一网络设备确定第二端口为主状态。
其中,主节点的clockIdentity通过主节点也即主状态的端口发送的announce报文、sync报文或者follow_up报文中获取,或者,如果本节点即为主节点,本节点的clockIdentity即为主节点的clockIdentity。
第二种:第一条件包括第一报文中的源媒体访问控制(media access control,MAC)地址与主节点的MAC地址不一致。
除了通过主节点的clockIdentity来识别第二端口的端口状态外,本申请实施例提供的方法还支持通过主节点的源MAC地址来识别第二端口的端口状态。例如,1588报文格式如果通过以太封装来传递,例如当前车载标准采用的1588标准802.1AS就是以太封装,完整的1588报文格式如图8所示。1588报文包括目的MAC(destination MAC,DMAC)字段、源MAC(source MAC,SMAC)字段、以太类型(ethernet type)字段、PTP报文头(PTP message header)字 段以及PTP报文净荷(PTP message payload)字段。
第一网络设备通过比较第一报文的源MAC地址与主节点的MAC地址是否一致,从而确定第二端口的端口状态是否为非主状态。例如,第一网络设备通过比较第一报文的源MAC地址与主节点的MAC地址不一致,从而确定第二端口的端口状态为非主状态,即得到第一条件。第一网络设备通过比较第一报文的源MAC地址与主节点的MAC地址一致,从而确定第二端口的端口状态为主状态。
其中,主节点的MAC地址可以通过主节点也即主状态的端口发送的announce报文、sync报文或者follow_up报文中获取,或者,如果本节点即为主节点,本节点的MAC地址即为主节点的MAC地址。
第三种:第一条件包括第一报文中的源网际协议IP地址与主节点的IP地址不一致。
本申请实施例提供的方法还支持通过主节点的源IP地址来识别第二端口的端口状态。例如,1588报文格式如果通过IP封装来传递,则完整的1588报文格式如图9所示。1588报文包括DMAC字段、SMAC字段、以太网类型(ethernet type)字段、IP头(IP header)字段、源IP(source internet protocol,SIP)字段、目的IP(destination internet protocol,DIP)字段、源端口号(source port number,SPN)字段、目的端口号(destination port number,DPN)字段、UDP长度(UDP length)字段、UDP校验和(UDP checksum)字段、PTP报文头(PTP message header)字段以及PTP报文净荷(PTP message payload)字段。
第一网络设备通过比较第一报文的源IP地址与主节点的IP地址是否一致,从而确定第二端口的端口状态是否为非主状态。例如,第一网络设备通过比较第一报文的源IP地址与主节点的IP地址不一致,从而确定第二端口的端口状态为非主状态,即得到第一条件。第一网络设备通过比较第一报文的源IP地址与主节点的IP地址一致,从而确定第二端口的端口状态为主状态。
其中,主节点的IP地址可以通过主节点也即是主状态的端口发送的announce报文、sync报文或者follow_up报文中获取,或者,如果本节点即为主节点,本节点的IP地址即为主节点的IP地址。
第四种:第一报文中携带第二端口的端口状态,第一条件包括第一报文携带的第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。关于第一报文携带第二端口的端口状态的方式,可参考下述1003中第二报文携带第一端口的端口状态的方式,此处暂不赘述。
例如,第一报文携带的第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态,则第一网络设备确定第二端口为非主状态,得到第一条件。第一报文携带的第二端口的端口状态为主状态,则第一网络设备确定第二端口为主状态。
703,基于第一端口的端口状态为非主状态,第一网络设备停止回复第二报文。
通过确定接收第一报文的第一端口的端口状态,在第一端口的端口状态为非主状态的情况下,第一网络设备停止回复第二报文,使得第二网络设备避免接收到多份第二报文。示例性地,该第二报文包括pdelay_resp报文和pdelay_resp_follow_up报文。也就是说,对于端口状态为非主状态的网络设备不会回复pdelay_resp报文和pdelay_resp_follow_up报文,只有主状态端口的网络设备才会回复pdelay_resp报文和pdelay_resp_follow_up报文,从而发送pdelay_req报文的网络设备就不会收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文,从而发送 pdelay_req报文的网络设备不会故障。需要说明的是,对于本申请实施例涉及的10BASE-T1S接口,只会有一个端口状态为主状态的端口。
在示例性实施例中,本申请实施例还支持基于第一端口的端口状态为非主状态以及第一条件,第一网络设备停止回复第二报文,使得第二网络设备避免接收到多份第二报文。也就是说,如果发送pdelay_req报文的端口状态为非主状态以及接收pdelay_req报文的端口状态为非主状态,接收端口的网络设备不会回复pdelay_resp报文和pdelay_resp_follow_up报文,从而发送pdelay_req报文的网络设备就不会收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文,从而发送pdelay_req报文的网络设备不会故障。
因此,本申请实施例提供的报文处理方法能够在10BASE-T1S场景下正常传递1588报文,从而保证车载以及其它领域在使用10BASE-T1S时,可以正常获取1588时间同步。
需要说明的是,如果第二端口的端口状态为非主状态,而第一端口的端口状态为主状态,则第一网络设备通过第一端口向第二端口回复pdelay_resp报文和pdelay_resp_follow_up报文,使得第二端口所在的第二网络设备能够正常的进行时间同步。在示例性实施例中,第一端口的端口状态为主状态,则第一网络设备的第一端口正常给第二网络设备的第二端口回复pdelay_resp报文和pdelay_resp_follow_up报文,但端口状态为非主状态的网络设备的端口不会回复pdelay_resp报文和pdelay_resp_follow_up报文,避免发送pdelay_req报文的网络设备的端口收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文。
综上所述,结合IEEE 1588v2协议定义的端口状态来看,当端口状态为Master/Slave/Uncalibrated/Pre master/Listening/Passive状态时,都需要发送pdelay_req报文,以及回复pdelay_resp报文和pdelay_resp_follow_up报文。但在本申请实施例提供的方法中,只需要端口状态为Master状态的端口回复pdelay_resp报文和pdelay_resp_follow_up报文,因此,可定义在端口状态为Slave/Uncalibrated/Pre master/Listening/Passive状态时都不需要回复pdelay_resp报文和pdelay_resp_follow_up报文。
在示例性实施例中,在接收第一报文的第一端口的端口状态为非主状态的情况下,除了第一网络设备停止回复第二报文的方式外,本申请实施例提供的方法还支持其他方式来实现在10BASE-T1S场景下正常传递1588报文。参见图10,本申请实施例提供的报文处理方法包括如下几个过程。
1001,第二网络设备通过第二端口向第一端口发送第一报文,第二端口为第二网络设备的端口,第一端口为第一网络设备的端口,第一报文用于测量时延。
其中,第二网络设备和第一网络设备位于同一通信***中,该通信***包括至少三个网络设备,该至少三个网络设备中的一个网络设备的端口的端口状态为主状态,其余网络设备的端口的端口状态为非主状态。示例性地,本申请实施例以该至少三个网络设备中的第一网络设备和第二网络设备的交互过程为例,对本申请实施例提供的报文处理方法进行说明,本申请实施例不对第一端口和第二端口的端口状态进行限定,端口状态可参考上述701的相关描述,此处不再赘述。示例性地,该第一报文用于测量时延,例如为pdelay_req报文。
1002,第一网络设备通过第一端口接收第二端口发送的第一报文。
示例性地,第一报文为pdelay_req报文,第一网络设备接收到pdelay_req报文后,应该向第二网络设备返回第二报文,例如pdelay_resp报文和pdelay_resp_follow_up报文。但由于第一 网络设备和第二网络设备在一对多端口的通信***中,按照当前802.1AS协议,当一个网络设备接收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文,该网络设备会将接收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文的端口的1588功能置为不可用。对此,第一网络设备通过第一端口接收到第二端口发送的第一报文后,需要确定下第一端口的端口状态,以基于第一端口的端口状态进一步确定是否回复pdelay_resp报文和pdelay_resp_follow_up报文。在示例性实施例中,第一网络设备除了基于第一端口的端口状态来确定是否回复第二报文,还可考虑第一条件,基于第一端口的端口状态以及第一条件来进一步确定是否回复pdelay_resp报文和pdelay_resp_follow_up报文。
第一网络设备确定第一端口的端口状态以及第一条件的方式,可参考上述702的相关描述,此处不再赘述。
1003,基于第一端口的端口状态为非主状态,第一网络设备通过第一端口向第二端口回复第二报文,第二报文包括响应报文及跟随报文。
在示例性实施例中,第一网络设备确定第一端口的端口状态为非主状态后,可不回复第二报文,例如不回复pdelay_resp报文和pdelay_resp_follow_up报文,而防止发送pdelay_req报文的网络设备接收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文,否则,该发送pdelay_req报文的网络设备会将接收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文的端口的1588功能置为不可用。除此之外,本申请实施例提供的方法还支持在正常返回第二报文的情况下来实现1588报文的功能。但为了避免发送pdelay_req报文的端口的网络设备收到多份pdelay_resp报文和pdelay_resp_follow_up报文而导致端口不可用,本申请实施例提供的方法采取了在第二报文中携带第一端口的端口状态的方式。如此,使得第二网络设备能够确定出第一端口的端口状态,从而确定是否处理接收到的pdelay_resp报文和pdelay_resp_follow_up报文。
在示例性实施例中,第一网络设备除了确定第一端口的端口状态,还可以确定是否满足第一条件,基于第一端口的端口状态为非主状态以及第一条件,可不回复第二报文,例如不回复pdelay_resp报文和pdelay_resp_follow_up报文,而防止发送pdelay_req报文的网络设备接收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文,该发送pdelay_req报文的网络设备会将接收到多份pdelay_resp报文和多份pdelay_resp_follow_up报文的端口的1588功能置为不可用。除此之外,本申请实施例提供的方法还支持在正常返回第二报文的情况下来实现1588报文的功能。但为了避免发送pdelay_req报文且端口为非主状态的网络设备收到多份pdelay_resp报文和pdelay_resp_follow_up报文而导致端口不可用,本申请实施例提供的方法采取了在第二报文中携带第一端口的端口状态的方式。如此,使得第二网络设备能够确定出第一端口的端口状态,从而确定是否处理接收到的pdelay_resp报文和pdelay_resp_follow_up报文。
示例性地,第一报文也可携带第二端口的端口状态。关于第一报文携带第二端口的端口状态以及第二报文携带第一端口的端口状态的方式,本申请实施例不进行限定。例如,针对上述9种状态,可通过4个比特来携带端口状态。示例性地,基于图1所示的PTP报文的报文头,该PTP报文头的flags字段在IEEE 802.1AS协议里定义如下面的表1所示。其中,第0字节的第3/4/7比特和第1字节的第6/7比特是保留字段,本申请实施例可挑选其中4个比特来承载端口状态。
表1
Figure PCTCN2021114588-appb-000001
Figure PCTCN2021114588-appb-000002
除采用上述在flags字段中选取4个比特位来携带端口状态的方式外,本申请实施例提供的方法还支持在pdelay_req报文、pdelay_resp报文和pdelay_resp_follow_up报文中新增1个字节的方式,以在新增的一个字节中的4个比特来用于携带端口状态。
1004,第二网络设备通过第二端口接收第一端口回复的第二报文,基于第一端口的端口状态为非主状态,第二网络设备停止处理第二报文。
第二网络设备通过第二端口接收第一端口回复的第二报文后,还需要确定第一端口的端口状态,以进一步确定是否处理该第一端口回复的第二报文。第一端口的端口状态为非主状态,包括但不限于如下四种情况。
情况一:第二报文携带了第一端口的端口状态,第二报文携带的第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态,则第一端口的端口状态为非主状态。
该种情况一下,由于第二报文携带了第一端口的端口状态,因而第二网络设备根据第二报文中携带的第一端口的端口状态确定第一端口的端口状态为非主状态后,停止处理第二报文。由此,使得第二网络设备不处理由其他从节点发送的第二报文,仅处理由主节点回复的第二报文,避免第二网络设备的第二端口由于处理多份第二报文而变成不可用状态。
针对第二报文未携带第一端口的端口状态的情况,第二网络设备通过第二端口接收第一端口回复的第二报文之后,还包括但不限于如下方式二至方式四中的任一种确定第一端口的端口状态的方式。
情况二:第二报文中的时钟标识与主节点的时钟标识不一致,第一端口的端口状态为非主状态。
10BASE-T1S场景下的各个网络设备接收到pdelay_resp报文和pdelay_resp_follow_up报文时,该pdelay_resp报文和pdelay_resp_follow_up报文包括时钟标识。如果第二报文中的时钟标识与主节点的时钟标识不一致,则说明发送第二报文的第一端口的端口状态不是主状态。例如,pdelay_resp报文和pdelay_resp_follow_up报文的报文头的source port identity字段里的前8个字节为时钟标识(clockIdentity)。如果pdelay_resp报文和pdelay_resp_follow_up报文的报文头的clockIdentity和主时钟的clockIdentity不一致,则第二网络设备确定第一端口为非主状态。如果pdelay_resp报文和pdelay_resp_follow_up报文的报文头的clockIdentity和主时钟的clockIdentity一致,则第二网络设备确定第一端口为主状态。
其中,主时钟的clockIdentity可以通过主节点也即主状态的端口发送的announce报文、sync报文或者follow_up报文中获取,或者,如果本节点即为主节点,本节点的clockIdentity即为主节点的clockIdentity。
情况三:第二报文中的源MAC地址与主节点的MAC地址不一致,第一端口的端口状态为非主状态。
除了通过主节点的clockIdentity来识别第一端口的端口状态外,本申请实施例提供的方法还支持通过主节点的源MAC地址来识别第一端口的端口状态。例如,1588报文格式如果通过以太封装来传递,例如当前车载标准采用的1588标准802.1AS就是以太封装,完整的1588报文格式如图8所示。1588报文包括目的MAC(destination MAC,DMAC)字段、源MAC(source MAC,SMAC)字段、以太类型(ethernet type)字段、PTP报文头(PTP message header)字段以及PTP报文净荷(PTP message payload)字段。
第二网络设备通过比较第二报文的源MAC地址与主节点的MAC地址是否一致,从而确定第一端口的端口状态是否为非主状态。例如,第二网络设备通过比较第二报文的源MAC地址与主节点的MAC地址不一致,从而确定第一端口的端口状态为非主状态。第二网络设备通过比较第二报文的源MAC地址与主节点的MAC地址一致,从而确定第一端口的端口状态为主状态。
其中,主节点的MAC地址可以通过主节点也即主状态的端口发送的announce报文、sync报文或者follow_up报文中获取,或者,如果本节点即为主节点,本节点的MAC地址即为主节点的MAC地址。
情况四:第二报文中的源IP地址与主节点的IP地址不一致,第一端口的端口状态为非主状态。
本申请实施例提供的方法还支持通过主节点的源IP地址来识别第一端口的端口状态。例如,1588报文格式如果通过IP封装来传递,则完整的1588报文格式如图9所示。1588报文包括DMAC字段、SMAC字段、ethernet type字段、IP头(IP header)字段、源IP(source internet protocol,SIP)字段、目的IP(destination internet protocol,DIP)字段、源端口号(source port number,SPN)字段、目的端口号(destination port number,DPN)字段、UDP长度(UDP length)字段、UDP校验和(UDP checksum)字段、PTP报文头(PTP message header)字段以及PTP报文净荷(PTP message payload)字段。
第二网络设备通过比较第二报文的源IP地址与主节点的IP地址是否一致,从而确定第一端口的端口状态是否为非主状态。例如,第二网络设备通过比较第二报文的源IP地址与主节点的IP地址不一致,从而确定第一端口的端口状态为非主状态。第二网络设备通过比较第二报文的源IP地址与主节点的IP地址一致,从而确定第一端口的端口状态为主状态。
其中,主节点的IP地址可以通过主节点也即是主状态的端口发送的announce报文、sync报文或者follow_up报文中获取,或者,如果本节点即为主节点,本节点的IP地址即为主节点的IP地址。
可选的,在示例性实施例中,第二网络设备基于第一端口的端口状态为非主状态以及第二条件,则第二网络设备停止处理第二报文。
示例性地,第二条件包括第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。基于第一端口为非主状态及第二条件,即使第二网络设备接收到第一端口回复的第二报文,第二网络设备停止处理该第二报文,从而避免在收到多份第二报文的情况下,该网络设备会将接收到报文的第二端口的1588功能置为不可用。
例如,当第二端口所在的第二网络设备,通过pdelay_resp报文和pdelay_resp_follow_up报文携带的第一端口的端口状态是非主状态,或者通过pdelay_resp报文和pdelay_resp_follow_up报文携带的源clockIdentity、源MAC地址或者源IP地址确定第一端口的端口状态是非主状态,且该第二端口的端口状态也是非主状态时,可以不处理pdelay_resp报文和pdelay_resp_follow_up报文。
需要说明的是,如果某个网络设备(端口为主状态或非主状态的网络设备)没有发送pdelay_req报文,但也能收到其他网络设备回复的pdelay_resp报文和pdelay_resp_follow_up报文,如果pdelay_resp报文和pdelay_resp_follow_up报文里的requesting port identity字段,与此网络设备的接收报文的端口的port identity不一致,此网络设备可按照现有802.1AS协议不处理这些报文。
此外,本申请实施例提供的方法仅以10BASE-T1S场景下传递1588报文为例进行说明。本申请实施例提供的方法除了适用于10BASE-T1S场景下传递1588报文,还可以应用到可能出现的其他的一对多端口的通信***中,本申请实施例不对该方法的应用场景进行限定。
以上介绍了本申请实施例的报文处理方法,与上述方法对应,本申请实施例还提供报文处理装置。图11是本申请实施例提供的一种报文处理装置的结构示意图,该装置应用于第一网络设备,该第一网络设备为上述图7及图10任一附图所示的第一网络设备。基于图11所示的如下多个模块,该图11所示的报文处理装置能够执行第一网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模 块,本申请实施例对此并不进行限制。如图11所示,该装置包括:
接收模块1101,用于通过第一端口接收第二端口发送的第一报文,第一端口为第一网络设备的端口,第二端口为第二网络设备的端口,第一报文用于测量时延;
处理模块1102,用于基于第一端口的端口状态为非主状态,停止回复第二报文,或者,通过第一端口向第二端口回复第二报文,第二报文携带第一端口的端口状态,第二报文包括响应报文及跟随报文。
在一种可能的实现方式中,第一端口的端口状态为非主状态,包括第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
在一种可能的实现方式中,处理模块1102,用于基于第一端口的端口状态为非主状态及第一条件,停止回复第二报文。
在一种可能的实现方式中,第一条件包括第一报文中的时钟标识与主节点的时钟标识不一致。
在一种可能的实现方式中,第一条件包括第一报文中的源媒体访问控制MAC地址与主节点的MAC地址不一致。
在一种可能的实现方式中,第一条件包括第一报文中的源网际协议IP地址与主节点的IP地址不一致。
在一种可能的实现方式中,第一报文携带第二端口的端口状态,第一条件包括第一报文携带的第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
图12是本申请实施例提供的一种报文处理装置的结构示意图,该装置应用于第二网络设备,该第二网络设备为上述图7及图10任一附图所示的第二网络设备。基于图12所示的如下多个模块,该图12所示的报文处理装置能够执行第二网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。参见图12,该装置包括:
发送模块1201,用于通过第二端口向第一端口发送第一报文,第二端口为第二网络设备的端口,第一端口为第一网络设备的端口,第一报文用于测量时延;
接收模块1202,用于通过第二端口接收第一端口回复的第二报文,第二报文包括响应报文及跟随报文;
处理模块1203,用于基于第一端口的端口状态为非主状态,停止处理第二报文。
在一种可能的实现方式中,第二报文中的时钟标识与主节点的时钟标识不一致,则第一端口的端口状态为非主状态。
在一种可能的实现方式中,第二报文中的源媒体访问控制MAC地址与主节点的MAC地址不一致,则第一端口的端口状态为非主状态。
在一种可能的实现方式中,第二报文中的源网际协议IP地址与主节点的IP地址不一致,则第一端口的端口状态为非主状态。
在一种可能的实现方式中,第二报文携带第一端口的端口状态,第二报文携带的第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态,则第一端口的端口状态为非主状态。
在一种可能的实现方式中,处理模块,用于基于第一端口为非主状态及第二条件,停止处理第二报文。
在一种可能的实现方式中,第二条件包括第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
在一种可能的实现方式中,第一报文中携带第二端口的端口状态。
应理解的是,上述图11或图12提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图13,图13示出了本申请一个示例性实施例提供的网络设备2000的结构示意图。图13所示的网络设备2000用于执行上述图7或图10所示的报文处理方法所涉及的操作。该网络设备2000例如是交换机、路由器等,该网络设备2000可以由一般性的总线体系结构来实现。
如图13所示,网络设备2000包括至少一个处理器2001、存储器2003以及至少一个通信接口2004。
处理器2001例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器2001包括专用集成电路(application-specific integrated 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)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compact disc 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,如图13中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备2000可以包括多个处理器,如图13中所示的处理器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中的指令,使图13所示的网络设备2000能够执行第一网络设备所执行的全部或部分操作。
在具体实施例中,本申请实施例的网络设备2000可对应于上述各个方法实施例中的第二网络设备,网络设备2000中的处理器2001读取存储器2003中的指令,使图13所示的网络设备2000能够执行第二网络设备所执行的全部或部分操作。
网络设备2000还可以对应于上述图11-12所示的装置,图11-12所示的装置中的每个功能模块采用网络设备2000的软件实现。换句话说,图11-12所示的装置包括的功能模块为网络设备2000的处理器2001读取存储器2003中存储的程序代码2010后生成的。
其中,图7及图10所示的报文处理方法的各步骤通过网络设备2000的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接 体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
参见图14,图14示出了本申请另一个示例性实施例提供的网络设备2100的结构示意图图14所示的网络设备2100用于执行上述图7及图10所示的报文处理方法所涉及的全部或部分操作。该网络设备2100例如是交换机、路由器等,该网络设备2100可以由一般性的总线体系结构来实现。
如图14所示,网络设备2100包括:主控板2110和接口板2130。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板2110用于对网络设备2100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板2110包括:中央处理器2111和存储器2112。
接口板2130也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板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-process communication,IPC)通道,主控板2110和接口板2130及接口板2140之间通过IPC通道进行通信。
在逻辑上,网络设备2100包括控制面和转发面,控制面包括主控板2110和中央处理器2111,转发面包括执行转发的各个组件,比如转发表项存储器2134、物理接口卡2133和网络处理器2132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护网络设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器2132基于控制面下发的转发表对物理接口卡2133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器2134中。在有些实施例中,控制面和转发面可以完全分离,不在同一网络设备上。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个***的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的网络设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态网络设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在具体实施例中,网络设备2100对应于上述图11所示的应用于第一网络设备的报文处理装置。在一些实施例中,图11所示的报文处理装置中的接收模块1101相当于网络设备2100中的物理接口卡2133。图11所示的报文处理装置中的处理模块1102相当于网络设备2100中的中央处理器2111或网络处理器2132。
在一些实施例中,网络设备2100还对应于上述图12所示的应用于第二网络设备的报文处理装置。在一些实施例中,图12所示的报文处理装置中的发送模块1201和接收模块1202相当于网络设备2100中的物理接口卡2133。图12所示的报文处理装置中的处理模块1203相当于网络设备2100中的中央处理器2111或网络处理器2132。
基于上述图13及图14所示的网络设备,本申请实施例还提供了一种通信***,该通信***包括:第一网络设备及第二网络设备。可选的,第一网络设备为图13所示的网络设备2000或图14所示的网络设备2100,第二网络设备为图13所示的网络设备2000或图14所示的网络设备2100。
第一网络设备及第二网络设备所执行的方法可参见上述图7及图10所示实施例的相关描述,此处不再加以赘述。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是 其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,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 date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的报文处理方法。
本申请提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk)等。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本申请实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
机器可读介质可以是包含或存储用于或有关于指令执行***、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体***、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、设备和方法,可以通过 其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一图像可以被称为第二图像,并且类似地,第二图像可以被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“***”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事 件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (33)

  1. 一种报文处理方法,其特征在于,所述方法包括:
    第一网络设备通过第一端口接收第二端口发送的第一报文,所述第一端口为所述第一网络设备的端口,所述第二端口为第二网络设备的端口,所述第一报文用于测量时延;
    基于所述第一端口的端口状态为非主状态,所述第一网络设备停止回复第二报文,或者,所述第一网络设备通过所述第一端口向所述第二端口回复第二报文,所述第二报文携带所述第一端口的端口状态,所述第二报文包括响应报文及跟随报文。
  2. 根据权利要求1所述的方法,其特征在于,所述第一端口的端口状态为非主状态,包括所述第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
  3. 根据权利要求1或2所述的方法,其特征在于,所述基于所述第一端口的端口状态为非主状态,所述第一网络设备停止回复第二报文,包括:
    基于所述第一端口的端口状态为非主状态及第一条件,所述第一网络设备停止回复第二报文。
  4. 根据权利要求3所述的方法,其特征在于,所述第一条件包括所述第一报文中的时钟标识与主节点的时钟标识不一致。
  5. 根据权利要求3所述的方法,其特征在于,所述第一条件包括所述第一报文中的源媒体访问控制MAC地址与主节点的MAC地址不一致。
  6. 根据权利要求3所述的方法,其特征在于,所述第一条件包括所述第一报文中的源网际协议IP地址与主节点的IP地址不一致。
  7. 根据权利要求3所述的方法,其特征在于,所述第一报文携带所述第二端口的端口状态,所述第一条件包括所述第一报文携带的所述第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
  8. 一种报文处理方法,其特征在于,所述方法包括:
    第二网络设备通过第二端口向第一端口发送第一报文,所述第二端口为所述第二网络设备的端口,所述第一端口为第一网络设备的端口,所述第一报文用于测量时延;
    所述第二网络设备通过所述第二端口接收所述第一端口回复的第二报文,所述第二报文包括响应报文及跟随报文;
    基于所述第一端口的端口状态为非主状态,所述第二网络设备停止处理所述第二报文。
  9. 根据权利要求8所述的方法,其特征在于,所述第二报文中的时钟标识与主节点的时钟 标识不一致,则所述第一端口的端口状态为非主状态。
  10. 根据权利要求8所述的方法,其特征在于,所述第二报文中的源媒体访问控制MAC地址与主节点的MAC地址不一致,则所述第一端口的端口状态为非主状态。
  11. 根据权利要求8所述的方法,其特征在于,所述第二报文中的源网际协议IP地址与主节点的IP地址不一致,则所述第一端口的端口状态为非主状态。
  12. 根据权利要求8所述的方法,其特征在于,所述第二报文携带所述第一端口的端口状态,所述第二报文携带的所述第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态,则所述第一端口的端口状态为非主状态。
  13. 根据权利要求8-12任一所述的方法,其特征在于,所述基于所述第一端口的端口状态为非主状态,所述第二网络设备停止处理所述第二报文,包括:
    基于所述第一端口的端口状态为非主状态及第二条件,所述第二网络设备停止处理所述第二报文。
  14. 根据权利要求13所述的方法,其特征在于,所述第二条件包括所述第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
  15. 根据权利要求8-14任一所述的方法,其特征在于,所述第一报文中携带所述第二端口的端口状态。
  16. 一种报文处理装置,其特征在于,所述装置包括:
    接收模块,用于通过第一端口接收第二端口发送的第一报文,所述第一端口为第一网络设备的端口,所述第二端口为第二网络设备的端口,所述第一报文用于测量时延;
    处理模块,用于基于所述第一端口的端口状态为非主状态,停止回复第二报文,或者,通过所述第一端口向所述第二端口回复第二报文,所述第二报文携带所述第一端口的端口状态,所述第二报文包括响应报文及跟随报文。
  17. 根据权利要求16所述的装置,其特征在于,所述第一端口的端口状态为非主状态,包括所述第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
  18. 根据权利要求16或17所述的装置,其特征在于,所述处理模块,用于基于所述第一端口的端口状态为非主状态及第一条件,停止回复第二报文。
  19. 根据权利要求18所述的装置,其特征在于,所述第一条件包括所述第一报文中的时钟标识与主节点的时钟标识不一致。
  20. 根据权利要求18所述的装置,其特征在于,所述第一条件包括所述第一报文中的源媒体访问控制MAC地址与主节点的MAC地址不一致。
  21. 根据权利要求18所述的装置,其特征在于,所述第一条件包括所述第一报文中的源网际协议IP地址与主节点的IP地址不一致。
  22. 根据权利要求18所述的装置,其特征在于,所述第一报文携带所述第二端口的端口状态,第一条件包括所述第一报文携带的所述第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
  23. 一种报文处理装置,其特征在于,所述装置包括:
    发送模块,用于通过第二端口向第一端口发送第一报文,所述第二端口为第二网络设备的端口,所述第一端口为第一网络设备的端口,所述第一报文用于测量时延;
    接收模块,用于通过所述第二端口接收所述第一端口回复的第二报文,所述第二报文包括响应报文及跟随报文;
    处理模块,用于基于所述第一端口的端口状态为非主状态,停止处理所述第二报文。
  24. 根据权利要求23所述的装置,其特征在于,所述第二报文中的时钟标识与主节点的时钟标识不一致,则所述第一端口的端口状态为非主状态。
  25. 根据权利要求23所述的装置,其特征在于,所述第二报文中的源媒体访问控制MAC地址与主节点的MAC地址不一致,则所述第一端口的端口状态为非主状态。
  26. 根据权利要求23所述的装置,其特征在于,所述第二报文中的源网际协议IP地址与主节点的IP地址不一致,则所述第一端口的端口状态为非主状态。
  27. 根据权利要求23所述的装置,其特征在于,所述第二报文携带所述第一端口的端口状态,所述第二报文携带的所述第一端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态,则所述第一端口的端口状态为非主状态。
  28. 根据权利要求23-27任一所述的装置,其特征在于,所述处理模块,用于基于所述第一端口为非主状态及第二条件,停止处理所述第二报文。
  29. 根据权利要求28所述的装置,其特征在于,所述第二条件包括所述第二端口的端口状态为监听状态、前主状态、未校准状态、备选状态或从状态。
  30. 根据权利要求23-29任一所述的装置,其特征在于,所述第一报文中携带所述第二端口的端口状态。
  31. 一种网络设备,其特征在于,所述网络设备包括:
    存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使所述网络设备实现权利要求1-15中任一所述的报文处理方法。
  32. 一种报文处理***,其特征在于,所述***包括第一网络设备和第二网络设备,所述第一网络设备用于执行所述权利要求1-7中任一所述的报文处理方法,所述第二网络设备用于执行所述权利要求8-15中任一所述的报文处理方法。
  33. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-15中任一所述的报文处理方法。
PCT/CN2021/114588 2020-09-04 2021-08-25 报文处理方法、装置、设备、***及存储介质 WO2022048482A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2023514869A JP2023540527A (ja) 2020-09-04 2021-08-25 メッセージ処理方法、装置及びシステム、デバイス並びに記憶媒体
KR1020237010953A KR20230058485A (ko) 2020-09-04 2021-08-25 메시지 처리 방법, 장치 및 시스템, 디바이스 및 저장 매체
EP21863548.0A EP4199409A4 (en) 2020-09-04 2021-08-25 MESSAGE PROCESSING METHOD AND APPARATUS, DEVICE, SYSTEM AND RECORDING MEDIUM
US18/177,584 US20230208545A1 (en) 2020-09-04 2023-03-02 Message processing method, apparatus, and system, device, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010924424.2 2020-09-04
CN202010924424.2A CN114221730A (zh) 2020-09-04 2020-09-04 报文处理方法、装置、设备、***及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/177,584 Continuation US20230208545A1 (en) 2020-09-04 2023-03-02 Message processing method, apparatus, and system, device, and storage medium

Publications (1)

Publication Number Publication Date
WO2022048482A1 true WO2022048482A1 (zh) 2022-03-10

Family

ID=80491594

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/114588 WO2022048482A1 (zh) 2020-09-04 2021-08-25 报文处理方法、装置、设备、***及存储介质

Country Status (6)

Country Link
US (1) US20230208545A1 (zh)
EP (1) EP4199409A4 (zh)
JP (1) JP2023540527A (zh)
KR (1) KR20230058485A (zh)
CN (1) CN114221730A (zh)
WO (1) WO2022048482A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616163A (zh) * 2009-07-27 2009-12-30 中兴通讯股份有限公司 精确时间传递协议报文处理方法及装置
CN102611546A (zh) * 2011-01-25 2012-07-25 中兴通讯股份有限公司 一种ptp时钟单播组播混合时钟***及时钟同步方法
CN106301645A (zh) * 2015-05-21 2017-01-04 中兴通讯股份有限公司 一种基于单播的时间同步实现方法、装置及网络设备
US10158444B1 (en) * 2017-11-16 2018-12-18 Microsemi Corporation Event-driven precision time transfer
CN109327428A (zh) * 2018-06-05 2019-02-12 ***通信有限公司研究院 一种报文传输方法、装置、网络侧设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873243B (zh) * 2010-06-21 2014-04-30 中兴通讯股份有限公司 1588实现协同时间同步方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616163A (zh) * 2009-07-27 2009-12-30 中兴通讯股份有限公司 精确时间传递协议报文处理方法及装置
CN102611546A (zh) * 2011-01-25 2012-07-25 中兴通讯股份有限公司 一种ptp时钟单播组播混合时钟***及时钟同步方法
CN106301645A (zh) * 2015-05-21 2017-01-04 中兴通讯股份有限公司 一种基于单播的时间同步实现方法、装置及网络设备
US10158444B1 (en) * 2017-11-16 2018-12-18 Microsemi Corporation Event-driven precision time transfer
CN109327428A (zh) * 2018-06-05 2019-02-12 ***通信有限公司研究院 一种报文传输方法、装置、网络侧设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4199409A4 *

Also Published As

Publication number Publication date
EP4199409A1 (en) 2023-06-21
EP4199409A4 (en) 2024-02-21
CN114221730A (zh) 2022-03-22
KR20230058485A (ko) 2023-05-03
US20230208545A1 (en) 2023-06-29
JP2023540527A (ja) 2023-09-25

Similar Documents

Publication Publication Date Title
US20210119718A1 (en) Symmetric path/link over lag interface using lldp for time synchronization between two nodes using ptp
WO2022052609A1 (zh) 时延补偿方法、装置、设备及计算机可读存储介质
US11025404B2 (en) Enhancing synchronization in computer network
WO2021244439A1 (zh) 网络性能的测量方法、装置、设备、***及存储介质
WO2022222577A1 (zh) 数据格式的转换方法、装置、设备及计算机可读存储介质
WO2015131626A1 (zh) 用于网络设备的时间同步方法、装置及时间同步服务器
WO2021190051A1 (zh) 同步方法、装置、设备和存储介质
WO2022111372A1 (zh) 报文传输方法、装置、设备及计算机可读存储介质
WO2022151993A1 (zh) 检测时间同步性能的方法、装置及***
US20240080122A1 (en) Packet transmission method and apparatus, device, and storage medium
WO2022068744A1 (zh) 获取报文头信息、生成报文的方法、设备及存储介质
WO2021233313A1 (zh) 配置端口状态的方法、装置、***及存储介质
WO2022048482A1 (zh) 报文处理方法、装置、设备、***及存储介质
WO2022042403A1 (zh) 生成路由信息、发送位置信息及转发报文的方法及设备
CN116962161A (zh) 路径检测方法、装置、***及计算机可读存储介质
CN114513485A (zh) 获取映射规则的方法、装置、设备、***及可读存储介质
CN114826898A (zh) 跨主机通信方法、装置、设备、***及可读存储介质
WO2022100110A1 (zh) 网络同步的方法、装置、设备、***及可读存储介质
JP7475568B2 (ja) デバイストランスレータ、通信システム、通信方法、および通信プログラム
WO2024152653A1 (zh) 备路径的确定方法、装置、设备、***及存储介质
WO2022194193A1 (zh) 用于获取路径的方法和装置
US20230208544A1 (en) Method, apparatus, and system for processing time synchronization fault and storage medium
WO2022042349A1 (zh) 一种报文发送方法及设备
WO2021179915A1 (zh) 一种时钟端口状态处理方法、装置及***
US20230262625A1 (en) Time Synchronization Fault Processing Method, Apparatus, And System

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21863548

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023514869

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 202317016739

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2021863548

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2021863548

Country of ref document: EP

Effective date: 20230316

ENP Entry into the national phase

Ref document number: 20237010953

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE