This preview shows page 1. Sign up to view the full content.
Unformatted text preview: it perform one write of 8192 bytes:
sun % sock -i -nl -w8192 bsdi 5555
Figure 20.7 shows the results. file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_bulk.htm (8 of 24) [12/09/2001 14.47.22] Chapter 20. TCP Bulk Data Flow Figure 20.7 Data transfer with receiver offering a window size of 6144 bytes.
First notice that the receiver's window size is offered as 6144 bytes in segment 2. Because of
this larger window, the client sends six segments immediately (segments 4-9), and then
stops. Segment 10 acknowledges all the data (bytes 1 through 6144) but offers a window of
only 2048, probably because the receiving application hasn't had a chance to read more than
2048 bytes. Segments 11 and 12 complete the data transfer from the client, and this final
data segment also carries the FIN flag.
Segment 13 contains the same acknowledgment sequence number as segment 10, but
advertises a larger window. Segment 14 acknowledges the final 2048 bytes of data and the
FIN, and segments 15 and 16 just advertise a larger window. Segments 17 and 18 complete
the normal close. 20.5 PUSH Flag file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_bulk.htm (9 of 24) [12/09/2001 14.47.22] Chapter 20. TCP Bulk Data Flow We've seen the PUSH flag in every one our TCP examples, but we've never described its
use. It's a notification from the sender to the receiver for the receiver to pass all the data that
it has to the receiving process. This data would consist of whatever is in the segment with
the PUSH flag, along with any other data the receiving TCP has collected for the receiving
In the original TCP specification, it was assumed that the programming interface would
allow the sending process to tell its TCP when to set the PUSH flag. In an interactive
application, for example, when the client sent a command to the server, the client would set
the PUSH flag and wait for the server's response. (In Exercise 19.1 we could imagine the
client setting the PUSH flag when the 12-byte...
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