Transmisssion Control Protocol (TCP)

Nagle’s Algorithm & Silly Window Syndrome

Posted on

a) What is Nagle’s Algorithm.

b) What is Silly window syndrome. Explain Clark’s solution to the Silly window      syndrome.

Solution :

a) The main purpose of Nagle’s algorithm is to avoid inefficient use of bandwidth. When data come into the sender one byte at a time, just send the first byte and buffer all the rest until the outstanding byte is acknowledged. Then send all the buffered characters in the TCP segment and start buffering again until they are all acknowledged. If the user is typing quickly and the network is slow, a substantial number of characters may go in each segment, greatly reducing the bandwidth used.

The algorithm additionally allows a new packet to be sent if enough data have trickled in to fill half the window or a maximum segment.

b) Silly window syndrome is a problem that can degrade TCP performance.

This problem occurs when data are passed to the sending TCP entity in large blocks, but an interactive application on the receiving side reads data 1 byte at a time.

Clark’s solution is to prevent the receiver from sending a window update for 1 byte.

Instead it is forced to wait until it has a decent amount of space available and advertise that instead. Specifically, the receiver should not send a window update until it can handle the maximum segment size it advertised when the connection was established or until its buffer is half empty, whichever is smaller.

The sender can also help by not sending tiny segments. Instead, it should wait until it has accumulated enough space in the window to send a full segment or at least one containing half of the receiver’s buffer size.

Nagle’s algorithm and Clark’s solution to the silly window syndrome are complementary. Nagle’s algorithm tries to solve the problem caused by the sending application delivering data to TCP a byte at a time. Clark’s solution tries to solve the problem of the receiving application sucking the data up from TCP a byte at a time.

Both solutions can work together. The goal is for the sender not to send small segments and the receiver not to ask for them.

Posted by Vissicomp Technology Pvt Ltd.