DOCUMENT:Q199947 10-AUG-2001 [winnt] TITLE :TCP/IP: Windows NT 4.0 Does Not Support TCP Scale Option PRODUCT :Microsoft Windows NT PROD/VER:winnt:3.5,3.51,4.0 OPER/SYS: KEYWORDS: ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Windows NT Server versions 3.5, 3.51, 4.0 - Microsoft Windows NT Workstation versions 3.5, 3.51, 4.0 - Microsoft Windows NT Server, Enterprise Edition version 4.0 ------------------------------------------------------------------------------- SUMMARY ======= Windows NT 4.0 TCP/IP does not support the TCP Window Scale Option specified in RFC 1323 for TCPWindowSize. Therefore, the maximum TCP receive window size, TCPWindowSize, of Windows NT 4.0 TCP/IP is 64 KB (65,535 bytes) because the field in the TCP header is 16 bits in length. MORE INFORMATION ================ The TCP receive window size is the amount of receive data (in bytes) that can be buffered at one time on a connection. The sending host can send only that amount of data before waiting for an acknowledgment (ACK) and window update from the receiving host. The TcpWindowSize registry parameter determines the maximum TCP receive window size offered by the computer. The receive window specifies the number of bytes a sender can transmit without receiving an acknowledgment (an ACK); in other words, it indicates the amount of receive data (in bytes) that can be buffered at one time on a connection. The sending host can send only the amount of data indicated by the receive window before waiting for an acknowledgment and window update from the receiving host. In general, larger receive windows improve performance over high delay, high bandwidth networks. For greatest efficiency, the receive window should be an even multiple of the TCP maximum segment size (MSS). However, if your clients experience connectivity problems because they time out before data transmission reaches them, you can change the value of the TcpWindowSize parameter. Reducing the value of TcpWindowSize causes an acknowledgment for data received to be sent to the sender sooner. Earlier acknowledgment lowers the possibility that the sender will time out while waiting for an acknowledgment. However, it also increases the amount of network traffic and causes slower throughput. The TCP/IP stack is designed to self-tune in most environments. Instead of using a hard-coded default receive window size, TCP adjusts the window size to even increments of the MSS negotiated during connection setup. Matching the receive window to even increments of the MSS increases the percentage of full-sized TCP segments used during bulk data transmission. By default, TcpWindowSize is set to 8 KB, rounded up to the nearest MSS increment for the connection. If that increment is not at least four times the MSS, it is adjusted to four times the MSS, with a maximum size of 64 KB. The maximum window size is 64 KB because the field in the TCP header is 16 bits in length. For Ethernet, the receive window is usually set to 8,760 bytes (that is, 8,192 rounded up to six 1,460-byte segments). For 16/4 Token Ring or FDDI, it is set to around 16 KB. These are default values, and it is not generally advisable to alter them. However, if necessary, you can either change TcpWindowSize to globally change the setting for the computer, or use the setsockopt Windows Sockets call to change the setting on a per-socket basis. Request for Comments (RFC) 1323 describes a TCP window scale option that can be used to obtain larger receive windows; however, Windows NT-based TCP/IP does not yet implement that option. Additional query words: NT TCPIP TCPWindowSize RFC Scale ====================================================================== Keywords : Technology : kbWinNTsearch kbWinNTWsearch kbWinNTW400 kbWinNTW400search kbWinNT351search kbWinNT350search kbWinNT400search kbWinNTW350 kbWinNTW350search kbWinNTW351search kbWinNTW351 kbWinNTSsearch kbWinNTSEntSearch kbWinNTSEnt400 kbWinNTS400search kbWinNTS400 kbWinNTS351 kbWinNTS350 kbWinNTS351search kbWinNTS350search Version : winnt:3.5,3.51,4.0 Issue type : kbinfo ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.