to Nagle’s algorithm, called Minshall’s Modification, solved this problem with stop-and-wait protocols that send one short message and then wait for an acknowledgement before sending the next, removing the incentive for them to disable Nagle’s algorithm (though such protocols will still be limited by their design to one message exchange per network round-trip time). In general, since Nagle's algorithm is only a defense against careless applications, disabling Nagle’s algorithm will not benefit most carefully written applications that take proper care of buffering. Disabling Nagle’s algorithm will enable the application to have many small packets in flight on the network at once, instead of a smaller number of large packets, which may increase load on the network, and may or may not benefit the application performance. Interactions with real-time systems Applications that expect real-time responses and low latency can react poorly with Nagle's algorithm. Applications such as networked multiplayer video games or the movement of the mouse in a remotely controlled operating system, expect that actions are sent immediately, while the algorithm purposefully delays transmission, increasing bandwidth efficiency at the expense of latency. For this reason applications with low-bandwidth time-sensitive transmissions typically use TCP_NODELAY to bypass the Nagle-delayed ACK delay. Another option is to use UDP instead. Operating systems implementation Most modern operating systems implement Nagle's algorithms. In AIX, Linux, and Windows it is enabled by default and can be disabled on a per-socket basis using the TCP_NODELAY option. References External links Nagle delays in Nagle's Algorithm Nagle's algorithm TCP Performance problems caused by interaction between Nagle's Algorithm and Delayed ACK Design issues - Sending small data segments over TCP with Winsock Networking algorithms Transmission Control Protocol