This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ulk.htm (1 of 24) [12/09/2001 14.47.22] Chapter 20. TCP Bulk Data Flow Figure 20.1 Transfer of 8192 bytes from svr4 to bsdi.
The sender transmits three data segments (4-6) first. The next segment (7) acknowledges the
first two data segments only. We know this because the acknowledged sequence number is
2049, not 3073.
Segment 7 specifies an ACK of 2049 and not 3073 for the following reason. When a packet
arrives it is initially processed by the device driver's interrupt service routine and then placed
onto IP's input queue. The three segments 4, 5, and 6 arrive one after the other and are
placed onto IP's input queue in the received order. IP will pass them to TCP in the same file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_bulk.htm (2 of 24) [12/09/2001 14.47.22] Chapter 20. TCP Bulk Data Flow order. When TCP processes segment 4, the connection is marked to generate a delayed
ACK. TCP processes the next segment (5) and since TCP now has two outstanding
segments to ACK, the ACK of 2049 is generated (segment 7), and the delayed ACK flag for
this connection is turned off. TCP processes the next input segment (6) and the connection is
again marked for a delayed ACK. Before segment 9 arrives, however, it appears the delayed
ACK timer goes off, and the ACK of 3073 (segment 8) is generated. Segment 8 advertises a
window of 3072 bytes, implying that there are still 1024 bytes of data in the TCP receive
buffer that the application has not read.
Segments 11-16 show the "ACK every other segment" strategy that is common. Segments
11, 12, and 13 arrive and are placed on IP's input queue. When segment 11 is processed by
TCP the connection is marked for a delayed ACK. When segment 12 is processed, an ACK
is generated (segment 14) for segments 11 and 12, and the delayed ACK flag for this
connection is turned off. Segment 13 causes the connection to be marked again for a delayed
ACK but before the timer goes off, segment 15 is processed, causing the ACK (segment 16)
to be sent immediately.
It is important to notice that the ACK in segments 7, 14, and 16 acknowledge two received
segments. With TCP's sliding-window protocol the receiver does not have to acknowledge
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