This article was previously published under Q138831
This article has been archived. It is offered "as is" and will no longer be updated.
This article explains the Nagle TCP/IP algorithm and how to manuallydisable it on different the SNA Server client and server releases fordifferent operating systems. It also mentions how to obtain an update thatautomatically disables this algorithm.Microsoft has updated the file <snaroot>\SYSTEM\SNAIP.DLL to correct thisproblem.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This correction is included in the latest U.S. Service Pack for SNA Server for Windows NT, version 2.11. For information on obtaining the Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces):
S E R V P A C K
The Nagle TCP/IP Algorithm
The Nagle TCP/IP algorithm was designed to avoid problems with smallpackets, called tinygrams, on slow networks. The algorithm says that aTCP/IP connection can have only one outstanding small segment that has notyet been acknowledged. The definition of "small" varies but usually it isdefined as "less than the segment size" which on ethernet is about 1500bytes.
Manually Disabling the Nagle Algorithm
You can disable the Nagle algorithm by performing the SNA Server client andserver modifications mentioned below and following the instructions in theActivating the Modifications section.
SNA Server Modifications
Under the subtree HKEY_LOCAL_MACHINE add the subkey SNATCP under the following key:
Choose Add Key from the Edit menu and use the following information:
Value Name: NoDelay Data Type: REG_SZ String: yes
Windows 95 SNA Client Modifications
Add the same registry entry as SNA Server above.
Windows 3.x Modifications
Windows 3.x client always disables the Nagle algorithm and there is no wayto enable it.
Activating the Modifications
When the NoDelay is set to yes, the TCP/IP transport DLL uses theTCP_NODELAY option when it opens a socket.
For this to take effect, the client server interface must be stopped andrestarted on both the server and client after the registry changes havebeen made. The following table shows the name of the SNA client serverinterface program and the corresponding operating system platform:
Client Server Interface Platform ---------------------------------------- SNABASE Service Windows NT SNABASE Service Windows 95 WNAP.EXE Windows 3.x
Note: The Nagle algorithm is defined in TCP/IP RFC 896.