linuxnetwork-programmingtcprfccongestion-control

Why Linux(newer version) congestion control doesn't follow RFC5681?


I was just studying at TCP congestion control. When I read chapter about slow start, I turned to RFC5681, I found that the standard showed that

But I tested on my ubuntu server as well as looking up material on google, I found that the init cwnd was about 10.
I just can't understand it.Help.


Solution

  • Also check out https://news.ycombinator.com/item?id=1942442 and https://developers.google.com/speed/pagespeed/service/tcp_initcwnd_paper.pdf

    About 2010 there was a big swirl about Google using an initial congestion window of 10 instead of following the RFC. The basic idea is the networks can handle the load, plus, when the connection has just started, the receiver buffers are empty, so there is no chance of overflowing them, so why go through the long slow start process?

    Doing this, they cut out a lot of round trips, which saves time, bandwidth and on mobile devices, battery. More important, the customer gets the data faster, which makes them happier.