Congestion control method and device, computer equipment and storage medium

By monitoring data packet information in real time and combining ECN marking and packet loss rate detection, using window traffic control and priority scheduling algorithms, the congestion control problem of RoCE v2 in complex network environments is solved, and the efficiency and stability of data transmission are achieved.

CN120474978APending Publication Date: 2025-08-12ZHONGKE YIHAI MICROELECTRONICS TECH (CHENGDU) CO LTD

Patent Information

Application Number
CN202510738049.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-04
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

How to effectively control congestion in RoCE v2 in large-scale deployment and complex network environments to avoid performance degradation caused by network congestion.

Method used

The packet information is captured in real time through the packet monitoring module, and the ECN mark detection and packet loss rate detection mechanism of the congestion detection module are used to determine network congestion control, and the congestion feedback module forms a closed-loop control, and the adaptive adjustment module predicts network state changes to avoid congestion.

Benefits of technology

Effectively avoid network congestion and ensure the efficiency and stability of data transmission, especially in large-scale deployment and complex network environments, improving the performance of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120474978A_ABST
    Figure CN120474978A_ABST
Patent Text Reader

Abstract

The congestion control method comprises the following steps: a data packet monitoring module captures and monitors a transmitted data packet in real time, and obtains data packet information; the congestion detection module detects the data packet information according to a preset congestion detection algorithm, judges the congestion condition of the network, and sends a judgment result to the congestion control module; the congestion control module performs congestion control based on a window flow control mechanism and a priority scheduling algorithm; the congestion feedback module sends congestion feedback information to the sending end server, and the sending end server adjusts a sending rate and congestion control parameters according to the congestion feedback information to form closed-loop control; and the adaptive adjustment module adjusts the parameters of the congestion control module based on the change of the network state. According to the method and the device, the captured data packet information is detected, the congestion condition of the network is judged, and congestion control is performed through a window flow control mechanism and a priority scheduling algorithm, so that network congestion is effectively avoided, and high efficiency and stability of data transmission are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of semiconductor technology, and in particular relates to a congestion control method, device, computer equipment and storage medium. Background Art

[0002] RoCE (RDMA over Converged Ethernet) is an Ethernet-based remote direct memory access protocol designed to achieve high-performance, low-latency data transmission over Ethernet networks. RoCE v2 typically resides in the transport layer of the protocol stack, built directly on top of the Internet Protocol (IP). By transmitting RDMA traffic over Ethernet, it achieves low latency and high bandwidth, significantly improving data transmission efficiency. However, RoCE v2 still faces numerous challenges in congestion control, especially in large-scale deployments and complex network environments. Effective congestion control to avoid performance degradation caused by network congestion has become a pressing issue. Summary of the Invention

[0003] The present application provides a congestion control method, apparatus, computer equipment and storage medium, which detect the captured data packet information to determine the network congestion status, and then perform congestion control through a window flow control mechanism and a priority scheduling algorithm, effectively avoiding network congestion and ensuring the efficiency and stability of data transmission.

[0004] Other purposes and advantages of the present invention can be further understood from the technical features disclosed in the present invention.

[0005] To achieve one, part, or all of the above purposes or other purposes, the present invention provides a congestion control method, apparatus, computer device, and storage medium.

[0006] A congestion control method, comprising: The data packet monitoring module captures and monitors the transmitted data packets in real time and obtains data packet information; The congestion detection module detects the data packet information according to a preset congestion detection algorithm, determines the congestion status of the network, and sends the determination result to the congestion control module; The congestion control module performs congestion control based on a window flow control mechanism and a priority scheduling algorithm; The congestion feedback module sends congestion feedback information to the sending server, and the sending server adjusts the sending rate and congestion control parameters according to the congestion feedback information to form a closed-loop control; The adaptive adjustment module adjusts the parameters of the congestion control module based on changes in network status.

[0007] The data packet monitoring module obtains the data packet information transmitted in the network and detects the network data; The data packet information includes the sending time, receiving time and size of the data packet; The network data includes network traffic, data transmission rate and packet loss rate.

[0008] The congestion detection algorithm preset by the congestion detection module includes an ECN mark detection mechanism and a packet loss rate detection mechanism; The ECN flag detection mechanism determines the network congestion status by detecting the ECN flag bit of the data packet. If the ECN flag bit of the data packet is set, the network is determined to be in a congested state, and the judgment result is transmitted to the congestion control module; The packet loss rate detection mechanism is provided with a packet loss rate threshold, and compares the packet loss rate with the preset packet loss rate threshold. If the packet loss rate is greater than the packet loss rate threshold, the network is judged to be in a congested state, and the judgment result is transmitted to the congestion control module.

[0009] The specific process of the congestion control module performing congestion control based on the window flow control mechanism and the priority scheduling algorithm includes: The congestion control module reduces the sending rate of the data packet by dynamically adjusting the size of the sending window. If the network is in a congested state, the sending rate of the data packet is reduced by reducing the sending window. The congestion control module adjusts the output order of the data packets according to the priorities of the data packets, outputting high-priority data packets first, thereby ensuring the transmission quality of key services by reducing the queuing delay and packet loss rate of the high-priority data packets.

[0010] Window-based flow control mechanisms also include: The speed of change of the sending rate of the data packet is controlled by adjusting the adjustment step size of the sending window.

[0011] The priority scheduling algorithm performs differentiated processing on the data packets, wherein the high-priority data packets are used for the critical services and the low-priority data packets are used for ordinary services.

[0012] The congestion control module sends the execution result of the congestion control to the congestion feedback module, and the congestion feedback module feeds back the network congestion status and the execution result of the congestion control as the congestion feedback information to the sending end server in real time.

[0013] The adaptive adjustment module also includes predicting the trend of network status changes through machine learning algorithms to prevent congestion; By pre-adjusting the sending window size and the priority scheduling mechanism, network congestion can be avoided.

[0014] A congestion control device, used to implement the above-mentioned congestion control method, comprising: A data packet monitoring module, which is used to monitor data packets transmitted in the network in real time and obtain data packet information; A congestion detection module, wherein the congestion detection module detects the data packet information through a preset congestion detection algorithm to determine the congestion status of the network; A congestion control module, configured to control the sending rate of data packets and adjust the output order of data packets; A congestion feedback module, configured to send congestion feedback information to a sending server; An adaptive adjustment module, which adjusts the parameters of the congestion control module according to changes in network status and implements congestion prevention by setting a machine learning algorithm; The machine learning algorithm includes a periodic significant traffic prediction model and an LSTM algorithm time series model.

[0015] The sending server interacts with the receiving server through the switch; The sending end server and the receiving end server are both provided with the congestion control device; The sending end server and the receiving end server are both provided with a RoCE network card for interacting with the switch; The switch supports the ECN mechanism, and the data packet is ECN marked on the switch.

[0016] A computer device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above-mentioned congestion control methods when executing the program.

[0017] A computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of any one of the above-mentioned congestion control methods.

[0018] Compared with the prior art, the beneficial effects of the present invention mainly include: This application provides a method for detecting captured data packet information to determine the network congestion status, and then performing congestion control through a window flow control mechanism and a priority scheduling algorithm, thereby effectively avoiding network congestion and ensuring the efficiency and stability of data transmission.

[0019] In order to make the above and other objects, features and advantages of the present invention more clearly understood, preferred embodiments are given below with reference to the accompanying drawings for detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions in the specific embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0021] Figure 1 A flow chart of a congestion control method provided in an embodiment of the present application. DETAILED DESCRIPTION

[0022] The foregoing and other technical aspects, features, and functions of the present invention are clearly presented in the following detailed description of a preferred embodiment with reference to the accompanying drawings. Directional terms such as up, down, left, right, front, and back, used in the following embodiments, are intended solely to refer to the directions in the accompanying drawings. Therefore, the directional terms used are for illustrative purposes only and are not intended to limit the present invention.

[0023] The present application provides a congestion control method, apparatus, computer equipment and storage medium, which detect the captured data packet information to determine the network congestion status, and then perform congestion control through a window flow control mechanism and a priority scheduling algorithm, effectively avoiding network congestion and ensuring the efficiency and stability of data transmission.

[0024] The following detailed description of the various embodiments of the present application is provided in conjunction with the accompanying drawings. However, those skilled in the art will appreciate that many technical details are provided in the various embodiments of the present application to facilitate a better understanding of the present application. However, even without these technical details and the various variations and modifications based on the following embodiments, the technical solutions claimed in the present application can still be implemented.

[0025] Example 1 like Figure 1 As shown, a congestion control method includes: The data packet monitoring module captures and monitors the transmitted data packets in real time and obtains data packet information; The congestion detection module detects the data packet information according to the preset congestion detection algorithm, determines the congestion status of the network, and sends the judgment result to the congestion control module; The congestion control module performs congestion control based on the window flow control mechanism and priority scheduling algorithm; The congestion feedback module sends congestion feedback information to the sending server, and the sending server adjusts the sending rate and congestion control parameters based on the congestion feedback information to form a closed-loop control; The adaptive adjustment module adjusts the parameters of the congestion control module based on changes in network status.

[0026] A congestion control method provided in this application is a software method for implementing RDMA over ConvergedEthernet (RoCE) v2 congestion control, which is described below using a specific example: In a data center network environment, a network architecture based on RoCE v2 is deployed. The network includes multiple server nodes and switch nodes, and the congestion control method provided in this application is deployed on each server node.

[0027] When congestion occurs on a link in the network, the packet monitoring module captures and monitors the transmitted data packets in real time to obtain packet information. The congestion detection module detects that the ECN flag bit in the data packet is set or the packet loss rate exceeds the preset threshold. Subsequently, the congestion control module is triggered to perform congestion control based on the window flow control mechanism and priority scheduling algorithm. The congestion feedback module sends the network congestion status and the execution results of congestion control to the sending server. The sending server adjusts the sending rate and congestion control parameters based on the feedback information, forming a closed-loop control. The adaptive adjustment module dynamically adjusts the congestion control parameters based on changes in network status.

[0028] Specifically, the packet monitoring module captures and analyzes RoCE v2 packets in the network in real time by deploying a monitoring program on network nodes (such as switches, routers, or server network cards). The monitoring program records information such as the sending time, receiving time, and size of the packets, and also counts key indicators such as network traffic and packet loss rate. The congestion detection module uses a preset congestion detection algorithm to determine the network congestion status based on the monitored data packet information. The preset congestion detection algorithm of the congestion detection module includes an ECN mark detection mechanism and a packet loss rate detection mechanism. The ECN mark detection mechanism determines the network congestion status by detecting the ECN (Explicit Congestion Notification) of the data packet. If the ECN mark bit of the data packet is set, the network is judged to be in a congested state and the judgment result is transmitted to the congestion control module. The packet loss rate detection mechanism is set with a packet loss rate threshold. The packet loss rate is compared with the preset packet loss rate threshold. If the packet loss rate is greater than the packet loss rate threshold, the network is judged to be in a congested state and the judgment result is transmitted to the congestion control module. When the network is detected to be in a congested state, the congestion control module is triggered. The congestion control module reduces the data packet sending rate by dynamically adjusting the size of the sending window. If the network is in a congested state, the sending rate of the data packet is reduced by reducing the sending window. Specifically, when congestion is detected, the sender reduces the sending window to reduce the amount of data injected into the network. The adjustment step size of the window size can be dynamically adjusted according to the degree of network congestion. In addition, the congestion control module adjusts the output order of the data packets according to their priority (high-priority data packets are used for critical services, and low-priority data packets are used for ordinary services). High-priority data packets are output first, ensuring the transmission quality of critical services by reducing the queuing delay and packet loss rate of high-priority data packets. The congestion feedback module establishes a feedback channel to provide real-time feedback on network congestion conditions and congestion control execution results to the sending server. The sending server further adjusts the sending rate and congestion control parameters based on this feedback, forming a closed-loop control. Specifically, when the receiving server detects network congestion, it can notify the sending server by sending an ICMP (Internet Control Message Protocol) message or other feedback mechanism. After receiving the feedback, the sending server will adjust the sending window size and sending rate based on the information content. The adaptive adjustment module adjusts the parameters of the congestion control module based on changes in network status. For example, when network congestion is low, a smaller window adjustment step size can be used to maintain a high data transmission rate. However, when network congestion is high, a larger window adjustment step size is required to quickly reduce the packet transmission rate.

[0029] In addition, the adaptive adjustment module uses machine learning algorithms to predict the changing trends of network status. By learning and analyzing historical traffic data, it predicts the changing trends of network traffic in the future and prevents congestion in advance. For example, when it is predicted that network traffic is about to reach a bottleneck, the size of the sending window and the priority scheduling mechanism are adjusted in advance to avoid network congestion. The machine learning algorithm can use periodic obvious traffic prediction and the timing model of the LSTM algorithm. By collecting data such as throughput, delay, packet loss rate, bandwidth utilization, queue length, time, number of users, application type, protocol, etc., the sliding window, node link load, and data packet size distribution are statistically constructed to construct timing, topology, business and other characteristics, and then predict whether congestion will occur in a certain time period in the future.

[0030] Example 2 Embodiment 2 of the present application provides a congestion control device, which is used to implement the steps of the above-mentioned congestion control method, including: Data packet monitoring module, which is used to monitor data packets transmitted in the network in real time and obtain data packet information; Congestion detection module, the congestion detection module detects data packet information through a preset congestion detection algorithm to determine the congestion status of the network; Congestion control module, which is used to control the sending rate of data packets and adjust the output order of data packets; Congestion feedback module, the congestion feedback module is used to send congestion feedback information to the sending server; Adaptive adjustment module,The adaptive adjustment module adjusts the parameters of the congestion control module according to changes in network status, and implements congestion prevention by setting a machine learning algorithm.

[0031] Specifically, if Figure 1 As shown, both the sending server and the receiving server are provided with a congestion control device, and both the sending server and the receiving server are provided with a RoCE network card, which is used for data interaction with the switch.

[0032] As a preferred embodiment of the present invention, the switch in this embodiment supports the ECN mechanism, and the data packets are ECN marked on the switch.

[0033] Example 3 Embodiment 3 of the present application provides a computer device that implements the steps of the above-mentioned congestion control method. The computer device may include: a processor, a communication interface, a memory, and a communication bus. The processor, the communication interface, and the memory communicate with each other via the communication bus. The processor may call logic instructions in the memory. The logic instructions in the memory may be implemented in the form of software functional units and stored in a computer-readable storage medium when sold or used as an independent product.

[0034] Example 4 Embodiment 4 of the present application provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions. When the program instructions are executed by a computer, the computer can perform the steps of the above-mentioned congestion control method.

[0035] Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, or the portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the method of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0036] Based on this understanding, the essence of the above technical solution or the part that contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods of various embodiments or certain parts of the embodiments.

[0037] The present application provides a congestion control method, apparatus, computer equipment and storage medium, which detect the captured data packet information to determine the network congestion status, and then perform congestion control through a window flow control mechanism and a priority scheduling algorithm, effectively avoiding network congestion and ensuring the efficiency and stability of data transmission.

[0038] In order to facilitate the description of the present invention, some common English nouns or letters are used for illustrative reference only and are not intended to be restrictive or specific. The scope of protection of the present invention should not be limited by their possible Chinese translations or specific letters.

[0039] It should also be noted that, in this article, relational terms such as "first" and "second" are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations.

Claims

1. A congestion control method, characterized in that: include: The data packet monitoring module captures and monitors the transmitted data packets in real time and obtains data packet information; The congestion detection module detects the data packet information according to a preset congestion detection algorithm, determines the congestion status of the network, and sends the determination result to the congestion control module; The congestion control module performs congestion control based on a window flow control mechanism and a priority scheduling algorithm; The congestion feedback module sends congestion feedback information to the sending server, and the sending server adjusts the sending rate and congestion control parameters according to the congestion feedback information to form a closed-loop control; The adaptive adjustment module adjusts the parameters of the congestion control module based on changes in network status.

2. A congestion control method according to claim 1, characterized in that: The data packet monitoring module obtains the data packet information transmitted in the network and detects the network data; The data packet information includes the sending time, receiving time and size of the data packet; The network data includes network traffic, data transmission rate and packet loss rate.

3. A congestion control method according to claim 2, characterized in that: The congestion detection algorithm preset by the congestion detection module includes an ECN mark detection mechanism and a packet loss rate detection mechanism; The ECN flag detection mechanism determines the network congestion status by detecting the ECN flag bit of the data packet. If the ECN flag bit of the data packet is set, the network is determined to be in a congested state, and the judgment result is transmitted to the congestion control module; The packet loss rate detection mechanism is provided with a packet loss rate threshold, and compares the packet loss rate with the preset packet loss rate threshold. If the packet loss rate is greater than the packet loss rate threshold, the network is judged to be in a congested state, and the judgment result is transmitted to the congestion control module.

4. A congestion control method according to claim 1, characterized in that: The specific process of the congestion control module performing congestion control based on the window flow control mechanism and the priority scheduling algorithm includes: The congestion control module reduces the sending rate of the data packet by dynamically adjusting the size of the sending window. If the network is in a congested state, the sending rate of the data packet is reduced by reducing the sending window. The congestion control module adjusts the output order of the data packets according to the priorities of the data packets, outputting high-priority data packets first, thereby ensuring the transmission quality of key services by reducing the queuing delay and packet loss rate of the high-priority data packets.

5. A congestion control method according to claim 4, characterized in that: Window-based flow control mechanisms also include: The speed of change of the sending rate of the data packet is controlled by adjusting the adjustment step size of the sending window.

6. A congestion control method according to claim 4, characterized in that: The priority scheduling algorithm performs differentiated processing on the data packets, wherein the high-priority data packets are used for the critical services and the low-priority data packets are used for ordinary services.

7. A congestion control method according to claim 1, characterized in that: The congestion control module sends the execution result of the congestion control to the congestion feedback module, and the congestion feedback module feeds back the network congestion status and the execution result of the congestion control as the congestion feedback information to the sending end server in real time.

8. A congestion control method according to claim 1, characterized in that: The adaptive adjustment module also includes predicting the trend of network status changes through machine learning algorithms to prevent congestion; Avoid network congestion by pre-adjusting the sending window size and priority scheduling mechanism; The machine learning algorithm includes a periodic significant traffic prediction model and an LSTM algorithm time series model.

9. A congestion control device, used to implement a congestion control method according to any one of claims 1 to 8, characterized in that: include: A data packet monitoring module, which is used to monitor data packets transmitted in the network in real time and obtain data packet information; A congestion detection module, wherein the congestion detection module detects the data packet information through a preset congestion detection algorithm to determine the congestion status of the network; A congestion control module, configured to control the sending rate of data packets and adjust the output order of data packets; A congestion feedback module, configured to send congestion feedback information to a sending server; An adaptive adjustment module adjusts the parameters of the congestion control module according to changes in network status and implements congestion prevention by setting a machine learning algorithm.

10. A congestion control method according to claim 9, characterized in that: The sending server interacts with the receiving server through the switch; The sending end server and the receiving end server are both provided with the congestion control device; The sending end server and the receiving end server are both provided with a RoCE network card for interacting with the switch; The switch supports the ECN mechanism, and the data packet is ECN marked on the switch.

11. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the steps of the congestion control method according to any one of claims 1 to 8 are implemented.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the congestion control method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • Auxiliary flow prediction control method, storage medium and electronic equipment

    CN109831320A

  • Congestion control method, equipment and computer readable medium

    CN113300974A

  • Network congestion control method, device, equipment and medium

    CN113825171A

  • QoS management method and device, electronic equipment and storage medium

    CN117528663A

  • Congestion control method, device, medium and program product

    CN117579556A

Cited By

  • Signaling congestion control method and device based on neural network, equipment and storage medium

    CN120825455A

  • Flow control function test method and device based on priority, equipment and storage medium

    CN121193637A