Network Congestion Control (9) cubic

Source: Internet
Author: User

Next, shortly after the proposal of BIC-TCP,North Carolina Lina State UniversityAccording to some disadvantages of BI-TCP, the researchers once again proposedAlgorithm, Cubic is not only a simple correction of BIC-TCP problems, its entire algorithm has been greatly adjusted.

First look at the shortcomings of the BIC-TCP: First of all, the preemption is strong, the growth function of the BIC-TCP in the small link bandwidth delay is short, compared to the standard TCP to preemption, in the detection phase, it is equivalent to restarting a slow start algorithm. When TCP is stable, the window continues to grow linearly and the slow start process will not be executed again. Secondly, the window control phase of the BIC-TCP is divided into binary search increase, Max probing, and then there is SMaxThe differences between Smin and Smin increase the difficulty of Algorithm Implementation and increase the complexity of the protocol performance analysis model.

The window adjustment algorithm of BIC-TCP is simplified in the design of cubic, in the window adjustment of the BIC-TCP, there will be a concave and convex (concave and convex here refer to the concave and convex, concave/convex) growth curve in the mathematical sense, cubic uses a cubic function (that is,CubeFunction), there is also a concave and convex part in the cubic function curve, the curve shape and the curve of the BIC-TCP is very similar, so this Part replaces the growth curve of the BIC-TCP. In addition, the key point of cubic is that its window growth function only depends on the time interval values of two consecutive congestion events, so window growth is completely independent of the network delay RTT, the hstcp mentioned earlier has serious RTT unfairness, while the independent RTT nature of cubic enables cubic to maintain a good rrtt fairness between TCP connections with multiple shared bottleneck links.

Let's take a look at the specific details: When a congestion event occurs, wmax sets the window value for which congestion occurs. Then, the window is reduced by multiplication, and the multiplication factor is setβAfter exiting from the rapid recovery phase and entering the congestion avoidance phase, the growth of the cubic window begins to grow according to the "Concave" growth curve, this process continues until the window grows to wmax again. Then, the function is transferred to the "convex" growth stage. The growth of this method can keep the window close to wmax, so as to achieve high network bandwidth utilization and Protocol stability.

The window growth function is as follows:

W (t) = C * (t-K)3+ Wmax, where C andβIs a constant.

T is the time difference between the current time and the previous window. k Represents the time period in which the function increases from W to wmax,.

When Ack is received, cubic computing uses this algorithm to calculate the window growth rate in the next rtt, that is, w (t + RTT). This value is used as the target value of cwnd, based on the cwnd size, the cubic will enter three different modes, if cwnd is smaller than the value that the T window will reach after the last congestion in standard TCP (this value is calculated by the standard TCP Window growth function ), the cubic is in the standard TCP mode. If it is smaller than wmax, it is in the concave stage. If it is larger than wmax, it is in the convex stage.

Given the better performance of cubic than BIC-TCP, after linux2.6.18, cubic replaced the BIC-TCP and became the default TCP algorithm.

Of course, cubic also has its disadvantages. For example, the rapid growth in the convex growth stage may lead to sudden bursts of network traffic, resulting in certain packet loss.

for the Code of the kernel, see /NET/IPv4/tcp _ cubic . C. For detailed theoretical proof and pseudocode implementation, see thesis .

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.