- Silly window syndrome
Silly window syndrome is a problem in
computer networking caused by poorly-implemented TCPflow control . If a server with this problem is unable to process all incoming data, it requests that its clients reduce the amount of data they send at a time (the "window" setting on a TCP packet). If the server continues to be unable to process all incoming data, the window becomes smaller and smaller, sometimes to the point that the data transmitted is smaller than the packet header, making data transmission extremely inefficient. The name of this problem is due to the window size shrinking to a "silly" value.Since there is a certain amount of overhead associated with processing each packet, the increased number of packets means increased overhead to process a decreasing amount of data. The end result is thrashing.
olution
When the Silly Window Syndrome is created by the sender, Nagle's solution is used. Nagle's solution requires that the sender sends the first segment even if it is a small one, then the sender waits until an ACK is received or a maximum sized segment is accumulated.
When the Silly Window Syndrome is created by the receiver, David D Clark's solution is used. Clark's solution closes the window until another segment can be received or the buffer is half empty.
Receive-Side Silly Window Avoidance
A
heuristic method that a receiver uses to maintain an internal record of the available window, and delay advertising an increase in window size to the sender until it can advance a significant amount. This amount depends on the receiver's buffer size and maximum segment size. By using this method, it prevents small window advertisements where received applications extract data octets slowly.Send-Side Silly Window Avoidance
A heuristic method where the send TCP must allow the sending application to make "write" calls, and collect the data transferred in each call before transmitting it into a large segment. The sending TCP delays sending segments until it can accumulate reasonable amounts of data, which is known as "clumping."
Comer, Douglas E. Internetworking with TCP/IP. 5th edition. Prentice Hall: Upper Saddle River, NJ. 2006.
See also
*
Nagle's algorithm
*David D Clark's algorithm (used to avoid Silly Window Syndrome)External links
* [http://www.tcpipguide.com/free/t_TCPSillyWindowSyndromeandChangesTotheSlidingWindow.htm Explanation of the silly window syndrome]
Wikimedia Foundation. 2010.