This preview shows page 1. Sign up to view the full content.
Unformatted text preview: r to the client. This is ACKed by the client in
line 3 by setting the acknowledged sequence number to 2. 19.3 Delayed Acknowledgments
There are some subtle points in Figure 19.2 dealing with timing that we'll cover in this
section. Figure 19.3 shows the time line for the exchange in Figure 19.2. (We have
deleted all the window advertisements from this time line, and have added a notation
indicating what data is being transferred.)
We have labeled the seven ACKs sent from bsdi to svr4 as delayed ACKs. Normally
TCP does not send an ACK the instant it receives data. Instead, it delays the ACK,
hoping to have data going in the same direction as the ACK, so the ACK can be sent
along with the data. (This is sometimes called having the ACK piggyback with the data.)
Most implementations use a 200-ms delay-that is, TCP will delay an ACK up to 200 ms
to see if there is data to send with the ACK. Figure 19.3 Time line of data flow for date command typed on an rlogin
If we look at the time differences between bsdi receiving the data and sending the
ACK, they appear to be random: 123.5, 65.6, 109.0, 132.3,42.0, 140.3, and 195.8 ms.
Look instead at the actual times (starting from 0) when the ACKs are sent: 139.9, 539.9,
940.1, 1339.9, 1739.9, 1940.1, and 2140.1 ms. (We have marked these with an asterisk to
the left of the time in Figure 19.3.) There is a multiple of 200 ms between these times.
What is happening here is that TCP has a timer that goes off every 200 ms, but it goes off
at fixed points in time-every 200 ms relative to when the kernel was bootstrapped. Since
the data being acknowledged arrives randomly (at times 16.4, 474.3, 831.1, etc.), TCP
asks to be notified the next time the kernel's 200-ms timer expires. This can be anywhere
from 1 to 200 ms in the future.
If we look at how long it takes svr4 to generate the echo of each character it receives, file:///D|/Documents%20and%20Settings/bigini/Docum...i/homenet2run/tcpip/tcp-ip-illustrated/tcp_int.htm (4 of 14) [12/09/2001 14.47.18] Chapter 19. TCP...
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