This preview shows page 1. Sign up to view the full content.
Unformatted text preview: Interactive Data Flow the times are 16.5, 16.3, 16.5, 16.4, and 17.3 ms. Since this time is less than 200 ms, we
never see a delayed ACK on that side. There is always data ready to be sent before the
delayed ACK timer expires. (We could still see a delayed ACK if the wait period, about
16 ms, crosses one of the kernel's 200-ms clock tick boundaries. We just don't see any of
these in this example.)
We saw this same scenario in Figure 18.7 with the 500-ms TCP timer used when
detecting a timeout. Both TCP timers, the 200- and 500-ms timers, go off at times
relative to when the kernel was bootstrapped. Whenever TCP sets a timer, it can go off
anywhere between 1-200 or 1-500 ms in the future.
The Host Requirements RFC states that TCP should implement a delayed ACK but the
delay must be less than 500 ms. 19.4 Nagle Algorithm
We saw in the previous section that 1 byte at a time normally flows from the client to the
server across an Rlogin connection. This generates 41-byte packets: 20 bytes for the IP
header, 20 bytes for the TCP header, and 1 byte of data. These small packets (called
tinygrams) are normally not a problem on LANs, since most LANs are not congested, but
these tinygrams can add to congestion on wide area networks. A simple and elegant
solution was proposed in RFC 896 [Nagle 1984], called the Nagle algorithm.
This algorithm says that a TCP connection can have only one outstanding small segment
that has not yet been acknowledged. No additional small segments can be sent until the
acknowledgment is received. Instead, small amounts of data are collected by TCP and
sent in a single segment when the acknowledgment arrives. The beauty of this algorithm
is that it is self-clocking: the faster the ACKs come back, the faster the data is sent. But
on a slow WAN, where it is desired to reduce the number of tinygrams, fewer segments
are sent. (We'll see in Section 22.3 that the definition of "small" is less than the segment
We saw in Figure 19.3 that the round-trip time on an Ethernet for a single byte to be sent,
View Full Document
This test prep was uploaded on 04/04/2014 for the course ECE EL5373 taught by Professor Guoyang during the Spring '12 term at NYU Poly.
- Spring '12