This preview shows page 1. Sign up to view the full content.
Unformatted text preview: 37.99 read 256 1536 2560 39.99 read 256 1280 2816 41.99 read 256 1024 3072 43.99 read 256 768 3328 45.99 read 256 512 3584 47.99 read 256 256 3840 49.99 read 256 0 4096 51.99 read 256
(EOF) 0 4096 39.99 ACK 6146, win
2816 20 51.991
51.992 22 ACK 6146, win
ACK2 Figure 22.3 Sequence of events for receiver avoidance of the silly window syndrome.
In Figure 22.3 the first column is the relative point in time for each action. Those times
with three digits to the right of the decimal point are taken from the tcpdump output
(Figure 22.2). Those times with 99 to the right of the decimal point are the assumed times
of the action on the receiving host. (Having these relative times on the receiver contain
99 for the hundredths of a second correlates them with segments 20 and 22 in Figure
22.2, the only two events on the receiver that we can see with tcpdump that are
triggered by a timeout on the receiving host. All the other packets that we see from bsdi
are triggered by the reception of a segment from the sender. It also makes sense, because
this would place the initial 4-second pause just before time 0 when the sender transmits file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_pers.htm (8 of 11) [12/09/2001 14.47.29] Chapter 22. TCP Persist Timer the first data segment. This is about when the receiver would get control, after receiving
the ACK of its SYN in the connection establishment.)
The amount of data in the receiver's buffer increases when it receives data from the
sender, and decreases as the application reads data from the buffer. What we want to
follow are the window advertisements sent by the receiver to the sender, and what those
window advertisements are. This lets us see how the silly window syndrome is avoided
by the receiver.
The first four data segments and the corresponding ACK (segments 1-5) show the sender
filling the receiver's buffer. At that point the sender is stopped but it still has more data to
send. It sets its persist timer for...
View Full Document
- Spring '12