Method and apparatus for acquiring upper limit of delay compensation, and forwarding node

By sending request messages and receiving response messages in a deterministic network, the residence delay of each path is obtained and the compensation delay upper limit is calculated, the jitter problem caused by line delay changes is solved, and end-to-end service transmission is achieved with high reliability and deterministic.

WO2025102320A9PCT designated stage expired Publication Date: 2025-07-31NEW H3C TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/132127
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-16
Publication Date
2025-07-31

AI Technical Summary

Technical Problem

In deterministic networks, when end-to-end services span multiple network domains, jitter caused by line delay changes cannot meet the requirements of high deterministic bearings, and the prior art cannot accurately obtain the compensation delay limit, resulting in unbounded transmission delay and jitter.

Method used

By sending request messages and receiving reply messages in the target path group, the residence delay and line delay of each path are obtained, the compensation delay upper limit is calculated, and the delay compensation is adaptively adjusted to reduce jitter and ensure deterministic transmission.

Benefits of technology

In the case of online delay changes, the compensation delay upper limit is accurately obtained, the jitter of end-to-end services is reduced, and the reliability and certainty of service transmission is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023132127_31072025_PF_FP_ABST
    Figure CN2023132127_31072025_PF_FP_ABST
Patent Text Reader

Abstract

A method and apparatus for acquiring an upper limit of delay compensation, and a forwarding node. The method comprises: a first node sending a request packet to a second node by means of a first path in a target path group, and acquiring a first time point at which the first node sends the request packet; by means of each path in the target path group, respectively receiving response packets sent by the second node, and constructing metadata corresponding to each response packet, wherein the metadata comprises a second time point of receiving the response packet, a request delay and a response delay; on the basis of the first time point, the request delays, the second time point corresponding to each path, and the response delay corresponding to each path, determining a line delay corresponding to each path; and calculating a difference between a reference delay corresponding to the target path group and the line delay corresponding to each path, so as to obtain an upper limit of delay compensation corresponding to each path. The technical solution provided in embodiments of the present application can reduce the jitter of end-to-end services, ensuring the deterministic transmission of the end-to-end services.
Need to check novelty before this filing date? Find Prior Art

Description

A method, device and forwarding node for obtaining upper limit of compensation delay Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a method, device, and forwarding node for obtaining an upper limit of a compensation delay. Background Art

[0002] In a deterministic network, end-to-end services may span multiple network domains, each employing different queuing mechanisms. Due to scheduling and traffic admission control at network domain boundaries, as well as differing queuing and forwarding mechanisms within deterministic network domains, the jitter of end-to-end services spanning multiple network domains cannot meet the requirements of highly deterministic bearer services. To meet these requirements, it is necessary to obtain the upper bound on the path's compensation delay and, based on this upper bound, apply delay compensation to data packets.

[0003] Currently, obtaining an upper bound on the compensated delay assumes that the line delay remains constant. However, in real-world applications, factors such as environmental and path variations can cause line lengths to vary, leading to variations in line delay. If the upper bound on the compensated delay is still based on the assumption that the line delay remains constant even when line delay varies, the end-to-end transmission delay and jitter will be unbounded, failing to guarantee high-deterministic bearer requirements.

[0004] Summary of the Invention

[0005] The purpose of the embodiments of the present application is to provide a method, device, and forwarding node for obtaining a compensation delay upper limit to reduce the jitter of end-to-end services and ensure deterministic transmission of end-to-end services. The specific technical solution is as follows:

[0006] In a first aspect, an embodiment of the present application provides a method for obtaining a compensation delay upper limit, which is applied to a first node, where the first node is connected to a second node via a target path group, where the target path group includes multiple paths. The method includes:

[0007] Sending a request message to the second node through a first path in the target path group, and obtaining a first time point at which the first node sends the request message;

[0008] Receiving, through each path in the target path group, a reply message sent by the second node, and constructing metadata corresponding to each reply message, where the metadata corresponding to each reply message includes a second time point at which the first node receives the reply message, a request delay carried by the reply message, and a reply delay, where the request delay is a residence delay in all network domains traversed by the request message on the first path, and the reply delay corresponding to each path includes a residence delay in all network domains traversed by the reply message on the path;

[0009] Determining a line delay corresponding to each path according to the first time point, the request delay, a second time point corresponding to each path, and a response delay corresponding to each path;

[0010] The difference between the reference delay corresponding to the target path group and the line delay corresponding to each path is calculated to obtain the upper limit of the compensation delay corresponding to each path.

[0011] In a second aspect, an embodiment of the present application provides a method for obtaining a compensation delay upper limit, which is applied to a second node, where the second node is connected to the first node via a target path group, where the target path group includes multiple paths. The method includes:

[0012] receiving, via a first path in the target path group, a request message sent by the first node, and constructing metadata corresponding to the request message, the metadata including a request delay carried by the request message, where the request delay is a residence delay of all network domains traversed by the request message on the first path;

[0013] Encapsulating the request delay in a response message;

[0014] A response message is sent to the first node through each path in the target path group.

[0015] In a third aspect, an embodiment of the present application provides a device for obtaining a compensation delay upper limit, which is applied to a first node, the first node being connected to a second node via a target path group, the target path group including multiple paths, the device including a scheduling module, a parsing module, and an active detection module;

[0016] The scheduling module is configured to send a request message to the second node through a first path in the target path group, obtain a first time point at which the first node sends the request message, and send the first time point to the active detection module;

[0017] The parsing module is configured to receive, through each path in the target path group, a response message sent by the second node, each response message including a request delay and a response delay, the request delay being the residence delay of all network domains passed by the request message on the first path, and the response delay corresponding to each path including the residence delay of all network domains passed by the response message on the path; construct metadata corresponding to each response message, and send the metadata corresponding to each response message to the active detection module, the metadata corresponding to each response message including the second time point at which the first node receives the response message, the request delay and the response delay carried by the response message;

[0018] The active detection module is configured to determine the line delay corresponding to each path based on the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path; and calculate the difference between the reference delay corresponding to the target path group and the line delay corresponding to each path to obtain a compensation delay upper limit corresponding to each path.

[0019] In a fourth aspect, an embodiment of the present application provides a device for obtaining a compensation delay upper limit, which is applied to a second node, the second node being connected to the first node via a target path group, the target path group including multiple paths, the device including a scheduling module, a parsing module, and a passive response module;

[0020] The parsing module is configured to receive a request message sent by the first node through a first path in the target path group, obtain metadata of the request message, wherein the metadata includes a request delay carried by the request message, and the request delay is a residence delay of all network domains traversed by the request message on the first path; and send the metadata to the passive response module;

[0021] The passive response module is configured to encapsulate the request delay in a response message and send the response message to the scheduling module;

[0022] The scheduling module is configured to send a response message to the first node through each path in the target path group.

[0023] In a fifth aspect, an embodiment of the present application provides a forwarding node that executes any method provided in the first aspect, or executes any method provided in the second aspect.

[0024] In the technical solution provided by the embodiment of the present application, the first node sends a request message to the second node through a path in the target path group; the second node sends a reply message to the first node through each path in the target path group. The request message and the reply message are transmitted along the path in the target path group, passing through all network domains on the path, and then the request message and the reply message can fill in the residence delay of all network domains passed on the path. Based on this, based on the request message and the reply message, the first node can obtain the first time point when the first node sends the request message, the second time point when the first node receives the reply message, the request delay, and the reply delay corresponding to each path, and then based on the obtained information, accurately determine the line delay corresponding to each path, and based on the accurate line delay, accurately determine the upper limit of the compensation delay corresponding to each path. This enables changes in line delay to be reflected in the compensation delay. Based on changes in line delay, the compensation delay can be adaptively adjusted. That is, based on an accurate upper limit for the compensation delay, delay compensation is performed on data packets, effectively eliminating jitter. This prevents services from perceiving delay changes caused by environmental factors and other factors, reducing jitter in end-to-end services. For example, this reduces jitter between the first and second nodes of a target path group, ensuring deterministic transmission of end-to-end services and improving service transmission reliability. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The drawings described herein are used to provide further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute improper limitations on the present application.

[0026] FIG1 is a first schematic diagram of a network for end-to-end services provided in an embodiment of the present application;

[0027] FIG2 is a schematic diagram of a first flow chart of a method for obtaining an upper limit of compensation delay provided in an embodiment of the present application;

[0028] FIG3 is a schematic diagram of message transmission between nodes provided in an embodiment of the present application;

[0029] FIG4 is a schematic diagram of a delay decomposition corresponding to the path group shown in FIG3 ;

[0030] FIG5 is a schematic diagram of a process for generating a request message according to an embodiment of the present application;

[0031] FIG6 is a schematic diagram of a second flow chart of a method for obtaining an upper limit of compensation delay provided in an embodiment of the present application;

[0032] FIG7 is a schematic diagram of the structure of the first table and the second table provided in an embodiment of the present application;

[0033] FIG8 is a schematic diagram of the structure of the third table and the fourth table provided in an embodiment of the present application;

[0034] FIG9 is a schematic diagram of a third flow chart of a method for obtaining an upper limit of compensation delay provided in an embodiment of the present application;

[0035] FIG10 is a schematic diagram of a first structure of a device for obtaining an upper limit of compensation delay provided in an embodiment of the present application;

[0036] FIG11 is a schematic diagram of a second structure of a device for obtaining an upper limit of compensation delay provided in an embodiment of the present application;

[0037] FIG12 is a schematic diagram of the structure of an active detection module provided in an embodiment of the present application;

[0038] FIG13 is a second schematic diagram of a network for end-to-end services provided in an embodiment of the present application;

[0039] FIG14 is a schematic diagram of a third structure of a device for obtaining an upper limit of compensation delay provided in an embodiment of the present application;

[0040] FIG15 is a schematic diagram of a fourth structure of a device for obtaining an upper limit of compensation delay provided in an embodiment of the present application;

[0041] FIG16 is a schematic structural diagram of a passive response module provided in an embodiment of the present application;

[0042] FIG17 is a schematic diagram of a process A of learning the upper limit of the compensation delay by the active detection module according to an embodiment of the present application;

[0043] FIG18 is a schematic diagram of a process B of learning the upper limit of the compensation delay by the active detection module according to an embodiment of the present application;

[0044] FIG19 is a schematic diagram of a process C of learning the upper limit of the compensation delay by the active detection module according to an embodiment of the present application;

[0045] Figure 20 is a schematic diagram of process D of the active detection module learning to compensate for the delay upper limit provided in an embodiment of the present application. DETAILED DESCRIPTION

[0046] To make the objectives, technical solutions, and advantages of this application more clearly understood, the present application is further described below with reference to the accompanying drawings and examples. It is apparent that the described examples are only a portion of the embodiments of this application, and not all of them. All other embodiments derived by persons of ordinary skill in the art based on the examples in this application are intended to fall within the scope of protection of this application.

[0047] Currently, the number of global machine communication connections is rapidly increasing annually, approaching 30 billion and projected to reach 1 trillion connections by 2035. The full industrial internet, centered around connecting intelligent machines, will become a key development direction for future networks. The communication and traffic patterns of intelligent machines will undergo fundamental changes. Data communication scenarios such as remote control, intelligent manufacturing, and integrated land, sea, and air transport require highly deterministic network transport with ultra-low latency and jitter.

[0048] In a deterministic network, end-to-end services may span multiple network domains. For example, the network shown in Figure 1 includes three network domains: Deterministic Network 1 through Deterministic Network 3. Deterministic Network 1 includes three forwarding nodes, such as A1, B1, and C1; Deterministic Network 2 includes four forwarding nodes, such as A2, B2, C2, and D2; and Deterministic Network 3 includes three forwarding nodes, such as A3, B3, and C3. Communication between a message sender (talker) and a message receiver (listener) spans these three network domains. Forwarding nodes can be network devices such as routers, switches, and gateways. Deterministic Networks 1 through 3 employ different queuing mechanisms. Due to scheduling and traffic admission control at network domain boundaries, as well as different queuing and forwarding mechanisms within deterministic network domains, the jitter of end-to-end services spanning multiple network domains cannot meet the requirements of highly deterministic bearer transport.

[0049] In order to meet the requirements of high deterministic bearer, it is necessary to obtain the compensation delay upper limit of the path, and based on the compensation delay upper limit, perform delay compensation on the data packet. Still take Figure 1 as an example for explanation. There are two paths between forwarding node A1 and forwarding node B3, namely path 1 and path 2. Path 1 and path 2 constitute path group 1. Path group 1 provides protection service for data transmission between forwarding node A1 and forwarding node B3. That is, if one path in path group 1 fails, other paths can also be used for data transmission. Therefore, path group 1 can also be called a protection service group. The compensation delay of path 1 and path 2 is shown in the following formulas (1) to (3). CompD_i=Cap_i-ActD_i (1) Cap_i=PthRefD-FixD_i (2) ActD_i=T'1_i+T'2_i+T'3_i (3)

[0050] Where CompD_i represents the compensation delay of path i, Cap_i represents the upper limit of the compensation delay of path i, ActD_i represents the sum of the residence delays of deterministic networks 1 to 3 traversed by path i, PthRefD represents the reference delay of path group 1, FixD_i represents the line delay between domains on path i, T'1_i represents the residence delay of the packet on deterministic network 1 traversed by path i, T'2_i represents the residence delay of the packet on deterministic network 2 traversed by path i, and T'3_i represents the residence delay of the packet on deterministic network 3 traversed by path i, where i = 1 or 2.

[0051] For end-to-end services that span multiple network domains, each path spans multiple network domains. When a message is transmitted along a path, it will pass through each network domain that the path spans. The residence delay of the message in each network domain is the transmission delay of the message in each network domain. When different messages pass through the same network domain on the same path, the residence delay in the network domain may be the same or different. The above-mentioned inter-domain line delay is the transmission delay of the message between two adjacent network domains.

[0052] The above method for obtaining the upper bound on the compensated delay assumes that the line delay remains unchanged. However, in real applications, line length can change due to factors such as environmental and path variations. For example, changes in ambient temperature can increase line length, coaxial cables can increase line length, and path recovery after a failure can cause line length changes. In some cases, line length can change by as much as 20%. Changes in line length inevitably lead to changes in line delay. If the upper bound on the compensated delay is still determined based on the assumption that the line delay remains unchanged, the end-to-end transmission delay and jitter will be unbounded, failing to guarantee high deterministic bearer requirements.

[0053] In order to reduce the jitter of end-to-end services and ensure the deterministic transmission of end-to-end services, an embodiment of the present application provides a method for obtaining the upper limit of compensation delay based on multi-path planning, as shown in Figure 2. The method for obtaining the upper limit of compensation delay is applied to the first node, and the first node is connected to the second node through a target path group, and the target path group includes multiple paths. The first node is a forwarding node for delay compensation, referred to as the delay compensation node (COMPENSATION NODE, CN), and the delay compensation node is the tail node of the path, such as the forwarding node B3 in Figure 1. The second node is the head node (HEAD NODE, HN) of the path, such as the forwarding node A1 in Figure 1. In the process of obtaining the upper limit of compensation delay, the first node CN is an active detection node, and the second node HN is a passive response node. The target path group is any path group that provides protection services for the communication between the first node and the second node. The above-mentioned method for obtaining the upper limit of compensation delay includes the following steps.

[0054] Step S21: Send a request message to the second node through the first path in the target path group, and obtain the first time point when the first node sends the request message;

[0055] Step S22: Receive a reply message sent by the second node through each path in the target path group, and construct metadata corresponding to each reply message. The metadata corresponding to each reply message includes the second time point at which the first node receives the reply message, the request delay carried by the reply message, and the reply delay. The request delay is the residence delay of all network domains traversed by the request message on the first path, and the reply delay corresponding to each path includes the residence delay of all network domains traversed by the reply message on the path.

[0056] Step S23, determining the line delay corresponding to each path based on the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path;

[0057] Step S24 , calculating the difference between the reference delay corresponding to the target path group and the line delay corresponding to each path, and obtaining the upper limit of the compensation delay corresponding to each path.

[0058] In the technical solution provided by the embodiment of the present application, the first node sends a request message to the second node through a path in the target path group; the second node sends a reply message to the first node through each path in the target path group. The request message and the reply message are transmitted along the path in the target path group, passing through all network domains on the path, and then the request message and the reply message can fill in the residence delay of all network domains passed on the path. Based on this, based on the request message and the reply message, the first node can obtain the first time point when the first node sends the request message, the second time point when the first node receives the reply message, the request delay, and the reply delay corresponding to each path, and then based on the obtained information, accurately determine the line delay corresponding to each path, and based on the accurate line delay, accurately determine the upper limit of the compensation delay corresponding to each path. This enables changes in line delay to be reflected in the compensation delay. Based on changes in line delay, the compensation delay can be adaptively adjusted. That is, based on an accurate upper limit for the compensation delay, delay compensation is performed on data packets, effectively eliminating jitter. This prevents services from perceiving delay changes caused by environmental factors and other factors, reducing jitter in end-to-end services. For example, this reduces jitter between the first and second nodes of a target path group, ensuring deterministic transmission of end-to-end services and improving service transmission reliability.

[0059] In addition, in the technical solution provided in the embodiment of the present application, only time synchronization within the network domain is required to accurately obtain the residence delay of each network domain, and then accurately obtain the upper limit of the compensation delay. There is no need to perform cross-domain time synchronization, which reduces the difficulty of implementing the solution, facilitates wide application, and improves the accuracy of delay compensation.

[0060] In step S21, the first path can be any path in the target path group, or a pre-specified path in the target path group, such as a path with a low probability of failure or the shortest path length. The request message is an OAM (Operation Administration Maintenance) message constructed by the first node to obtain the upper limit of the compensation delay. To facilitate the subsequent acquisition of the requested delay, i.e., the residence delay of all network domains traversed by the request message along the first path, a field, such as a first field, can be added to the request message. The first field is used to carry the requested delay.

[0061] When obtaining the upper limit on the compensation delay, the first node constructs a request message and sends it to the second node via the first path. When sending the request message, the first node can obtain the time point at which the request message was sent, namely the first time point. As the request message travels along the first path, the forwarding nodes along the first path can calculate the residence delay of each network domain that the request message passes through along the first path and add the calculated residence delay to the request message, for example, in the first field described above.

[0062] In the embodiment of the present application, in order to reduce the computing resources of the forwarding nodes on the path, the residence delay of each network domain can be added to the request message in an independent form. For example, in Figure 1, forwarding node B3 sends request message 1 to forwarding node A1 through path 1. Request message 1 passes through deterministic network 1 to deterministic network 3 on path 1. On path 1, the exit edge forwarding node C3 of deterministic network 3 counts the residence delay of request message 1 in deterministic network 3 as ActD_Req_3, adds ActD_Req_3 to request message 1, and on path 1, the exit edge forwarding node C2 of deterministic network 2 counts the residence delay of request message 1 in deterministic network 3 as ActD_Req_3. The residence delay of 1 on deterministic network 2 is ActD_Req_2. ActD_Req_2 is added to request message 1. On path 1, the egress edge forwarding node A1 of deterministic network 1 calculates the residence delay of request message 1 on deterministic network 1 as ActD_Req_1. ActD_Req_1 is added to request message 1. At this point, request message 1 carries ActD_Req_1, ActD_Req_2, and ActD_Req_3. The sum of ActD_Req_1, ActD_Req_2, and ActD_Req_3 is the request delay.

[0063] In an embodiment of the present application, in order to reduce the computing resources of the first node, the residence delay of each network domain can be added to the request message in a cumulative form. For example, in Figure 1, forwarding node B3 sends request message 2 to forwarding node A1 through path 1. Request message 2 passes through deterministic network 1 to deterministic network 3 on path 1. On path 1, the exit edge forwarding node C3 of deterministic network 3 counts the residence delay of request message 1 in deterministic network 3 as ActD_Req_3, adds ActD_Req_3 to request message 1, and on path 1, the exit edge forwarding node C2 of deterministic network 2 counts the residence delay of request message 1 in deterministic network 2 as ActD_Req_2, and calculates ActD_Req_3. The sum of ActD_Req_1 and ActD_Req_2 is calculated to obtain ActD_Req_2'. ActD_Req_3 in request message 1 is updated to ActD_Req_2'. On path 1, the egress edge forwarding node A1 of deterministic network 1 calculates the residence delay of request message 1 in deterministic network 1 as the sum of ActD_Req_1 and ActD_Req_2' to obtain ActD_Req_1'. ActD_Req_2' in request message 1 is updated to ActD_Req_1'. At this point, request message 1 carries ActD_Req_1'. ActD_Req_1' is the request delay.

[0064] In the above embodiments, the example of adding a residence delay to the request message by the egress edge forwarding node is used for explanation. In the embodiments of the present application, any forwarding node in the network domain can also add a residence delay to the request message, because the transmission within the network domain is deterministic. When the path is determined, any forwarding node can determine the corresponding residence delay.

[0065] After the first node sends a request message through the first path in the target path group, the second node receives the request message sent by the first node through the first path in the target path group. After receiving the request message sent by the first node, the second node can construct metadata corresponding to the request message, such as the receiving interface identifier, the time point when the second node receives the request message (such as the third time point), the identifier of the target path group, the source IP (Internet Protocol) address of the request message, the request delay, and other data information describing the request message. Based on the metadata corresponding to the request message, the second node constructs n OAM messages, i.e., response messages, where n is the number of paths in the target path group. In order to facilitate the subsequent acquisition of the request delay and the response delay, and to facilitate the first node to calculate the upper limit of the compensation delay, two fields, such as the second field and the third field, can be added to the response message, the second field is used to carry the request delay, and the third field is used to carry the response delay. The response delay is the residence delay of all network domains that the response message passes through on each path.

[0066] The second node extracts the request delay from the received request message and adds the request delay to the response message, such as adding it to the above-mentioned second field. The second node sends a response message to the first node through each path in the target path group. When sending a response message through each path in the target path group, the second node can obtain the time point when the second node sends the response message through each path, that is, the fourth time point. When the response message is transmitted along each path, the forwarding node on each path can count the residence delay of each network domain that the response message passes through on the path, and add the statistical residence delay to the response message, for example, adding it to the above-mentioned third field.

[0067] In the embodiment of the present application, in order to reduce the computing resources of the forwarding nodes on the path, the residence delay of each network domain can be added to the response message in an independent form. For example, in Figure 1, forwarding node A1 sends a response message 1 to forwarding node B3 through path 1 and path 2 respectively. Taking path 1 as an example, the response message 1 passes through deterministic networks 1 to deterministic networks 3 on path 1. On path 1, the exit edge forwarding node C1 of deterministic network 1 calculates the residence delay of the response message 1 in deterministic network 1 as ActD_Ack_1, adds ActD_Ack_1 to the response message 1, and on path 1, the exit edge forwarding node D2 of deterministic network 2 passes through the response message 1 to the response message 1. The residence delay of reply message 1 in deterministic network 2 is calculated as ActD_Ack_2. ActD_Ack_2 is added to reply message 1. On path 1, egress edge forwarding node B3 of deterministic network 3 calculates the residence delay of reply message 1 in deterministic network 3 as ActD_Ack_3. ActD_Ack_3 is added to reply message 1. Reply message 1 now carries ActD_Ack_1, ActD_Ack_2, and ActD_Ackq_3. The sum of ActD_Ack_1, ActD_Ack_2, and ActD_Ackq_3 is the reply delay.

[0068] In an embodiment of the present application, in order to reduce the computing resources of the first node, the residence delay of each network domain can be added to the response message in a cumulative form. For example, in Figure 1, forwarding node A1 sends a response message 2 to forwarding node B3 through path 1 and path 2 respectively. Taking path 1 as an example, the response message 2 passes through deterministic network 1 to deterministic network 3 on path 1. On path 1, the exit edge forwarding node C1 of deterministic network 1 counts the residence delay of response message 2 in deterministic network 1 as ActD_Ack_1, and adds ActD_Ack_1 to the response message 2. On path 1, the exit edge forwarding node D2 of deterministic network 2 counts the residence delay of response message 1 in deterministic network 2 as ActD_Ack_2, and calculates ActD_Ack_2 and The sum of ActD_Ack_1 and ActD_Ack_2' is calculated, and ActD_Ack_1 in Response Message 2 is updated to ActD_Ack_2'. On Path 1, the egress edge forwarding node B3 of Deterministic Network 3 calculates the residence delay of Response Message 2 in Deterministic Network 3 as ActD_Ack_3. The sum of ActD_Ack_3 and ActD_Ack_2' is calculated to obtain ActD_Ack_3'. ActD_Ack_2' in Response Message 2 is updated to ActD_Ack_3'. At this point, Response Message 2 carries ActD_Ackq_3'. ActD_Ackq_3' is the response delay.

[0069] In the above embodiments, the example of adding a residence delay to the reply message by the egress edge forwarding node is used for explanation. In the embodiments of the present application, any forwarding node in the network domain can also add a residence delay to the reply message, because the transmission within the network domain is deterministic. When the path is determined, any forwarding node can determine the corresponding residence delay.

[0070] In an embodiment of the present application, the request delay and the response delay carried in the response message may be in the same form, for example, the request delay and the response delay carried in the response message may be in a cumulative form; the request delay and the response delay carried in the response message may also be in different forms, for example, the request delay carried in the response message may be in a cumulative form, and the response delay carried in the response message may be in an independent form.

[0071] In some embodiments, the response delay may include the delay of the second node processing the request message, that is, the processing delay. For example, the second node obtains the third time point of receiving the request message, and obtains the time point (such as the fourth time point) of sending the response delay through a path, calculates the difference between the third time point and the fourth time point, and obtains the delay from the third time point to the fourth time point, that is, the processing delay. The second node can add the processing delay to the response delay corresponding to the path. In this way, the response delay finally obtained by the first node is the sum of the two parts, that is, the sum of the processing delay and the residence delay of all network domains that the response message passes through on the path.

[0072] In step S22, the first node receives the response message sent by the second node via each path in the target path group. If the target path group includes n paths and all n paths are functioning normally, the first node can receive n response messages. Different paths transmitting the same response message can have the same or different response delays. The response delay obtained by transmitting the response message along a path is the response delay corresponding to that path.

[0073] For each received reply message, after receiving the reply message sent by the first node, the first node can construct metadata corresponding to the reply message, such as the receiving interface identifier, the time point at which the first node received the reply message (such as the second time point), the identifier of the target path group, the source IP address of the reply message, the request delay, the reply delay, and other data describing the reply message. If the first node receives n reply messages, it can construct n metadata.

[0074] For example, as shown in the message transmission diagram of Figure 3, the thick straight line between the first node CN and the second node HN represents a path. There is a path group consisting of n paths (paths) between the first node CN and the second node HN, such as path 1 to path n. The first node CN selects a path from the n paths, such as path 1, and sends a request message Req_1 to the second node HN via path 1. The time point of sending Req_1 is tc_R_1. The second node receives the request message Req_1 via path 1 at time th_R_1. The second node HN constructs a response message, obtaining n response message copies Ack_1 to Ack_n. At time th_A_i, it sends Ack_i to the first node CN via path i, where i = 1, ..., n. The first node CN receives Ack_i at tc_A_i. The response delay carried by Ack_i is the response delay corresponding to path i.

[0075] In step S23, the first node determines the line delay corresponding to each path in the target path group based on metadata such as the first time point of sending the request message, the second time point of receiving the reply message, the request delay, and the reply delay. Then, step S24 is performed to calculate, for each path in the target path group, the difference between the reference delay corresponding to the target path group and the line delay corresponding to that path to obtain the upper limit of the compensation delay corresponding to that path. The reference delay is the duration along the path included in the target path group from the time the second node sends the message to the time the first node receives the message.

[0076] In this embodiment of the present application, after obtaining the upper limit of the compensation delay corresponding to each path, the first node can send the obtained upper limit of the compensation delay corresponding to each path to the second node. This way, when the second node subsequently sends a data packet to the first node via a path in the target path group, the data packet can carry the upper limit of the compensation delay corresponding to the path. The first node can quickly obtain the upper limit of the compensation delay from the received data packet and perform delay compensation on the data packet, thereby improving the efficiency of delay compensation.

[0077] In some embodiments, the above-mentioned step S23 may be: determining the first line delay corresponding to the first path based on the first time point, the request delay, the second time point corresponding to the first path, and the response delay corresponding to the first path; determining the second line delay corresponding to other paths based on the first time point, the request delay, the second time point corresponding to other paths, the response delay corresponding to other paths, and the first line delay, where the other paths are paths in the target path group other than the first path.

[0078] Still taking Figure 3 as an example for explanation. The first path is path 1, the first time point is tc_R_1, and the second time point is tc_A_i, i = 1, ..., n. For path 1, the first node CN can use the following formula (4) to calculate the line delay FixD_1 corresponding to path 1, that is, the first line delay. FixD_1 = [(tc_A_1 - tc_R_1) - (ActD_Req_1 + ActD_Ack_1)] / 2 (4)

[0079] In formula (4), ActD_Req_1 represents the request delay of the request message Req_1, and ActD_Ack_1 represents the response delay corresponding to path 1.

[0080] After calculating FixD_1, for path i, i = 2, ..., n, the first node CN can use the following formula (5) to calculate the line delay FixD_i corresponding to path i, that is, the second line delay. FixD_i = [(tc_A_i – tc_R_1) - (ActD_Req_1 + ActD_Ack_i)] - FixD_1 (5)

[0081] In formula (5), ActD_Req_1 represents the request delay of the request message Req_1, and ActD_Ack_i represents the response delay corresponding to path i.

[0082] After obtaining the line delay corresponding to each path, the first node CN can use the following formula (6) to calculate the upper limit of the compensation delay corresponding to each path. Cap_i=PthRefD-FixD_i (6)

[0083] In formula (6), Cap_i represents the upper limit of the compensation delay corresponding to path i, PthRefD represents the reference delay corresponding to the path group, and FixD_i represents the line delay corresponding to path i, where i = 1,…,n.

[0084] Through the above embodiments, the upper limit of the compensation delay can be obtained without clock synchronization between network domains, which makes the technical solution provided by the embodiments of the present application applicable to a wider range of application scenarios of large-scale deterministic networks.

[0085] In the embodiment of the present application, the first node may also use other methods to obtain the line delay. For example, the first node may use the following formula (4) to calculate FixD_1 and use formula (7) to calculate FixD_i, where i = 2, ..., n. FixD_i = (tc_A_i - tc_A_1) + FixD_1 (7)

[0086] In the embodiments of the present application, there is no specific limitation on the specific method of obtaining the line delay.

[0087] In some embodiments, under specified conditions, the first node may configure a reference delay, such as when calculating the compensation delay for the first time or before deploying deterministic traffic. In one example, the first node may determine the reference delay by: determining a second path from the target path group; and calculating the sum of the response delay corresponding to the second path, the line delay corresponding to the second path, and a preset adjustment delay to obtain the reference delay corresponding to the target path group.

[0088] In an embodiment of the present application, the second path may be any path in the target path group, such as the second path may be the path in the target path group that receives the response message the latest, that is, the longest path. The second path may be the same as or different from the first path. The preset adjustment delay is the adjustment delay corresponding to the pre-configured second path, which is the delay that needs to be adjusted based on engineering requirements such as line expansion, the margin for increasing the length of the new link after fault recovery, and the margin for the upper limit of the variable delay. In the absence of clock synchronization, the first node may determine the reference delay using the following formula (8). PthRefD=FixD+ActD_Ack+Tr (8)

[0089] In formula (8), PthRefD represents the reference delay corresponding to the target path group, FixD represents the line delay corresponding to the second path, ActD_Ack represents the response delay corresponding to the second path, and Tr represents the preset adjustment delay.

[0090] Taking the path group shown in Figure 3, including path 1 and path 2, as an example, the corresponding delay decomposition diagram for the path group is shown in Figure 4. The first node CN sends a request message to the second node HN via path 1. For both paths 1 and 2, the transmission delay t_Req_1 from the first node CN to the second node HN is common and can be ignored. The transmission delay from the second node HN to the first node CN on path 1 is approximately equal to the time point th_R_1 on the second node HN to the time point tc_A_1 on the first node CN. Similarly, the transmission delay from the second node HN to the first node CN on path 2 is approximately equal to the time point th_R_1 on the second node HN to the time point tc_A_2 on the first node CN. As shown in Figure 4, tc_A_2 is later than tc_A_1. Path 2, corresponding to tc_A_2, is longer than Path 1, corresponding to tc_A_1. This means that Path 2 is the longest path. Based on tc_A_2, the first node CN adds an adjustment delay, Tr_2, selected by the user or controller based on project requirements, to obtain the reference time point tr. Based on this, the reference delay, PthRefD, is calculated as the distance from time point th_R_1 at the second node HN to the reference time point tr at the first node CN. This means that PthRefD = FixD_2 + ActD_Ack_2 + Tr_2, where FixD_2 represents the line delay corresponding to Path 2, and ActD_Ack_2 represents the response delay corresponding to Path 2.

[0091] In this embodiment of the present application, after obtaining a reference delay corresponding to a target path group, the first node can send the obtained reference delay to the second node. This allows the second node to quickly obtain the reference delay and perform delay compensation on the data message when the first node subsequently sends a data message to the second node via a path in the target path group. Alternatively, the second node can quickly update the upper limit of the compensated delay for each path in the target path group in the second node based on the received reference delay.

[0092] In some embodiments, as shown in FIG5 , the first node may use the following steps to periodically generate a request message to periodically update the upper limit of the compensation delay.

[0093] Step S51: Generate an original message according to a preset period.

[0094] Step S52: Determine a path from the target path group as the first path.

[0095] Step S53: Process the original message based on the tunnel information of the first path to obtain a request message.

[0096] In this embodiment of the present application, since line delay changes gradually with environmental variations and accumulates over time, it is feasible to periodically update the upper limit of the compensation delay. The reference delay PthRefD can remain constant, while the upper limit of the compensation delay adjusts with line variations, and the compensation delay adjusts with line delay variations. Therefore, within the bounded range of delay, the application will not perceive the accumulated changes.

[0097] In the event of a path failure, applications will not notice the latency change unless all paths in the path group fail. After the path is restored, applications will not notice the path failure unless the new path length exceeds the reference delay PthRefD, improving service transmission reliability.

[0098] In step S51 above, the preset period is the refresh period for compensating for the upper limit of the delay. The value of the preset period depends on the accuracy to be achieved by the service and the speed of environmental changes. The higher the accuracy to be achieved by the service and the faster the speed of environmental changes, the shorter the preset period.

[0099] In some embodiments, a first timer event is registered within the first node. The first timer event is a timer event used to indicate a refresh of the upper limit of the compensation delay. The first timer corresponding to the first timer event has been started. The duration of the first timer is a preset period, i.e., the refresh period of the upper limit of the compensation delay. After the first timer times out, it indicates that the refresh time of the upper limit of the compensation delay has arrived. The first node obtains the first timer event corresponding to the first timer, generates an original message based on the first timer event, and resets the first timer. In this way, when the first timer times out again, the upper limit of the compensation delay continues to be refreshed.

[0100] In the embodiment of the present application, the first node may also manage the preset period in other ways, which is not limited to this.

[0101] In step S52, the first node may determine a path from the target path group as the first path based on a preset period. For example, after the first timer expires, the first node may determine a path from the target path group as the first path. For specific limitations, see the description of step S21 above.

[0102] The embodiment of the present application does not limit the execution order of step S51 and step S52.

[0103] In step S53, the processing of the original message includes, but is not limited to, querying the outbound interface and repackaging the message. After determining the first path, the first node obtains tunnel information sent by the control plane, such as the tunnel identifier of the first path. Based on the tunnel information of the first path, the first node processes the original message to obtain a request message. The first node then executes step S21 and sends the request message to the second node via the first path.

[0104] In some embodiments, the first node configures a preset duration, which serves as a timeout for receiving a response message. The preset duration can be determined based on the path length. The longer the path, the longer the preset duration. For ease of description, the number of paths included in the target path group is referred to as the first number. Based on the embodiments shown in Figures 5 and 2, embodiments of the present application further provide a method for obtaining an upper limit on the compensation delay, as shown in Figure 6. This method may include the following steps.

[0105] Step S61: Generate an original message according to a preset period.

[0106] Step S62: Determine a path from the target path group as the first path.

[0107] Step S63: Process the original message based on the tunnel information of the first path to obtain a request message.

[0108] Step S64: Send a request message to the second node through the first path in the target path group, and obtain a first time point when the request message is sent.

[0109] Step S65: Receive a response message sent by the second node through each path in the target path group, and construct metadata corresponding to each response message. The metadata corresponding to each response message includes the second time point when the first node receives the response message, the request delay and response delay carried by the response message. The request delay is the residence delay of all network domains passed by the request message on the first path. The response delay corresponding to each path includes the residence delay of all network domains passed by the response message on the path.

[0110] Step S66: Determine whether the time from the current time point to the first time point reaches the preset time point. If not, execute step S67; if so, execute step S68.

[0111] In the embodiment of the present application, the current time point is the time point when step S66 is executed. In addition, the embodiment of the present application does not limit the execution order of step S65 and step S66.

[0112] In some embodiments, after sending a request message, the first node may register a second timer event within the first node and start a second timer corresponding to the second timer event, where the duration of the second timer is a preset duration. The second timer event is a timer event that indicates the timeout duration for receiving a response message, i.e., the preset duration. Based on the second timer, the first node may determine in real time whether the second timer has timed out; if the second timer has not timed out, a first judgment result is obtained, which indicates that the duration from the current time point to the first time point has not reached the preset duration; if the second timer has timed out, a second judgment result is obtained, which indicates that the duration from the current time point to the first time point has reached the preset duration.

[0113] In the embodiment of the present application, the first node may also manage the preset duration in other ways, which is not limited to this.

[0114] Step S67: Determine whether the number of received response messages reaches the first number. If not, execute step S65; if so, execute step S69.

[0115] Step S68: Determine whether the first node has received the response message. If not, execute step S62 until the number of times step S62 is re-executed reaches a preset number; if yes, execute step S69.

[0116] In embodiments of the present application, the preset number is less than the number of paths included in the target path group. In one example, to avoid service interruption, the preset number is the number of paths included in the target path group minus 1. In another example, to provide protection services to the first node and the second node, the preset number is the number of paths included in the target path group minus 2. The preset number can also be other values, which are not limited to this.

[0117] When the duration from the current time point to the first time point reaches the preset duration, it is necessary to execute step S68, indicating that there is a fault path. In order to ensure the accuracy of the subsequent compensation delay upper limit, to ensure that the service does not perceive the delay change, and to achieve deterministic transmission, the premise for executing step S69 is that the first node has configured a reference delay, such as the reference delay calculated according to the above formula (8). That is, the first section can also determine whether the first node has configured a reference delay. When the duration from the current time point to the first time point reaches the preset duration, at least one response message is received, and the first node has configured a reference delay, step S69 is executed. If the first node has not configured a reference delay, the process of obtaining the compensation delay upper limit is terminated.

[0118] In some embodiments, when the duration from the current time point to the first time point reaches a preset duration, when executing step S68 to obtain a determination result that the first node has received a response message, if the first node is not configured with a reference delay, the first node may remove the path for which the response message has not been received from the target path group, and then proceed to execute step S69 to calculate and update the reference delay.

[0119] In an embodiment of the present application, when the first node uses the second timer to manage the preset duration, if the first node does not receive a response message, it returns to step S62, resets the second timer, and restarts the second timer when sending a request message again.

[0120] Step S69: determining the line delay corresponding to each path according to the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path.

[0121] Step S610 , calculating the difference between the reference delay corresponding to the target path group and the line delay corresponding to each path, and obtaining the upper limit of the compensation delay corresponding to each path.

[0122] In the technical solution provided by the embodiment of the present application, after executing step S64 and sending the request message, the first node can determine in real time whether the time length from the current time point to the first time point reaches the preset time length to obtain a judgment result.

[0123] If the judgment result indicates that the preset duration has not been reached and the first number of response messages have been received, it means that the response messages transmitted through all paths have been received. The first node executes step S69 to determine the line delay corresponding to each path based on the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path, and then calculate the compensation delay upper limit corresponding to each path.

[0124] If the judgment result indicates that the preset time period has not been reached and the number of received response messages has not reached the first number, the process returns to step S65 to continue waiting for receiving a response message.

[0125] If the determination result indicates that the preset duration has expired and no response message has been received, the current first path is blocked. The first node then re-executes step S62, selects a new first path, and continues to send request messages. If step S62 is re-executed a preset number of times, the target path group is unable to provide service, and the compensation delay limit acquisition process ends. After the compensation delay limit acquisition process ends, the first node can display a prompt to prompt the user to promptly repair the target path group and restore service communication between the first and second nodes.

[0126] If the judgment result indicates that the preset duration has been reached and at least one response message has been received, such as a second number of response messages received, which is less than the first number, then step S69 is executed based on the received response messages, and the line delay corresponding to the path for transmitting each received response message is determined based on the first time point, the request delay, the second time point corresponding to the path for transmitting each received response message, and the response delay corresponding to the path for transmitting each received response message. For example, for each path for which a response message is received, the line delay corresponding to the path and the compensation delay upper limit are calculated according to the above formulas (4) to (7).

[0127] By adopting the above embodiment, it is possible to obtain and update the upper limit of the compensation delay in the scenario of partial path failure, expand the application scenarios, and further improve the reliability of the deterministic network.

[0128] In some embodiments, the metadata corresponding to each reply message may further include a sequence number of the reply message. After receiving the reply message, the first node may compare the sequence number of the reply message with the sequence number of the request message. If the sequence number of the reply message is the same as the sequence number of the request message, then the reply message is a reply message of the request message. If the sequence number of the reply message is different from the sequence number of the request message, then the reply message is not a reply message of the request message.

[0129] Furthermore, for ease of description, the sum of the request delay and the response delay corresponding to the path used to transmit the response message is referred to as the target sum. After receiving the response message, the first node may also compare the target sum with a preset duration, which is the timeout for receiving a response message. If the target sum is less than the preset duration, the response message is a response to the current request message. If the target sum is greater than or equal to the preset duration, the response message is not a response to the current request message.

[0130] Combining the above two conditions, the first node can accurately calculate the line delay corresponding to each path.

[0131] For example, after receiving a response message, if the sequence number of the response message is the same as the sequence number of the request message, and the sum of the request delay and the response delay corresponding to the path for transmitting the response message is less than the preset duration, the first node can use the response message to execute step S23 to determine the line delay corresponding to the path for transmitting the response message.

[0132] For another example, after receiving a response message, if the sequence number of the response message is different from the sequence number of the request message, and / or the sum of the request delay and the response delay corresponding to the path for transmitting the response message is greater than or equal to the preset duration, the first node can discard the response message and end the processing flow of the response message.

[0133] In an embodiment of the present application, upon receiving a response message, the first node may directly calculate the line delay corresponding to the path for transmitting the response message and the upper limit of the compensation delay, thereby improving the real-time performance of the upper limit of the compensation delay. The first node may also calculate the line delay corresponding to the path for transmitting the response message and the upper limit of the compensation delay after receiving a first number of response messages or after a timeout in receiving the response message, thereby avoiding long-term occupation of the first node's computing resources and improving the resource utilization of the first node.

[0134] In an embodiment of the present application, if the first node calculates the line delay corresponding to the path for transmitting the response message and the upper limit of the compensation delay after receiving a first number of response messages or the response message is received within a timeout period, then when the number of response messages received is less than the first number and the response message is received without a timeout period, the metadata corresponding to the response message is recorded.

[0135] In an embodiment of the present application, to facilitate the acquisition of the upper limit of the compensation delay, a first table and a second table associated with the first table can be configured within the first node; the first table is used to record the first configuration information of the target path group issued by the controller, and the second table is used to record the second configuration information of each path included in the target path group issued by the controller. The controller can be an SDN (Software Defined Network) controller or other types of controllers. The controller implements the control plane of the network, can generate path groups based on global planning, and configure the first node and the second node with the relevant path planning configuration information.

[0136] The first configuration information may include, but is not limited to, an identifier of the target path group, the number of paths included in the target path group, an address of the second node, a preset adjustment delay, a reference delay, a period for sending request messages, a timeout period for receiving response messages, and a first pointer, etc., where the first pointer points to the first address of the second table.

[0137] The second configuration information may include but is not limited to: identifiers of the paths included in the target path group, identifiers of the receiving interfaces for receiving the response message, identifiers of the tunnels for sending the request message, and an upper limit of the compensation delay.

[0138] The structures of the first table and the second table can be shown in Figure 7. In Figure 7, one row of the first table is an entry, which is filled with the first configuration information of a path group, and one row of the second table is an entry, which is filled with the second configuration information of a path. The path is a path in the path group indicated by the entry in the first table associated with the second table.

[0139] In the first table shown in Figure 7 , the Group ID (GroupID) represents the protection service group ID, i.e., the ID of the target path group, as shown in the numbers 1, 2, 3, and so on, in the Group ID column of Figure 7 . The Group ID uniquely identifies a path group. Each member of a path group is an independent path, logically forming an ECMP (Equal Cost Multi Path) scheme. During service transmission, multiple paths within a path group concurrently transmit different copies of data packets for the same deterministic service flow to increase reliability.

[0140] The path number (PathCnt) indicates the total number of paths included in the target path group, such as the numbers 4, 2, etc. in the path number column in Figure 7. The path number in the first row of the first table is 4, indicating that the corresponding path group 1 includes 4 paths.

[0141] The peer address (Peer) indicates the IP address of the peer node. When the local end is the first node, the peer address is the IP address of the second node; when the local end is the second node, the peer address is the IP address of the first node. For example, in Figure 7, the peer address is 20.20.20.20.

[0142] The preset adjustment delay (Adjustment) indicates the compensation delay that needs to be adjusted for the protection service group, that is, the adjustment delay of the second path in the target path group, such as Tr_2 above. In Figure 7, the preset adjustment delay of path group 1 is 2ms (milliseconds), indicating that it is delayed by 2ms (milliseconds) based on the latest arrival time point as the upper limit of the compensation delay. In the embodiment of the present application, the preset adjustment delay can be selected to be a relatively large value. In this way, when a path in the path group fails and is updated to another path, the reference delay PthRefD is not changed, so that the service cannot perceive the change. 2ms can support a line delay of 400 kilometers, allowing the new line to be 400 kilometers longer than the longest path in path group 1.

[0143] The reference delay (PthRefD) represents the reference delay corresponding to the target path group. In an embodiment of the present application, the first node can calculate the reference delay after detection, and then update the obtained reference delay to the first table. Optionally, the first node can calculate the reference delay after the first detection and update the first table. In the first table, the initial value of the reference delay is a specified value, such as 0. When the reference delay is 0, it means that the first node is not configured with a reference delay and the first node has not yet detected the reference delay. In Figure 7, the preset adjustment delay of path group 1 is 40ms.

[0144] The period for sending request messages (TimerInterval) represents the detection period of the timed detection message (such as the request message), such as the preset period mentioned above. In Figure 7, the period for sending request messages corresponding to path group 1 is 1 second.

[0145] The timeout for receiving a response message (TimeOut) indicates the timeout for each probe message (e.g., a response message), as described above. If the path becomes unavailable for some reason and the preset timeout is exceeded, the first node will not continue waiting. In Figure 7, the response message sending period for path group 1 is 200ms.

[0146] The first pointer (PathInfoPtr) indicates the address of the path information set. The first pointer points to the first address of the second table, that is, the first address of the path information set (PathInfoTbl) of the path group. In Figure 7, the first address of the second table corresponding to path group 1 is 0xffe00080.

[0147] The second table shown in FIG7 may include the following second configuration information:

[0148] The path identifier (PathID) indicates the identifier of the paths included in the corresponding target path group. For example, the numbers 1, 2, 3, and 4 in the path identifier column in FIG7 indicate that path group 1 includes path 1, path 2, path 3, and path 4.

[0149] The receiving interface identifier (IntfID) indicates the receiving interface identifier for receiving the response message, such as the numbers 0, 1, 2, and 3 in the receiving interface identifier column in FIG7 .

[0150] The tunnel ID (TunnelID) indicates the tunnel ID of the request message sent within the current node, and is used to send the request message, such as the numbers 1, 5, 8, and 10 in the tunnel ID column in FIG7 .

[0151] The compensation delay upper limit (Cap) represents the learned compensation delay upper limit value. In the embodiment of the present application, after obtaining the compensation delay upper limit corresponding to each path, the first node can update the second table, that is, update the compensation delay upper limit corresponding to each path in the second table to the obtained compensation delay upper limit.

[0152] The forwarding node can obtain tunnel information such as the peer address and tunnel identifier from the first and second tables. Based on this tunnel information, it can query the outbound interface of the message, re-encapsulate the message, and obtain the request message or data message to be forwarded, and then send the request message or data message to the peer. In the above-mentioned first and second tables, the reference delay and compensation delay upper limit are updated after the first and second nodes perform detection and learning according to the embodiments shown in Figures 2 to 6. Other information is configured and distributed by the control plane.

[0153] In an embodiment of the present application, in order to facilitate the acquisition of the upper limit of the compensation delay, a third table and a fourth table associated with the third table can be configured in the first node. The third table and the fourth table are used to record relevant information of the target path group in the process of obtaining the upper limit of the compensation delay. For example, the third table is used to record the third configuration information of the target path group, and the fourth table is used to record the fourth configuration information corresponding to each path included in the target path group for obtaining the upper limit of the compensation delay. The third configuration information can be the same as the first configuration information, or it can be part of the first configuration information, or it can be different from the first configuration information. The fourth configuration information can be the same as the metadata corresponding to the response message, or it can be part of the metadata corresponding to the response message.

[0154] In this case, before sending a request message to the second node, the first node can obtain the third configuration information of the target path group and fill the third configuration information into the third table; in addition, after obtaining the metadata corresponding to the response message, the fourth configuration information corresponding to the metadata is filled into the fourth table. To save the table entry resources of the first node, after obtaining the compensation delay upper limit, the third table and the fourth table corresponding to the target path group are recovered, such as recovering the table entry corresponding to the target path group in the third table and the fourth table associated with the table entry. This can also be expressed as recovering the resources corresponding to the target path group in the third and fourth tables, so that these resources can be reused to record relevant information in the process of obtaining the compensation delay upper limit corresponding to other path groups. When it is necessary to recover the resources corresponding to the target path group in the third and fourth tables, the third configuration information in the third table can also include a valid bit. When the valid bit is a first preset value, it indicates that the corresponding table entry is occupied and is used to record relevant information of the target path group; when the valid bit is a second preset value, it indicates that the corresponding table entry is not occupied. When a new process of obtaining the compensation delay upper limit is started, the first node can occupy the table entry where the valid bit is located to record relevant information. The first preset value and the second preset value can be set according to actual needs. For example, the first preset value is 1 and the second preset value is 0.

[0155] In this embodiment of the present application, the third configuration information may include, but is not limited to, the identifier of the target path group, the number of paths included in the target path group, the timeout for receiving a reply message, the number of paths for which a request message was attempted, the number of paths for which a reply message was received, a preset adjustment delay, a sequence number of the request message, a first time point, and a second pointer, where the second pointer points to the first address of the fourth table. The multiple parameters of the third configuration information constitute a vector. The fourth configuration information may include, but is not limited to, the identifier of the paths included in the target path group, the request delay, the reply delay, the second time point, and the like.

[0156] The structures of the third and fourth tables can be shown in Figure 8. In Figure 8, each row of the third table is an entry filled with the third configuration information of a path group, and each row of the fourth table is an entry filled with metadata corresponding to a response message transmitted by a path. The path is a path in the path group indicated by the entry associated with the fourth table in the third table.

[0157] The third table shown in FIG8 includes 10 entries, each of which records the common information of a path group, namely the third configuration information. An entry in the third table can be called a group header of the path group. Each group header can include the following information.

[0158] The valid bit indicates the validity of the vector recorded in the group header. For example, if the valid bit is 1, it means the vector recorded in the group header is valid; if the valid bit is 0, it means the vector recorded in the group header is invalid and can be used to learn the information about the path group with the upper limit of the delay compensation.

[0159] The group identifier (GroupID) represents the protection service group identifier, that is, the identifier of the target path group. For details, please refer to the group identifier in the first table above. For end-to-end services, the number of path groups providing protection services is limited. In the embodiment of the present application, a fixed third table entry resource can be allocated to each path group. At this time, the group identifier parameter can be omitted in the third table, and the index of each group header (i.e., table entry) is used as the group identifier. As shown in Figure 8, the number of path groups providing protection services is 10, and the group identifier is omitted from the group header of the third table. The indexes 1 to 10 of each table entry are respectively used as the group identifier of the path group indicated by the table entry.

[0160] The path number (PathCnt) indicates the total number of paths included in the target path group, and for details, please refer to the path number in the first table above. The path number can be used to indicate the entry resources and create an associated fourth table.

[0161] The timeout duration (TimeOut) for receiving a response message indicates the timeout duration for each detection message (such as a response message). For details, please refer to the timeout duration for receiving a response message in the first table above.

[0162] The number of attempts, or the number of paths (TryPathNum) along which the request message is attempted, indicates the number of paths in the target path group along which the request message is attempted. The first node may resend the request message along a different path due to a path failure, and the number of resend requests reaches the specified number.

[0163] The number of reception times and the number of paths where the reply message is received (RecvPathCnt) indicate the number of reply messages that have been received. When a certain number of paths is reached, the corresponding calculation can be performed to obtain the upper limit of the compensation delay.

[0164] The preset adjustment delay (Adjustment) indicates the compensation delay that needs to be adjusted for the protection service group. For details, please refer to the preset adjustment delay in the first table above.

[0165] The sequence number (SeqNum) of the request message indicates the sequence number of the request message when obtaining the upper limit of the compensation delay. All response messages of the same request message have the same sequence number. Therefore, the sequence number of the request message is the sequence number of the response message.

[0166] The time point (tc_Req) ​​of sending the request message indicates the time point when the first node sends the request message, such as the first time point mentioned above.

[0167] The second pointer (PathInfoPtr) represents a group of path information addresses. The first pointer points to the first address of the fourth table, that is, the first address of a group of path information (PathInfo). This path information is the fourth configuration information. A path group includes at least two paths. Figure 8 takes a path group including four paths as an example. The fourth configuration information (i.e., path information) that can be included in the fourth table may include:

[0168] The path identifier (PathID) indicates the identifier of the path included in the corresponding target path group. For details, please refer to the path identifier in the second table above.

[0169] The request delay (ActD_Req) ​​represents the variable delay experienced by the request message, that is, the accumulated value of the residence delay of all network domains that the request message passes through on the path.

[0170] The response delay (ActD_Ack) represents the variable delay experienced by the response message, that is, the cumulative value of the residence delay of all network domains that the response message passes through on the path.

[0171] The time point (tc_A) of receiving the response message indicates the time point when the response message arrives at the first node, such as the second time point mentioned above. The time when the response message of the second node to the same request message sent through different paths arrives at the CN may be different.

[0172] In some embodiments, the message sent by the second node to the first node via a third path in the target path group includes a response message and a data message. The third path can be any path in the target path group and can be the same as or different from the first path.

[0173] In this case, after receiving a message sent by the second node via the third path, the first node can identify the received message. If the received message is identified as a reply message, the first node performs the step of constructing metadata corresponding to each reply message, thereby determining the line delay corresponding to the third path and the upper limit of the compensation delay. If the received message is identified as a data message, the first node performs delay compensation for the data message based on the upper limit of the compensation delay corresponding to the third path.

[0174] In an embodiment of the present application, the compensation delay upper limit corresponding to the third path may be the compensation delay upper limit stored in the first node. For example, the first node queries the compensation delay upper limits corresponding to each path locally recorded by the first node to obtain the compensation delay upper limit corresponding to the third path. The compensation delay upper limit corresponding to the third path may also be the compensation delay upper limit carried by the data packet. For example, the first node extracts the compensation delay upper limit corresponding to the third path from the received data packet. The compensation delay upper limit may be sent by the first node to the second node, or may be obtained by the second node using the method shown in FIG. 2 .

[0175] Furthermore, the embodiments of the present application do not specifically limit the delay compensation method. For example, the first node may obtain the upper limit of the compensation delay corresponding to the third path, obtain the sum of the residence delays of all network domains that the data packet traverses along the third path, and use this as the target residence delay. The first node then calculates the difference between the upper limit of the compensation delay corresponding to the third path and the target residence delay as the current compensation delay. After delaying the current compensation delay, the data packet is scheduled. The target residence delay may be included in the data packet.

[0176] In the technical solution provided in the embodiment of the present application, the first node performs delay compensation on the data message based on an accurate compensation delay upper limit, which can effectively eliminate jitter, reduce the jitter of the end-to-end service, and ensure the deterministic transmission of the end-to-end service.

[0177] Based on the above-mentioned method for obtaining the upper limit of the compensation delay applied to the first node, an embodiment of the present application also provides a method for obtaining the upper limit of the compensation delay, as shown in Figure 9, which is applied to the second node. The second node is connected to the first node through a target path group, and the target path group includes multiple paths. The method includes the following steps.

[0178] Step S91: Receive a request message sent by the first node through the first path in the target path group, and construct metadata corresponding to the request message. The metadata includes a request delay carried by the request message, which is the residence delay of all network domains passed by the request message on the first path.

[0179] In some embodiments, the request message carries a first field, and the first field is used to fill the request delay.

[0180] Step S92: Encapsulate the request delay in a response message.

[0181] In some embodiments, the reply message carries a second field and a third field, the second field is used to fill in the request delay, and the third field is used to fill in the reply delay, and the reply delay includes the residence delay of all network domains that the reply message passes through on the path.

[0182] Step S93: Send a response message to the first node through each path in the target path group.

[0183] The first node receives a reply message sent by the second node through each path in the target path group and constructs metadata corresponding to each reply message. The metadata includes the second time point when the first node receives the reply message, the request delay carried in the reply message, and the reply delay. The request delay is the residence delay of all network domains traversed by the request message on the first path, and the reply delay corresponding to each path includes the residence delay of all network domains traversed by the reply message on the path. The line delay corresponding to each path is determined based on the first time point, the request delay, the second time point corresponding to each path, and the reply delay corresponding to each path. The difference between the reference delay corresponding to the target path group and the line delay corresponding to each path is calculated to obtain the compensation delay upper limit corresponding to each path.

[0184] In the technical solution provided by the embodiment of the present application, the first node sends a request message to the second node through a path in the target path group; the second node sends a reply message to the first node through each path in the target path group. The request message and the reply message are transmitted along the path in the target path group, passing through all network domains on the path, and then the request message and the reply message can fill in the residence delay of all network domains passed on the path. Based on this, based on the request message and the reply message, the first node can obtain the first time point when the first node sends the request message, the second time point when the first node receives the reply message, the request delay, and the reply delay corresponding to each path, and then based on the obtained information, accurately determine the line delay corresponding to each path, and based on the accurate line delay, accurately determine the upper limit of the compensation delay corresponding to each path. This enables changes in line delay to be reflected in the compensation delay. Based on changes in line delay, the compensation delay can be adaptively adjusted. That is, based on an accurate upper limit for the compensation delay, delay compensation is performed on data packets, effectively eliminating jitter. This prevents services from perceiving delay changes caused by environmental factors and other factors, reducing jitter in end-to-end services. For example, this reduces jitter between the first and second nodes of a target path group, ensuring deterministic transmission of end-to-end services and improving service transmission reliability.

[0185] In addition, in the technical solution provided in the embodiment of the present application, only time synchronization within the network domain is required to accurately obtain the residence delay of each network domain, and then accurately obtain the upper limit of the compensation delay. There is no need to perform cross-domain time synchronization, which reduces the difficulty of implementing the solution, facilitates wide application, and improves the accuracy of delay compensation.

[0186] In some embodiments, the metadata of the request message may also include a third time point, which is the time point when the second node receives the request message; in this case, the above step S92 can be: calculating the delay from the third time point to the fourth time point as the processing delay, the fourth time point is the time point when the second node sends the reply message, and the sum of the processing delay and the residence delay of all network domains passed by the reply message on the path is the reply delay; encapsulating the request delay and the processing delay in the reply message.

[0187] In some embodiments, the above-mentioned step S92 can be: generating an original message corresponding to the request message, where the original message carries the request delay; based on the tunnel information of each path in the target path group, querying the outbound interface, re-encapsulating the message, etc. on the original message to obtain a response message corresponding to each path.

[0188] In an embodiment of the present application, the tunnel information of each path in the target path group may be from the control plane. The first node periodically generates a request message according to a preset period and sends the request message to the second node. Accordingly, the second node periodically receives the request message and obtains the tunnel information of each path in the target path group, generates and sends a response message based on the tunnel information of each path in the target path group, and updates the upper limit of the compensation delay. Since the line delay is asymptotically affected by environmental changes and there is an accumulation process, it is feasible to periodically update the upper limit of the compensation delay. The reference delay PthRefD can remain unchanged, the upper limit of the compensation delay is adjusted with the line changes, and the compensation delay is adjusted with the line delay changes. Therefore, within the bounded range of the delay, the application will not perceive the accumulated changes.

[0189] In the event of a path failure, applications will not notice the latency change unless all paths in the path group fail. After the path is restored, applications will not notice the path failure unless the new path length exceeds the reference delay PthRefD, improving service transmission reliability.

[0190] In some embodiments, a first table and a second table associated with the first table are configured in the second node; the first table is used to record the first configuration information of the target path group issued by the controller, and the second table is used to record the second configuration information of each path included in the target path group issued by the controller. The first configuration information may include but is not limited to: the identifier of the target path group, the number of paths included in the target path group, the address of the first node, the preset adjustment delay, the reference delay, the period for sending request messages, the timeout period for receiving response messages, and the first pointer, the first pointer points to the first address of the second table. The second configuration information may include but is not limited to: the identifier of the path included in the target path group, the receiving interface identifier for receiving the response message, the tunnel identifier for sending the request message, and the upper limit of the compensation delay. The structure of the first table and the second table can be referred to the relevant description of the above Figure 7.

[0191] In some embodiments, the first node may send the calculated compensation delay upper limit and reference delay to the second node. Upon receiving the compensation delay upper limit corresponding to each path from the first node, the second node updates the compensation delay upper limit corresponding to each path in the second table to the calculated compensation delay upper limit. Upon receiving the reference delay corresponding to the target path group from the first node, the second node updates the reference delay in the first table to the calculated reference delay.

[0192] In this way, when the second node sends a data packet to the first node, it can determine the third path from the target path group, obtain the upper limit of the compensation delay corresponding to the third path, enter the upper limit of the compensation delay corresponding to the third path into the data packet, and send the data packet carrying the upper limit of the compensation delay corresponding to the third path to the first node via the third path. In this way, the first node can quickly obtain the upper limit of the compensation delay corresponding to the third path from the data packet, implement delay compensation, and improve the efficiency of delay compensation.

[0193] In some embodiments, in order to accurately process the message and complete the acquisition of the compensation delay upper limit, the message received by the second node includes a request message and a data message. After receiving the message, the second node can identify the received message; if the received message is identified as a request message sent by the first node, the second node executes the step of constructing the metadata corresponding to the request message, and then generates a response message to assist the first node in determining the line delay and the compensation delay upper limit. If the received message is identified as a data message sent to the first node, the second node determines the third path from the target path group; and sends the data message to the first node through the third path. The data message may carry the compensation delay upper limit corresponding to the third path, or may not carry the compensation delay upper limit corresponding to the third path, and there is no limitation on this.

[0194] Based on the above-mentioned method for obtaining the upper limit of the compensation delay, an embodiment of the present application further provides a device for obtaining the upper limit of the compensation delay, as shown in FIG10 . The device is applied to a first node, the first node is connected to a second node via a target path group, the target path group includes multiple paths, and the device includes a scheduling module 101, a parsing module 102, and an active detection module 103.

[0195] The scheduling module 101 is configured to send a request message to the second node via the first path in the target path group, obtain a first time point at which the first node sends the request message, and send the first time point to the active detection module 103;

[0196] The parsing module 102 is configured to receive a response message sent by the second node through each path in the target path group, each response message including a request delay and a response delay. The request delay is the residence delay of all network domains that the request message passes through on the first path, and the response delay corresponding to each path includes the residence delay of all network domains that the response message passes through on the path; construct metadata corresponding to each response message, and send the metadata corresponding to each response message to the active detection module 103. The metadata corresponding to each response message includes the second time point when the first node receives the response message, the request delay and the response delay carried by the response message;

[0197] Active detection module 103 is configured to determine the line delay corresponding to each path based on the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path; and calculate the difference between the reference delay corresponding to the target path group and the line delay corresponding to each path to obtain the compensation delay upper limit corresponding to each path.

[0198] In the technical solution provided by the embodiment of the present application, the first node sends a request message to the second node through a path in the target path group; the second node sends a reply message to the first node through each path in the target path group. The request message and the reply message are transmitted along the path in the target path group, passing through all network domains on the path, and then the request message and the reply message can fill in the residence delay of all network domains passed on the path. Based on this, based on the request message and the reply message, the first node can obtain the first time point when the first node sends the request message, the second time point when the first node receives the reply message, the request delay, and the reply delay corresponding to each path, and then based on the obtained information, accurately determine the line delay corresponding to each path, and based on the accurate line delay, accurately determine the upper limit of the compensation delay corresponding to each path. This enables changes in line delay to be reflected in the compensation delay. Based on changes in line delay, the compensation delay can be adaptively adjusted. That is, based on an accurate upper limit for the compensation delay, delay compensation is performed on data packets, effectively eliminating jitter. This prevents services from perceiving delay changes caused by environmental factors and other factors, reducing jitter in end-to-end services. For example, this reduces jitter between the first and second nodes of a target path group, ensuring deterministic transmission of end-to-end services and improving service transmission reliability.

[0199] In the embodiment of the present application, the device for obtaining the upper limit of the compensation delay may correspond to one or more input interfaces and one or more output interfaces. That is, the device for obtaining the upper limit of the compensation delay may process packets from one or more input interfaces and send packets to one or more output interfaces.

[0200] In some embodiments, the active detection module 103 may be specifically configured to:

[0201] determining a first line delay corresponding to the first path based on the first time point, the request delay, the second time point corresponding to the first path, and the response delay corresponding to the first path;

[0202] Determine the second line delay corresponding to the other paths based on the first time point, the request delay, the second time point corresponding to the other paths, the response delay corresponding to the other paths, and the first line delay. The other paths are paths in the target path group other than the first path.

[0203] In some embodiments, the active detection module 103 may be specifically configured to:

[0204] determining a second path from the target path group;

[0205] The sum of the response delay corresponding to the second path, the line delay corresponding to the second path, and the preset adjustment delay is calculated to obtain a reference delay corresponding to the target path group.

[0206] In some embodiments, the second path is the path in the target path group for which the response message is received the latest.

[0207] In some embodiments, the request message carries a first field, and the first field is used to fill the request delay.

[0208] In some embodiments, the response message carries a second field and a third field, the second field is used to fill the request delay, and the third field is used to fill the response delay.

[0209] In some embodiments, the response delay corresponding to each path is the sum of the processing delay and the residence delay of all network domains that the response message passes through on the path. The processing delay is the delay from the third time point to the fourth time point. The third time point is the time point when the second node receives the request message, and the fourth time point is the time point when the second node sends the response message.

[0210] In some embodiments, as shown in FIG11 , the above-mentioned device for obtaining the upper limit of the compensation delay may further include a forwarding module 104 ; as shown in FIG12 , the active detection module 103 may include a control submodule 1031 and a packet generation submodule 1032 ;

[0211] The packet generation submodule 1032 is used to generate original messages according to a preset period and send the original messages to the control submodule;

[0212] The control submodule 1031 is configured to obtain the original message, determine a path from the target path group as a first path, and send the tunnel information of the first path and the original message to the forwarding module 104;

[0213] The forwarding module 104 is configured to process the original message based on the tunnel information of the first path, obtain a request message, and send the request message to the scheduling module 101 .

[0214] In some embodiments, as shown in FIG12 , the active detection module 103 may further include a time vector 1033 ; a first timer event is registered in the time vector 1033 , and the duration of the first timer is a preset period;

[0215] The control submodule 1031 is further configured to obtain a first timer event from the time vector after the first timer times out, send the first timer event to the packet generation submodule 1032, and reset the first timer;

[0216] The packet generation submodule 1032 is specifically configured to generate an original message based on the first timer event after acquiring the first timer event.

[0217] In some embodiments, the control submodule 1031 may also be used to:

[0218] After sending the request message, determine whether the time from the current time point to the first time point reaches the preset time point, and obtain a determination result;

[0219] If the determination result indicates that the preset duration has not been reached and a first number of response messages have been received, determining the line delay corresponding to each path based on the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path, where the first number is the number of paths included in the target path group;

[0220] If the judgment result indicates that the preset time has expired and no response message has been received, the step of determining a path from the target path group as the first path is re-executed until the number of re-executions reaches a preset number;

[0221] If the judgment result indicates that the preset time length has been reached and at least one response message has been received, the line delay corresponding to the path of each response message received by the transmission is determined based on the first time point, the request delay, the second time point corresponding to the path of each response message received by the transmission, and the response delay corresponding to the path of each response message received by the transmission.

[0222] In some embodiments, the control submodule is specifically used to: determine whether the first node has been configured with a reference delay; if the judgment result indicates that the preset time length has been reached, at least one response message has been received, and it is determined that the first node has been configured with a reference delay, then determine the line delay corresponding to the path for transmitting each received response message based on the first time point, the request delay, the second time point corresponding to the path for transmitting each received response message, and the response delay corresponding to the path for transmitting each received response message.

[0223] In some embodiments, as shown in FIG12 , the active detection module 103 may further include a time vector 1033 ; the control submodule 1031 may further be used to:

[0224] After sending the request message, registering a second timer event in the first node and starting a second timer corresponding to the second timer event, the duration of the second timer being a preset duration;

[0225] Determine whether the second timer has timed out;

[0226] If the second timer has not timed out, a first judgment result is obtained, and the first judgment result indicates that the time length from the current time point to the first time point has not reached the preset time length;

[0227] If the second timer times out, a second judgment result is obtained, and the second judgment result indicates that the duration from the current time point to the first time point reaches the preset duration.

[0228] In some embodiments, the metadata corresponding to each response message may further include a sequence number of the response message;

[0229] The active detection module 103 can also be used to determine the line delay corresponding to each path based on the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path if the sequence number of the response message is the same as the sequence number of the request message and the sum of the request delay and the response delay corresponding to the path for transmitting the response message is less than a preset duration.

[0230] In some embodiments, the metadata corresponding to each response message may further include a sequence number of the response message;

[0231] The active detection module 103 can also be used to discard the response message if the sequence number of the response message is different from the sequence number of the request message, and / or the sum of the request delay and the response delay corresponding to the path for transmitting the response message is greater than or equal to a preset duration.

[0232] In some embodiments, the active detection module 103 is configured with a first table and a second table associated with the first table; the first table is used to record the first configuration information of the target path group issued by the controller, and the second table is used to record the second configuration information of each path included in the target path group issued by the controller.

[0233] In an embodiment of the present application, the first table and the second table are configured in one module, such as the service module 1034 shown in Figure 12; the first table and the second table are configured in different modules, which is not limited. The first table and the second table can be sent by the controller to the first node. As shown in the networking of end-to-end services in Figure 13, multiple paths are established between the first node and the second node, such as path 1 to path 3 in Figure 13, and these paths constitute a path group that provides protection services. The controller is located in the control plane and sends path-related information to the first node, and the first node stores the path-related information in the first table and the second table, thereby cooperating with the various functional modules in the first node and the second node to achieve measurement and adaptive adjustment of the reference delay.

[0234] In some embodiments, the first configuration information may include but is not limited to: an identifier of the target path group, the number of paths included in the target path group, an address of the second node, a preset adjustment delay, a reference delay, a period for sending request messages, a timeout period for receiving response messages, and a first pointer, the first pointer pointing to the first address of the second table; and / or

[0235] The second configuration information may include but is not limited to: identifiers of the paths included in the target path group, identifiers of the receiving interface for receiving the reply message, identifiers of the tunnel for sending the request message, and an upper limit of the compensation delay;

[0236] The active detection module 103 may also be configured to, after obtaining the upper limit of the compensation delay corresponding to each path, update the upper limit of the compensation delay corresponding to each path in the second table to the obtained upper limit of the compensation delay.

[0237] In some embodiments, the active detection module 103 may be further configured to update the reference delay in the first table to the calculated reference delay if the reference delay is calculated.

[0238] In some embodiments, a third table and a fourth table associated with the third table are configured in the first node, the third table is used to record third configuration information of the target path group, and the fourth table is used to record fourth configuration information corresponding to each path included in the target path group and used to obtain the upper limit of the compensation delay;

[0239] The active detection module is also used to obtain the third configuration information of the target path group before the scheduling module sends a request message to the second node, and fill the third configuration information into the third table; after obtaining the metadata, fill the fourth configuration information corresponding to the metadata into the fourth table.

[0240] In the embodiment of the present application, the third table and the fourth table are configured in one module, such as the table module 1035 shown in FIG12 ; the third table and the fourth table are configured in different modules, which is not limited.

[0241] In some embodiments, the active detection module 103 may also be configured to retrieve the third table and the fourth table corresponding to the target path group after obtaining the upper limit of the compensation delay.

[0242] In some embodiments, the third configuration information may include, but is not limited to: an identifier of the target path group, the number of paths included in the target path group, a timeout period for receiving a reply message, the number of paths for attempting to send a request message, the number of paths for receiving a reply message, a preset adjustment delay, a sequence number of the request message, a first time point, and a second pointer, the second pointer pointing to the first address of the fourth table; and / or

[0243] The fourth configuration information may include but is not limited to: identifiers of the paths included in the target path group, request delay, response delay, and the second time point.

[0244] In some embodiments, as shown in FIG11 , the above-mentioned device for obtaining the upper limit of the compensation delay may further include a compensation module 105 ;

[0245] The parsing module 102 can also be used to identify the received message. If the received message is identified as a response message corresponding to the request message, metadata corresponding to each response message is constructed and sent to the active detection module 103. If the received message is identified as a data message, the data message is sent to the compensation module 105.

[0246] The compensation module 105 is configured to perform delay compensation on the data message according to the compensation delay upper limit corresponding to the third path, where the third path is a path for transmitting the data message.

[0247] In some embodiments, the compensation delay upper limit corresponding to the third path is the compensation delay upper limit sent to the compensation module by the active detection module after obtaining the compensation delay upper limit corresponding to each path; or

[0248] The upper limit of the compensation delay corresponding to the third path is the upper limit of the compensation delay carried by the data packet.

[0249] In some embodiments, the active detection module 103 may also be configured to send the obtained compensation delay upper limit and / or reference delay corresponding to each path to the scheduling module 101;

[0250] The scheduling module 101 may also be configured to send the obtained compensation delay upper limit and / or reference delay corresponding to each path to the second node.

[0251] Based on the above-mentioned method for obtaining the upper limit of the compensation delay, an embodiment of the present application further provides a device for obtaining the upper limit of the compensation delay, as shown in FIG14 . The device is applied to a second node, where the second node is connected to the first node via a target path group, where the target path group includes multiple paths. The device includes a scheduling module 141, a parsing module 142, and a passive response module 143.

[0252] The parsing module 142 is configured to receive a request message sent by the first node via the first path in the target path group, obtain metadata of the request message, including a request delay carried in the request message, which is the residence delay of all network domains traversed by the request message on the first path, and send the metadata to the passive response module 143.

[0253] The passive response module 143 is configured to encapsulate the request delay in a response message and send the response message to the scheduling module;

[0254] The scheduling module 141 is configured to send a response message to the first node through each path in the target path group.

[0255] In the technical solution provided by the embodiment of the present application, the first node sends a request message to the second node through a path in the target path group; the second node sends a reply message to the first node through each path in the target path group. The request message and the reply message are transmitted along the path in the target path group, passing through all network domains on the path, and then the request message and the reply message can fill in the residence delay of all network domains passed on the path. Based on this, based on the request message and the reply message, the first node can obtain the first time point when the first node sends the request message, the second time point when the first node receives the reply message, the request delay, and the reply delay corresponding to each path, and then based on the obtained information, accurately determine the line delay corresponding to each path, and based on the accurate line delay, accurately determine the upper limit of the compensation delay corresponding to each path. This enables changes in line delay to be reflected in the compensation delay. Based on changes in line delay, the compensation delay can be adaptively adjusted. That is, based on an accurate upper limit for the compensation delay, delay compensation is performed on data packets, effectively eliminating jitter. This prevents services from perceiving delay changes caused by environmental factors and other factors, reducing jitter in end-to-end services. For example, this reduces jitter between the first and second nodes of a target path group, ensuring deterministic transmission of end-to-end services and improving service transmission reliability.

[0256] In some embodiments, the request message carries a first field, and the first field is used to fill the request delay.

[0257] In some embodiments, the reply message carries a second field and a third field, the second field is used to fill in the request delay, and the third field is used to fill in the reply delay, and the reply delay includes the residence delay of all network domains that the reply message passes through on the path.

[0258] In some embodiments, the metadata further includes a third time point, where the third time point is a time point at which the second node receives the request message;

[0259] The passive response module 143 may be specifically used to:

[0260] Calculate the delay from the third time point to the fourth time point as the processing delay, where the fourth time point is the time point when the second node sends the reply message, and the sum of the processing delay and the residence delay of all network domains traversed by the reply message on the path is the reply delay;

[0261] Encapsulate the request delay and processing delay in the response message.

[0262] In some embodiments, as shown in FIG15 , the above-mentioned device for obtaining the upper limit of the compensation delay may further include a forwarding module 144 ; as shown in FIG16 , the passive response module 143 may include a control submodule 1431 and a packet generation submodule 1432 ;

[0263] The packet generation submodule 1432 is used to generate an original message corresponding to the request message, the original message carries the request delay, and sends the original message to the control submodule 1431;

[0264] The control submodule 1432 is configured to obtain the original message and send the tunnel information of each path in the target path group and the original message to the forwarding module 144;

[0265] The forwarding module 144 is configured to process the original message based on the tunnel information of each path in the target path group, obtain a response message corresponding to each path, and send the response message corresponding to each path to the scheduling module 141 .

[0266] In the embodiment of the present application, the second node may further include a compensation module or other modules, as shown in FIG15 , which is not limited to

[0267] In some embodiments, a first table and a second table associated with the first table are configured in the second node; the first table is used to record the first configuration information of the target path group issued by the controller, and the second table is used to record the second configuration information of each path included in the target path group issued by the controller.

[0268] In the embodiment of the present application, the first table and the second table are configured in a single module, such as the service module 1433 shown in FIG16 ; however, the first table and the second table may be configured in different modules, which is not limited to this. The first table and the second table may be sent by the controller to the second node, as shown in FIG13 . The controller may send path-related information to the two nodes, and the second node may then store the path-related information in the first table and the second table.

[0269] In some embodiments, the first configuration information may include but is not limited to: an identifier of the target path group, the number of paths included in the target path group, an address of the first node, a preset adjustment delay, a reference delay, a period for sending request messages, a timeout period for receiving response messages, and a first pointer, the first pointer pointing to the first address of the second table; and / or

[0270] The second configuration information may include but is not limited to: identifiers of the paths included in the target path group, an identifier of a receiving interface for receiving a reply message, an identifier of a tunnel for sending a request message, and an upper limit of the compensation delay.

[0271] In some embodiments, the parsing module 142 may also be configured to receive the upper limit of the compensation delay corresponding to each path sent by the first node, and send the obtained upper limit of the compensation delay to the passive response module 143;

[0272] The passive response module 143 may also be configured to update the compensation delay upper limit corresponding to each path in the second table to the obtained compensation delay upper limit.

[0273] In some embodiments, the parsing module 142 may also be configured to receive a reference delay corresponding to the target path group sent by the first node; and send the obtained reference delay to the passive response module 143;

[0274] The passive response module 143 is configured to update the reference delay in the first table to the calculated reference delay.

[0275] In some embodiments, the parsing module 142 may further be configured to identify a received message; if the received message is identified as a request message, the parsing module 142 may construct metadata corresponding to the request message; if the received message is identified as a data message, the parsing module 142 may determine a third path from the target path group and send the data message to the scheduling module 141;

[0276] The scheduling module 141 may also be configured to send a data message to the first node through a third path.

[0277] In some embodiments, the data packet carries the compensation delay upper limit corresponding to the third path.

[0278] In an embodiment of the present application, the first node and the second node can be converted to each other, that is, the second node can serve as the tail node of the target path group, and the first node can serve as the head node of the target path group. To facilitate deployment and achieve deterministic transmission, the first node and the second node can be deployed as the same module structure, as shown in Figures 12 and 13. In this case, when the module structure shown in Figures 12 and 13 is deployed on the second node, the active detection module in Figure 12 is changed to a passive response module. The following is an explanation of the process for obtaining the upper limit of the compensation delay provided by the embodiment of the present application in conjunction with the node structure shown in Figures 12 and 13.

[0279] In the first node, the active detection module constructs a request message to obtain the upper limit of the compensation delay and sends the request message to the forwarding module. After the forwarding module processes the request message by querying the outbound interface and repackaging the message, it bypasses the compensation module and sends the request message to the scheduling module. The scheduling module synthesizes and schedules the request message and sends it to the second node via a path in the target path group. When the scheduling module successfully sends the request, it sends the first time point (the time when the request message was sent) to the active detection module based on the metadata indication of the OAM type of the request message.

[0280] In the second node, the parsing module receives a message from the first node or other devices and identifies the message. If the message is identified as a request message from the first node, the parsing module will receive the relevant information of the request message as metadata, such as the receiving interface identifier, the time point of receiving the request message (such as the third time point), the identifier of the target path group, the source IP address of the request message, the request delay, etc., and send the metadata to the passive response module; the passive response module constructs multiple reply messages based on the metadata of the request message and sends these multiple reply messages to the forwarding module; the forwarding module queries the output interface, re-encapsulates the message, etc. for the multiple reply messages, bypasses the compensation module, and sends the multiple reply messages to the scheduling module; the scheduling module synthesizes and schedules the multiple reply messages and sends them to the first node through multiple paths in the target path group. In addition, if the message is identified as a data message sent to the first node, the parsing module sends the data message to the forwarding module; after the forwarding module queries the output interface and re-encapsulates the message, it bypasses the compensation module and sends the data message to the scheduling module; after the scheduling module synthesizes and schedules the data message, it sends it to the first node through multiple paths in the target path group.

[0281] In the first node, the parsing module receives a message from the second node and identifies the message. If the message is identified as a reply message, the parsing module will form metadata with the relevant information of the reply message, such as the receiving interface identifier, the time point of receiving the reply message (such as the second time point), the identifier of the target path group, the source IP address of the request message, the request delay, the reply delay, etc., and send the metadata to the active detection module; the active detection module calculates the reference delay and the compensation delay upper limit based on the metadata corresponding to the reply message; after the calculation is completed, the active detection module updates the compensation delay upper limit of each path in the calculation result to the compensation module to perform delay compensation for the deterministic business flow.

[0282] In addition, if the message is identified as a data message of a deterministic business flow sent from the second node, the parsing module sends the data message to the forwarding module; the forwarding module queries the output interface of the data message, repackages the message, and then sends it to the compensation module; the compensation module compensates for the delay of the data message based on the compensation delay upper limit of each path. After the compensation module performs delay compensation processing, it sends the data message to the scheduling module; the scheduling module performs synthetic scheduling on the data message and then sends it to the receiving end. Deterministic business flows require high precision. To ensure the high precision of deterministic business flows, the scheduling module schedules the data messages of deterministic business flows with the highest priority.

[0283] In addition, in combination with the flowchart of the active detection module learning the compensation delay upper limit shown in Figures 17 to 20, the method for obtaining the compensation delay upper limit provided in the embodiment of the present application is described in detail. Among them, the first node is the tail node of the target path group, that is, CN, and the second node is the head node of the target path group, that is, HN. Under the control plane configuration, after the target path group is created, CN will add a timer event to the time vector (Timer Vector); the timer event triggers the generation of an active detection process. Among them, there are two types of timer events: active detection events (that is, the first timer event) and request response timeout events (that is, the second timer event). In addition, when CN receives a response message, it obtains relevant information of the response message, and calculates the reference delay and the compensation delay upper limit based on the relevant information.

[0284] In the process A shown in FIG17 :

[0285] Step S171: After receiving a timer event, the active detection module extracts the path group identifier and timer event type associated with the timer event from the time vector. Timer event types include active detection events and request response timeout events. The obtained path group identifier indicates the target path group.

[0286] In step S172, the active detection module determines whether the acquired timer event type is an active detection event; if so, that is, the acquired timer event type is an active detection event, then execute step S173; if not, that is, the acquired timer event type is a request response timeout event, then execute step S175.

[0287] In step S173, the active detection module obtains the configuration information of the target path group from the first table and the second table based on the obtained path group identifier, allocates space for a target group header in the third table, and allocates space for the fourth table associated with the target group header. The module then uses the obtained configuration information to populate the target group header and the fourth table, such as the group identifier, number of paths, preset duration, and preset adjustment delay in the target group header. The sequence number of the request message is initialized to 0, with the valid position set to 1. Furthermore, the path identifier in the fourth table is populated.

[0288] In step S174, the active detection module sets the number of attempts in the target group header to 0, indicating how many paths were used to attempt to send the request message. Furthermore, the active detection module initializes the number of receptions to 0 to accurately calculate the upper limit of the compensation delay. Then, process B shown in Figure 18 is executed.

[0289] In step S175 , the active detection module determines whether the number of receptions in the target group header is 0; if so, it indicates that the request message has failed to be sent and the current path is faulty, and step S176 is executed; if not, step S177 is executed.

[0290] In step S176 , the active detection module increases the number of attempts in the target group header by 1, and then executes process B shown in FIG18 .

[0291] In step S177 , the active detection module determines whether the reference delay of the target path group in the first table is 0; if so, step S178 is executed; if not, process C shown in FIG19 is executed.

[0292] In the embodiment of the present application, the reference delay of the target path group in the first table is 0, indicating that the first node has not yet learned the reference delay of the target path group. To ensure the accuracy of the subsequently obtained compensation delay upper limit, to ensure that the service does not perceive the delay change, and to ensure deterministic transmission, the active detection module executes step S178 to recycle resources, and to end the process of obtaining the compensation delay upper limit corresponding to the target path group.

[0293] The reference delay of the target path group in the first table is not zero, that is, the reference delay of the target path group in the first table is greater than 0, indicating that the first node has learned the reference delay of the target path group. To adapt to the scenario of partial path failure, the active detection module can continue to execute process D shown in Figure 20 to obtain the upper limit of the compensation delay.

[0294] Step S178: The active detection module reclaims the allocated target group head and the resources of the fourth table associated with the target group head.

[0295] In the process B shown in FIG18 :

[0296] In step S181 , the active detection module determines whether the number of attempts in the target group header is less than a preset number; if so, step S182 is executed; if not, step S184 is executed.

[0297] Step S182: The active detection module sets the number of receptions in the target group header to 0 and starts a timeout timer.

[0298] The number of receptions is used to indicate the number of paths from which the response packets have been received. The timeout timer corresponds to the request response timeout event, and the timeout timer duration is the preset time duration in the target group header.

[0299] When the number of receptions in the target group header equals the number of paths, it indicates that all paths have completed receiving the reply message. This can be used as one of the conditions for ending the detection (obtaining the upper limit of the compensation delay). The expiration of the timeout timer can also be used as one of the conditions for ending the detection process.

[0300] In step S183, the active detection module determines the path for the current request message based on the configuration information of the target path groups in the first and second tables, and constructs the request message. The path for the current request message is the path corresponding to the number of attempts in the current target group header. The configuration information used to construct the request message may include, but is not limited to, the peer address and tunnel identifier.

[0301] The packet generation submodule in the active detection module generates a request message and sends it to the forwarding module. If the scheduling module successfully sends the request message, it returns the first time point of sending the request message to the active detection module based on the metadata indicating the OAM type of the request message, and then updates the first time point in the target group header. If the request message fails to be sent, a request response timeout event is generated, and the process returns to step S171.

[0302] In the embodiment of the present application, the timeout timer may also be started when executing S183, and this is not limited.

[0303] Step S184: The active detection module reclaims the allocated target group head and the resources of the fourth table associated with the target group head.

[0304] In the process C shown in FIG19 :

[0305] In step S191, the active detection module receives a response message from the parsing module, as well as metadata of the response message, such as group ID, request delay, response delay, receiving interface ID, time point of receiving the response message, and sequence number of the response message.

[0306] Among them, the active detection module can obtain the group identifier of the reply message by querying the ACL (Access Control List). A mapping table of the receiving interface identifier and the group identifier can also be configured in the active detection module. The active detection module obtains the group identifier of the reply message by querying the mapping table based on the receiving interface identifier.

[0307] In the embodiment of the present application, the active detection module can execute step S171 and step S191 in parallel. When the number of receptions in the target group header equals the number of paths, or the timeout timer times out, the detection process corresponding to the current request message is received.

[0308] In step S192, the active detection module determines whether the sequence number of the current response message is the same as the sequence number in the target group header; if they are the same, it means that the received response message is the response message of the current request message, and step S193 is executed; if they are different, it means that the received response message is not the response message of the current request message, and the processing of the current response message is ended. The response message can be discarded, and step S191 is continued to wait for the reception of the response message.

[0309] In step S193, the active detection module determines whether the sum of the request delay and the response delay carried by the current response message is less than the preset duration in the target group header; if so, it further indicates that the received response message is the response message of the current request message, and step S194 is executed; if different, it indicates that the received response message is not the response message of the current request message, and the processing of the current response message is ended. The response message can be discarded, and step S191 is continued to wait for the reception of the response message.

[0310] Step S194: The active detection module fills the metadata corresponding to the current response message into the fourth table associated with the target group header, and increases the number of reception times in the target group header by 1.

[0311] In step S195, the active detection module determines whether the number of receptions in the target group header is equal to the number of paths in the target group header; if so, step S196 is executed; if not, the processing of the current response message is terminated and step S191 is continued to wait for receiving the response message.

[0312] In step S196, the active detection module cancels the timeout timer and continues to execute process D shown in FIG20 to obtain the upper limit of the compensation delay.

[0313] In the process D shown in FIG20 :

[0314] Step S201: The active detection module calculates the line delay of the path corresponding to the number of attempts by using the target group head and the relevant information in the fourth table associated with the target group head.

[0315] For example, the active detection module can use the above formula (4) to calculate the line delay of the path corresponding to the number of attempts.

[0316] In step S202 , the active detection module determines whether the number of paths for which the line delays have been calculated is less than the number of paths in the target group head; if so, step S203 is executed; if not, step S204 is executed.

[0317] In this embodiment of the present application, the active detection module may use the number of attempts as a path identifier for sending a request message and set a parameter p to indicate the path identifier for the current calculated line delay. The initial value of p is 0, and p is less than or equal to the number of paths - 1. p is not equal to the number of attempts. The active detection module determines whether p is less than or equal to the number of paths - 1. If so, step S203 is executed, and p is set to p = p + 1. If not, step S204 is executed.

[0318] In step S203, the active detection module calculates the line delay corresponding to the path p using the above formula (5), and then returns to step S202.

[0319] In step S204 , the active detection module determines whether the reference delay of the target path group in the first table is 0; if so, step S205 is executed to calculate the reference delay of the target path group; if so, step S206 is executed.

[0320] Step S205: The active detection module calculates the reference delay of the target path group using the above formula (8).

[0321] In step S206, the active detection module calculates the upper limit of the compensation delay of each path using the above formula (6).

[0322] Step S207 : The active detection module updates the reference delay of the target path group in the first table, updates the compensation delay upper limit of each path in the second table, and refreshes the delay compensation upper limit of the compensation module.

[0323] In step S208, the active detection module reclaims the allocated target group head and the resources of the fourth table associated with the target group head, and ends the detection process.

[0324] The technical solution provided by the embodiments of this application can render services unaware of delay variations caused by environmental factors and other factors, reducing jitter in end-to-end services. For example, jitter between the first and second nodes of the target path group is reduced, ensuring deterministic transmission of end-to-end services and improving the reliability of service transmission. Furthermore, the technical solution provided by the embodiments of this application only requires time synchronization within the network domain to accurately obtain the resident delay of each network domain, and thus accurately obtain the upper limit of the compensation delay. There is no need for cross-domain time synchronization, which reduces the difficulty of implementing the solution, facilitates widespread application, and improves the accuracy of delay compensation.

[0325] Corresponding to the above-mentioned method for obtaining the upper limit of the compensation delay, an embodiment of the present application also provides a forwarding node, which executes any of the above-mentioned methods for obtaining the upper limit of the compensation delay applied to the first node, or executes any of the above-mentioned methods for obtaining the upper limit of the compensation delay applied to the second node.

[0326] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0327] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0328] Each embodiment in this specification is described in a related manner. Similar portions between embodiments can be referenced to each other. Each embodiment focuses on the differences from other embodiments. In particular, the device and forwarding node embodiments are generally similar to the method embodiments, so their descriptions are relatively simplified. For related portions, refer to the descriptions of the method embodiments.

[0329] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

[0330] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A method for obtaining the upper limit of compensation delay, characterized in that Applied to the first node, the first node is connected to the second node through a target path group, and the target path group includes multiple paths. The method includes: Send a request message to the second node through the first path in the target path group, and obtain the first time point when the first node sends the request message; Receive the response messages sent by the second node through each path in the target path group, and construct metadata corresponding to each response message. The metadata corresponding to each response message includes the second time point when the first node receives the response message, the request delay and the response delay carried by the response message. The request delay is the residence delay of the request message in all network domains on the first path. The response delay corresponding to each path includes the residence delay of the response message in all network domains on the path; Determine the line delay corresponding to each path according to the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path; Calculate the difference between the reference delay corresponding to the target path group and the line delay corresponding to each path to obtain the upper limit of the compensation delay corresponding to each path.

2. The method according to claim 1, wherein The step of determining the line delay corresponding to each path according to the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path includes: Determine the first line delay corresponding to the first path according to the first time point, the request delay, the second time point corresponding to the first path, and the response delay corresponding to the first path; Determine the second line delay corresponding to the other paths according to the first time point, the request delay, the second time points corresponding to the other paths, the response delays corresponding to the other paths, and the first line delay. The other paths are the paths in the target path group except the first path.

3. The method according to claim 1, wherein The reference delay is determined through the following steps: Determine a second path from the target path group; Calculate the sum of the response delay corresponding to the second path, the line delay corresponding to the second path, and a preset adjustment delay to obtain the reference delay corresponding to the target path group.

4. The method according to claim 3, wherein The second path is the path in the target path group that receives the response message latest.

5. The method according to any one of claims 1-4, characterized in that, The request message carries a first field, and the first field is used to fill the request delay.

6. The method according to any one of claims 1-4, characterized in that, The response message carries a second field and a third field. The second field is used to fill the request delay, and the third field is used to fill the response delay.

7. The method according to any one of claims 1-4, characterized in that The response delay corresponding to each path is the sum of the processing delay and the residence delay of the response message in all network domains on the path. The processing delay is the delay from the third time point to the fourth time point. The third time point is the time point when the second node receives the request message, and the fourth time point is the time point when the second node sends the response message.

8. The method according to claim 1, wherein The method further includes: Generate an original message according to a preset period; Determine a path from the target path group as the first path; Process the original message based on the tunnel information of the first path to obtain the request message.

9. The method according to claim 8, wherein A first timer event is registered in the first node, and the duration of a first timer corresponding to the first timer event is the preset period; The method further includes: After the first timer times out, generating an original message based on the first timer event and resetting the first timer.

10. The method according to claim 8, wherein The method further includes: After sending the request message, determining whether the duration from the current time point to the first time point reaches a preset duration to obtain a determination result; If the determination result indicates that the preset duration has not been reached and the first number of response messages are received, then execute the step of determining the line delay corresponding to each path according to the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path, where the first number is the number of paths included in the target path group; If the determination result indicates that the preset duration has been reached and no response message is received, then re-execute the step of determining a path from the target path group as the first path until the number of re-executions reaches a preset number of times; If the determination result indicates that the preset duration has been reached and at least one response message is received, then determine the line delay corresponding to the path for transmitting each received response message according to the first time point, the request delay, the second time point corresponding to the path for transmitting each received response message, and the response delay corresponding to the path for transmitting each received response message.

11. The method according to claim 10, wherein Before executing the step of determining the line delay corresponding to the path for transmitting each received response message according to the first time point, the request delay, the second time point corresponding to the path for transmitting each received response message, and the response delay corresponding to the path for transmitting each received response message, the method further includes: Determining whether the first node has configured the reference delay; When it is determined that the first node has configured the reference delay, execute the step of determining the line delay corresponding to the path for transmitting each received response message according to the first time point, the request delay, the second time point corresponding to the path for transmitting each received response message, and the response delay corresponding to the path for transmitting each received response message.

12. The method according to claim 10 or 11, characterized in that, The method further includes: After sending the request message, registering a second timer event in the first node and starting a second timer corresponding to the second timer event, where the duration of the second timer is a preset duration; The step of determining whether the duration from the current time point to the first time point reaches a preset duration to obtain a determination result includes: Determining whether the second timer times out; If the second timer does not time out, then obtain a first determination result, where the first determination result indicates that the duration from the current time point to the first time point has not reached the preset duration; If the second timer times out, then obtain a second determination result, where the second determination result indicates that the duration from the current time point to the first time point has reached the preset duration.

13. The method according to claim 1, characterized in that, The metadata corresponding to each response message further includes the sequence number of the response message; the method further includes: If the sequence number of the response message is the same as that of the request message, and the sum of the request delay and the response delay corresponding to the path for transmitting the response message is less than a preset duration, then execute the step of determining the line delay corresponding to each path according to the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path.

14. The method according to claim 1, characterized in that, The metadata corresponding to each response message further includes the sequence number of the response message; the method further includes: If the sequence number of the response message is different from that of the request message, and / or the sum of the request delay and the response delay corresponding to the path for transmitting the response message is greater than or equal to the preset duration, then discard the response message.

15. The method according to claim 1, wherein A first table and a second table associated with the first table are configured in the first node; the first table is used to record the first configuration information of the target path group issued by the controller, and the second table is used to record the second configuration information of each path included in the target path group issued by the controller.

16. The method according to claim 15, characterized in that, The first configuration information includes: the identifier of the target path group, the number of paths included in the target path group, the address of the second node, a preset adjustment delay, a reference delay, the period for sending the request message, the timeout duration for receiving the response message, and a first pointer that points to the start address of the second table; and / or The second configuration information includes: the identifier of the path included in the target path group, the receive interface identifier for receiving the response message, the tunnel identifier for sending the request message, and the upper limit of the compensation delay. The method further includes: After obtaining the upper limit of the compensation delay corresponding to each path, update the upper limit of the compensation delay corresponding to each path in the second table to the obtained upper limit of the compensation delay.

17. The method according to claim 16, characterized in that, The method further includes: If the reference delay is calculated, update the reference delay in the first table to the calculated reference delay.

18. The method according to claim 1, wherein A third table and a fourth table associated with the third table are configured in the first node, the third table is used to record the third configuration information of the target path group, and the fourth table is used to record the fourth configuration information for obtaining the upper limit of the compensation delay corresponding to each path included in the target path group; The method further includes: Before sending a request message to the second node, obtain the third configuration information of the target path group and fill the third configuration information into the third table; After obtaining the metadata, fill the fourth configuration information corresponding to the metadata into the fourth table.

19. The method according to claim 18, wherein The method further includes: After obtaining the upper limit of the compensation delay, recycle the third table and the fourth table corresponding to the target path group.

20. The method according to claim 18 or 19, characterized in that, The third configuration information includes: the identifier of the target path group, the number of paths included in the target path group, the timeout duration for receiving the response message, the number of paths for attempting to send the request message, the number of paths for receiving the response message, a preset adjustment delay, the sequence number of the request message, the first time point, and a second pointer that points to the start address of the fourth table; and / or The fourth configuration information includes: the identifier of the path included in the target path group, the request delay, the response delay, and the second time point.

21. The method according to claim 1, characterized in that, The method further includes; identifying the received message; if it is identified that the received message is the response message corresponding to the request message, then performing the step of constructing the metadata corresponding to each response message; if it is identified that the received message is a data message, then performing latency compensation on the data message according to the upper limit of compensation latency corresponding to the third path, where the third path is the path for transmitting the data message.

22. The method according to claim 21, wherein The upper limit of compensation latency corresponding to the third path is the upper limit of compensation latency stored in the first node; or The upper limit of compensation latency corresponding to the third path is the upper limit of compensation latency carried by the data message.

23. The method according to claim 1, characterized in that, The method further includes: sending the obtained upper limit of compensation latency and / or reference latency corresponding to each path to the second node.

24. A method for obtaining the upper limit of compensation delay, characterized in that Applied to a second node, the second node is connected to the first node through a target path group, and the target path group includes multiple paths. The method includes: receiving, through the first path in the target path group, a request message sent by the first node and constructing the metadata corresponding to the request message, where the metadata includes the request latency carried by the request message, and the request latency is the residence latency of the request message in all network domains passed through on the first path; encapsulating the request latency in the response message; sending the response message to the first node respectively through each path in the target path group.

25. The method according to claim 24, characterized in that, The request message carries a first field, and the first field is used to fill the request latency.

26. The method according to claim 24, wherein The response message carries a second field and a third field. The second field is used to fill the request latency, and the third field is used to fill the response latency, where the response latency includes the residence latency of the response message in all network domains passed through on the path.

27. The method according to claim 24, characterized in that, The metadata further includes a third time point, and the third time point is the time point when the second node receives the request message; The step of encapsulating the request latency in the response message includes: calculating the latency from the third time point to the fourth time point as the processing latency, where the fourth time point is the time point when the second node sends the response message, and the sum of the processing latency and the residence latency of the response message in all network domains passed through on the path is the response latency; encapsulating the request latency and the processing latency in the response message.

28. The method according to claim 24, wherein The step of encapsulating the request latency in the response message includes: generating the original message corresponding to the request message, where the original message carries the request latency; processing the original message based on the tunnel information of each path in the target path group to obtain the response message corresponding to each path.

29. The method according to claim 24, wherein A first table and a second table associated with the first table are configured in the second node; the first table is used to record the first configuration information of the target path group issued by the controller, and the second table is used to record the second configuration information of each path included in the target path group issued by the controller.

30. The method according to claim 29, wherein The first configuration information includes: the identifier of the target path group, the number of paths included in the target path group, the address of the first node, a preset adjustment time delay, a reference time delay, the period for sending the request message, the timeout duration for receiving the response message, and a first pointer that points to the start address of the second table; and / or The second configuration information includes: the identifier of the path included in the target path group, the receiving interface identifier for receiving the response message, the tunnel identifier for sending the request message, and the upper limit of the compensation time delay.

31. The method according to claim 29, wherein The method further includes: Receiving the upper limit of the compensation time delay corresponding to each path sent by the first node; Updating the upper limit of the compensation time delay corresponding to each path in the second table to the obtained upper limit of the compensation time delay.

32. The method according to claim 29, wherein The method further includes: Receiving the reference time delay corresponding to the target path group sent by the first node; Updating the reference time delay in the first table to the calculated reference time delay.

33. The method according to claim 24, wherein The method further includes: Identifying the received message; If it is identified that the received message is the request message, then performing the step of constructing the metadata corresponding to the request message; If it is identified that the received message is a data message, then determining a third path from the target path group; and sending the data message to the first node through the third path.

34. The method according to claim 33, wherein The data message carries the upper limit of the compensation time delay corresponding to the third path.

35. An apparatus for obtaining an upper limit of compensation delay, characterized in that Applied to a first node, the first node is connected to a second node through a target path group, the target path group includes multiple paths, and the device includes a scheduling module, a parsing module, and an active probing module; The scheduling module is configured to send a request message to the second node through a first path in the target path group, obtain a first time point when the first node sends the request message, and send the first time to the active probing module; The parsing module is configured to respectively receive, through each path in the target path group, a response message sent by the second node, each response message includes a request time delay and a response time delay, the request time delay is the residence time delay of the request message in all network domains on the first path, and the response time delay corresponding to each path includes the residence time delay of the response message in all network domains on this path; Constructing the metadata corresponding to each response message, and sending the metadata corresponding to each response message to the active probing module, the metadata corresponding to each response message includes a second time point when the first node receives this response message, the request time delay and the response time delay carried by this response message; The active probing module is configured to determine the line time delay corresponding to each path according to the first time point, the request time delay, the second time point corresponding to each path, and the response time delay corresponding to each path; Calculating the difference between the reference time delay corresponding to the target path group and the line time delay corresponding to each path to obtain the upper limit of the compensation time delay corresponding to each path.

36. The device according to claim 35, characterized in that, Specifically, the active probing module is configured to: Determine the first line delay corresponding to the first path according to the first time point, the request delay, the second time point corresponding to the first path, and the response delay corresponding to the first path; Determine the second line delay corresponding to the other path according to the first time point, the request delay, the second time point corresponding to the other path, the response delay corresponding to the other path, and the first line delay, where the other path is the path other than the first path in the target path group.

37. The device according to claim 35, characterized in that, The active detection module is further configured to: Determine a second path from the target path group; Calculate the sum of the response delay corresponding to the second path, the line delay corresponding to the second path, and the preset adjustment delay to obtain the reference delay corresponding to the target path group.

38. The device according to claim 37, wherein The second path is the path in the target path group that receives the response message latest.

39. The device according to any one of claims 35 - 38, characterized in that, The request message carries a first field for filling the request delay.

40. The device according to any one of claims 35 - 38, characterized in that, The response message carries a second field and a third field, where the second field is used to fill the request delay, and the third field is used to fill the response delay.

41. The device according to any one of claims 35-38, characterized in that, The response delay corresponding to each path is the sum of the processing delay and the residence delay of the response message in all network domains passed by on this path. The processing delay is the delay from the third time point to the fourth time point. The third time point is the time point when the second node receives the request message, and the fourth time point is the time point when the second node sends the response message.

42. The apparatus according to claim 35, wherein The device further includes a forwarding module; the active detection module includes a control sub-module and a packet generation sub-module; The packet generation sub-module is configured to generate an original message according to a preset period and send the original message to the control sub-module; The control sub-module is configured to obtain the original message, determine a path from the target path group as the first path, and send the tunnel information of the first path and the original message to the forwarding module; The forwarding module is configured to process the original message based on the tunnel information of the first path to obtain the request message and send the request message to the scheduling module.

43. The apparatus according to claim 42, wherein, The active detection module further includes a time vector; a first timer event is registered in the time vector, and the duration of the first timer is the preset period; The control sub-module is further configured to, after the first timer times out, obtain the first timer event from the time vector, send the first timer event to the packet generation sub-module, and reset the first timer; The packet generation sub-module is specifically configured to generate an original message based on the first timer event after obtaining the first timer event.

44. The device according to claim 42, characterized in that, The control sub-module is further configured to: After sending the request message, determine whether the duration from the current time point to the first time point reaches a preset duration to obtain a judgment result; If the judgment result indicates that the preset duration has not been reached and the first number of response messages are received, then execute the step of determining the line delay corresponding to each path according to the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path, where the first number is the number of paths included in the target path group; If the judgment result indicates that the preset duration has been reached and no response message is received, then re-execute the step of determining a path from the target path group as the first path until the number of re-executions reaches the preset number of times; If the judgment result indicates that the preset duration has been reached and at least one response message is received, then determine the line delay corresponding to the path for transmitting each received response message according to the first time point, the request delay, the second time point corresponding to the path for transmitting each received response message, and the response delay corresponding to the path for transmitting each received response message.

45. The device according to claim 44, characterized in that, The control sub-module is specifically configured to: Determine whether the first node has configured the reference delay; if the judgment result indicates that the preset duration has been reached, at least one response message is received, and it is determined that the first node has configured the reference delay, then determine the line delay corresponding to the path for transmitting each received response message according to the first time point, the request delay, the second time point corresponding to the path for transmitting each received response message, and the response delay corresponding to the path for transmitting each received response message.

46. The device according to claim 44 or 45, characterized in that, The active detection module further includes a time vector; the control sub-module is further configured to: After sending the request message, register a second timer event in the first node and start the second timer corresponding to the second timer event, where the duration of the second timer is the preset duration; Judge whether the second timer times out; If the second timer does not time out, then obtain a first judgment result, where the first judgment result indicates that the duration from the current time point to the first time point has not reached the preset duration; If the second timer times out, then obtain a second judgment result, where the second judgment result indicates that the duration from the current time point to the first time point has reached the preset duration.

47. The device according to claim 35, characterized in that, The metadata corresponding to each response message further includes the sequence number of the response message; The active detection module is further configured to, if the sequence number of the response message is the same as the sequence number of the request message, and the sum of the request delay and the response delay corresponding to the path for transmitting the response message is less than the preset duration, then determine the line delay corresponding to each path according to the first time point, the request delay, the second time point corresponding to each path, and the response delay corresponding to each path.

48. The device according to claim 35, characterized in that, The metadata corresponding to each response message further includes the sequence number of the response message; The active detection module is further configured to, if the sequence number of the response message is different from the sequence number of the request message, and / or, the sum of the request delay and the response delay corresponding to the path for transmitting the response message is greater than or equal to the preset duration, then discard the response message.

49. The device according to claim 35, characterized in that, The active detection module is configured with a first table and a second table associated with the first table; the first table is used to record the first configuration information of the target path group issued by the controller, and the second table is used to record the second configuration information of each path included in the target path group issued by the controller.

50. The device according to claim 49, characterized in that, The first configuration information includes: the identifier of the target path group, the number of paths included in the target path group, the address of the second node, a preset adjustment time delay, a reference time delay, the period for sending the request message, the timeout duration for receiving the response message, and a first pointer that points to the starting address of the second table; and / or The second configuration information includes: the identifier of the path included in the target path group, the receive interface identifier for receiving the response message, the tunnel identifier for sending the request message, and the upper limit of the compensation time delay. The active detection module is further configured to, after obtaining the upper limit of the compensation time delay corresponding to each path, update the upper limit of the compensation time delay corresponding to each path in the second table to the obtained upper limit of the compensation time delay.

51. The device according to claim 50, characterized in that, The active detection module is further configured to, if the reference time delay is calculated, update the reference time delay in the first table to the calculated reference time delay.

52. The device according to claim 35, characterized in that, The first node is configured with a third table and a fourth table associated with the third table. The third table is used to record the third configuration information of the target path group, and the fourth table is used to record the fourth configuration information for obtaining the upper limit of the compensation time delay corresponding to each path included in the target path group. The active detection module is further configured to, before the scheduling module sends a request message to the second node, obtain the third configuration information of the target path group and fill the third configuration information into the third table. After obtaining the metadata, fill the fourth configuration information corresponding to the metadata into the fourth table.

53. The device according to claim 52, characterized in that, The active detection module is further configured to: After obtaining the upper limit of the compensation time delay, recycle the third table and the fourth table corresponding to the target path group.

54. The device according to claim 52 or 53, characterized in that The third configuration information includes: the identifier of the target path group, the number of paths included in the target path group, the timeout duration for receiving the response message, the number of paths for attempting to send the request message, the number of paths for receiving the response message, a preset adjustment time delay, the sequence number of the request message, the first time point, and a second pointer that points to the starting address of the fourth table; and / or The fourth configuration information includes: the identifier of the path included in the target path group, the request time delay, the response time delay, and the second time point.

55. The device according to claim 35, characterized in that, The device further includes a compensation module. The parsing module is further configured to identify the received message. If the received message is the response message corresponding to the request message, construct the metadata corresponding to each response message and send the metadata corresponding to each response message to the active detection module. If the received message is identified as a data message, send the data message to the compensation module. The compensation module is configured to perform time delay compensation on the data message according to the upper limit of the compensation time delay corresponding to the third path, where the third path is the path for transmitting the data message.

56. The device according to claim 55, characterized in that, The upper limit of the compensation delay corresponding to the third path is the upper limit of the compensation delay sent by the active detection module to the compensation module after obtaining the upper limit of the compensation delay corresponding to each path; Or The upper limit of the compensation delay corresponding to the third path is the upper limit of the compensation delay carried by the data packet.

57. The device according to claim 35, characterized in that, The active detection module is further configured to send the obtained upper limit of the compensation delay and / or the reference delay corresponding to each path to the scheduling module; The scheduling module is further configured to send the obtained upper limit of the compensation delay and / or the reference delay corresponding to each path to the second node.

58. An apparatus for obtaining an upper limit of compensation delay, characterized in that Applied to the second node, the second node is connected to the first node through a target path group, the target path group includes multiple paths, and the device includes a scheduling module, a parsing module, and a passive response module; The parsing module is configured to receive a request message sent by the first node through a first path in the target path group and obtain metadata of the request message, where the metadata includes a request delay carried by the request message, and the request delay is the residence delay of all network domains that the request message passes through on the first path; Send the metadata to the passive response module; The passive response module is configured to encapsulate the request delay in a response message; Send the response message to the scheduling module; The scheduling module is configured to send the response message to the first node through each path in the target path group, respectively.

59. The device according to claim 58, wherein, The request message carries a first field, and the first field is used to fill the request delay.

60. The device according to claim 58, characterized in that, The response message carries a second field and a third field, the second field is used to fill the request delay, and the third field is used to fill the response delay, where the response delay includes the residence delay of all network domains that the response message passes through on the path.

61. The device according to claim 58, characterized in that, The metadata further includes a third time point, and the third time point is the time point when the second node receives the request message; The passive response module is specifically configured to: Calculate the delay from the third time point to the fourth time point as the processing delay, where the fourth time point is the time point when the second node sends the response message, and the sum of the processing delay and the residence delay of all network domains that the response message passes through on the path is the response delay; Encapsulate the request delay and the processing delay in the response message. The device according to claim 58, wherein The device further includes a forwarding module; the passive response module includes a control sub-module and a packet generation sub-module; The packet generation sub-module is configured to generate an original packet corresponding to the request message, the original packet carries the request delay, and send the original packet to the control sub-module; The control sub-module is configured to obtain the original packet and send the tunnel information of each path in the target path group and the original packet to the forwarding module; The forwarding module is configured to process the original packet based on the tunnel information of each path in the target path group to obtain a response packet corresponding to each path, and send the response packet corresponding to each path to the scheduling module.

63. The apparatus according to claim 58, wherein, The second node is configured with a first table and a second table associated with the first table; the first table is used to record the first configuration information of the target path group sent by the controller, and the second table is used to record the second configuration information of each path included in the target path group sent by the controller.

64. The device according to claim 63, wherein The first configuration information includes: the identifier of the target path group, the number of paths included in the target path group, the address of the first node, a preset adjustment time delay, a reference time delay, the period for sending the request message, the timeout duration for receiving the response message, and a first pointer that points to the start address of the second table; and / or The second configuration information includes: the identifier of the path included in the target path group, the receiving interface identifier for receiving the response message, the tunnel identifier for sending the request message, and the upper limit of the compensation time delay.

65. The device according to claim 63, characterized in that, The parsing module is further configured to receive the upper limit of the compensation time delay corresponding to each path sent by the first node, and send the obtained upper limit of the compensation time delay to the passive response module; The passive response module is further configured to update the upper limit of the compensation time delay corresponding to each path in the second table to the obtained upper limit of the compensation time delay.

66. The device according to claim 63, characterized in that, The parsing module is further configured to receive the reference time delay corresponding to the target path group sent by the first node; send the obtained reference time delay to the passive response module; The passive response module is further configured to update the reference time delay in the first table to the calculated reference time delay.

67. The device according to claim 58, wherein, The parsing module is further configured to identify the received message; if the identified received message is a request message, then execute the step of constructing the metadata corresponding to the request message; If the identified received message is a data message, then determine a third path from the target path group, and send the data message to the scheduling module; The scheduling module is further configured to send the data message to the first node through the third path.

68. The device according to claim 67, wherein, The data message carries the upper limit of the compensation time delay corresponding to the third path.

69. A forwarding node, characterized in that, Implement the method according to any one of claims 1-23, or implement the method according to any one of claims 24-34.