CN107360101B - TCP congestion control algorithm based on adaptive parameters - Google Patents
TCP congestion control algorithm based on adaptive parameters Download PDFInfo
- Publication number
- CN107360101B CN107360101B CN201710660611.2A CN201710660611A CN107360101B CN 107360101 B CN107360101 B CN 107360101B CN 201710660611 A CN201710660611 A CN 201710660611A CN 107360101 B CN107360101 B CN 107360101B
- Authority
- CN
- China
- Prior art keywords
- congestion
- network
- slow start
- cwnd
- congestion window
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Abstract
The invention discloses a TCP congestion control algorithm based on adaptive parameters, which comprises the following steps: in the network data transmission process, as the number of congestion windows increases, the network enters a congestion avoidance stage from a slow start stage; if overtime retransmission occurs in the congestion avoidance stage, judging that the network is congested, starting to execute a TCP congestion control algorithm based on adaptive parameters, and dynamically controlling the sizes of a congestion window and a slow start threshold value by setting the adaptive parameters; whether the network recovers from the congestion is judged by detecting whether the congestion window is in the threshold interval, and if not, the congestion control algorithm is continuously executed until the network recovers from the congestion. The invention adopts the self-adaptive parameter mode, so that the network can self-adaptively adjust the congestion window value and the slow start threshold value in combination with the current actual situation, so that the network can more quickly get rid of congestion, the utilization rate of the network is improved, and severe network jitter is avoided.
Description
Technical Field
The invention relates to the technical field of computer network transmission control protocols, in particular to a TCP congestion control algorithm based on adaptive parameters.
Background
According to statistics, if the retransmission event occurs in the Web server, the overtime retransmission accounts for 70%, and in a common video browsing website, the overtime retransmission also accounts for about half. In a specific data transmission process, network congestion can seriously affect the performance of data transmission, and a processing strategy for overtime retransmission determines the transmission performance of the network to a great extent.
In the prior art, there are various technical solutions for performing congestion control of a network, for example, the application numbers are: CN201310002460.3 discloses a TCP congestion control method based on ECN mechanism with throughput change rate, which mainly operates at a router end, and ECN marking needs to be performed on a switch, so that modification and operation need to be performed at the switch end, and the method is complex in specific implementation and is not easy to control. And if the application number is: the patent of CN03155730.9 judges the congestion status of the link according to the relative one-way delay variation trend of the ACK, further distinguishes whether packet loss is caused by link congestion or wireless error, and adaptively adopts different recovery mechanisms according to different packet loss reasons; however, this method needs to calculate the relative one-way delay and estimate the variation trend of the relative one-way delay, and in the specific implementation process, since the RTT transmitted by the network is in the millisecond level, the calculation accuracy is not easy to control, and erroneous determination is easily caused, which may affect the actual effect.
Disclosure of Invention
The technical problem to be solved by the present invention is to solve the problem that the adjustment strategy of the relevant parameters in the timeout retransmission algorithm in the prior art is relatively fixed and cannot be combined with the current actual situation of the network for congestion control, and in the actual situation, when the network congestion phenomenon occurs, the situation that the data of one sending end is usually not overtime or lost is likely to occur at a plurality of sending ends, and at this time, the values of the sending windows are reduced to a lower level according to the existing congestion control strategy, and the slow start algorithm is started to be executed; the congestion window of the sending end needs a certain time to increase from the current lower level to the processing capacity of the network, and within the longer time, the network resources are not fully utilized, which causes waste. Based on the problems, the TCP congestion control algorithm based on the adaptive parameters is provided.
The technical scheme adopted by the invention for solving the technical problems is as follows:
the invention provides a TCP congestion control algorithm based on adaptive parameters, which comprises the following steps:
in the network data transmission process, as the number of congestion windows increases, the network enters a congestion avoidance stage from a slow start stage;
if overtime retransmission occurs in the congestion avoidance stage, judging that the network is congested, starting to execute a TCP congestion control algorithm based on adaptive parameters, and dynamically controlling the sizes of a congestion window and a slow start threshold value by setting the adaptive parameters;
whether the network recovers from the congestion is judged by detecting whether the congestion window is in the threshold interval, and if not, the TCP congestion control algorithm based on the self-adaptive parameters is continuously executed until the network recovers from the congestion.
Further, the method for setting the adaptive parameters in the algorithm of the invention comprises the following steps:
setting the adaptive parameter mu to 2-x(ii) a When the overtime retransmission occurs, the value of the congestion window is greater than the value of the current slow start threshold value, the introduced variable x is ssthresh/cwnd, cwnd is the value of the congestion window, and ssthresh is the value of the slow start threshold value.
Further, the method for dynamically controlling the sizes of the congestion window and the slow start threshold value by setting the adaptive parameter of the invention comprises the following steps:
if the variable x is ssthresh/cwnd smaller than or equal to 0.5, the congestion window is far larger than the slow start threshold value of congestion avoidance, namely the network environment has a longer time without congestion;
the congestion window cwnd is multiplied by the adaptive parameter mu to adjust and the network is recovered from congestion by making full use of the network bandwidth and avoiding network jitter.
Further, the method for dynamically controlling the sizes of the congestion window and the slow start threshold value by setting the adaptive parameter of the invention comprises the following steps:
if the variable x is larger than the set threshold, it indicates that the congestion window is close to the slow start threshold, that is, the network is congested in the near future;
the slow start threshold is set to: new _ ssthresh ═ μ × cwnd;
the congestion window is set to: new _ cwnd ═ μ × cwnd/2.
The invention has the following beneficial effects: the TCP congestion control algorithm based on the self-adaptive parameters dynamically adjusts the congestion window and the slow start threshold value through the self-adaptive parameters to enable a network to get rid of congestion, only slightly modifies the TCP protocol of a sender without changing the TCP protocol of an intermediate node, and the modification only relates to a transmission layer and is unrelated to other layer protocols; the problem that the adjustment strategy of related parameters in the existing overtime retransmission algorithm is relatively fixed and the congestion control can not be carried out by combining the current actual situation of the network is solved; the algorithm enables the network to adaptively adjust the congestion window value and the slow start threshold value in combination with the current actual situation, so that the network can get rid of congestion faster, the utilization rate of the network is improved, and severe network jitter is avoided.
Drawings
The invention will be further described with reference to the accompanying drawings and examples, in which:
FIG. 1 is an algorithmic flow diagram of an embodiment of the present invention;
fig. 2 is a flowchart of a TCP congestion control method based on adaptive parameters according to an embodiment of the present invention;
fig. 3 is a diagram of the change of the timeout retransmission congestion window before and after the improvement of the embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
As shown in fig. 1, the adaptive parameter-based TCP congestion control algorithm of the embodiment of the present invention includes the following steps:
in the network data transmission process, as the number of congestion windows increases, the network enters a congestion avoidance stage from a slow start stage;
if overtime retransmission occurs in the congestion avoidance stage, judging that the network is congested, starting to execute a TCP congestion control algorithm based on adaptive parameters, and dynamically controlling the sizes of a congestion window and a slow start threshold value by setting the adaptive parameters;
whether the network recovers from the congestion is judged by detecting whether the congestion window is in a threshold interval (the threshold value is generally ssthresh ═ 16), and if the network does not recover, the TCP congestion control algorithm based on the adaptive parameters is continuously executed until the network recovers from the congestion.
The method for setting the self-adaptive parameters in the algorithm comprises the following steps:
setting the adaptive parameter mu to 2-x(ii) a When the overtime retransmission occurs, the value of the congestion window is greater than the value of the current slow start threshold value, the introduced variable x is ssthresh/cwnd, cwnd is the value of the congestion window, and ssthresh is the value of the slow start threshold value.
The method for dynamically controlling the sizes of the congestion window and the slow start threshold value by setting the adaptive parameters comprises the following steps:
if the variable x is ssthresh/cwnd smaller than or equal to 0.5, the congestion window is far larger than the slow start threshold value of congestion avoidance, namely the network environment has a longer time without congestion;
the congestion window cwnd is multiplied by the adaptive parameter mu to adjust and the network is recovered from congestion by making full use of the network bandwidth and avoiding network jitter.
If the variable x is larger than the set threshold, it indicates that the congestion window is close to the slow start threshold, that is, the network is congested in the near future;
the slow start threshold is set to: new _ ssthresh ═ μ × cwnd;
the congestion window is set to: new _ cwnd ═ μ × cwnd/2.
In another embodiment of the invention, as shown in fig. 2:
the method aims to solve the problems that the adjustment strategy of related parameters in the existing overtime retransmission algorithm is relatively fixed and the current actual situation of a network cannot be combined for congestion control. In practical situations, when a network congestion phenomenon occurs, it is not usually the case that data of one sender is timed out or lost, but may occur in multiple senders, and then the values of the sending windows are reduced to a lower level according to the existing congestion control strategy, and the slow-start algorithm is started to be executed. The congestion window of the sending end needs a certain time to increase from the current lower level to the processing capacity of the network, and within the longer time, the network resources are not fully utilized, which causes waste. Based on the above problems, a TCP congestion control method based on adaptive parameters is provided.
During data transmission, the network starts from a slow start phase, in which the congestion window in the network starts to increase exponentially. When the value of the congestion window exceeds the full-start threshold value, the network starts to execute the congestion avoidance algorithm and the rate of increase of the congestion window is slowed down. In the congestion avoidance phase, due to limited resources, the network may generate a timeout retransmission phenomenon, which may determine that the network is congested, and start to execute the TCP congestion control algorithm based on adaptive parameters.
The main of the proposed algorithm is that when a time-out retransmission occurs, the adaptive parameter mu is 2 by introduction-xTo effect adjustment of the congestion window. Where x is ssthresh/cwnd, it can be seen that the change in the value of μ is dynamically determined by the slow start threshold ssthresh and the congestion window value cwnd. In the congestion control process of the TCP, the slow start threshold value represents the capability of the network to process data, the congestion window value represents the capability of the sending end to send data, and the two parameters jointly determine the network performance. Thus, the strategy is adaptive in nature by adjusting the ability of the network to transmit data through both the slow start threshold value and the congestion window value. The TCP congestion control method based on the self-adaptive parameters mainly changes a congestion window and a slow start threshold value according to the multiplication of related parameters mu when overtime retransmission occurs. If the network fails to recover from congestion through a change as above, the network will again detect congestion, again implement the strategy herein, and so on, until the network recovers from congestion.
Firstly, according to the strategy proposed herein, a corresponding adaptive parameter μ is introduced, the TCP congestion control protocol is modified, mainly when the network has an overtime retransmission, the adjustment strategy for the slow start threshold value ssthresh and the congestion window cwnd is changed according to the corresponding μ value, and the result is compiled to pass.
Secondly, the network starts to transmit data, and then the network enters a slow start stage; during this phase, the congestion window value of the network is less than the slow start threshold value and the congestion window is increased exponentially. When the value of the congestion window increases to exceed the slow-start threshold value, the data transmission reaches the processing capacity of the network, the congestion window starts to increase in a linear form, and the network enters a congestion avoidance stage.
Then, when the amount of data processed in the network increases, packet loss occurs due to limited processing capability of the network, and the dropped data packet needs to be retransmitted. The timeout retransmission strategy is a TCP congestion control method based on adaptive parameters as proposed herein.
The sizes of a congestion window cwnd and a slow start threshold ssthresh are dynamically controlled by using an introduced adaptive parameter mu, so that the cwnd can be in an ideal interval on one hand, and the network can recover from congestion with the lowest cost on the other hand. If the change of the current cwnd can not recover the network from the congestion, the network will receive the signal of the congestion again, at this time, the network will execute the TCP congestion control algorithm of the adaptive parameter again for the current cwnd, so that the network gets rid of the congestion, and the brief pseudo code of the TCP congestion control algorithm of the adaptive parameter is as follows.
When the time-out retransmission occurs, the value of cwnd is always larger than the value of the current ssthresh, i.e. cwnd > ssthre, and the sh-introduced variable x is ssthresh/cwnd. As can be seen from the analysis of x, when x is smaller, it indicates that the congestion window cwnd is much larger than the threshold ssthresh for congestion avoidance, that is, the network environment is not congested for a longer time, and the network environment is better. If the timeout retransmission occurs, it can be considered to adjust cwnd with a small amplitude to see if the network can recover from congestion, and if so, it can be said that it can make full use of the network bandwidth and avoid the network jitter. When x is larger, the cwnd and ssthresh are relatively close to each other, so that the network can be known to be congested just before, and the cwnd needs to be greatly changed to enable the network to be free from congestion. Considering the slow start phase in TCP congestion control, the congestion window cwnd is exponentially increased by AIMD (sum increase, product decrease) algorithm, and the formula μ is introduced as 2-xThe adjustment of the congestion window can be realized.
The specific analysis proves the following:
the existing condition x ═ ssthresh/cwnd, and it can be seen that 0 < x < 1, in this case, μ ═ 2-xThe derivation of μ can be obtained.
μ'=-2-xln2 0<x<1
μ″=(2-xln2)20<x<1
As can be seen from μ '< 0, μ' > 0, μ is a decreasing function over the interval (0,1) and is smoother, just enough to allow the network to recover smoothly from congestion.
As can be seen from the above pseudo-code, the main operation of the improved algorithm proposed herein is to set the threshold ssthresh to μ × cwnd and the congestion window to μ × cwnd/2 after a timeout occurs. By the dynamic adjustment strategy, the algorithm can be recovered from congestion by adaptively combining the actual situation of the current network, and the change of the congestion window of the improved before-after timeout retransmission algorithm is shown in fig. 3.
It will be understood that modifications and variations can be made by persons skilled in the art in light of the above teachings and all such modifications and variations are intended to be included within the scope of the invention as defined in the appended claims.
Claims (2)
1. A TCP congestion control algorithm based on adaptive parameters is characterized by comprising the following steps:
in the network data transmission process, as the number of congestion windows increases, the network enters a congestion avoidance stage from a slow start stage;
if overtime retransmission occurs in the congestion avoidance stage, judging that the network is congested, starting to execute a TCP congestion control algorithm based on adaptive parameters, and dynamically controlling the sizes of a congestion window and a slow start threshold value by setting the adaptive parameters;
judging whether the network recovers from the congestion by detecting whether the congestion window is within a threshold value, if not, continuously executing a TCP congestion control algorithm based on the self-adaptive parameters until the network recovers from the congestion;
the method for setting the self-adaptive parameters in the algorithm comprises the following steps:
setting the adaptive parameter mu to 2-x(ii) a When the overtime retransmission occurs, the value of the congestion window is greater than the value of the current slow start threshold value, an introduced variable x is ssthresh/cwnd, cwnd is the value of the congestion window, and ssthresh is the value of the slow start threshold value;
the method for dynamically controlling the sizes of the congestion window and the slow start threshold value by setting the adaptive parameters comprises the following steps:
if the variable x is ssthresh/cwnd smaller than or equal to 0.5, the congestion window is far larger than the slow start threshold value of congestion avoidance, namely the network environment has a longer time without congestion;
the congestion window cwnd is multiplied by the adaptive parameter mu to adjust and the network is recovered from congestion by making full use of the network bandwidth and avoiding network jitter.
2. The adaptive parameter based TCP congestion control algorithm of claim 1, wherein the method of dynamically controlling the size of the congestion window and the slow start threshold by setting the adaptive parameter is:
if the variable x is larger than the set threshold, it indicates that the congestion window is close to the slow start threshold, that is, the network is congested in the near future;
the slow start threshold is set to: new _ ssthresh ═ μ × cwnd;
the congestion window is set to: new _ cwnd ═ μ × cwnd/2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710660611.2A CN107360101B (en) | 2017-08-04 | 2017-08-04 | TCP congestion control algorithm based on adaptive parameters |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710660611.2A CN107360101B (en) | 2017-08-04 | 2017-08-04 | TCP congestion control algorithm based on adaptive parameters |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107360101A CN107360101A (en) | 2017-11-17 |
CN107360101B true CN107360101B (en) | 2020-01-14 |
Family
ID=60286205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710660611.2A Expired - Fee Related CN107360101B (en) | 2017-08-04 | 2017-08-04 | TCP congestion control algorithm based on adaptive parameters |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107360101B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166370B (en) * | 2019-05-15 | 2022-08-30 | 浙江启程电子科技股份有限公司 | Transmission method based on congestion factor prejudgment |
CN111200843B (en) * | 2020-01-03 | 2023-09-22 | 青岛乾程科技股份有限公司 | Cross-layer congestion control method based on 5G mobile network |
CN111614572B (en) * | 2020-04-28 | 2023-04-18 | 网络通信与安全紫金山实验室 | TCP network congestion control method based on RTT |
CN112822116B (en) * | 2020-12-29 | 2023-09-19 | 广东省电信规划设计院有限公司 | TCP congestion control method and device |
CN113194040A (en) * | 2021-04-28 | 2021-07-30 | 王程 | Intelligent control method for instantaneous high-concurrency server thread pool congestion |
CN114268588A (en) * | 2021-11-30 | 2022-04-01 | 网络通信与安全紫金山实验室 | Data transmission method and device, electronic equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188473A (en) * | 2007-12-20 | 2008-05-28 | 上海交通大学 | Self-adapted adjustment method for transmission rate of transport layer in wireless self-organized network |
CN101409935A (en) * | 2008-11-20 | 2009-04-15 | 上海交通大学 | TCP transmission control method for score window step length in wireless self-organizing network |
CN104486690A (en) * | 2014-12-25 | 2015-04-01 | 北京理工大学 | Mobile video transmission optimization method based on TCP (transmission control protocol) |
CN105024940A (en) * | 2015-07-16 | 2015-11-04 | 重庆大学 | Link adaptation-based heterogeneous network TCP congestion control method |
CN105207949A (en) * | 2014-06-12 | 2015-12-30 | 中国移动通信集团内蒙古有限公司 | TCP optimization method and system, and SP server |
-
2017
- 2017-08-04 CN CN201710660611.2A patent/CN107360101B/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188473A (en) * | 2007-12-20 | 2008-05-28 | 上海交通大学 | Self-adapted adjustment method for transmission rate of transport layer in wireless self-organized network |
CN101409935A (en) * | 2008-11-20 | 2009-04-15 | 上海交通大学 | TCP transmission control method for score window step length in wireless self-organizing network |
CN105207949A (en) * | 2014-06-12 | 2015-12-30 | 中国移动通信集团内蒙古有限公司 | TCP optimization method and system, and SP server |
CN104486690A (en) * | 2014-12-25 | 2015-04-01 | 北京理工大学 | Mobile video transmission optimization method based on TCP (transmission control protocol) |
CN105024940A (en) * | 2015-07-16 | 2015-11-04 | 重庆大学 | Link adaptation-based heterogeneous network TCP congestion control method |
Non-Patent Citations (1)
Title |
---|
"基于往返时间最佳预测的无线TCP性能改进";刘俊;《深圳信息职业技术学院学报》;20120915;正文1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107360101A (en) | 2017-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107360101B (en) | TCP congestion control algorithm based on adaptive parameters | |
US9882831B2 (en) | Maximizing bandwidth utilization in networks with high latencies and packet drops using transmission control protocol | |
US8787378B2 (en) | Systems and methods to improve performance of TCP over large bandwidth-delay-product networks | |
CN102468941A (en) | Network packet loss processing method and device | |
EP1240753A1 (en) | Congestion control method for a packet-switched network | |
CN107800638B (en) | Congestion control method and device | |
CN106789702B (en) | Method and device for controlling transmission performance of TCP (Transmission control protocol) | |
CN104683259A (en) | TCP congestion control method and device | |
WO2014194797A2 (en) | Transmission control protocol(tcp)connection control parameter in-band signaling | |
EP1238499A1 (en) | Network interface driver and method | |
WO2010092323A2 (en) | Data transmission | |
WO2016072836A1 (en) | A method for tcp congestion in multi-hop wireless network | |
CN115883463A (en) | Network load-based congestion control method and system in data center | |
Volodina et al. | Impact of ack scaling policies on quic performance | |
US20140334296A1 (en) | Aggressive Transmission Control Protocol (TCP) Retransmission | |
Lai | Improving the performance of TCP Vegas in a heterogeneous environment | |
TWI308012B (en) | Method for adaptive estimation of retransmission timeout in wireless communication systems | |
Awadallah et al. | TCP-BFA: Buffer fill avoidance | |
Dangi et al. | A new congestion control algorithm for high speed networks | |
Hindawi et al. | A proposed method for TCP congestion control using AIMD approach | |
KR101334990B1 (en) | Congestion window control method in Transmission Control Protocol | |
Alnuem et al. | New algorithm to control TCP behavior over lossy links | |
Oda et al. | Design and evaluation of hybrid congestion control mechanism for video streaming | |
Alnuem et al. | Tcp multiple drop action for transmission errors | |
Olasoji et al. | Transmission Control Protocol and Congestion Control: A Review of TCP Variants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200114 Termination date: 20200804 |