There are many misunderstandings about congestion control .
It is generally believed that the design of a strong congestion control algorithm can improve the efficiency TCP Transmission performance of .
It is generally believed that congestion control exists for optimization .
More than that .
It is generally believed that meaningful things exist for optimization .
I remember when I was in high school , After the math teacher finished a clever solution to a problem , I always yell below that I have a more troublesome way to solve this problem , I mean, I don't want to wait until class is over, and everyone comes to ask me questions one by one , So much so , I might as well disclose a more troublesome method that everyone knows , When we are all in pursuit of wonderful skills , I'm a bit of a maverick .
Similar to this ,TCP Congestion control is a troublesome method , After adding congestion control mechanism , Data may be transmitted more slowly than faster , It's fair and smooth , The so-called "not suffering from scarcity but suffering from inequality" . If you want to be faster , Then don't congestion control .
A lot TCP Accelerated individuals or companies , Hope to design a powerful congestion control algorithm , How naive this idea is , absolutely wrong . They read all kinds of algorithms endlessly paper, Don't even look at the text and jump to the final comparison data , Trying to find a way CUBIC, Rolling BBR A new algorithm for image processing , And then on the basis of this new algorithm , Change some parameters randomly , Increase the decimal , hold 13 Change to 23 such , And then take some random data to beat it up and down .
In fact, Internet cafes play games or do web Most of them are more professional than others TCP People who speed up understand better .
These people clearly want to get rid of congestion control , Remove AIMD operation , When there is data, it's just a direct contract , Isn't that a more correct approach ?
Maybe someone knows APPEX, This company's practice is very good “ correct ”
, They just make sure they don't fight with themselves , Congestion control is almost impossible . So called TCP accelerate , You need to design a logic for when to contract , Instead of designing a control window or a logic to control the speed, we need to send more and send less .
Think of traffic lights as a way to make your car run faster , Isn't that a joke ? On a road with speed limit and traffic lights , You want to speed up ? If you don't exceed the speed limit , If you don't run the red light , You want to speed up ?
Let's have some real scenes . Extreme point , In the case of direct connection with exclusive bandwidth , Write windows as network card speed and RTT Product of , You can get the fastest speed , However, in reality, there is no such environment at all , You use the data measured in this environment to deceive people , Isn't that cheating ?
RTT Why does it shake violently ? Why is bandwidth measurement unreliable ? But these are the norm , What's not reliable is your perception .
Do you think the traffic on the network is enlarging the files ? Do you think everyone is watching live ? Do you think the path from a fixed source to a fixed destination is fixed and unique ? In fact, most of the traffic on the network is once or several times pingpong Flow of , The life cycle of a connection does not exceed a few RTT, This kind of unforeseen and unexpected traffic is the normal network !
Look at the drivers , People on battery cars, buses and subways , Look how you walk , People sitting on the sofa and lying in bed , How many are doing big file transfer ?
What motivates them to pull data larger than one screen ? The time required for the human eye to scan a screen is second level .
Most of them are scribbled to open a page and then close it , Turn on one video and then the next one . Each data transmission time is about several to dozens RTT, No one can predict who will ask for a screen size picture or text when , This is the normal state of the Internet !
You're the only one installing the new one app Download the app When installing the package , Will be involved in so many dozens M, several hundred M Larger file transfer for . And from time to time it's more unpredictable and unmanageable UDP flow , Things don't take advantage of it TCP Accelerated .
In this vast and unpredictable world , Short burst , How to accelerate in the ocean , You as a long connection are foolishly measuring bandwidth and predicting packet loss , Isn't that stupid ? The behaviors you predict are caused by some long gone connections , It's all done. I'm going to brush my clothes .
According to the Internet bar to play the game or do web People who understand , Simply increasing the initial window can solve most of the problems , You don't have to do anything else . In my opinion, they know better TCP Accelerated .
It's not like you're in a long connection TCP accelerate , It's better to make a few fixed 1000000000000000 Initial window fastopen What about the short connection , I can see that , ha-ha , Operator does not support fastopen What should I do? ? This question lets the Internet bar play the game the person or do web You'll get the answer when you're beaten up .
Someone wants to talk to me again APPEX, I admit that those people's algorithms are awesome , But I'm still not optimistic , I don't think this gray thing can last long , Fair speed on the Internet is right , This is a correct game , Any attempt to accelerate is rubbish .
When it comes to this topic , I always have a good attitude , But work belongs to work , Attitude is attitude , Dust to dust , Soil to soil , I have my own TCP The ability to accelerate , in fact , At the end of the day , I'm rubbish myself .
Wet leather shoes in Wenzhou, Zhejiang Province , If it rains, you won't get fat .