This preview shows page 1. Sign up to view the full content.
Unformatted text preview: window to fill before sending an ACK. We
saw earlier that many implementations send an ACK for every two segments that are
We'll see more examples of the dynamics of the sliding window protocol in later examples. file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_bulk.htm (7 of 24) [12/09/2001 14.47.22] Chapter 20. TCP Bulk Data Flow 20.4 Window Size
The size of the window offered by the receiver can usually be controlled by the receiving
process. This can affect the TCP performance.
4.2BSD defaulted the send buffer and receive buffer to 2048 bytes each. With 4.3BSD both were increased
to 4096 bytes. As we can see from all the examples so far in this text, SunOS 4.1.3, BSD/386, and SVR4
still use this 4096-byte default. Other systems, such as Solaris 2.2,4.4BSD, and AIX 3.2, use larger default
buffer sizes, such as 8192 or 16384 bytes.
The sockets API allows a process to set the sizes of the send buffer and the receive buffer. The size of the
receive buffer is the maximum size of the advertised window for that connection. Some applications change
the socket buffer sizes to increase performance. [Mogul 1993] shows some results for file transfer between two workstations on an Ethernet,
with varying sizes for the transmit buffer and receive buffer. (For a one-way flow of data
such as file transfer, it is the size of the transmit buffer on the sending side and the size of
the receive buffer on the receiving side that matters.) The common default of 4096 bytes for
both is not optimal for an Ethernet. An approximate 40% increase in throughput is seen by
just increasing both buffers to 16384 bytes. Similar results are shown in [Papadopoulos and
In Section 20.7 we'll see how to calculate the minimum buffer size, given the bandwidth of
the communication media and the round-trip time between the two ends.
We can control the sizes of these buffers with our sock program. We invoke the server as:
bsdi % sock -i -a -R6144 5555
which sets the size of the receive buffer (-R option) to 6144 bytes. We then start the client
on the host sun and have...
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