Method for determining duration in which data sending is stopped, and related apparatus

By determining the stop and resume duration of data transmission, the problem of insufficient PFC backpressure frame data volume threshold in RDMA networks is solved, enabling accurate identification of network congestion and improvement of communication efficiency.

WO2026051861A1PCT designated stage Publication Date: 2026-03-12HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-08-29
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

In RDMA networks, existing technologies cannot accurately determine the actual amount of data sent by the transmitter in response to the PFC backpressure frame, resulting in a large error between the network detection results and the actual network state, which affects communication efficiency.

Method used

By determining the first and second durations, the stop and resume times for data transmission are indicated respectively, accurately reflecting the port congestion level and improving the accuracy of network detection.

Benefits of technology

It enables accurate identification and effective mitigation of network congestion, improving network planning and communication efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025117954_12032026_PF_FP_ABST
    Figure CN2025117954_12032026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present application are a method for determining a duration in which data sending is stopped, and a related apparatus. The method comprises: determining a first moment at which a first backpressure frame is received, wherein the first backpressure frame is used for instructing a first port to stop data sending; determining a second moment at which a second backpressure frame is received, wherein the second backpressure frame is used for instructing the first port to resume data sending; and on the basis of the first moment and the second moment, determining a first duration of the first port, wherein the first duration of the first port indicates a duration in which the first port stops data sending in response to the first backpressure frame. On the basis of the first duration, the degree of congestion of the first port can be truly reflected, so as to accurately identify from a network a node where congestion occurs, thereby improving a network planning effect, and improving the communication efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Method for determining duration of stopping sending data and related apparatus

[0001] The present application claims priority to the Chinese patent application No. 202411234415.5, filed on September 3, 2024, and entitled "Method for determining duration of stopping sending data and related apparatus", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] The present application relates to the field of communication technology, and in particular to a method for determining duration of stopping sending data and related apparatus. BACKGROUND

[0003] A data center or a cloud service provider can deploy remote direct memory access (RDMA) to make the network achieve the purpose of low latency, high throughput and low computing overhead. In the RDMA technology, RDMA over converged Ethernet (RoCE) is a commonly used technology, and RoCE adopts priority flow control (PFC) to provide lossless transmission of the network.

[0004] The working principle of PFC is as follows: when the buffer of any priority queue in the receiving end reaches the back pressure threshold, the receiving end sends a PFC back pressure frame, which can also be called a pause frame, a PFC back pressure packet, a pause packet, an XOFF frame or an XOFF signal, etc., to the sending end for the priority queue. In response to the PFC back pressure frame, the sending end stops sending data of the priority queue to avoid data loss. When the buffer of the priority queue in the receiving end reaches the back pressure stop threshold, the receiving end sends a PFC back pressure stop frame, which can also be called a pause stop frame, a PFC back pressure stop packet, a pause stop packet, an XON frame or an XOFF signal, etc., to the sending end for the priority queue. In response to the PFC back pressure stop frame, the sending end resumes sending data of the priority queue. In order to prevent the sending end from pausing sending data for a long time in response to a single PFC back pressure frame, affecting normal communication, a corresponding data amount threshold is set for each PFC back pressure frame. When the sending end receives the PFC back pressure frame, it stops sending data of the priority queue corresponding to the PFC back pressure frame, and when the amount of data stopped sending reaches the data amount threshold, the sending end resumes sending data of the priority queue.

[0005] Currently, the sending end can determine the network detection result according to the number of received PFC backpressure frames and the data volume threshold corresponding to each PFC backpressure frame. However, after the sending end receives a PFC backpressure frame, if the sending end receives a PFC backpressure stop frame corresponding to the priority queue, the sending end immediately resumes sending data of the priority queue in response to the PFC backpressure stop frame. At this time, the data volume of the priority queue stopped sending may not reach the data volume threshold of the PFC backpressure frame. Therefore, the real stopped sending data volume cannot be determined based on the number of PFC backpressure frames. There is a large error between the network detection result determined based on the number of PFC backpressure frames and the real network state, and the network detection result cannot reflect the real network congestion state. SUMMARY

[0006] Embodiments of the present application provide a method for determining the duration of stopped sending data and related apparatuses. The method includes determining a first duration, which indicates the duration of the first port stopping sending data in response to a backpressure frame. Based on the first duration, the congestion degree of the first port can be truly reflected, and the node in the network that occurs congestion can be accurately identified, thereby improving the network planning effect and improving the communication efficiency.

[0007] In a first aspect, embodiments of the present application provide a method for determining the duration of stopped sending data. The method is applied to a first device, and includes determining a first time of receiving a first backpressure frame, the first backpressure frame being used to indicate the first port to stop sending data; determining a second time of receiving a second backpressure frame, the second backpressure frame being used to indicate the first port to resume sending data; and determining a first duration of the first port according to the first time and the second time, wherein the first duration of the first port indicates the duration of the first port stopping sending data in response to the first backpressure frame.

[0008] The first device can determine the first time in the following manner:

[0009] In one possible implementation, the first device records the time when the first backpressure frame arrives at the first port as the first time when the first device receives the first backpressure frame.

[0010] In another possible implementation, the first device determines the first time by detecting whether the first port is in a stopped sending data state. The first device records the time when the first port changes from a sending data state to the stopped sending data state as the first time. In one example, the first device determines the first time by scanning whether the first port stops sending data.

[0011] The first device can determine the second time in the following manner:

[0012] In one possible implementation, the first device records the time when the second backpressure frame arrives at the first port as the second time when the first device receives the second backpressure frame.

[0013] In another possible implementation, the first device detects whether the first port is in a data sending state to determine the second time. The first device takes the time when the first port changes from the data stopping sending state to the data sending state as the second time. In an example, the first device determines the second time by scanning whether the first port sends data.

[0014] In the above method, the first device determines the first duration according to the first time and the second time, and the first duration indicates a duration for the first port to respond to the first back pressure frame to stop sending data. The first duration can also be referred to as a flow stopping duration or a back pressure duration. Compared with determining an amount of data that a port stops sending according to a number of back pressure frames, the above technical solution has the characteristic of high accuracy, and the high-accuracy first duration can reflect the real network congestion state of the first port.

[0015] With reference to the first aspect, in a possible implementation of the first aspect, the first back pressure frame and the second back pressure frame are pause frames.

[0016] A pause frame is a special Ethernet frame, mainly used for flow control. When a receiving port needs to pause data transmission, the receiving port can send a pause frame to an upstream sending port. The sending port stops sending data for a duration in response to the pause frame to relieve the pressure of the receiving port.

[0017] With reference to the first aspect, in a possible implementation of the first aspect, the first back pressure frame is a priority-based flow control (PFC) back pressure frame, and the second back pressure frame is a PFC back pressure stop frame.

[0018] In a possible implementation, the first port enables PFC back pressure, the back pressure frame corresponding to the PFC back pressure includes the first back pressure frame, and the first device determines that the first back pressure frame is a back pressure frame for the first port. The first device takes a time when the first device receives the first back pressure frame as the first time. For example, the first device determines the first time according to a field of the first back pressure frame, and the field of the first back pressure frame indicates the first time.

[0019] In a possible implementation, the first port enables PFC back pressure, the back pressure frame corresponding to the PFC back pressure includes the first back pressure frame, and the first device determines that the first back pressure frame is a back pressure frame for the first port. The first device takes a time when the first device receives the first back pressure frame as the first time. For example, the first device determines the first time according to a field of the first back pressure frame, and the field of the first back pressure frame indicates the first time.

[0020] With reference to the first aspect, in a possible implementation manner of the first aspect, the method further includes: obtaining a second time length of the first port, the second time length of the first port indicating a time length during which the first port transmits data; and determining a network detection result of the first port according to the first time length of the first port and the second time length of the first port, the network detection result of the first port indicating a congestion degree of the first port.

[0021] In the technical solution described above, the second time length can also be referred to as a flow time length. The first device can determine the network detection result of the first port according to the first time length of the first port and the second time length of the first port. The network detection result based on the first time length also has the characteristic of high accuracy, and thus can truly reflect the congestion degree of the first port. Based on the network detection result, a node that is congested in the network can be accurately identified, the network planning effect is improved, and the communication efficiency is improved.

[0022] With reference to the first aspect, in a possible implementation manner of the first aspect, the method further includes: when the network detection result of the first port satisfies a first condition, determining a second port, the congestion degree of the second port being lower than that of the first port, and the priority of the second port being equal to that of the first port; and migrating a data flow carried by the first port to the second port, and transmitting the data flow by the second port after the migration.

[0023] In the technical solution described above, after the first device determines that the first port is a heavy-load port or a congested port according to the network detection result of the first port, the first device can migrate the data flow carried by the first port to another light-load port or a non-congested port for transmission, so as to improve the communication efficiency.

[0024] With reference to the first aspect, in a possible implementation manner of the first aspect, the obtaining of the second time length of the first port includes: obtaining a bandwidth value of the first port; obtaining a transmission data amount of the first port; and determining the second time length of the first port according to the transmission data amount of the first port and the bandwidth value of the first port.

[0025] In the technical solution described above, the first device can determine the second time length of the first port according to the bandwidth value of the first port and the transmission data amount of the first port. The first device can determine the second time length of the first port by detecting the time length during which the first port transmits data, and the determination method of the second time length is not limited in the embodiments of the present application.

[0026] With reference to the first aspect, in a possible implementation manner of the first aspect, the detection time length for determining the first time length of the first port is the same as the detection time length for determining the second time length of the first port.

[0027] With reference to the first aspect, in a possible implementation manner of the first aspect, the first port transmission data amount is obtained by: obtaining a first data amount of the first port, the first data amount of the first port being a transmission data amount of the first port at a start time of the detection time length; obtaining a second data amount of the first port, the second data amount of the first port being a transmission data amount of the first port at an end time of the detection time length; and determining the transmission data amount of the first port according to the second data amount minus the first data amount.

[0028] Optionally, the first port transmission data amount can be replaced by a data flow traffic of the first port.

[0029] With reference to the first aspect, in a possible implementation manner of the first aspect, the first time length is used to indicate a time length during which the first priority queue of the first port stops sending data in response to the first back pressure frame.

[0030] In the above technical solution, the first time length can also be a priority granularity, and the first time length of the first priority queue indicates a time length during which the first priority queue stops sending data in response to the first back pressure frame.

[0031] With reference to the first aspect, in a possible implementation manner of the first aspect, the first time length is also used to indicate a time length from the first time to the second time. The first time length can also be referred to as a flow stop time length in response to the first back pressure frame.

[0032] With reference to the first aspect, in a possible implementation manner of the first aspect, the method further includes: obtaining a second time length of the first priority queue, the second time length of the first priority queue indicating a time length during which the first priority queue sends data; and determining a network detection result of the first priority queue according to the first time length of the first priority queue and the second time length of the first priority queue, the network detection result of the first priority queue indicating a congestion degree of the first priority queue.

[0033] Specifically, the first back pressure frame can be used to indicate the first port to stop sending data, and can also be used to indicate a first priority queue included in the first port to stop sending data. The first port includes one or more priority queues, and the first priority queue in the one or more priority queues enables PFC back pressure. After the first device receives the first back pressure frame, the first device stops sending data of the first priority queue in response to the first back pressure frame. After the first device receives the second back pressure frame, the first device resumes sending data of the first priority queue in response to the second back pressure frame. Therefore, the first device can also determine a first duration of the first priority queue according to the first time of the first priority queue and the second time of the first priority queue. Further, the first device can determine a network detection result of the first priority queue according to the first duration of the first priority queue and the second duration of the first priority queue. Through the above method, the first device can determine the network detection result of the priority queue granularity to determine the network congestion degree of the priority queue granularity, improve the fine degree of the network detection result, and improve the network planning performance.

[0034] With reference to the first aspect, in a possible implementation form of the first aspect, the method further includes: when the network detection result of the first priority queue meets a second condition, determining a second priority queue, the congestion degree of the second priority queue being lower than that of the first priority queue; and migrating a data flow carried by the first priority queue to the second priority queue, and transmitting the data flow by the second priority queue after the migration.

[0035] Optionally, the priority of the second priority queue is equal to the priority of the first priority queue.

[0036] It should be noted that the second priority queue can be a priority queue of the first port or a priority queue of another port, and the embodiments of the present application do not limit the second priority queue.

[0037] In the above technical solution, after the first device determines that the first priority queue is a heavily loaded priority queue or a congested priority queue according to the network detection result of the first priority queue, the first device can migrate a data flow carried by the first priority queue to another lightly loaded priority queue or a non-congested priority queue for transmission, so as to improve the communication efficiency.

[0038] With reference to the first aspect, in a possible implementation form of the first aspect, the second duration of the first priority queue is obtained by: obtaining a bandwidth value of the first priority queue; obtaining a transmission data amount of the first priority queue; and determining the second duration of the first priority queue according to the transmission data amount of the first priority queue and the bandwidth value of the first priority queue.

[0039] With reference to the first aspect, in a possible implementation of the first aspect, the network detection result comprises one or more of the following: a ratio of the first time length to the second time length; a first difference, the first difference being a difference between the first time length determined in a second detection time length and the first time length determined in a first detection time length, the second detection time length being later than the first detection time length; or a ratio of the first difference to a second difference, the second difference being a difference between a start time of the second detection time length and an end time of the first detection time length.

[0040] In the above technical solution, the network detection result can also be represented in multiple ways, improving the implementation flexibility of the solution.

[0041] With reference to the first aspect, in a possible implementation of the first aspect, the method further comprises: sending, according to the first time length of the first port, indication information, the indication information being used to adjust a routing and forwarding strategy of a data flow carried by the first port.

[0042] In the above technical solution, the first device can also instruct other nodes in the network to adjust the routing and forwarding strategy of the data flow carried by the first port, so as to relieve the congestion of the first port and improve the communication efficiency.

[0043] With reference to the first aspect, in a possible implementation of the first aspect, the method further comprises: sending, according to the network detection result of the first port, indication information, the indication information being used to adjust a routing and forwarding strategy of a data flow carried by the first port.

[0044] Optionally, the first device can also send the indication information according to the first time length of the first port. For example, when the first time length of the first port is greater than or equal to a first threshold, the first device sends the indication information.

[0045] With reference to the first aspect, in a possible implementation of the first aspect, the indication information is specifically used to instruct a data flow carried by the first forwarding path to migrate to a second forwarding path, the first forwarding path passing through the first port, and a congestion degree of the second forwarding path being lower than a congestion degree of the first forwarding path.

[0046] Optionally, the second forwarding path does not pass through the first port.

[0047] For example, in an application scenario of graceful adaptive routing, a Spine node determines that a local port is congested according to a network detection result (for example, the first time length and the second time length of each port) of each port in the local node. The Spine node sends an announcement packet to an upstream Leaf node, the announcement packet carrying indication information. The upstream Leaf node migrates a data flow carried by a first forwarding path to a second forwarding path in response to the indication information.

[0048] With reference to the first aspect, in a possible implementation manner of the first aspect, the indication information is specifically used for indicating that data flow based on the first port group for performing load sharing is adjusted to be based on a second port group for performing load sharing, the first port group comprises an upstream port of the first port, and traffic of the first port based on the second port group for performing load sharing is less than traffic of the first port based on the first port group for performing load sharing.

[0049] Optionally, the second port group does not comprise the upstream port of the first port.

[0050] For example, in an application scenario of a load balancing function, when a Spine node determines that a local port is congested according to a network detection result of each port locally, the Spine node sends an announcement message to an upstream Leaf node, and the announcement message carries indication information. The upstream Leaf node responds to the indication information and avoids the congested port (the first port). For example, there are two equivalent ports between the Leaf node and the Spine node: port 1 and port 2, and port 2 receives the indication information sent by the Spine node. The port group based on which the Spine node performs load balancing is updated from port 1, port 2, port 3 and port 4 to port 1, port 3, port 5 and port 7. The downstream path in which port 2 is congested is avoided. Optionally, the flow distribution ratio of each port in the port group can also be adjusted, and the congestion of the downstream path of port 2 can be relieved.

[0051] In the second aspect, the embodiments of the present application provide a method for determining a duration of stopping sending data. The method is applied to a second device, and the method comprises the following steps: receiving indication information from a first device, the indication information being used for adjusting a routing and forwarding strategy of a data flow borne by a first port of the first device, the indication information being obtained based on a first duration of the first port or based on a network detection result of the first port, the first duration of the first port indicating a duration of stopping sending data by the first port in response to a first back pressure frame, and the network detection result of the first port indicating a congestion degree of the first port; and adjusting the routing and forwarding strategy of the data flow borne by the first port according to the indication information.

[0052] In the above technical solution, the second device can also adjust the routing and forwarding strategy of the data flow borne by the first port according to the indication information of the first device, so as to relieve the congestion of the first port and improve communication efficiency. Since the indication information is obtained based on the first duration of the first port, the indication information has the characteristic of high accuracy.

[0053] In a possible implementation of the second aspect, according to the indication information, the routing and forwarding strategy of the data stream carried by the first port is adjusted, including: determining the congestion degree of the first forwarding path according to the indication information, the first forwarding path passing through the first port; forwarding the data stream carried by the first forwarding path through a second forwarding path, the congestion degree of the second forwarding path being lower than the congestion degree of the first forwarding path.

[0054] Optionally, the second forwarding path does not pass through the first port.

[0055] Optionally, the second device can further determine the congestion degree of the first forwarding path based on network detection results local to the second device. The network detection results local to the second device can indicate a congestion degree at a port level, for example, a congestion degree of a port through which the first forwarding path passes in the second device; can indicate a congestion degree at a queue level, for example, a congestion degree of a priority queue corresponding to the first forwarding path in the second device; or can only indicate a congestion degree at a node level, for example, a congestion degree of the second device, and the embodiments of the present application do not limit this. In addition, the second device can further determine the congestion degree of the first forwarding path based on a first time local to the second device.

[0056] For example, in an application scenario of graceful adaptive routing, a Spine node determines that a local port is congested according to network detection results (for example, a first time length and a second time length of each port) of each port locally. The Spine node sends an announcement message to an upstream Leaf node, and the announcement message carries indication information. The upstream Leaf node migrates the data stream carried by the first forwarding path to the second forwarding path in response to the indication information.

[0057] In a possible implementation of the second aspect, according to the indication information, the routing and forwarding strategy of the data stream carried by the first port is adjusted, including: determining the congestion degree of the first port group according to the indication information, the first port group including one or more ports, the first port group including an upstream port of the first port, the first port group being used to perform load sharing of a first data stream, the first data stream including the data stream carried by the first port, a third port being an ingress port of the second device for the first data stream, the first port group having a mapping relationship with the third port based on the first port group performing the load sharing of the first data stream; determining a second port group, the second port group including one or more ports, the congestion degree of the second port group being lower than the congestion degree of the first port group; and performing the load sharing of the first data stream using the second port group, the second port group having a mapping relationship with the third port based on the second port group performing the load sharing of the first data stream.

[0058] Optionally, the second port group does not include an upstream port of the first port.

[0059] For example, in the application scenario of the load balancing function, when the Spine node determines that a local port is congested according to the network detection result of each local port, the Spine node sends an announcement message to the upstream Leaf node, and the announcement message carries indication information. The upstream Leaf node responds to the indication information to avoid the congested port (the first port). For example, there are two equivalent ports between the Leaf node and the Spine node: port 1 and port 2, and port 2 receives the indication information sent by the Spine node. The port group on which the Spine node performs load balancing is updated from port 1, port 2, port 3, and port 4 to port 1, port 3, port 5, and port 7. Before updating the port group, the ingress port of the Spine node is port A, and the mapping relationship between the ingress port and the egress port is that port A has a mapping relationship with the port group: {port 1, port 2, port 3, and port 4}, and the traffic received by port A is forwarded through the port group: {port 1, port 2, port 3, and port 4}. After the update, the mapping relationship between the ingress port and the egress port of the Spine node is that port A has a mapping relationship with the port group: {port 1, port 3, port 5, and port 7}, and the traffic received by port A is forwarded through the port group: {port 1, port 3, port 5, and port 7}. The downstream path of port 2 in which congestion occurs is avoided through the above method. Alternatively, the traffic distribution ratio of each port in the port group can also be adjusted to alleviate the congestion of the downstream path of port 2. For example, the traffic ratio of the port group: {port 1, port 2, port 3, and port 4} before the update is 1:1:1:1, and the traffic ratio of the port group: {port 1, port 2, port 3, and port 4} after the update is 1:1:5:5. Through the above method, the traffic pressure of the upstream port (port 1 and port 2) of the first port is reduced, thereby reducing the traffic pressure of the first port and alleviating network congestion.

[0060] With reference to the second aspect, in a possible implementation manner of the second aspect, the second port group does not include the upstream port of the first port; or the second port group includes the upstream port of the first port, and the traffic ratio of the upstream port of the first port in the second port group is less than the traffic ratio of the upstream port of the first port in the first port group.

[0061] With reference to the second aspect, in a possible implementation manner of the second aspect, the second device is an upstream node of the first device.

[0062] In a third aspect, an embodiment of the present application provides a method for determining a duration of stopping sending data. The method is applied to a third device, and the method comprises: obtaining a first duration of one or more first ports, the first duration of the first port indicating a duration of stopping sending data by the first port in response to a first back pressure frame; and determining a routing and forwarding strategy according to the first duration of the one or more first ports.

[0063] For example, the third device is a network manager (or network controller) which manages the first device and / or the second device.

[0064] In an example scenario, the third device performs path computation for the whole network by querying the topology information of the network and the task information, and obtains a plurality of path computation results (or routing and forwarding strategies). In combination with the first time length reported by the first device, an optimal solution can be determined from the plurality of path computation results. For example, the optimal solution has the lowest network congestion level.

[0065] In another example scenario, the third device updates the routing and forwarding strategy according to the first time length reported by the first device, so as to reduce the network congestion level and improve the communication efficiency.

[0066] In combination with the third aspect, in a possible implementation manner of the third aspect, the method further includes:

[0067] obtaining network topology information, the network topology information indicating a connection relationship between one or more communication devices;

[0068] obtaining communication relationship information of a second data flow, the communication relationship information indicating a source address and a destination address of the second data flow, and the second data flow including one or more data flows;

[0069] determining a routing and forwarding strategy according to the network topology information and the communication relationship information of the second data flow.

[0070] For example, the one or more communication devices forwards the second data flow according to the routing and forwarding strategy.

[0071] For another example, the one or more communication devices includes the first device.

[0072] For another example, the one or more communication devices includes the second device.

[0073] In an example scenario, after the third device obtains the network topology information and the communication relationship information of the second data flow, the third device determines a routing and forwarding strategy of the second data flow. Then, the third device issues the routing and forwarding strategy of the second data flow to one or more communication devices in the network. The one or more communication devices forwards the second data flow according to the routing and forwarding strategy. During the forwarding of the data flow, the one or more communication devices perform the method performed by the first device in the first aspect described above. For example, the one or more communication devices report the first time length or the network detection result determined based on the first time length to the third device as the first device. The third device determines the priority queue, the port, or the communication device that occurs congestion according to the first time length or the network detection result determined based on the first time length. Then, the third device updates the routing and forwarding strategy of the second data flow. The updated routing and forwarding strategy of the second data flow can indicate that the second data flow bypasses the priority queue, the port, or the communication device that occurs congestion, thereby improving the communication efficiency.

[0074] With reference to the third aspect, in a possible implementation manner of the third aspect, the second data flow corresponds to one or more artificial intelligence (AI) collective communication tasks.

[0075] With reference to the third aspect, in a possible implementation manner of the third aspect, the method further includes:

[0076] obtaining communication domain information, the communication domain information indicating a communication domain for performing the one or more AI collective communication tasks, the communication domain including one or more communication devices and computing devices corresponding to the one or more communication devices;

[0077] determining the routing and forwarding strategy according to the communication domain information.

[0078] With reference to the third aspect, in a possible implementation manner of the third aspect, determining the routing and forwarding strategy according to the first time length of the one or more first ports includes: obtaining a second time length of the one or more first ports, the second time length of the first port indicating a time length during which the first port transmits data; determining a network detection result of the one or more first ports according to the first time length of the one or more first ports and the second time length of the one or more first ports, the network detection result of the first port indicating a congestion degree of the first port; and determining the routing and forwarding strategy according to the network detection result of the first port.

[0079] In the above technical solution, the third device can also determine the network detection result according to the first time length and the second time length reported by the first device, thereby improving the implementation flexibility of the solution.

[0080] With reference to the third aspect, in a possible implementation of the third aspect, the method further includes: updating the route forwarding policy when the first time length of any one or more of the one or more first ports satisfies a third condition.

[0081] With reference to the third aspect, in a possible implementation of the third aspect, the method further includes: updating the route forwarding policy when the network detection result of any one or more of the one or more first ports satisfies a first condition.

[0082] In the above technical solution, the third device can trigger the updating of the route forwarding policy under multiple conditions, thereby improving the implementation flexibility of the solution.

[0083] In the fourth aspect, an embodiment of the present application provides a communication device, which includes a processing unit and a transceiver unit, and is configured to execute the method of the first aspect and any one of the first aspect.

[0084] In the fifth aspect, an embodiment of the present application provides a communication device, which includes a processing unit and a transceiver unit, and is configured to execute the method of the second aspect and any one of the second aspect.

[0085] In the sixth aspect, an embodiment of the present application provides a communication device, which includes a processing unit and a transceiver unit, and is configured to execute the method of the third aspect and any one of the third aspect.

[0086] In the seventh aspect, an embodiment of the present application provides a chip, which includes an interface circuit and a processing circuit, and the interface circuit and the processing circuit are interconnected through a line. The processing circuit is configured to run a computer program or an instruction to perform the method of the first aspect, the second aspect, or the third aspect.

[0087] Optionally, the chip includes at least one processor and a communication interface, and the communication interface and the at least one processor are interconnected through a line. The at least one processor is configured to run a computer program or an instruction to perform the method of the first aspect, the second aspect, or the third aspect.

[0088] Optionally, the communication interface of the chip can be an input / output interface, a pin, or a circuit, etc.

[0089] With reference to the seventh aspect, in an implementation of the seventh aspect, the chip described above in the present application further includes at least one memory, and the at least one memory stores an instruction. The memory can be a storage unit inside the chip, for example, a register, a cache, etc., or a storage unit of the chip (for example, a read-only memory, a random access memory, etc.).

[0090] In an eighth aspect, an embodiment of the eighth aspect provides a computing device, comprising at least one processor coupled with a memory; the memory is configured to store programs or instructions; the at least one processor is configured to execute the programs or instructions, so that the device implements any possible implementation manner of the first aspect, the second aspect or the third aspect.

[0091] In a ninth aspect, an embodiment of the ninth aspect provides a computing device, comprising a communication interface configured to input and / or output signaling or data; a processor configured to execute computer executable programs, so that the device implements any possible implementation manner of the first aspect, the second aspect or the third aspect.

[0092] In a tenth aspect, an embodiment of the tenth aspect provides a computing device, comprising at least one logic circuit and an input / output interface; the input / output interface is configured to input or output information; the logic circuit is configured to execute any possible implementation manner of the first aspect, the second aspect or the third aspect.

[0093] In an eleventh aspect, an embodiment of the eleventh aspect provides a communication system, comprising the communication device of the fourth aspect, the communication device of the fifth aspect and / or the communication device of the sixth aspect.

[0094] In a twelfth aspect, an embodiment of the twelfth aspect provides a computer readable storage medium, which stores a computer program, when the computer program is executed on a computer, the computer is caused to execute the method of the first aspect, the second aspect or the third aspect.

[0095] In a thirteenth aspect, an embodiment of the thirteenth aspect provides a computer program product, when the computer program product is executed on a computer, the computer is caused to execute the method of the first aspect, the second aspect or the third aspect.

[0096] In a fourteenth aspect, an embodiment of the fourteenth aspect provides a communication system, comprising a communication device, wherein the communication device is configured to execute the method of any one of the first aspect, the second aspect or the third aspect. BRIEF DESCRIPTION OF DRAWINGS

[0097] FIG. 1 is a networking diagram of RDMA;

[0098] FIG. 2 is a scenario diagram of PFC;

[0099] FIG. 3 is a communication scenario diagram related to an embodiment of the present application;

[0100] FIG. 4a is a communication system diagram according to an embodiment of the present application;

[0101] FIG. 4b is a schematic diagram of a communication system according to an embodiment of the present application;

[0102] FIG. 5 is a schematic diagram of another communication system according to an embodiment of the present application;

[0103] FIG. 6 is a schematic diagram of another communication system according to an embodiment of the present application;

[0104] FIG. 7 is a schematic diagram of another communication system according to an embodiment of the present application;

[0105] FIG. 8 is a schematic diagram of a scenario of PFC back pressure frame according to an embodiment of the present application;

[0106] FIG. 9 is a schematic diagram of another scenario of PFC back pressure frame according to an embodiment of the present application;

[0107] FIG. 10 is a schematic diagram of a method for determining the duration of stopping sending data according to an embodiment of the present application;

[0108] FIG. 11 is a schematic diagram of a PFC back pressure scenario according to an embodiment of the present application;

[0109] FIG. 12 is a schematic diagram of an application scenario according to an embodiment of the present application;

[0110] FIG. 13 is a schematic diagram of another application scenario according to an embodiment of the present application;

[0111] FIG. 14 is a schematic diagram of another application scenario according to an embodiment of the present application;

[0112] FIG. 15 is a schematic diagram of a communication apparatus 1500 according to an embodiment of the present application;

[0113] FIG. 16 is a schematic diagram of a communication apparatus 1600 according to an embodiment of the present application;

[0114] FIG. 17 is a schematic diagram of a communication apparatus 1700 according to an embodiment of the present application;

[0115] FIG. 18 is a schematic diagram of a communication system 1800 according to an embodiment of the present application. DETAILED DESCRIPTION

[0116] The terms "first", "second", and the like in the description and in the claims of the present application and above drawings are used for distinguishing between similar objects and not necessarily for describing a specific sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances and that the embodiments of the present application are capable of functioning in other sequences, except where it is inherent from the disclosure. Furthermore, the terms "comprise", "comprising", "include", "including", and the like are intended to cover non-exclusive inclusions, such that a process, method, article, or apparatus that comprises, includes, or the like a list of elements, can include additional elements not expressly listed or inherent to such process, method, article, or apparatus.

[0117] Some concepts related to the embodiments of the present application are introduced first.

[0118] 1、Remote Direct Memory Access (RDMA).

[0119] In order to meet the increasingly complex artificial intelligence (AI) computing requirements, there are usually a large number of distributed computing clusters in data centers. However, in the distributed computing cluster, the communication delay of a large number of parallel programs will affect the computing efficiency. In order to reduce network delay and improve computing efficiency, RDMA technology emerges as the times require. RDMA technology allows applications to directly read and write remote memory, so as to realize bypassing the kernel to write data to the network card without the intervention of the processor, and realizes the effect of high throughput, ultra-low latency and low processor overhead.

[0120] For ease of understanding, please refer to FIG. 1, which is a networking diagram of RDMA. The network includes: Spine 1, Spine 2, Leaf 1, Leaf 2, Leaf 3, host cluster 1, host cluster 2 and host cluster 3, wherein Spine 1 establishes a connection with Leaf 1, Leaf 2 and Leaf 3 respectively, Spine 2 establishes a connection with Leaf 1, Leaf 2 and Leaf 3 respectively, Leaf 1 is connected with one or more hosts included in host cluster 1, Leaf 8 is connected with one or more hosts included in host cluster 8, and Leaf 3 is connected with one or more hosts included in host cluster 3.

[0121] 2、Priority-based Flow Control (PFC).

[0122] The working principle of PFC is as follows: when the queue buffer of any priority queue in the receiving end reaches the back pressure threshold, the receiving end sends a PFC pause frame (XOFF) to the sending end for the priority queue. In response to the PFC pause frame, the sending end stops sending data of the priority queue, avoiding data loss. When the queue buffer of the priority queue in the receiving end reaches the back pressure stop threshold, the receiving end sends a PFC pause stop frame (XON) to the sending end for the priority queue. In response to the PFC pause stop frame, the sending end resumes sending data of the priority queue. In order to prevent the sending end from pausing sending data for a long time in response to a single PFC pause frame, affecting normal communication, a corresponding data amount threshold is set for each PFC pause frame. When the sending end receives the PFC pause frame, it stops sending the priority queue corresponding to the PFC pause frame, and when the amount of stopped sending data reaches the data amount threshold, the sending end resumes sending data of the priority queue.

[0123] For ease of understanding, please refer to FIG. 2, which is a schematic diagram of a PFC scenario. An Ethernet link is established between device A and device B, device A acts as a sending end, and device B acts as a receiving end. The sending interface of device A is divided into 8 priority queues, and the receiving interface of device B includes corresponding 8 receiver buffers, which are one-to-one corresponding. When congestion occurs in a receiver buffer on the receiving interface of device B, a back pressure signal "STOP" is sent to device A, and device A stops sending traffic of the corresponding priority queue.

[0124] If data pause sending in response to PFC pause frames frequently occurs in the network, it will cause the overall transmission efficiency of the network to decrease, and further affect the efficiency of the computing task performed by the network, for example, affect the training efficiency of the AI neural network model performed by the network. In order to improve the transmission efficiency of the network, it is necessary to identify the congestion degree of each node in the network and adjust the forwarding path of data in the network. For a network applying PFC, the congestion degree of the sending end is determined according to the amount of data that the sending end stops sending in response to the PFC pause frame.

[0125] Currently, the sending end can determine the amount of data that the sending end stops sending in response to the PFC backpressure frame according to the number of PFC backpressure frames received and the data amount threshold corresponding to each PFC backpressure frame. For example, as shown in FIG. 8, which is a schematic diagram of one scenario of PFC backpressure frames. In scenario 1 shown in FIG. 8, device B continuously sends three XOFF backpressure frames to device A, and device A stops sending X bits of data in response to each XOFF backpressure frame, where X is a positive integer. Therefore, in scenario 1, device A determines that a total of 3X bits of data are stopped from being sent by counting the number of PFC frames, which is three. Scenario 1 shown in FIG. 8 is an ideal scenario, in which device A stops sending at most X bits of data in response to one XOFF backpressure frame.

[0126] However, after the sending end receives a PFC backpressure frame, if the sending end receives a PFC backpressure stop frame corresponding to the priority queue, the sending end immediately resumes sending data of the priority queue in response to the PFC backpressure stop frame. For example, as shown in scenario 2 of FIG. 8, after device A stops sending data in response to the first XOFF backpressure frame sent by device B, device B sends an XON backpressure frame. At this time, the amount of data stopped from being sent by device A in response to the first XOFF backpressure frame is less than x bits, and device A resumes sending data immediately in response to the XON backpressure frame. Then, device B sends a second XOFF backpressure frame to device A, and device A stops sending data in response to the second XOFF backpressure frame. Even though device A receives three PFC backpressure frames in both scenario 1 and scenario 2, the amount of data stopped from being sent by device A in response to the XOFF backpressure frame in scenario 2 is still less than the amount of data stopped from being sent by device A in response to the XOFF backpressure frame in scenario 1. Therefore, the amount of data that the sending end actually stops sending cannot be determined based on the number of PFC backpressure frames received by the sending end.

[0127] In addition, the amount of data that the sending end actually stops sending still cannot be determined based on the number of XOFF backpressure frames and XON backpressure frames received by the sending end. For example, as shown in FIG. 9, which is another schematic diagram of a scenario of PFC backpressure frames.

[0128] Scenario 2 shown in FIG. 9 is similar to scenario 2 shown in FIG. 8. After device B sends a first XOFF backpressure frame to device A, device B waits for a time length T1 and then sends an XON backpressure frame to device A. Therefore, the amount of data stopped from being sent by device A in response to the first XOFF backpressure frame is X1 bits, where T1 is a positive integer, X1 is a positive integer, and X1 is less than X. In response to the XON backpressure frame, device A resumes sending data. Then, device B sends a second XOFF backpressure frame to device A, and device A stops sending X bits of data in response to the second XOFF backpressure frame. In scenario 2 shown in FIG. 9, the amount of data stopped from being sent by device A in response to the PFC backpressure frame is X1+X bits.

[0129] Fig. 9 illustrates a scenario 3, after the device B sends the first XOFF backpressure frame to the device A, the device B waits for a time length T2 to send an XON backpressure frame to the device A, thus, the amount of data that the device A stops sending in response to the first XOFF backpressure frame is X2 bits, T2 is a positive integer, X2 is a positive integer, T2 is greater than T1, and X2 is less than X and greater than X1. In response to the XON backpressure frame, the device A resumes sending data after stopping the flow. Then, the device B sends a second XOFF backpressure frame to the device A, and the device A stops sending X bits of data in response to the second XOFF backpressure frame. In the scenario 3 illustrated in Fig. 9, the amount of data that the device A stops sending in response to the PFC backpressure frame is X2+X bits. In the scenario 2 and the scenario 3 illustrated in Fig. 9, the device A receives two XOFF backpressure frames and one XON backpressure frame, but the amount of data that the device A stops sending in the scenario 2 is less than the amount of data that the device A stops sending in the scenario 3. Therefore, based on the number of XOFF backpressure frames and XON backpressure frames received by the sending end, the amount of data that the sending end actually stops sending cannot be determined.

[0130] In summary, there is a large error between the network detection result determined based on the number of PFC backpressure frames and the actual network state, and the network detection result cannot reflect the actual network congestion state.

[0131] Therefore, based on the number of XOFF backpressure frames and XON backpressure frames received by the sending end, the amount of data that the sending end actually stops sending cannot be determined.

[0132] In the following, some communication scenarios related to embodiments of the present application are introduced. Please refer to Fig. 3, which is a schematic diagram of a communication scenario related to embodiments of the present application. The communication scenario related to embodiments of the present application includes a head node, an intermediate node, a tail node, and a network controller, wherein the network controller is used to control and manage the head node, the intermediate node, and the tail node, and the network controller can also be referred to as a network manager. There are multiple paths between the head node and the tail node, and the multiple paths can include a path passing through the intermediate node, and the multiple paths can also include a direct connection path between the head node and the tail node. It should be noted that the communication scenario also includes an end-side device (not shown in the figure) connected to the head node or the tail node, and the end-side device connected to the head node can also be referred to as an entry port device, and the end-side device connected to the tail node can also be referred to as an exit port device. Exemplarily, the network controller can be a vertical business place (VBP).

[0133] The communication system in the embodiments of the present application includes a first device, a second device, and / or a third device.

[0134] For example, as shown in FIG. 4a, FIG. 4a is a schematic diagram of a communication system according to an embodiment of the present application. In a possible implementation, the first device is an intermediate node, the second device is a head node, and the third device is a network controller.

[0135] Alternatively, as shown in FIG. 4b, FIG. 4b is a schematic diagram of a communication system according to an embodiment of the present application. In FIG. 4b, the first device and the second device are both intermediate nodes, and the second device is an upstream node of the first device.

[0136] For example, as shown in FIG. 5, FIG. 5 is a schematic diagram of a communication system according to an embodiment of the present application. In another possible implementation, the first device is a head node and / or an intermediate node, and the third device is a network controller.

[0137] For example, as shown in FIG. 6, FIG. 6 is a schematic diagram of a communication system according to an embodiment of the present application. In another possible implementation, the second device is a head node and / or an intermediate node, the first device is an intermediate node, the first device is a downstream node of the second device, and the third device is a network controller.

[0138] For example, as shown in FIG. 7, FIG. 7 is a schematic diagram of a communication system according to an embodiment of the present application. In another possible implementation, the first device is a head node and / or an intermediate node, and the communication system further includes a network analyzer. The network analyzer is a device for monitoring, analyzing, and diagnosing a network. The network analyzer analyzes data packets transmitted in the network to obtain an analysis result of the network, which includes but is not limited to: a transmission protocol of the network, a traffic characteristic of the network, a congestion state of the network, a fault diagnosis of the network, and / or a security threat of the network. In the embodiments of the present application, the network analyzer determines a network state by obtaining the first time length or the network detection result reported by the first device, and the network state indicates whether congestion occurs in each node in the network.

[0139] The head node, the intermediate node, or the tail node in the embodiments of the present application includes but is not limited to: a router, a switch, an access network device, an access point, a gateway, a network card, a firewall, or a service process unit (SPU).

[0140] The end-side device in the embodiments of the present application includes but is not limited to: a host, a terminal device, a server, a virtual machine, a network card, a three-layer switch, or a gateway. The server can also be a cloud server deployed in the cloud, which is not limited in the embodiments of the present application.

[0141] Exemplarily, the host in the embodiments of the present application can have multiple possible implementation manners, including but not limited to: a computing device, a computing unit, a cloud device, a virtual machine, or a physical machine. The computing device can be a server, for example, a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a notebook computer, or a smart phone. The server can be a server cluster composed of multiple servers, or a cloud computing service center. In the cloud computing service center, a large number of basic resources owned by a cloud service provider are deployed. For example, a large number of basic resources such as computing resources, storage resources, and network resources are deployed in the cloud computing service center. The cloud computing service center can utilize the large number of basic resources to implement the method provided by the embodiments of the present application, and to implement more businesses.

[0142] Exemplarily, the terminal device can also be referred to as a user equipment (UE) or a mobile station (MS) or a mobile terminal (MT), etc. For example, the terminal device can be a mobile phone, a tablet computer, or a computer with wireless transceiver function. It can also be a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in remote medical treatment, a wireless terminal in smart power grid, a wireless terminal in smart city, a wireless terminal in smart home, a vehicle-mounted terminal, a vehicle with vehicle-to-vehicle (V2V) communication capability, a smart connected vehicle, a drone with unmanned aerial vehicle to unmanned aerial vehicle (UAV to UAV, U2U) communication capability, etc., without limitation.

[0143] Exemplarily, the access network device can also be referred to as a radio access network (RAN) node, a radio access network device, or a base station. Currently, examples of some RAN devices are: a base station, an evolved NodeB (eNodeB), a base station gNB (gNodeB) in a 5G communication system, a transmission reception point (TRP), an evolved Node B (eNB), a radio network controller (RNC), a Node B (NB), a home base station (for example, a home evolved Node B, or a home Node B (HNB)), a baseband unit (BBU), or a wireless fidelity (Wi-Fi) access point (AP), and the like. In addition, in a network structure, a network device can include a centralized unit (CU) node, or a distributed unit (DU) node, or a RAN device including a CU node and a DU node.

[0144] Optionally, the access network device can also be a macro base station, a micro base station, or an indoor station, a relay node or a donor node, or a wireless controller in a cloud radio access network (CRAN) scenario. The RAN node can also be a server, a wearable device, a vehicle or a vehicle-mounted device, and the like. For example, the access network device in vehicle to everything (V2X) technology can be a road side unit (RSU).

[0145] Next, the embodiments of the present application are described in conjunction with the drawings. Please refer to FIG. 10, which is an embodiment flow diagram of a method for determining the duration of stopping sending data in the embodiments of the present application. The method for determining the duration of stopping sending data proposed in the embodiments of the present application includes:

[0146] S1, determining a first time of receiving a first back pressure frame, the first back pressure frame being used to indicate the first port to stop sending data.

[0147] In step S1, the first device can determine a first time of receiving a first back pressure frame, the first back pressure frame being used to indicate the first port to stop sending data.

[0148] In a possible implementation, the first port enables the back pressure function, and the first device determines that the first back pressure frame is a back pressure frame for the first port. The first device determines a first time point as a time point at which the first device receives the first back pressure frame. For example, the first device determines the first time point according to a field of the first back pressure frame, and the field of the first back pressure frame indicates the first time point.

[0149] In another possible implementation, the first device determines the first time point by detecting whether the first port is in a data sending stop state. The first device determines a time point at which the first port changes from the data sending state to the data sending stop state as the first time point. In an example, the first device determines the first time point by scanning whether the first port stops sending data.

[0150] Further, the first back pressure frame can correspond to a first priority queue of the first port, and be specifically used to instruct the first priority queue included in the first port to stop sending data, in addition to being used to instruct the first port to stop sending data. The first port includes one or more priority queues, and the first priority queue in the one or more priority queues enables PFC back pressure. After the first device receives the first back pressure frame, the first device stops sending data of the first priority queue in response to the first back pressure frame.

[0151] It should be noted that any priority queue included in the first port can enable PFC back pressure. In other words, the plurality of priority queues included in the first port can stop sending data in response to the XOFF back pressure frame. The plurality of priority queues can stop sending data in response to the same XOFF back pressure frame, or the plurality of priority queues can stop sending data in response to different XOFF back pressure frames.

[0152] At this time, the first device determines the first time point by detecting whether the first port is in the data sending stop state, which can be understood as that the first device determines the first time point by detecting whether the first priority queue of the first port is in the data sending stop state.

[0153] When the first back pressure frame is a back pressure frame corresponding to the first port, the first back pressure frame is a pause frame. When the first back pressure frame is a back pressure frame corresponding to the first priority queue of the first port, the first back pressure frame is a PFC back pressure frame, for example, the first back pressure frame is an XOFF back pressure stop frame.

[0154] Alternatively, the first port includes the first priority queue can be replaced with that the first port carries the first priority queue.

[0155] S2, determine a second time point at which a second back pressure frame is received, and the second back pressure frame is used to instruct the first port to resume sending data.

[0156] In step S2, the first device can determine a second time instant at which the second back pressure frame is received, the second back pressure frame being used to indicate the first port to resume transmitting data. The second time instant is later than the first time instant.

[0157] In a possible implementation, the first port enables the back pressure function, and the first device determines that the second back pressure frame is a back pressure frame for the first port. The first device determines the second time instant according to a time instant at which the first device receives the second back pressure frame. For example, the first device determines the second time instant according to a field of the second back pressure frame, the field of the second back pressure frame indicating the second time instant.

[0158] In another possible implementation, the first device determines the second time instant by detecting whether the first port is in a data transmitting state. The first device determines the second time instant as a time instant at which the first port changes from a data stopping transmitting state to the data transmitting state. In an example, the first device determines the second time instant by scanning whether the first port transmits data.

[0159] Similar to step S1, the second back pressure frame can be used to indicate the first port to resume transmitting data, and the second back pressure frame can also be used to indicate a first priority queue included in the first port to resume transmitting data. The first port includes one or more priority queues, and the first priority queue in the one or more priority queues enables PFC back pressure. After the first device receives the second back pressure frame, the first device resumes transmitting data of the first priority queue in response to the second back pressure frame.

[0160] At this time, the first device determines the second time instant by detecting whether the first port is in the data transmitting state, which can be understood as that the first device determines the second time instant by detecting whether the first priority queue of the first port is in the data transmitting state.

[0161] When the second back pressure frame is a back pressure frame corresponding to the first port, the second back pressure frame is a pause frame. When the second back pressure frame is a back pressure frame corresponding to the first priority queue of the first port, the second back pressure frame is a PFC back pressure frame, for example, the second back pressure frame is an XON back pressure resume frame.

[0162] It should be noted that any priority queue included in the first port can enable PFC back pressure. In other words, the plurality of priority queues included in the first port resume transmitting data in response to the XON back pressure frame. The plurality of priority queues can resume transmitting data in response to the same XON back pressure frame, or the plurality of priority queues can resume transmitting data in response to different XON back pressure frames.

[0163] For ease of understanding, please refer to Table 1, which shows a port or a priority queue that enables PFC back pressure.

[0164] Table 1

[0165] In combination with Table 1, the first device includes port #1, port #2 and port #3. Port #1 includes one or more priority queues, and priority queue #1-1 among the one or more priority queues included by port #1 enables PFC backpressure. The first device receives XOFF backpressure frame #1, and stops transmitting data of priority queue #1-1; the first device receives XON backpressure frame #1, and resumes transmitting data of priority queue #1-1. Port #2 includes one or more priority queues, and priority queue #2-1 and priority queue #2-2 among the one or more priority queues included by port #2 enable PFC backpressure. The first device receives XOFF backpressure frame #2, and stops transmitting data of priority queue #2-1 and data of priority queue #2-2; the first device receives XON backpressure frame #2, and resumes transmitting data of priority queue #2-1 and data of priority queue #2-2. Port #3 includes one or more priority queues, and priority queue #3-1, priority queue #3-2 and priority queue #3-3 among the one or more priority queues included by port #3 enable PFC backpressure. The first device receives XOFF backpressure frame #3-1, and stops transmitting data of priority queue #3-1; the first device receives XON backpressure frame #3-1, and resumes transmitting data of priority queue #3-1. The first device receives XOFF backpressure frame #3-2, and stops transmitting data of priority queue #3-2; the first device receives XON backpressure frame #3-2, and resumes transmitting data of priority queue #3-2. The first device receives XOFF backpressure frame #3-3, and stops transmitting data of priority queue #3-3; the first device receives XON backpressure frame #3-3, and resumes transmitting data of priority queue #3-3.

[0166] S3, determine a first duration of the first port according to the first time and the second time, the first duration of the first port indicating a duration for which the first port stops transmitting data in response to the first backpressure frame.

[0167] In step S3, after the first device determines the first time of the first port and the second time of the first port, the first device can determine a first duration of the first port, the first duration of the first port indicating a duration for which the first port stops transmitting data in response to the first backpressure frame. The first duration of the first port can also be referred to as a backpressure duration of the first port, or a flow stop duration of the first port.

[0168] In a possible implementation, the first duration is a difference between the second time and the first time. Alternatively, the first duration is a duration from the first time to the second time.

[0169] Further, the first device determines a first duration of the first priority queue according to the first time of the first priority queue and the second time of the first priority queue, the first duration of the first priority queue indicating a duration for which the first priority queue stops transmitting data in response to the first backpressure frame.

[0170] Optionally, after the first device determines the first duration of the first port (or the first duration of the first priority queue), the first device can further send indication information to other nodes, the indication information being used to instruct the other nodes to adjust a routing and forwarding strategy of a data flow carried by the first port. The other nodes include an upstream node of the first device, such as the second device.

[0171] Optionally, the first device sends the indication information to the other nodes in a case where the first duration of the first port (or the first duration of the first priority queue) is greater than a set threshold.

[0172] After step S3, steps S4-S5 can be performed. Steps S4 and S5 are optional steps.

[0173] S4, the first device determines a network detection result of the first port according to the first duration and the second duration.

[0174] In step S4, the first device can further determine a second duration of the first port, the second duration of the first port indicating a duration for which the first port transmits data. Then, the first device determines a network detection result of the first port according to the first duration of the first port and the second duration of the first port, the network detection result of the first port indicating a congestion degree of the first port.

[0175] First, the first device obtains a bandwidth value of the first port and a transmission data amount of the first port. Then, the first device determines the second duration of the first port according to the bandwidth value of the first port and the transmission data amount of the first port. For example, the second duration is a ratio of the transmission data amount of the first port to the bandwidth value of the first port. Optionally, the second duration can also be referred to as a flow duration.

[0176] Specifically, the first device obtains the transmission data amount of the first port by: obtaining, by the first device, a first data amount of the first port, the first data amount of the first port being a transmission data amount of the first port at a start time of the detection duration; obtaining, by the first device, a second data amount of the first port, the second data amount of the first port being a transmission data amount of the first port at an end time of the detection duration; and determining, by the first device, the transmission data amount of the first port according to a subtraction of the second data amount from the first data amount. Optionally, the transmission data amount of the first port can be replaced by a data flow of the first port.

[0177] It should be noted that the first device determines the detection duration of the first duration and the detection duration of the second duration in the same way. In other words, the first device determines the first duration and the second duration of the first port in the same duration, and then determines the network detection result of the first port.

[0178] In the embodiments of the present application, the network detection result includes one or more of the following: the ratio of the first duration to the second duration, the first difference, or the ratio of the first difference to the second difference. The first difference is the difference between the first duration determined in the second detection duration and the first duration determined in the first detection duration, and the second detection duration is later than the first detection duration. The ratio of the first difference to the second difference, and the second difference is the start time of the second detection duration minus the end time of the first detection duration. The first difference reflects the growth of the first duration, and the ratio of the first difference to the second difference reflects the growth ratio of the first duration.

[0179] In an example, the first duration is 3 seconds, the second duration is 5 seconds, and the network detection result is the ratio of the first duration to the second duration, and the network detection result is 3 / 5.

[0180] In another example, in the first detection duration, the first duration is 3 seconds, and the second duration is 5 seconds; in the second detection duration, the first duration is 4 seconds, and the second duration is 4 seconds. The network detection result is the first difference, and the network detection result is 1 second.

[0181] In another example, in the first detection duration, the first duration is 3 seconds, and the second duration is 5 seconds; in the second detection duration, the first duration is 4 seconds, and the second duration is 4 seconds, and the second difference is 10 seconds. The network detection result is the ratio of the first difference to the second difference, and the network detection result is 1 / 10.

[0182] Optionally, the granularity of the network detection result can be port level, priority queue level, or node level. When the granularity of the network detection result is the priority queue level, the network detection result indicates the congestion degree of one or more priority queues in the first port, for example, the network detection result indicates the congestion degree of the first priority queue in the first port. When the granularity of the network detection result is the node level, the network detection result indicates the congestion degree of the node, for example, the network detection result indicates the congestion degree of the first device. The network detection result can also indicate the congestion degree of one or more ports in the node, for example, the network detection result indicates the congestion degree of the first port included in the first device.

[0183] Taking the network detection result of the first priority queue as an example, the specific method of determining the network detection result of the first priority queue is similar to the method of determining the network detection result of the first port, which will not be repeated here.

[0184] Exemplarily, the network detection result of the first priority queue is determined by: obtaining a second time length of the first priority queue, the second time length of the first priority queue indicating a time length during which the first priority queue transmits data; and determining the network detection result of the first priority queue according to the first time length and the second time length of the first priority queue, the network detection result of the first priority queue indicating a congestion degree of the first priority queue.

[0185] S5, adjusting a routing and forwarding strategy of the data flow carried by the first port according to the network detection result of the first port.

[0186] In step S5, after the first device determines the network detection result of the first port, the first device can adjust the routing and forwarding strategy of the data flow carried by the first port according to the network detection result of the first port. The routing and forwarding strategy can also be referred to as a routing strategy, a forwarding strategy, a routing rule, a forwarding rule or a forwarding path, and the embodiments of the present application do not limit this.

[0187] In a possible implementation, when the network detection result of the first port satisfies a first condition, a second port is determined, the congestion degree of the second port is lower than that of the first port, and the priority of the second port is equal to that of the first port. Exemplarily, taking the network detection result as a ratio of the first time length to the second time length as an example, the first condition is that the network detection result is greater than or equal to 50%. When the network detection result is greater than or equal to 50%, the first device adjusts the routing and forwarding strategy of the data flow carried by the first port; and when the network detection result is less than 50%, the first device does not adjust the routing and forwarding strategy of the data flow carried by the first port. In other words, after the first device determines that the first port is a heavy load port or a congested port, the first device can migrate the data flow carried by the first port to other light load ports or non-congested ports for transmission.

[0188] In another possible implementation, the first device can also adjust the routing and forwarding strategy of the data flow carried by the first priority queue according to the network detection result of the first priority queue. For example, when the network detection result of the first priority queue satisfies a second condition, a second priority queue is determined, the congestion degree of the second priority queue is lower than that of the first priority queue; and the data flow carried by the first priority queue is migrated to the second priority queue, and the data flow is transmitted by the second priority queue after the migration. The second condition is similar to the first condition, and details are not described herein.

[0189] In another possible implementation, the first device includes a correspondence between the ingress port and the egress port, and for a packet received from the ingress port, the packet is forwarded from the corresponding egress port in the correspondence. In this case, the first port is the egress port of the packet, or the first priority queue is the priority queue of the egress port of the packet. The first device adjusts the correspondence between the ingress port and the egress port according to the network detection result of the first port or the first priority queue of the first port. For example, when the network detection result corresponding to the first port does not satisfy the first condition, or the network detection result corresponding to the first priority queue of the first port does not satisfy the second condition, the correspondence between the ingress port and the egress port included in the first device is that the second port corresponds to the first port, that is, the data stream received from the second port is forwarded from the first port. When the network detection result corresponding to the first port satisfies the first condition, or the network detection result corresponding to the first priority queue of the first port satisfies the second condition, the correspondence between the ingress port and the egress port included in the first device is updated to that the second port corresponds to the third port, that is, the data stream received from the second port is forwarded from the third port, and the congestion degree of the third port is smaller than that of the first port. Optionally, the first condition and / or the second condition can be configured by the first device itself, or can be configured by a network manager or a network analyzer, and the embodiments of the present application do not limit this.

[0190] Optionally, the network detection result of the first port can further include a first time length of the first port in a time period, or a sum of the first time lengths of the first port in a time period. As shown in FIG. 11, FIG. 11 is a schematic diagram of a PFC back pressure scenario according to an embodiment of the present application. In one example, the network detection result of the first port includes a first time length 1, a first time length 2, and a first time length 3, where the first time length 1 corresponds to an XOFF back pressure frame 1 and an XON back pressure frame 1, the first time length 2 corresponds to an XOFF back pressure frame 2 and an XON back pressure frame 2, and the first time length 3 corresponds to an XOFF back pressure frame 3 and an XON back pressure frame 3. In another example, the network detection result of the first port includes a sum of the first time length 1, the first time length 2, and the first time length 3.

[0191] Optionally, after the first device determines the network detection result of the first port (or the network detection result of the first priority queue), the first device can further send indication information to other nodes, where the indication information is used to instruct the other nodes to adjust a routing and forwarding strategy of the data stream borne by the first port. The other nodes include an upstream node of the first device, for example, the second device.

[0192] In a possible implementation, the data stream carried by the first port is forwarded based on the first forwarding path, i.e., the first forwarding path passes through the first port. The first device sends the indication information to the second device, where the indication information is specifically used to indicate that the data stream carried by the first forwarding path is migrated to a second forwarding path, and the congestion degree of the second forwarding path is lower than that of the first forwarding path. The first device can calculate the second forwarding path by itself, and then notify the second device of the second forwarding path through the indication information. The first device can also notify the second device of the need to determine a second forwarding path with a lower congestion degree through the indication information, and use the second forwarding path to send the data stream carried by the first forwarding path.

[0193] In another possible implementation, the second device is an upstream node of the first device, and the second device performs load sharing based on a first port group, where the first port group includes one or more ports, and the first port group includes an upstream port of the first port (for example, the first port is port 1 of the first device, and the upstream port of the first port is port 2 of the second device, and the port 2 of the second device is an upstream port of the port 1 of the first device). For example, the second device performs Equal-Cost Multi-Path (ECMP) hash routing based on the one or more ports included in the first port group, and performs load sharing (or load balancing) processing on the data stream. The second device determines a traffic proportion of each port in the first port group for forwarding the data stream, and forwards the data stream through the first port group to implement load sharing. Since the network detection result of the first port indicates that the first port is congested, the second device determines a second port group, where the second port group includes one or more ports. When the second device performs load sharing based on the second port group, the traffic of the first port is less than that when the second device performs load sharing based on the first port group. In one example, the second port group does not include the upstream port of the first port, i.e., the second device avoids the forwarding path of the congested first port to perform load sharing. In another example, the second port group includes the same ports as the first port group, but the traffic proportion of each port in the second port group is different from that of each port in the first port group, and the traffic proportion of the upstream port of the first port in the second port group is reduced.

[0194] Of course, after receiving the indication information, the second device can also adjust the routing and forwarding strategy of the data stream in the manner of adjusting the correspondence between the ingress port and the egress port by the first device, which will not be described herein again.

[0195] Optionally, the first device can also report the first time length of the first port, the second time length of the first port, and / or the network detection result of the first port to a third device (a network manager), so that the third device determines the routing and forwarding strategy.

[0196] Optionally, the first device can further report the network detection result of the first port to the third device when the network detection result of the first port satisfies the first condition, so that the third device updates the routing forwarding strategy according to the network detection result of the first port.

[0197] Optionally, the first device can further report the first time length of the first priority queue, the second time length of the first priority queue, and / or the network detection result of the first priority queue to the third device (network manager), so that the third device determines the routing forwarding strategy.

[0198] Optionally, the first device can further report the network detection result of the first priority queue to the third device when the network detection result of the first priority queue satisfies the first condition, so that the third device updates the routing forwarding strategy according to the network detection result of the first priority queue.

[0199] In the embodiments of the present application, the first device can determine the first time length during which the first port truly stops sending data in response to the PFC backpressure frame, and provide a new quantitative index to accurately identify the node in the network that causes congestion, thereby improving network planning effect and communication efficiency. Based on the first time length, the first device can determine the amount of data that the first port truly stops sending in response to the PFC backpressure frame, so as to accurately identify the congestion degree of the first port. In addition, the first device can adjust the routing forwarding strategy of the first port according to the first time length or the network detection result of the first port based on the first time length, adjust the routing forwarding strategy of data based on the high-accuracy network congestion result, and improve communication performance.

[0200] In combination with the foregoing embodiments, some application scenarios related to the embodiments of the present application will be introduced next. Please refer to FIG. 12, which is a schematic diagram of an application scenario in the embodiments of the present application. One application scenario proposed in the embodiments of the present application includes: the Leaf node 2 as the first device, and the data flow carried by the first port of the Leaf node 2 locally is forwarded in the forwarding path: Leaf node 2→Spine node 1→Leaf node 3. The Leaf node 2 adjusts the routing forwarding strategy according to the first time length of the first port (or the network detection result of the first port): when the Leaf node 2 determines that the first time length of the first port exceeds the threshold value, or the network detection result of the first port satisfies the first condition, the Leaf node 2 switches the data flow to be sent through the second port. After the switching, the data flow is forwarded in the forwarding path: Leaf node 2→Spine node 2→Leaf node 3.

[0201] Please refer to FIG. 13, which is a schematic diagram of another application scenario in the embodiments of the present application. The application scenario provided in the embodiments of the present application includes: the Spine node 2 as the first device, the Leaf node 1 as the second device, and the Leaf node 1 as the upstream node of the Spine node 2. The data stream borne by the first port of the Spine node 2 is forwarded in the forwarding path: Leaf node 1→Spine node 2→Leaf node 3. The Spine node 2 determines that the first port is congested according to the first time length of the first port (or the network detection result of the first port). The Spine node 2 sends indication information to the Leaf node 1, and the indication information is used to instruct the Leaf node 1 to adjust the routing and forwarding strategy of the data stream. The Leaf node 1 takes the forwarding path: Leaf node 1→Spine node 2→Leaf node 3 as the first forwarding path. Since the indication information indicates that the first port of the Spine node 2 is congested, the Leaf node 1 determines to use the second forwarding path to forward the data stream, and the second forwarding path is: Leaf node 1→Spine node 1→Leaf node 3. The Leaf node 1 determines the second forwarding path according to the indication information, and the second forwarding path bypasses the congested Spine node 2.

[0202] Please refer to FIG. 14, which is a schematic diagram of another application scenario in the embodiments of the present application. The application scenario provided in the embodiments of the present application includes: the network manager as the third device, the network manager managing N nodes in total, N being a positive integer, and the nodes 1 to N as the first devices. The method corresponding to the application scenario is as follows:

[0203] D1, the first device reports the first time length, the second time length, and / or the network detection result to the third device.

[0204] In step D1, after the nodes 1 to N determine the first time length, the second time length, and / or the network detection result, the nodes 1 to N report the above information to the third device. The first time length, the second time length, and / or the network detection result can be in the granularity of a port, the granularity of a priority queue, or the granularity of a node, and the embodiments of the present application do not limit this.

[0205] D2, the third device determines the routing and forwarding strategy according to the first time length, the second time length, and / or the network detection result.

[0206] In step D2, the third device determines the routing and forwarding strategy according to the network detection result reported by the first device. When the first device reports the first time length and the second time length, the third device determines the network detection result according to the first time length and the second time length, and then determines the routing and forwarding strategy according to the network detection result. Alternatively, the third device determines the routing and forwarding strategy according to the first time length.

[0207] Taking the network detection result of port granularity as an example, the third device can determine which ports in the node are in the congestion state according to the network detection result of port granularity reported by the node. Taking the network detection result of priority queue granularity as an example, the third device can determine which priority queue of which port in the node is in the congestion state according to the network detection result of priority queue granularity reported by the node.

[0208] The third device can determine the routing and forwarding strategy of the data flow in the network based on the network detection result of the node 1 to the node N. For example, the routing and forwarding strategy is used to perform migration of the data flow to bypass the port or node in the congestion state. For another example, the routing and forwarding strategy is used to perform migration of the data flow to use the priority queue in the non-congestion state to forward the data flow. Optionally, the routing and forwarding strategy indicates that the data flow is migrated between the priority queues of the same priority.

[0209] In a possible implementation, the third device obtains the first time length of the one or more first ports. When the first time length of any one or more of the one or more first ports satisfies a third condition, the routing and forwarding strategy is updated. The third condition is, for example, that the first time length is greater than or equal to a first threshold.

[0210] In another possible implementation, the third device obtains the first time length of the one or more first ports. When the number of the first ports satisfying the third condition is greater than or equal to a second threshold, or the proportion of the first ports satisfying the third condition is greater than or equal to a third threshold, it means that the congestion degree of the current network is relatively serious, and the forwarding path of the data needs to be re-planned, and the third device triggers to update the routing and forwarding strategy.

[0211] In another possible implementation, the third device obtains the network detection result of the one or more first ports. When the network detection result of any one or more of the one or more first ports satisfies a first condition, the routing and forwarding strategy is updated.

[0212] In another possible implementation, the third device obtains the network detection result of the one or more first ports. When the number of the first ports satisfying the first condition is greater than or equal to a fourth threshold, or the proportion of the first ports satisfying the first condition is greater than or equal to a fifth threshold, it means that the congestion degree of the current network is relatively serious, and the forwarding path of the data needs to be re-planned, and the third device triggers to update the routing and forwarding strategy.

[0213] The updated routing and forwarding strategy indicates that the data flow bypasses the node, port or priority queue in the congestion state. Or the updated routing and forwarding strategy minimizes the congestion degree of the network as a whole.

[0214] For example, the third device counts a first duration of ports of each node in the network or detects a network result. Then it determines which ports are in a congestion state or which nodes are in a congestion state. The third device obtains a data flow carried by the ports in the congestion state, for example, obtains packet characteristic information (five tuple information) of the data flow. The third device re-executes path planning for the data flow, and the updated routing and forwarding strategy indicates that the data flow migrates to a port in a non-congestion state for forwarding.

[0215] In step D2, a possible implementation manner is as follows: the third device obtains network topology information indicating a connection relationship between one or more communication devices. The third device obtains communication relationship information of the second data flow, the communication relationship information indicating a source address and a destination address of the second data flow, the second data flow including one or more data flows. The third device determines a routing and forwarding strategy according to the network topology information and the communication relationship information of the second data flow. In the process of determining the routing and forwarding strategy, or updating the routing and forwarding strategy, the third device can further obtain a first duration, a second duration, and / or a network detection result of the one or more communication devices. The third device determines or updates the routing and forwarding strategy according to the first duration, the second duration, and / or the network detection result of the one or more communication devices.

[0216] For example, the second data flow corresponds to one or more AI collective communication tasks, for example, a training task of a neural network model executed by a computing cluster, or a model inference task of a neural network model.

[0217] Further optionally, in the process of determining or updating the routing and forwarding strategy by the third device, the third device can further determine or update the routing and forwarding strategy according to communication domain information. The communication domain information indicates a communication domain used to execute the one or more AI collective communication tasks, each communication domain including one or more communication devices and computing devices corresponding to the one or more communication devices. For example, communication domain 1 includes switch 1, switch 2, and switch 3, wherein switch 3 is a spine node, switch 1 is a leaf node, switch 2 is a leaf node, and switch 1 and switch 2 are connected to switch 3. Switch 1 is connected to host cluster 1, and switch 2 is connected to host cluster 2, host cluster 1 including one or more computing devices, and host cluster 2 including one or more computing devices.

[0218] D3, the third device issues the routing and forwarding strategy to the first device.

[0219] By the method, the third device can continuously acquire the first duration or the network detection result related to the first device, and the first duration or the network detection result reflects whether the first device is in a congestion state. Then, the routing forwarding strategy is updated based on the first duration or the network detection result, an optimization target of minimizing the overall network congestion degree is achieved, the network congestion is reduced, the overall network transmission efficiency is improved, and the network performance is improved.

[0220] The communication device of the embodiment of the present application is introduced below, and the communication device introduced below has any function of the first device, the second device or the third device in the method embodiment.

[0221] FIG. 15 is a structural schematic diagram of a communication device 1500 provided by the embodiment of the present application. As shown in FIG. 15, the communication device 1500 includes a processing module 1502 configured to perform steps S1-S5. A transceiver module 1501 is configured to perform step D1 or step D3; and the processing module 1502 is configured to perform step D2.

[0222] In an example, the communication device 1500 is applied to the first device, and the communication device 1500 includes:

[0223] The processing module 1502 is configured to determine a first time point at which a first back pressure frame is received, and the first back pressure frame is used to instruct the first port to stop sending data.

[0224] The processing module 1502 is further configured to determine a second time point at which a second back pressure frame is received, and the second back pressure frame is used to instruct the first port to resume sending data.

[0225] The processing module 1502 is further configured to determine a first duration of the first port according to the first time point and the second time point, and the first duration of the first port indicates a duration during which the first port stops sending data in response to the first back pressure frame.

[0226] In a possible implementation, the first back pressure frame and the second back pressure frame are pause frames.

[0227] In a possible implementation, the first back pressure frame is a priority-based flow control (PFC) back pressure frame, and the second back pressure frame is a PFC back pressure stop frame.

[0228] In a possible implementation, the processing module 1502 is further configured to acquire a second duration of the first port, and the second duration of the first port indicates a duration during which the first port sends data.

[0229] The processing module 1502 is further configured to determine a network detection result of the first port according to the first time length of the first port and the second time length of the first port, the network detection result of the first port indicating a congestion degree of the first port.

[0230] In a possible implementation, the processing module 1502 is further configured to determine a second port when the network detection result of the first port satisfies a first condition, the congestion degree of the second port being lower than that of the first port, and the priority of the second port being equal to that of the first port.

[0231] The processing module 1502 is further configured to migrate a data stream carried by the first port to the second port, and transmit the data stream by the second port after the migration.

[0232] In a possible implementation, the processing module 1502 is further configured to obtain a bandwidth value of the first port.

[0233] The processing module 1502 is further configured to obtain a transmission data amount of the first port.

[0234] The processing module 1502 is further configured to determine the second time length of the first port according to the transmission data amount of the first port and the bandwidth value of the first port.

[0235] In a possible implementation, the detection time length for determining the first time length of the first port is the same as the detection time length for determining the second time length of the first port.

[0236] In a possible implementation, the processing module 1502 is further configured to obtain a first data amount of the first port, the first data amount of the first port being a transmission data amount of the first port at a start time of the detection time length.

[0237] The processing module 1502 is further configured to obtain a second data amount of the first port, the second data amount of the first port being a transmission data amount of the first port at an end time of the detection time length.

[0238] The processing module 1502 is further configured to determine the transmission data amount of the first port according to the second data amount minus the first data amount.

[0239] In a possible implementation, the first time length is used to indicate a time length during which a first priority queue of the first port stops sending data in response to the first back pressure frame.

[0240] In a possible implementation, the first time length is further used to indicate a time length from the first time to the second time.

[0241] In a possible implementation, the processing module 1502 is further configured to acquire a second time length of the first priority queue, where the second time length of the first priority queue indicates a time length during which the first priority queue transmits data.

[0242] The processing module 1502 is further configured to determine a network detection result of the first priority queue according to the first time length of the first priority queue and the second time length of the first priority queue, where the network detection result of the first priority queue indicates a congestion degree of the first priority queue.

[0243] In a possible implementation, the processing module 1502 is further configured to determine a second priority queue when the network detection result of the first priority queue satisfies a second condition, where a congestion degree of the second priority queue is lower than that of the first priority queue, and a priority of the second priority queue is equal to that of the first priority queue.

[0244] The processing module 1502 is further configured to migrate a data flow carried by the first priority queue to the second priority queue, and transmit the data flow by the second priority queue after the migration.

[0245] In a possible implementation, the processing module 1502 is further configured to acquire a bandwidth value of the first priority queue.

[0246] The processing module 1502 is further configured to acquire a transmission data amount of the first priority queue.

[0247] The processing module 1502 is further configured to determine the second time length of the first priority queue according to the transmission data amount of the first priority queue and the bandwidth value of the first priority queue.

[0248] In a possible implementation, the network detection result includes one or more of the following:

[0249] A ratio of the first time length to the second time length;

[0250] A first difference, where the first difference is a difference between the first time length determined in a second detection time length and the first time length determined in a first detection time length, and the second detection time length is later than the first detection time length;

[0251] Or, a ratio of the first difference to a second difference, where the second difference is a difference between a start time of the second detection time length and an end time of the first detection time length.

[0252] In a possible implementation, the transceiver 1501 is configured to send indication information according to the first time length of the first port, where the indication information is used to adjust a routing and forwarding policy of a data stream carried by the first port.

[0253] In a possible implementation, the transceiver 1501 is further configured to send indication information according to the network detection result of the first port, where the indication information is used to adjust a routing and forwarding policy of a data stream carried by the first port.

[0254] In a possible implementation, the indication information is specifically used to indicate that a data stream carried by a first forwarding path is migrated to a second forwarding path, the first forwarding path passes through the first port, and a congestion degree of the second forwarding path is lower than a congestion degree of the first forwarding path.

[0255] In a possible implementation, the indication information is specifically used to indicate that a data stream based on a first port group for load sharing is adjusted to be based on a second port group for load sharing, the first port group includes an upstream port of the first port, and a traffic of the first port based on the second port group for load sharing is less than a traffic of the first port based on the first port group for load sharing.

[0256] In yet another example, the communication apparatus 1500 is applied to a second device, and the communication apparatus 1500 includes:

[0257] The transceiver 1501 is configured to receive indication information from a first device, where the indication information is used to adjust a routing and forwarding policy of a data stream carried by a first port, the indication information is obtained based on a first time length of the first port or based on a network detection result of the first port, the first time length of the first port indicates a time length during which the first port stops sending data in response to a first back pressure frame, and the network detection result of the first port indicates a congestion degree of the first port.

[0258] The processing module 1502 is configured to adjust, according to the indication information, the routing and forwarding policy of the data stream carried by the first port.

[0259] In a possible implementation, the processing module 1502 is further configured to determine, according to the indication information, a congestion degree of a first forwarding path, where the first forwarding path passes through the first port.

[0260] The processing module 1502 is further configured to forward a data stream carried by the first forwarding path through a second forwarding path, where a congestion degree of the second forwarding path is lower than the congestion degree of the first forwarding path.

[0261] In a possible implementation, the processing module 1502 is further configured to determine a congestion level of a first port group according to the indication information, the first port group including one or more ports, the first port group including upstream ports of the first port, the first port group being used to perform load sharing of a first data flow, the first data flow including a data flow carried by the first port, the first data flow being a third port at an ingress port of the second device, the first port group having a mapping relationship with the third port based on the first port group performing load sharing of the first data flow.

[0262] The processing module 1502 is further configured to determine a second port group, the second port group including one or more ports, the congestion level of the second port group being lower than the congestion level of the first port group.

[0263] The processing module 1502 is further configured to perform load sharing of the first data flow using the second port group, the second port group having a mapping relationship with the third port based on the second port group performing load sharing of the first data flow.

[0264] In a possible implementation, the second port group does not include the upstream ports of the first port.

[0265] Alternatively, the second port group includes the upstream ports of the first port, and a traffic proportion of the upstream ports of the first port in the second port group is less than a traffic proportion of the upstream ports of the first port in the first port group.

[0266] In a possible implementation, the second device is an upstream node of the first device.

[0267] In yet another example, the communication device 1500 is applied to a third device, and the communication device 1500 includes:

[0268] The processing module 1502 is configured to obtain a first time length of one or more first ports, the first time length of the first port indicating a time length during which the first port stops sending data in response to a first back pressure frame.

[0269] The processing module 1502 is further configured to determine a routing and forwarding strategy according to the first time length of the one or more first ports.

[0270] In a possible implementation, the processing module 1502 is further configured to obtain a second time length of the one or more first ports, the second time length of the first port indicating a time length during which the first port sends data.

[0271] The processing module 1502 is further configured to determine a network detection result of the one or more first ports according to the first time length of the one or more first ports and the second time length of the one or more first ports, the network detection result of the first port indicating a congestion degree of the first port.

[0272] The processing module 1502 is further configured to determine the route forwarding strategy according to the network detection result of the first port.

[0273] In a possible implementation, the processing module 1502 is further configured to update the route forwarding strategy when the first time length of any one or more of the one or more first ports satisfies a third condition.

[0274] In a possible implementation, the processing module 1502 is further configured to update the route forwarding strategy when the network detection result of any one or more of the one or more first ports satisfies a first condition.

[0275] In a possible implementation, the third device is a network manager that manages the first device.

[0276] The communication device 1500 can correspond to the first device, the second device or the third device in the above-described method embodiments, and each unit in the communication device 1500 and the above-described other operations and / or functions are respectively used to implement various steps and methods performed by the first device, the second device or the third device in the method embodiments, and specific details can be referred to the above-described method embodiments, which will not be described here in detail for the sake of brevity.

[0277] The communication device 1500 is only exemplified by the above-described division of each functional module when processing a packet, and in actual applications, the above-described functions can be completed by different functional modules according to needs, that is, the internal structure of the communication device 1500 is divided into different functional modules to complete all or part of the above-described functions. In addition, the communication device 1500 provided by the above-described embodiments and the above-described embodiment methods corresponding to FIG. 10-FIG. 14 belong to the same concept, and the specific implementation process is described in the above-described method embodiments, which will not be described here in detail.

[0278] In order to implement the above-described embodiments, the present application further provides a communication device. As shown in FIG. 16, FIG. 16 is a structural schematic diagram of a communication device 1600 according to an embodiment of the present application.

[0279] The communication apparatus 1600 shown in Figure 16, although including certain specific features, those skilled in the art will appreciate from the embodiments disclosed herein that, in the interest of brevity, numerous other features are omitted from Figure 16 so as not to obscure the relevant aspects of the embodiments disclosed herein. To that end, by way of example, in some implementations the communication apparatus 1600 includes one or more processing units (e.g., CPUs) 1601, network interfaces 1602, programming interfaces 1603, memory 1604, and one or more communication buses 1605 for interconnecting these and various other components. In other implementations, the communication apparatus 1600 can also omit, add or

[0280] In some implementations, the network interfaces 1602 are used to connect the communication apparatus 1600 to one or more other communication apparatuses / servers in a communication system. In some implementations, the communication buses 1605 include circuitry that interconnects and controls communications between system components. The memory 1604 can include nonvolatile memory, e.g., read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically EPROM (EEPROM), or flash memory. The memory 1604 can also include volatile memory, which can be random access memory (RAM) used as external cache.

[0281] In some implementations, the memory 1604 or the non-transitory computer-readable storage medium of the memory 1604 stores the following programs, modules, and data structures, or a subset thereof, such as including a transceiver (not shown in the figure), an obtaining unit 16041, and a processing unit 16042.

[0282] In one possible embodiment, the communication apparatus 1600 can have any of the functions of the first apparatus, the second apparatus, or the third apparatus in the method embodiments corresponding to Figures 10-14 described above.

[0283] It should be understood that the communication apparatus 1600 corresponds to the first apparatus, the second apparatus, or the third apparatus in the method embodiments described above, and each module in the communication apparatus 1600 and the other operations and / or functions described above are respectively used to implement the various steps and methods performed by the first apparatus, the second apparatus, or the third apparatus in the method embodiments described above, and the specific details can be referred to the method embodiments corresponding to Figures 10-14 described above, which will not be repeated here for brevity.

[0284] It should be understood that the application can be implemented by the network interface 1602 on the communication device 1600 to complete the transceiving operation of data, or by the processor to call the program code in the memory and cooperate with the network interface 1602 to implement the function of the transceiving unit when needed.

[0285] In various implementations, the communication device 1600 is configured to execute the method provided by the embodiments of the application, for example, the method corresponding to the embodiments shown in FIGS. 10-14 described above.

[0286] The specific structure of the communication device described in FIG. 16 of the application can be shown in FIG. 17.

[0287] FIG. 17 is a structural schematic diagram of a communication device 1700 provided by an embodiment of the application.

[0288] The communication device 1700 includes a master board 1710 and an interface board 1730.

[0289] The master board 1710 is also called a main processing unit (MPU) or a route processor. The master board 1710 is configured to control and manage various components in the communication device 1700, including route calculation, device management, device maintenance, and protocol processing functions. The master board 1710 includes a central processor 1711 and a memory 1712.

[0290] The interface board 1730 is also called a line processing unit (LPU), a line card, or a service board. The interface board 1730 is configured to provide various service interfaces and implement the forwarding of data packets. The service interfaces include, but are not limited to, Ethernet interfaces, POS (Packet over SONET / SDH) interfaces, and the like. The interface board 1730 includes a central processor 1731, a network processor 1732, a forwarding table item memory 1734, and a physical interface card (PIC) 1733.

[0291] The central processor 1731 on the interface board 1730 is configured to control and manage the interface board 1730 and communicate with the central processor 1711 on the master board 1710.

[0292] The network processor 1732 is configured to implement the forwarding processing of the message. The form of the network processor 1732 can be a forwarding chip.

[0293] The physical interface card 1733 is used to implement the interfacing function of the physical layer, and the original traffic enters the interface board 1730 through the physical interface card 1733, and the processed packet is sent out from the physical interface card 1733. The physical interface card 1733 includes at least one physical interface, which is also called a physical port. The physical interface can be a flexible Ethernet (FlexE) physical interface. The physical interface card 1733, also called a daughter card, can be installed on the interface board 1730 and is responsible for converting the optical and electrical signals into packets and forwarding the packets to the network processor 1732 for processing after performing legality check. In some embodiments, the central processor 1731 of the interface board 1730 can also perform the function of the network processor 1732, such as implementing software forwarding based on a general-purpose CPU, so that the network processor 1732 is not needed in the interface board 1730.

[0294] Optionally, the communication apparatus 1700 includes a plurality of interface boards, for example, the communication apparatus 1700 further includes an interface board 1740. The interface board 1740 includes a central processor 1741, a network processor 1742, a forwarding table item storage 1744, and a physical interface card 1743.

[0295] Optionally, the communication apparatus 1700 further includes a switching network board 1716. The switching network board 1716 can also be called a switch fabric unit (SFU). In the case that the communication apparatus has a plurality of interface boards 1730, the switching network board 1716 is used to complete the data exchange between the interface boards. For example, the interface board 1730 and the interface board 1740 can communicate through the switching network board 1716.

[0296] The main control board 1710 is coupled with the interface boards. For example, the main control board 1710, the interface board 1730, and the interface board 1740, and the switching network board 1716 are connected through a system bus and / or a system backboard to realize intercommunication. In a possible implementation manner, an inter-process communication (IPC) channel is established between the main control board 1710 and the interface board 1730, and the main control board 1710 and the interface board 1730 communicate through the IPC channel.

[0297] In logic, the communication apparatus 1700 comprises a control plane and a forwarding plane, the control plane comprises the main control board 1710 and the central processor 1731, and the forwarding plane comprises various components performing forwarding, such as the forwarding table item memory 1734, the physical interface card 1733 and the network processor 1732. The control plane performs functions such as issuing routes, generating forwarding tables, processing signaling and protocol packets, configuring and maintaining the state of the device, and the like, and the control plane issues the generated forwarding tables to the forwarding plane, in which the network processor 1732 performs table lookup and forwarding on the packets received by the physical interface card 1733 based on the forwarding tables issued by the control plane. The forwarding tables issued by the control plane can be stored in the forwarding table item memory 1734. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device.

[0298] It should be understood that the transceiving unit in the communication apparatus 1600 can correspond to the physical interface card 1733 or the physical interface card 1743 in the communication apparatus 1700; the obtaining unit 16041 and the processing unit 16042 in the communication apparatus 1600 can correspond to the central processor 1711 or the central processor 1731 in the communication apparatus 1700, and can also correspond to the program code or instructions stored in the memory 1712.

[0299] It should be understood that the operations on the interface board 1740 in the embodiments of the present application are consistent with the operations of the interface board 1730, and for the sake of brevity, will not be described again. It should be understood that the communication apparatus 1700 in the embodiments can correspond to the first device, the second device or the third device in the various method embodiments described above, and the main control board 1710, the interface board 1730 and / or the interface board 1740 in the communication apparatus 1700 can implement the functions possessed by and / or the various steps performed by the first device, the second device or the third device in the various method embodiments described above, and for the sake of brevity, will not be described again.

[0300] It is worth mentioning that the master board can be one or more, and when there are multiple master boards, the master boards can include a main master board and a backup master board. The interface board can be one or more, and the more powerful the data processing capability of the communication device is, the more interface boards are provided. The physical interface card on the interface board can also be one or more. The switching network board can be none or one or more, and when there are multiple switching network boards, the switching network boards can collectively implement load sharing and redundancy. Under the centralized forwarding architecture, the communication device can not need the switching network board, and the interface board can undertake the processing function of the entire system service data. Under the distributed forwarding architecture, the communication device can have at least one switching network board, and the switching network board can be used to realize data exchange between multiple interface boards and provide large-capacity data exchange and processing capability. Optionally, the communication device can also be in the form of only one board card, that is, the functions of the interface board and the master board are integrated on the one board card, and at this time, the central processor on the interface board and the central processor on the master board can be combined into one central processor on the one board card to execute the functions of the two superimposed boards. Which architecture is used depends on the specific network deployment scenario, and is not uniquely limited here.

[0301] In some possible embodiments, the first device, the second device, or the third device described above can be implemented as a virtualized device. The virtualized device can be a virtual machine (VM) running a program for sending a packet, a virtual router, or a virtual switch. The virtualized device is deployed on a hardware device (for example, a physical server). For example, the first device, the second device, or the third device can be implemented based on a general-purpose physical server in combination with a network function virtualization (NFV) technology.

[0302] It should be understood that the communication devices in various product forms described above each have any function of the first device, the second device, or the third device in the method embodiments described above, and details are not repeated here.

[0303] The embodiment of the present application also provides a computer readable storage medium including instructions, when the instructions are run on a computer, the computer controls a computing device to execute any implementation manner of the method embodiments described above.

[0304] The embodiment of the present application also provides a computer program product, the computer program product includes computer program code, when the computer program code is run on a computer, the computer executes any implementation manner of the method embodiments described above.

[0305] Further, the embodiment of the present application further provides a computer program product, when the computer program product runs on a communication device, causes the communication device to execute the method performed by the first device, the second device or the third device in the corresponding method embodiments of FIG. 10-FIG. 14.

[0306] The embodiment of the present application further provides a chip system, comprising a processor and an interface circuit, the interface circuit is used to receive an instruction and transmit to the processor. Wherein, the processor is used to implement the method in any of the method embodiments.

[0307] Optionally, the chip system further comprises a memory, and the processor in the chip system can be one or more. The processor can be implemented by hardware or software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc. When implemented by software, the processor can be a general-purpose processor, which implements the method in any of the method embodiments by reading software codes stored in the memory.

[0308] Optionally, the memory in the chip system can also be one or more. The memory can be integrated with the processor or set separately from the processor, which is not limited in the present application. For example, the memory can be a non-transient processor, such as a read-only memory (ROM), which can be integrated on the same chip as the processor or set on different chips respectively, and the type of the memory and the setting mode of the memory and the processor are not limited in the present application.

[0309] Please refer to FIG. 18, which is a schematic diagram of a communication system 1800 according to an embodiment of the present application. The communication system 1800 comprises a first device 1801, a second device 1802 and a third device 1803. The first device 1801 and the second device 1802 can be physical devices such as routers, switches or gateways, or virtual devices supporting route distribution and message forwarding. The embodiment is not limited to the specific types of the first device 1801 and the second device 1802. The third device 1803 can be a server or a computing device for managing the first device 1801 and the second device 1802. Optionally, the first device 1801 can be the communication device 1500, the communication device 1600 or the communication device 1700. Optionally, the second device 1802 can be the communication device 1500, the communication device 1600 or the communication device 1700. Optionally, the third device 1803 can be the communication device 1500, the communication device 1600 or the communication device 1700.

[0310] The above detailed description of the embodiments of the present application, the steps in the method of the embodiments of the present application can be scheduled, combined or deleted according to actual needs; the modules in the device of the embodiments of the present application can be divided, combined or deleted according to actual needs.

[0311] It should be understood that the "one embodiment" or "an embodiment" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that the size of the sequence number of each process in various embodiments of the present application does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0312] The term "and / or" herein is only a description of the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can represent the three cases of A alone, A and B together, and B alone. In addition, the character " / " herein generally represents that the front and rear associated objects are in an "or" relationship.

[0313] It should be understood that in the embodiments of the present application, "B corresponding to A" means that B is associated with A, and B can be determined according to A. However, it should also be understood that the determination of B according to A does not mean that B is determined only according to A, but B can also be determined according to A and / or other information.

[0314] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system, device and unit described above can refer to the corresponding process in the foregoing method embodiments, which will not be described here.

[0315] In several embodiments provided by the present application, it should be understood that the disclosed system, device and method can be implemented by other manners. For example, the device embodiments described above are only schematic, for example, the division of units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed each other can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0316] The units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, i.e. may be located in one place, or may be distributed to multiple network units. Part or all of the units may be selected according to actual needs to achieve the purpose of the embodiment.

[0317] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

Claims

1. A method for determining the duration for which data transmission is stopped, characterized in that, The method is applied to a first device, and the method includes: Determine the first moment of receiving the first backpressure frame, the first backpressure frame being used to instruct the first port to stop sending data; Determine the second moment when the second anti-pressure frame is received, the second anti-pressure frame being used to instruct the first port to resume transmitting data; Based on the first time and the second time, a first duration of the first port is determined, wherein the first duration of the first port indicates the duration for which the first port stops sending data in response to the first backpressure frame.

2. The method according to claim 1, characterized in that, The method further includes: Obtain the second duration of the first port, where the second duration of the first port indicates the duration for which the first port sends data; Based on the first duration and the second duration of the first port, the network detection result of the first port is determined, and the network detection result of the first port indicates the degree of congestion of the first port.

3. The method according to claim 2, characterized in that, The step of obtaining the second duration of the first port includes: Obtain the bandwidth value of the first port; Obtain the amount of data transmitted at the first port; The second duration of the first port is determined based on the amount of data transmitted at the first port and the bandwidth value of the first port.

4. The method according to claim 1, characterized in that, The first duration is specifically used to indicate the duration for which the first priority queue of the first port stops sending data in response to the first backpressure frame.

5. The method according to claim 4, characterized in that, The method further includes: Obtain the second duration of the first priority queue, whereby the second duration of the first priority queue indicates the duration for which the first priority queue sends data; Based on the first duration and the second duration of the first priority queue, the network detection result of the first priority queue is determined, and the network detection result of the first priority queue indicates the congestion level of the first priority queue.

6. The method according to claim 5, characterized in that, The method further includes: When the network detection result of the first priority queue meets the second condition, a second priority queue is determined, wherein the congestion level of the second priority queue is lower than that of the first priority queue. The data stream carried by the first priority queue is migrated to the second priority queue, and the data stream is then transmitted by the second priority queue.

7. The method according to claim 5 or 6, characterized in that, The step of obtaining the second duration of the first priority queue includes: Obtain the bandwidth value of the first priority queue; Obtain the amount of data transmitted in the first priority queue; The second duration of the first priority queue is determined based on the amount of data transmitted in the first priority queue and the bandwidth value of the first priority queue.

8. The method according to claim 2 or 3, or any one of 5-7, characterized in that, The network detection results include one or more of the following: The ratio of the first duration to the second duration; The first difference is the difference between a first duration determined within a second detection duration and a first duration determined within a first detection duration, wherein the second detection duration is later than the first detection duration. Alternatively, the ratio of the first difference to the second difference, where the second difference is the start time of the second detection duration minus the end time of the first detection duration.

9. The method according to any one of claims 1-8, characterized in that, The first and second reverse pressure frames are pause frames.

10. The method according to any one of claims 1-8, characterized in that, The first backpressure frame is a priority-based flow control (PFC) backpressure frame; The second backpressure frame is a PFC backpressure stop frame.

11. The method according to any one of claims 1-10, characterized in that, The method further includes: Based on the first duration of the first port, an indication message is sent, which is used to adjust the routing and forwarding strategy of the data stream carried by the first port.

12. The method according to any one of claims 4-10, characterized in that, The method further includes: Based on the network detection results of the first port, an indication message is sent, which is used to adjust the routing and forwarding strategy of the data stream carried by the first port.

13. The method according to claim 11 or 12, characterized in that, The indication information is specifically used to instruct the data flow carried by the first forwarding path to migrate to the second forwarding path, wherein the first forwarding path passes through the first port, and the congestion level of the second forwarding path is lower than that of the first forwarding path.

14. The method according to claim 11 or 12, characterized in that, The instruction information is specifically used to instruct the data flow that performs load balancing based on the first port group to be adjusted to perform load balancing based on the second port group. The first port group includes the upstream port of the first port. When the load balancing is performed based on the second port group, the traffic of the first port is less than the traffic of the first port when the load balancing is performed based on the first port group.

15. A method for determining the duration for which data transmission is stopped, characterized in that, The method is applied to a second device, and the method includes: The device receives an indication message from a first device, the indication message being used to adjust the routing and forwarding strategy of the data stream carried by the first port of the first device, the indication message being obtained based on a first duration of the first port, the first duration of the first port indicating the duration for which the first port stops sending data in response to a first backpressure frame; Based on the indicated information, adjust the routing and forwarding strategy of the data stream carried by the first port.

16. The method according to claim 15, characterized in that, Based on the indicated information, adjust the routing and forwarding strategy of the data stream carried by the first port, including: Based on the indicated information, the congestion level of the first forwarding path is determined, and the first forwarding path passes through the first port; The data stream carried by the first forwarding path is forwarded through the second forwarding path, where the congestion level of the second forwarding path is lower than that of the first forwarding path.

17. The method according to claim 15, characterized in that, Based on the indicated information, adjust the routing and forwarding strategy of the data stream carried by the first port, including: Based on the indication information, the congestion level of the first port group is determined. The first port group includes one or more ports. The first port group includes the upstream port of the first port. The first port group is used to perform load balancing of the first data stream. The first data stream includes the data stream carried by the first port. The inlet port of the first data stream in the second device is the third port. When performing load balancing of the first data stream based on the first port group, the first port group and the third port have a mapping relationship. A second port group is determined, which includes one or more ports, and the congestion level of the second port group is lower than that of the first port group; The second port group is used to perform load balancing of the first data stream, and the second port group and the third port have a mapping relationship when performing load balancing of the first data stream based on the second port group.

18. The method according to claim 17, characterized in that, The second port group does not include the upstream port of the first port; Alternatively, the second port group includes the upstream port of the first port, and the traffic proportion of the upstream port of the first port in the second port group is less than the traffic proportion of the upstream port of the first port in the first port group.

19. The method according to any one of claims 15-18, characterized in that, The second device is the upstream node of the first device.

20. A method for determining the duration for which data transmission is stopped, characterized in that, The method is applied to a third device, and the method includes: Obtain a first duration for one or more first ports, wherein the first duration of the first port indicates the duration for which the first port stops sending data in response to a first backpressure frame; A routing and forwarding strategy is determined based on the first duration of one or more of the first ports.

21. The method according to claim 20, characterized in that, Determining the routing forwarding policy based on the first duration of the one or more first ports includes: Obtain a second duration for one or more of the first ports, wherein the second duration of the first port indicates the duration for which the first port sends data; Based on the first duration of the one or more first ports and the second duration of the one or more first ports, a network detection result of the one or more first ports is determined, wherein the network detection result of the first port indicates the degree of congestion of the first port; The routing and forwarding strategy is determined based on the network detection results of the first port.

22. The method according to claim 20 or 21, characterized in that, The method further includes: When the first duration of any one or more of the first ports meets the third condition, the routing and forwarding policy is updated.

23. The method according to claim 21 or 22, characterized in that, The method further includes: When the network detection result of any one or more of the first ports meets the first condition, the routing and forwarding policy is updated.

24. The method according to any one of claims 20-23, characterized in that, The third device is a network manager that manages the first device.

25. A communication device, characterized in that, The device includes multiple functional modules that interact with each other to implement the method as described in any one of claims 1-24.

26. A communication system, characterized in that, The communication system includes a first device, a second device, and / or a third device, wherein the first device is used to perform the method described in any one of the preceding claims 1-14, the second device is used to perform the method described in any one of the preceding claims 15-19, and the third device is used to perform the method described in any one of the preceding claims 20-24.

27. A communication device, characterized in that, It includes a processor and a memory, the memory being used to store program code, and the processor being used to invoke the program code in the memory to cause the communication device to perform the method as described in any one of claims 1-24.

28. A computer-readable storage medium, characterized in that, The system stores instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-24.

29. A computer program product, characterized in that, Includes program code that, when a computer runs the computer program product, causes the computer to perform the method as described in any one of claims 1-24.

Citation Information

Patent Citations

  • Network equipment control method, network transmission method, device and equipment

    CN113300975A

  • Flow control method and device for preventing PFC deadlock and medium

    CN115941599A

  • Flow congestion control method, device and system

    CN118573631A

  • Method and apparatus for QCN-like cross-chip function in multi-stage ethernet switching

    US20160248675A1