What makes TCP window size keep changing

For example, in some operating systems, the TCP window size always change around 30000~60000 (of course, max 65535). The objective of window size is to inform the TCP sender and receiver, and improve the packet transmission efficiency.

I heard that some OS always use fixed window size. Then why not keep the window size at max 65535 or a large value? What determine the window size and always change it?

Because to me, it seems squarely a question about TCP Window Sizes, which seems to fit squarely into what would be on-topic on the Network Engineering SE.

3 Answers 3


The reason I voted to close it (we're talking about this question) was that it seems to be focused on implementation choices for TCP Window sizing in various Operating Systems. I somewhat agree that there is a bit of gray area here and that with different phrasing this question could be more focused on the window sizing aspect and less about OS specific implementation, making it less speculative and OS focused.


What you wrote in your question here:

Then why not keep the window size at max 65535 or a large value?

doesn't match the original question:

Then why not Windows OS always keep the window size at max 65535 or a large value?

The question asks why Microsoft's OS doesn't do something, and that question is not on-topic here.

I think the question could be modified to fit the rules, and then an explanation of TCP windowing would be a good answer, but we should not speak for Microsoft's reasons for how it builds its OS, and we should not change the question to mean something different that what was originally asked.

  • All I did was remove the words Windows OS... and the word always. Again, this is an example of a question being closed or put on hold solely because of the existence of a trigger word.
    – Eddie
    Jun 21, 2016 at 1:07
  • @Eddie, not really. Removing what you did actually changes the meaning of the question. The question, as written, is off-topic here, and there is an on hold period to allow the OP to fix the problem(s) with the question. If changing the wording would not have changed the meaning of the question, I probably would have edited the question, as I have done before, to remove off-topic wording, but it is not OK to change the meaning of what someone is asking.
    – Ron Maupin Mod
    Jun 21, 2016 at 1:12
  • Here is another example @RonMaupin is the worst possible fit for NE moderator. If you have no valid input on the question, just leave it to someone with a clue. Are you some kind of control freak that really has to remove everything you don't like from the Internet? Jun 22, 2016 at 17:56

I meant to get back to this sooner, sorry I went MIA there

Most of you have picked out that this thread exists solely because I do not believe this should have been closed:

What makes TCP window size keep changing (e.g.windows)?

This is another one of those cases where we could have picked between giving the benefit of the doubt to the OP and provide a helpful answer, or just be legalistic and dismissive.

The question I wrote above is nothing more than the exact same question the OP asked but omitting referencing a specific operating system. And as expected, the consensus is that the edited question above is on topic.

We really need to move past being a community that won't answer a question unless it is perfectly worded.

We need to move past being a community that will close a question solely because it contains a particular trigger word.

Yes, the OP mentioned Windows. But only as a comparison point to frame their actual question. The question at its core is not "why does Windows do xyz", but "why would an operating system do xyz", it is squarely a protocol theory question.

But fine, I'll admit that it is subjective. In response, however, I want to ask... what would the harm really have been had we given the OP the benefit of the doubt and answered why would an OS do XYZ?

Would that have really been the beginning of the end for the NESE community? Would it open the flood gates to "why does Windows do xyz" questions?

Could the answer to the root question (why would an OS do XYZ) help other members that might one day search for a question like this? Could an appropriate answer contribute to the catalog of knowledge that Stack Exchange tries to be?

We could have answered, then mentioned in the comments that the specific OS implementation is off-topic. I'm not sure it would have been necessary, but if it satisfies the legalistic among us, then fine. But to outright close it was not the right move. It does not foster or encourage community, it does not foster or encourage the OP coming back to ask a 'on topic' question.

  • "But to outright close it was not the right move." The question was not closed outright. It was placed on hold, giving the OP the opportunity to edit the question to meet the community rules, at which point it will automatically start a reopen review. Also, what you call the root question, "why would an OS do XYZ," is off-topic here. What a host OS does is outside the scope of this site; only the OS manufacturer can actually answer that question.
    – Ron Maupin Mod
    Jun 20, 2016 at 23:20
  • The OS part is irrelevant, @RonMaupin. The root question is "why would anything do XYZ", aka, what are the pros and cons of one implementation or another, why does one implementation chose one set of rules to follow vs the other. This, at its core, is a TCP question.
    – Eddie
    Jun 20, 2016 at 23:38
  • 1
    I was just quoting what you claimed was the root question. I have no problem with someone asking about how TCP works, but we can't change the meaning of someone's question, and we should not be answering off-topic questions. The accepted SE way is to place an off-topic question on hold to give the OP a chance to edit the question to fit the rules. That is all that happened here, as it happens on just about every SE site.
    – Ron Maupin Mod
    Jun 21, 2016 at 0:00
  • @RonMaupin I'm claiming you misunderstood the OP's question. Can you honestly not see that it can be interpreted multiple ways?
    – Eddie
    Jun 21, 2016 at 0:17
  • I don't believe I did. If so, I was not the only one, or even the first. If a question is written so poorly as to be something other than as written, that is on the OP to correct. That is the sort of thing the on hold period is for, and I think the system worked exactly as designed. It is also possible that you are the one who misunderstood what was asked. I merely took the question as written, and I responded accordingly. You certainly could have commented to help guide the the OP to edit the question to fit the site rules.
    – Ron Maupin Mod
    Jun 21, 2016 at 0:24
  • 1
    I agree With @Eddie here, but he made a slight error in his rewording. He referred to "an OS", but it should have been "a TCP implementation", and "Why would a TCP implementation [act in a particular way]" certainly seems like it should be right on.
    – MAP
    Jul 24, 2016 at 23:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .