1

I have tried to look for this information on Google, but I haven't been able to find a good source for this information.

So, I am interested in what are the initial TCP congestion windows on different client operating systems (iOS, macOS, Windows, embedded devices).

I was able to find that Linux has used 10xMSS since 2.6.39, but how about other operating systems?

3
  • Hi @cown I don't think it's really an OS issue, see my answer. I've edited the title.
    – jonathanjo
    Nov 22, 2018 at 10:24
  • @jonathanjo Makes a lot more sense
    – user36472
    Nov 22, 2018 at 10:30
  • "there is still no concrete information on what the initial congestion window size is for different operating systems and their versions." That would actually be off-topic here. Host/server configurations are explicitly off-topic.
    – Ron Maupin
    Dec 9, 2018 at 21:33

1 Answer 1

2

There is as you might imagine a lot of research on window sizes in general, and you will see there's a lot of research in specifically what are the recommendations for initial window size in TCP.

The settings are more to do with IETF's recommendations, which have increased over time, than a given operating system.

IETF recommended MSSx10 in 2013's RFC 6928.

The APNIC survey (see below) shows peaks at 1, 2, 4, 10 xMSS, interpreted to indicate the age of the operating system. As initial window size is also customisable in many OS, high-traffic websites tend to have customised values tuned to their situation.

You might be interested in these papers and articles.

  • APNIC's initial window size survey (link)
  • RFC 6928 "Increasing TCP's Initial Window" (link)
  • IETF 2010 "Increasing TCP's Initial Window" Dukkipati et al Paper (link)
  • Internet draft "Automating the Initial Window in TCP" (link)
  • Network Computing's article on window sizes (link)
  • Search for works by Van Jacobson and Mark Allman, a couple of the leading researchers in this field.

From these you should be able to find what you're looking for.

[EDIT] Additionally, for actual concrete values, you might find NMAP helpful, as it has a network fingerprint database for recognising operating systems which includes, amongst many other things, the expected initial window size. NMAP's OS-detection explanation is here, the database source is here, and the description of the format is here.

4
  • Actually I was able to find this information, but there is still no concrete information on what the initial congestion window size is for different operating systems and their versions. The recommendation development is easy to find, but the actual implementation development is the information I need. Nov 22, 2018 at 11:54
  • I'd suggest contacting the authors of the APNIC survey directly asking this, as they publish their data, and may well know. iw.comsys.rwth-aachen.de/about.html
    – jonathanjo
    Nov 22, 2018 at 12:06
  • @TeroKilkanen Hi Tero just thought that perhaps NMAP source has what you need; answer updated.
    – jonathanjo
    Dec 17, 2018 at 0:43
  • Thanks for the update, that is a good find! Dec 19, 2018 at 23:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.