Skip to Content
Internet Core Protocols: The Definitive Guide
book

Internet Core Protocols: The Definitive Guide

by Eric Hall
February 2000
Intermediate to advanced
464 pages
15h 57m
English
O'Reilly Media, Inc.
Content preview from Internet Core Protocols: The Definitive Guide

The Silly Window Syndrome

The amount of buffer space that a system advertises depends on how much buffer space it has available at that given moment, which is dependent upon how quickly applications can pull data out of the receive buffer. This in turn is driven by many factors, such as the complexity of the application in use, the amount of CPU time available, the design of the TCP stack in use, and other elements.

Unfortunately, many of the first-generation TCP-based applications did a very poor job of cleaning out the receive buffers, taking only a few bytes at a time. The system only advertised a receive buffer of a few bytes. In turn, a sender would transmit only a very small segment, since that was all that was being advertised by the recipient. This process would repeat incessantly, with the recipient taking another few bytes out of the receive queue, advertising a small window, and then receiving yet another very small segment.

To prevent this scenario (known affectionately as the “Silly Window Syndrome”), RFC 1122 clarified the amount of buffer space that could be advertised, stating that systems could only advertise a non-zero window if the amount of buffer space available could hold a complete segment (as defined by the value shown in the MSS option), or if the buffer space was at least half of the “normal” window size. If neither of these conditions are met, then the receiver should advertise a zero-length window, effectively forcing the sender to stop transmitting.

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Packet Guide to Core Network Protocols

Packet Guide to Core Network Protocols

Bruce Hartpence
Ethernet: The Definitive Guide, 2nd Edition

Ethernet: The Definitive Guide, 2nd Edition

Charles E. Spurgeon, Joann Zimmerman

Publisher Resources

ISBN: 1565925726Supplemental ContentErrata Page