A network congestion control method and device for minimum bandwidth guarantee
By distinguishing network flow types and setting minimum window values, and adjusting congestion window values, the bandwidth guarantee problem of deadline flows in TCP network flow control is solved, bandwidth and time guarantees for deadline flows are achieved, and application performance is improved.
Patent Information
- Application Number
- CN202310902761.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-21
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2043-07-21
AI Technical Summary
The existing TCP network flow control mechanism fails to effectively distinguish between deadline flows and non-deadline flows after congestion occurs, which affects the bandwidth guarantee and performance of deadline flows.
By distinguishing the types of network flows, setting a minimum window value, and adjusting the congestion window value in each stage of congestion control, minimum bandwidth guarantee is provided for deadline flows, including adjustments in the slow start, congestion avoidance, and fast recovery stages.
It achieves bandwidth and time guarantees for deadline flows, reduces the average completion time of non-deadline flows, and meets the performance requirements of specific applications.
Smart Images

Figure CN116896532B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of computer networks and relates to end-to-end network traffic control, and in particular to a network congestion control method and device oriented to minimum bandwidth guarantee. Background Art
[0002] With the rapid development of network technology, an increasing number of applications, including audio and video, live streaming, images, and data files, rely on the network. The performance of end-to-end internet-based applications depends largely on network quality. The Transmission Control Protocol / Internet Protocol (TCP / IP) architecture and protocols are the cornerstone of the internet, connecting everything. Existing network infrastructure is designed based on the TCP / IP architecture; however, network congestion is a common occurrence within this TCP / IP-based network infrastructure. Network congestion occurs when user demand for network resources (including link bandwidth, storage space, and processor power) exceeds the inherent processing capacity, leading to packet loss, packet reordering, and retransmissions, severely degrading end-to-end application performance. To address this, many companies and academic research institutions are researching end-to-end network traffic control mechanisms to mitigate congestion and address its impact.
[0003] Early TCP protocols only had a window-based flow control mechanism but no congestion control mechanism, which easily led to network congestion. In 1988, Jacobson proposed the "Slow Start" and "Congestion Avoidance" algorithms to address the shortcomings of the Transmission Control Protocol (TCP) in network congestion control. Over the past two decades, there have been four major versions related to congestion control: TCP Tahoe, TCP Reno, TCP NewReno, and TCP SACK (TCP Selective ACK). TCP Tahoe is an early TCP version that includes three basic algorithms: "Slow Start," "Congestion Avoidance," and "Fast Retransmit." However, in the Tahoe version, timeout retransmission and fast retransmit are handled identically; once a retransmission occurs, the slow start process begins. TCP Reno adds a "Fast Recovery" algorithm based on TCP Tahoe, and makes special processing for fast retransmission to avoid the phenomenon of excessive reduction of the sending window size caused by the use of the "slow start" algorithm when network congestion is not serious. TCP NewReno has revised the "Fast Recovery" algorithm in TCP Reno, which takes into account the situation where multiple data packets are lost within a sending window. In the Reno version, the sender exits the "Fast Recovery" phase after receiving a new ack number, while in the NewReno version, the "Fast Recovery" phase is exited only when all data packets are confirmed. TCP SACK also focuses on the situation where multiple data packets are lost within a window. It avoids the situation in which previous versions of TCP retransmit all data packets in a window (including those that have been correctly received by the receiver), and only retransmits those discarded data packets. The existing TCP congestion control algorithm mainly consists of four basic algorithms: slow start, congestion avoidance, fast retransmit, and fast recovery. These four basic algorithms are described in the RFC5681 specification [Mark Allman, Vern Paxson, Ethan Blanton, "TCP congestion Control", RFC5681, September 2009].
[0004] There are many goals of congestion control algorithms, including fair competition, full utilization of network bandwidth, reduction of network latency, optimization of user experience, etc., to meet different application requirements. For example, the Chinese patent with publication number CN106464598A discloses a method for congestion control in a data communication protocol, which detects congestion based on the trends of flight size and transmission rate, and adjusts the congestion window according to the detection results. For example, the congestion detection can distinguish between congestion with or without unfair competition. And the Chinese patent with publication number CN113098783A discloses a named data network congestion control method based on link bandwidth and latency. On the basis of a single interest packet and multiple data packet transmission mode, the interest packet is used to collect bottleneck link bandwidth and latency information, and after calculating the congestion window and sending rate, the sending of data packets is controlled to perform congestion control.
[0005] However, due to the complexity and rapid changes in real-world network environments, no single congestion control algorithm is suitable for all applications. Different algorithms have their own specific applications and areas of application. Application developers often weigh the effectiveness of different algorithms, with some prioritizing bandwidth utilization while others prioritize communication latency. Therefore, complex network environments and diverse application requirements drive the optimization and iteration of congestion control algorithms.
[0006] Data center networks contain both deadline flows and non-deadline flows, each with different transmission requirements. However, existing TCP network flow control mechanisms, especially when congestion occurs, do not distinguish between deadline flows and non-deadline flows, severely impacting the application of deadline flows. Summary of the Invention
[0007] The purpose of the present invention is to provide a network congestion control method and device for minimum bandwidth guarantee, which can achieve the purpose of congestion control by distinguishing time-cutoff flow and non-cutoff time flow, ensuring the minimum bandwidth of TCP cutoff flow.
[0008] The present invention provides the following technical solutions:
[0009] A network congestion control method for minimum bandwidth guarantee, the method comprising the following steps:
[0010] (1) Distinguishing types of network flows, including deadline flows and non-deadline flows;
[0011] (2) Set the minimum window value according to the type of network flow;
[0012] (3) When adjusting the congestion window at each stage of congestion control, the congestion window value is adjusted according to the minimum window value and the congestion level.
[0013] In step (1), the deadline flow is a network flow with a deadline, including a network flow generated by network search, recommendation or advertisement; the non-deadline network flow is a network flow without a deadline, including a network flow generated by virtual machine migration, data backup, database query response or HTTP block transmission.
[0014] In step (2), when the network flow is a non-deadline flow (non-deadline TCP flow), the minimum window value is set to 0; when the network flow is a deadline flow (deadline TCP flow), the minimum window value is set according to the size of the flow, a round-trip delay, the deadline of the flow and the product of the maximum segment value.
[0015] The conversion formula can be expressed as follows:
[0016] The conversion formula is as follows:
[0017] The minimum window value of the non-cutoff TCP flow is 0, that is, W min =0.
[0018] The minimum window value for terminating a TCP stream is as follows:
[0019]
[0020] Where W min Indicates the minimum window value, S f Indicates the size of the flow, T d Indicates the deadline of the flow, RTT indicates a round trip delay, and MSS indicates the maximum segment size.
[0021] Therefore, in the present invention, for deadline flows, the deadline is converted to a minimum window value to provide bandwidth or deadline guarantees. When adjusting the congestion window at each stage of congestion control, making the congestion window larger than this minimum window value can meet the bandwidth or deadline requirements of the TCP flow.
[0022] In step (3), the stages of congestion control include slow start based on minimum bandwidth guarantee, congestion avoidance based on minimum bandwidth guarantee, congestion occurrence and fast recovery.
[0023] In step (3), the congestion window value is adjusted during the slow start phase:
[0024] (1) When there is no congestion, the congestion window value cwnd increases as follows:
[0025] The current congestion window value is less than the minimum window value. The congestion window value at the next moment is cwnd = cwnd*(0.5+1.5r cos ), r cos Indicates an adjustable parameter and is greater than 1;
[0026] If the current congestion window value is greater than or equal to the minimum window value, the congestion window value cwnd at the next moment will be doubled, that is, cwnd = 2cwnd;
[0027] (2) When congestion occurs, the congestion window value cwnd increases as follows:
[0028] The congestion window value cwnd=cwnd*(1-0.5α), where α represents the degree of congestion.
[0029] In step (3), the congestion window value is adjusted in the congestion avoidance phase based on the minimum bandwidth guarantee:
[0030] (1) When there is no congestion, the congestion window value cwnd increases as follows:
[0031] The current congestion window value is less than the minimum window value, and the congestion window at the next moment cwnd = r cos *cwnd+1,r cos Indicates adjustable parameters;
[0032] The current congestion window value is greater than or equal to the minimum window value. The congestion window value at the next moment is cwnd = cwnd + 1.
[0033] (2) When congestion occurs, the congestion window value cwnd increases as follows:
[0034] The congestion window value cwnd=cwnd*(1-0.5α), where α represents the degree of congestion.
[0035] Converted into a formula, it can be expressed as follows:
[0036] Slow start phase based on minimum bandwidth guarantee:
[0037]
[0038] Congestion avoidance phase based on minimum bandwidth guarantee:
[0039]
[0040] Where cg indicates whether there is congestion, and the minimum window value is W min , W c represents the congestion window, r cosα represents an adjustable parameter and is greater than 1. α represents the degree of congestion. When α approaches 1, the congestion window is halved. A smaller α indicates less congestion. α is updated as α = (1-g)*α + g*F, where F is the proportion of ECN (Explicit Congestion Notification) messages in the current window, and g is an adjustable parameter.
[0041] It can be seen that when the congestion window value is smaller than the minimum window value, by adjusting the growth method of the congestion window value, the sending rate can be increased to meet the minimum bandwidth guarantee requirement.
[0042] In step (3), for the congestion occurrence phase:
[0043] When receiving an ECN-marked packet, the congestion window value is compared with the slow start threshold. If the congestion window value is less than the slow start threshold, the system starts slow start based on the minimum bandwidth guarantee. If the congestion window value is greater than or equal to the slow start threshold, the system starts congestion avoidance based on the minimum bandwidth guarantee.
[0044] If a retransmission timeout occurs, the Transmission Control Protocol (TCP) will retransmit the data packet. The slow start threshold will be set to half of the current congestion window value, and the congestion window value will be reset to 1, entering slow start execution based on the minimum bandwidth guarantee.
[0045] When three duplicate acknowledgments are received, the Transmission Control Protocol (TCP) starts fast retransmit: the congestion window is reduced to half of its current value, the slow start threshold is set to the reduced congestion window value, and then fast recovery is performed.
[0046] In step (3), for the fast retransmit phase:
[0047] Set the congestion window value to the slow start threshold value plus 3;
[0048] When a duplicate acknowledgment is received, the congestion window is increased by 1;
[0049] After receiving a new confirmation, the fast retransmit phase is exited; the congestion window value is set to the slow start threshold, and then congestion avoidance execution based on minimum bandwidth guarantee is entered.
[0050] The present invention also provides a network congestion control device for minimum bandwidth guarantee, characterized in that it includes a memory and one or more processors, wherein the memory stores executable code, and when the one or more processors execute the executable code, they are used to implement the network congestion control method for minimum bandwidth guarantee.
[0051] The present invention also provides a computer-readable storage medium on which a program is stored. When the program is executed by a processor, the network congestion control method for minimum bandwidth guarantee is implemented.
[0052] In general, compared with the prior art, the present invention has the following beneficial effects:
[0053] 1. The congestion control method and apparatus provided by the present invention distinguish between deadline flows and non-deadline flows, thereby having the ability to provide differentiated services for different TCP flows, that is, bandwidth can be guaranteed for deadline flows.
[0054] 2. The present invention provides a congestion control method and device that converts the deadline into a minimum window value, so that the congestion control method and device can perceive the network requirements of the application flow, thereby achieving the effect of flow control coordinating with application requirements.
[0055] 3. The congestion control method and apparatus provided by the present invention can provide bandwidth guarantee or deadline guarantee services for TCP streams while preventing congestion from worsening. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] Figure 1 This is a flow chart of the congestion control method of the present invention;
[0057] Figure 2 This is a congestion control state machine diagram of the present invention;
[0058] Figure 3 This is a slow start, fast recovery and congestion avoidance conversion diagram of the present invention;
[0059] Figure 4 This is an example diagram of the implementation of the slow start phase based on minimum bandwidth guarantee and the congestion avoidance phase based on minimum bandwidth guarantee. cos =2,α=0.5;
[0060] Figure 5 This is a diagram of the congestion control device of the present invention. DETAILED DESCRIPTION
[0061] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0062] like Figure 1 As shown in FIG. 1 , a flow chart of the network congestion control method in this embodiment is shown. The congestion control state machine used in the network congestion control method provided in this embodiment is as follows: Figure 2 As shown, it is divided into Open, Disorder, CWR, Recovery, and Loss states.
[0063] Open state
[0064] The Open state is the default state of the congestion control state machine. In this state, when an ACK (Acknowledgement) arrives, the sender adjusts the congestion window according to the slow start or congestion avoidance algorithm, depending on whether the congestion window cwnd (Congestion Window) is less than or greater than the slow start threshold ssthresh (Slow Start Threshold).
[0065] Disorder state
[0066] When the sender detects a DACK (duplicate acknowledgment) or SACK (selective acknowledgment), the state machine transitions to the Disorder state. In this state, the sender adheres to the in-flight packet conservation principle, which means that a new packet is sent only after an old packet leaves the network. In other words, the sender will not send a new packet until it receives an ACK for the old packet.
[0067] CWR (Congestion Window Reduced) status
[0068] The congestion window is reduced in size by some congestion notification events, such as ECN or other congestion signals. When Linux receives a congestion notification event, it does not immediately reduce cwnd to the specified value. Instead, it decrements cwnd by 1 for each ACK packet until the window size is half of its original value. The CWR state can be interrupted by the Recovery state or the Loss state.
[0069] Recovery state
[0070] When the receiver receives discontinuous packets, it should immediately enter the fast retransmission phase. All subsequent packets received will return the ACK of the smallest lost packet to inform the sender which packet was lost. When the sender receives three consecutive duplicate ACKs, it means that the network may have lost packets. The sender knows which packet was lost through the ACK and should immediately enter the fast retransmission phase to retransmit the lost packet without waiting for packet loss to be detected. In order to smoothly reduce the sending speed, the congestion avoidance phase will not be immediately entered at this time, but the fast recovery phase will be entered. Only when all out-of-order packets reach the receiver will the congestion avoidance phase be entered, and the congestion window cwnd will be halved. When the sender receives an ACK packet, it means that a packet has arrived at the receiver, and then a packet can be sent. This is the algorithm of the fast recovery phase.
[0071] Loss state
[0072] When the RTO expires, all outgoing packets are marked as lost, cwnd is set to 1, and the sender begins incrementing cwnd using the slow start algorithm. The Loss state cannot be directly interrupted by the Disorder, CWR, or Recovery states. The Loss state can only be switched to the Open state after receiving an ACK number greater than or equal to the recovery point.
[0073] The specific network congestion control method for minimum bandwidth guarantee includes the following steps:
[0074] S1. Distinguish the types of network flows, including deadline flows and non-deadline flows.
[0075] This embodiment is only for time-cutoff flows, and is not for non-time-cutoff flows (non-time-cutoff flows are processed in the same manner).
[0076] Deadline flows are network flows with deadlines, including those generated by network searches, recommendations, or advertisements. Non-deadline network flows are network flows without deadlines, including those generated by virtual machine migration, data backup, database query responses, or HTTP chunked transmission.
[0077] To distinguish between these two types of streams, add the type parameter to the socket(int domain, int type, int protocol) function. For example, SOCK_DEADLINE indicates a deadline stream; otherwise, it indicates a non-deadline stream. This method provides developers with a deadline stream interface. When a deadline stream is needed, such as in critical network flows in distributed computing, the deadline stream service can be invoked.
[0078] S2. Set the minimum window value according to the type of network flow.
[0079] Since this embodiment is only for the deadline flow, the minimum window value is set according to the flow size, a round trip delay, the product of the flow deadline and the maximum segment value.
[0080] In this embodiment, the minimum window value for terminating a TCP flow is as follows:
[0081]
[0082] Where W min Indicates the minimum window value, S f Indicates the size of the flow, T d Indicates the deadline of the flow, RTT indicates a round trip delay, and MSS indicates the maximum segment size.
[0083] S3. When adjusting the congestion window at each stage of congestion control, the congestion window value is adjusted according to the minimum window value and the congestion level.
[0084] Congestion control mainly includes four stages: 1) slow start based on minimum bandwidth guarantee, 2) congestion avoidance based on minimum bandwidth guarantee, 3) congestion occurrence, and 4) fast recovery. Figure 3 Implementation diagram for the four-stage transformation. Figure 4 This is a diagram illustrating an implementation example of the slow start phase based on minimum bandwidth guarantee and the congestion avoidance phase based on minimum bandwidth guarantee of the present invention.
[0085] 1) Slow start based on minimum bandwidth guarantee
[0086] The so-called slow start means that when TCP establishes a connection, the speed is increased little by little, gradually testing the network's bandwidth capacity to avoid exceeding the receiving capacity of the network or the receiving end.
[0087] The slow start execution process is as follows:
[0088] a) After the connection is established, the initial congestion window cwnd = 1, indicating that data of 1 MSS size can be sent;
[0089] b) Each time MSS size data is sent, cwnd = cwnd-1
[0090] c) Whenever an ACK is received, cwnd = cwnd + 1;
[0091] d) Whenever a round-trip delay (RTT) has passed, execute the slow start algorithm based on minimum bandwidth guarantee as follows;
[0092] 1-1) When there is no congestion, the congestion window value cwnd increases as follows:
[0093] When the congestion window is less than the minimum window value, the congestion window value per round trip time (RTT) is cwnd = cwnd*(0.5+1.5r cos )=3.5*cwnd (In this embodiment, r cos =2);
[0094] When the congestion window is larger than the minimum window value, the congestion window value doubles every round trip time (RTT), that is, cwnd = 2*cwnd;
[0095] 1-2) When congestion occurs, the congestion window value cwnd increases as follows:
[0096] When congestion occurs, the congestion window value per round trip time (RTT) is cwnd = cwnd*(1-0.5α)=0.75*cwnd;
[0097] e) ssthresh is a threshold. When cwnd>=ssthresh, the congestion avoidance algorithm based on minimum bandwidth guarantee is entered.
[0098] 2) Congestion avoidance based on minimum bandwidth guarantee
[0099] When the congestion window size (cwnd) is greater than or equal to the slow start threshold (ssthresh), the network enters the congestion avoidance algorithm based on minimum bandwidth guarantee. Congestion avoidance prevents the window from growing too quickly and causing congestion, and instead slowly increases the window to the optimal value for the network.
[0100] The congestion avoidance process is as follows:
[0101] 1) Receive an ACK, then cwnd = cwnd + 1 / cwnd
[0102] 2) Whenever a round trip delay (RTT) has passed, the following congestion avoidance algorithm is executed:
[0103] 2-1) When there is no congestion, the congestion window value cwnd increases as follows:
[0104] When the congestion window is less than the minimum window value, the congestion window value per round trip time (RTT) cwnd = r cos *cwnd+1=2*cwnd+1;
[0105] When the congestion window is larger than the minimum window value, the congestion window value per round trip time (RTT) is cwnd=cwnd+1;
[0106] 2-2) When congestion occurs, the congestion window value per round trip time (RTT) is cwnd = cwnd*(1-0.5α)=0.75*cwnd;
[0107] 3) Congestion occurs
[0108] TCP congestion control methods use packet loss or receipt of an ECN packet as a signal that the network has entered a congested state. There are two ways to determine packet loss. One is that the retransmission timeout (RTO) expires, and the other is receiving three duplicate acknowledgments (ACKs). Retransmission timeout is an important mechanism for the TCP protocol to ensure data reliability. The principle is that after sending a data packet, a timer is started. If an ACK packet for the sent data packet is not received within a certain period of time, the data is retransmitted until the transmission is successful. However, if the sender receives more than 3 duplicate ACKs (i.e., DACKs), TCP realizes that data has been lost and needs to retransmit. This mechanism does not need to wait for the retransmission timer to expire, so it is called fast retransmission. After fast retransmission, the slow start algorithm is not used, but the congestion avoidance algorithm, so this is also called the fast recovery algorithm.
[0109] When an ECN-marked packet is received, compare the values of cwnd and ssthresh. If cwnd < ssthresh, enter slow start execution based on minimum bandwidth guarantee; if cwnd >= ssthresh, enter congestion avoidance execution based on minimum bandwidth guarantee.
[0110] When the retransmission timeout (RTO) expires, TCP will retransmit the data packet. TCP considers this situation relatively bad and has a strong reaction: due to packet loss, the slow start threshold ssthresh is set to half of the current cwnd, i.e., ssthresh = cwnd / 2. cwnd is reset to 1 and enters the slow start process based on minimum bandwidth guarantee.
[0111] When three duplicate ACKs are received, TCP enables the fast retransmit (Fast Retransmit) algorithm and does not wait for the RTO to expire before retransmitting: the size of cwnd is reduced to half of the current value, ssthresh is set to the reduced cwnd size, and then fast recovery is executed.
[0112] 4) Fast recovery
[0113] Before entering fast recovery, cwnd and ssthresh have been changed to half of the original cwnd. The execution of fast recovery is as follows:
[0114] cwnd = cwnd + 3 * MSS. The reason for adding 3 * MSS is because 3 duplicate ACKs are received. Retransmit the data packet specified by the DACKs. If more DACKs are received, then cwnd = cwnd + 1. If a new ACK is received, indicating that the retransmitted packet was successful, then exit the fast recovery algorithm. Set cwnd to ssthresh, and then enter the congestion avoidance algorithm based on minimum bandwidth guarantee.
[0115] The network congestion control method provided in the above embodiment can effectively ensure the deadline flow by reducing the average completion time (Average Flow Complete Time, AFCT) of non-deadline flows, and meet the performance requirements of specific applications (such as distributed computing, AI iterative computing, etc.).
[0116] like Figure 5 As shown, an embodiment of the present invention further provides a network congestion control device for minimum bandwidth guarantee, comprising one or more processors, and an executable code stored in a memory. When the processor executes the executable code, it is used to implement the network congestion control method for minimum bandwidth guarantee in the above embodiment. Taking software implementation as an example, as a device in a logical sense, it is formed by the processor of any device with data processing capability in which it is located reading the corresponding computer program instructions in the non-volatile memory into the memory for execution. From the hardware level, in addition to the processor, memory, network interface, and non-volatile memory, any device with data processing capability in which the device in the embodiment is located may also include other hardware according to the actual function of the device with data processing capability, which will not be described in detail.
[0117] An embodiment of the present invention also provides a computer-readable storage medium having a program stored thereon, which, when executed by a processor, implements the network congestion control method for minimum bandwidth guarantee in the above-mentioned embodiment: the computer-readable storage medium can be the internal storage unit of any device with data processing capabilities described in any of the above-mentioned embodiments, such as a hard disk or memory. The computer-readable storage medium can also be any device with data processing capabilities, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), an SD card, a flash memory card (Flash8Card), etc. equipped on the device. Furthermore, the computer-readable storage medium can also include both the internal storage unit of any device with data processing capabilities and an external storage device. The computer-readable storage medium is used to store the computer program and other programs and data required by any device with data processing capabilities, and can also be used to temporarily store data that has been output or is to be output.
[0118] The above are merely preferred embodiments of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A network congestion control method for minimum bandwidth guarantee, characterized in that: The method comprises the following steps: (1) Distinguishing types of network flows, including deadline flows and non-deadline flows; (2) Set the minimum window value according to the type of network flow; In step (2), when the network flow is a non-deadline flow, the minimum window value is set to 0; when the network flow is a deadline flow, the minimum window value is set according to the size of the flow, a round trip delay, the product of the flow's deadline and the maximum segment value; (3) When adjusting the congestion window at each stage of congestion control, the congestion window value is adjusted according to the minimum window value and the congestion level; In step (3), the stages of congestion control include slow start based on minimum bandwidth guarantee, congestion avoidance based on minimum bandwidth guarantee, congestion occurrence and fast recovery; In step (3), the congestion window value is adjusted as follows during the slow start phase based on the minimum bandwidth guarantee: (3-1-1) When there is no congestion, the congestion window value cwnd increases as follows: The current congestion window value is less than the minimum window value. The congestion window value at the next moment is cwnd = cwnd*(0.5+1.5r cos ), r cos Indicates an adjustable parameter and is greater than 1; If the current congestion window value is greater than or equal to the minimum window value, the congestion window value cwnd at the next moment will be doubled, that is, cwnd = 2cwnd; (3-1-2) When congestion occurs, the congestion window value cwnd increases as follows: Congestion window value cwnd = cwnd*(1-0.5α), where α represents the degree of congestion; In step (3), the congestion window value is adjusted as follows during the congestion avoidance phase based on the minimum bandwidth guarantee: (3-2-1) When there is no congestion, the congestion window value cwnd increases as follows: The current congestion window value is less than the minimum window value, and the congestion window at the next moment cwnd = r cos *cwnd+1,r cos Greater than 1 indicates an adjustable parameter; The current congestion window value is greater than or equal to the minimum window value. The congestion window value at the next moment is cwnd = cwnd + 1. (3-2-2) When congestion occurs, the congestion window value cwnd increases as follows: The congestion window value cwnd=cwnd*(1-0.5α), where α represents the degree of congestion.
2. The network congestion control method for minimum bandwidth guarantee according to claim 1, characterized in that: In step (1), the deadline flow is a network flow with a deadline, including a network flow generated by network search, recommendation or advertisement; the non-deadline flow is a network flow without a deadline, including a network flow generated by virtual machine migration, data backup, database query response or HTTP block transmission.
3. The network congestion control method for minimum bandwidth guarantee according to claim 1, characterized in that: In step (3), for the congestion occurrence phase: When receiving an ECN-marked packet, the congestion window value is compared with the slow start threshold. If the congestion window value is smaller than the slow start threshold, the system enters slow start based on the minimum bandwidth guarantee. If the congestion window value is greater than or equal to the slow start threshold, congestion avoidance based on minimum bandwidth guarantee is initiated. If the retransmission timeout exceeds the limit, the Transmission Control Protocol TCP will retransmit the data packet: the slow start threshold is set to half of the current congestion window value, the congestion window value is reset to 1, and the slow start execution is started; When three duplicate acknowledgments are received, the Transmission Control Protocol (TCP) starts fast retransmit: the congestion window is reduced to half of its current value, the slow start threshold is set to the reduced congestion window value, and then fast recovery is performed.
4. The network congestion control method for minimum bandwidth guarantee according to claim 3, characterized in that: In step (3), for the fast retransmit phase: Set the congestion window value to the slow start threshold value plus 3; When a duplicate acknowledgment is received, the congestion window value is increased by 1; After receiving a new confirmation, the fast retransmit phase is exited; the congestion window value is set to the slow start threshold, and then congestion avoidance execution based on minimum bandwidth guarantee is entered.
5. A network congestion control device for minimum bandwidth guarantee, characterized in that: The system comprises a memory and one or more processors, wherein the memory stores executable code, and when the one or more processors execute the executable code, the system is used to implement the network congestion control method for minimum bandwidth guarantee according to any one of claims 1 to 4.
6. A computer-readable storage medium, characterized in that A program is stored thereon, and when the program is executed by a processor, the network congestion control method for minimum bandwidth guarantee according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Method and apparatus for network congestion control based on transmission rate gradients
CN106464598A
Named data network congestion control method based on link bandwidth and time delay
CN113098783A
Method for controlling network congestion, access device and computer readable storage medium
CN110022264A
Method and device for transmission of content
EP3285454A1