RE: can TCP send buffer be over used?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> There is one part of your suggestion I'm not sure if I fully
> understand though...  "the transmitter cannot be allowed to send more
> data without acknowledgement of receipt of all the sent data than the
> receiver can assemble in one chunk. " I take it as the transmitter
> cannot send data of more than the receive window size without ack of
> the sent data. Is that what you meant?

	For TCP, yes.  In general it is true of any protocol which
guarantees intact delivery of data.  The far (Rx) end must be able to
assemble all the data in good order if no data is to be lost.  If the far
end can only buffer N blocks of data and the transmitter sends N + 1 blocks
of data before the far end can properly assemble the chunk, then the far end
has to discard one of the blocks of data.

	TCP employs a sliding window, so once N blocks of data have been
assembled by the Rx system, it sends and ACK for the Nth block back to the
Tx host, whereupon the Tx host moves up its pointer for the window's
starting position to N + 1, and continues transmitting until the end of the
window is reached.  If the latency is very small and the link error free, it
may never reach the end of the window, and the transfer will proceed at wire
speed.  Otherwise, the near host transmits until it reaches the end of the
buffer whose size has been negotiated between the near and far system, and
then waits for an acknowledgement from the far end.  When it comes, it may
not be an acknowledgement for the 1st block of data in the window, but
rather for some number of blocks, or perhaps even the entire window.
However many blocks are acknowledged, the Tx system moves its window pointer
up by that many blocks, and transmission begins again.

> > 3.  Your measurement is based upon transfers that are too small in
> extent.
> 
> I was transferring 1 GB data over the 100 Mbps link. Do you think if I
> should increase the size of the transfer?

	No.  As long as the file size is large compared to the maximum
window size, the measurement should be valid.  A file size of 1G is very
large compared to 128K.

--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux