This preview shows page 1. Sign up to view the full content.
Unformatted text preview: This is why we specified a send buffer size of 8192-so all the data can fit in
the buffer.) The fifth of these ACKs is probably generated by the reception of the ACK on
line 4. The sending TCP has probably already queued its fourth segment for output (line 5)
before this ACK arrives. The receipt of this ACK from the other end also causes the TCP
output routine to be called.
The receiver then acknowledges the final 1024 bytes of data (line 11) but also advertises a
window of 0. The sender responds with another segment containing the urgent notification.
The receiver advertises a window of 2048 bytes in line 13, when the application wakes up
and reads some of the data from the receive buffer. The next two 1024-byte segments are
sent (lines 14 and 15). The first segment has the urgent notification set, since the urgent
pointer is within this segment. The second segment has turned the urgent notification off.
When the receiver opens the window again (line 16) the sender transmits the final byte of
data (numbered 6145) and also initiates the normal connection termination.
Figure 20.15 shows the sequence numbers of the 6145 bytes of data that are sent. We see file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_bulk.htm (22 of 24) [12/09/2001 14.47.22] Chapter 20. TCP Bulk Data Flow that the sequence number of the byte written when urgent mode was entered is 4097, but the
value of the urgent pointer in Figure 20.14 is 4098. This confirms that this implementation
(SunOS 4.1.3) sets the urgent pointer to 1 byte beyond the last byte of urgent data. Figure 20.15 Application writes and TCP segments for urgent mode example.
This figure also lets us see how TCP repacketizes the data that the application wrote. The
single byte that was output when urgent mode was entered is sent along with the next 1023
bytes of data in the buffer. The next segment also contains 1024 bytes of data, and the final
segment contains 1 byte of data. 20.9 Summary
As we said early in...
View Full Document
- Spring '12