Wow. A lot more here. First I really *despise* you guys making me have to go to the OLD, LONG post -- it takes longer to get to the bottom of page 2!
~~
Venom-
You have hit my present area of interest and investigation -- Path MTU Discovery. I believe this is exactly the behavior TRS describes above. TRS reports that the initial receive window is decided on by a "bidding" process in the 3-way handshake. SYN offers an RWIN and MSS. SYN,ACK offers back another RWIN and MSS. ACK comes back with the final RWIN and MSS -- reportedly with MSS the lesser of the two offered, and the receive window as a multiple of this MSS that exceeds the proposed RWIN in the SYN packet.
~~~~
Here is a quote from MS's White Paper on TCP/IP:
PMTU discovery... When a connection is established, the two hosts involved exchange their TCP maximum segment size (MSS) values. The smaller of the two MSS values is used for the connection.
TCPWindowSize... TCP adjusts to even increments of the MSS (maximum segment size) negotiated during connection setup.
~~~~
Sounds just like what TRS found -- except, he actually found that the window size was NOT always at even increments...
Now, the implications of this is that RWIN does NOT have to be a multiple of MSS at ALL!! MS TCP/IP *seems* to take care of that itself. One problem. I investigated this myself and I could not demonstrate the described PMTU Discovery behavior!!! I had someone else try as well -- but again, what TRS described and what is printed in the MS White Paper did not seem to occur. INTERESTING... I am still looking into this.
That is why I asked you if you packet-sniffed. It is quite enlightening. I have gone into detail on interpreting the Tcp Option string here: http://www.dslreports.com/forum/rema...s,61;mode=flat
[Philip - it you want *final* proof about Tcp1323Opts as a Dword vs. String - check out my posting and packet sniff yourself. If it doesn't show "0103030n" (n=scale factor) in the TcpOptions line of the Tcp Header, then you can be *sure* the Dword doesn't work.]
[Oh, and Venom -- that is EXACTLY how you can prove to yourself that SackOpts doesn't belong in the "Parameters" sub-key.]
You can't trun off PMTU Discovery or your MTU will crash down to pre-RFC1191 levels of 576!! Try it yourself and run a Tweak test at dslreports.
Mystic-
I agree with where you are coming from (so insert "Yes" almost anywhere I don't address) except:
1) The RFC's are the LAWS of the Internet -- they are not just theories.
2) Different users on the same service may have different routing, etc. I don't think you can generalize.
3) There cannot be one magical number. I have argued this incessantly.
4) You are HORRIBLY wrong in one spot:
"Microsoft and who ever else - they are all right." I must strongly disagree with this. Why??? I can show you several spots where the MSKB is simply erroneous.
The best example that comes to mind are the comments for "Tcp1323Opts". In one place it says that for Win98 this a DWORD -- wrong!!! In other place, it correctly states this is a String value, but the lines exactly above that state that Tcp1323Opts are **enabled** by default -- wrong again!!!
So, the RFC's are the laws of the Internet, but don't expect Microsoft to be 100% correct.
Bookmarks