CN107360101B - TCP congestion control algorithm based on adaptive parameters - Google Patents

TCP congestion control algorithm based on adaptive parameters Download PDF

Info

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
Application number
CN201710660611.2A
Other languages
Chinese (zh)
Other versions
CN107360101A (en
Inventor
刘畅
吕鹏林
马成前
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201710660611.2A priority Critical patent/CN107360101B/en
Publication of CN107360101A publication Critical patent/CN107360101A/en
Application granted granted Critical
Publication of CN107360101B publication Critical patent/CN107360101B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-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

TCP congestion control algorithm based on adaptive parameters
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.
Figure BDA0001370471810000061
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.
CN201710660611.2A 2017-08-04 2017-08-04 TCP congestion control algorithm based on adaptive parameters Expired - Fee Related CN107360101B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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