Re: Who wants SACK? (Re: was My planned work on networking stack)

From: Brooks Davis <brooks_at_one-eyed-alien.net>
Date: Wed, 10 Mar 2004 07:41:41 -0800
On Wed, Mar 10, 2004 at 12:37:11PM +0100, Harti Brandt wrote:
> On Tue, 9 Mar 2004, Mike Silbersack wrote:
> 
> MS>
> MS>On Tue, 9 Mar 2004, Kevin Oberman wrote:
> MS>
> MS>> Selective ACKnowledgment (SACK) allows acknowledgment of received
> MS>> packets in a TCP window so that only the missing/damaged packet needs to
> MS>> be re-transmitted. This is normally of little value on a LAN where ACKs
> MS>> arrive quickly and windows are smaller and no use on slow circuits. On
> MS>> fat pipes with latency and big windows it is a huge win as it allows you to
> MS>> recover much faster from a packet drop. If you don't have SACK, you need
> MS>> to re-transmit all of the packets in flight within the window while
> MS>> with SACK, you need only retransmit the dropped packet(s). If you have a
> MS>> 10 or 20 MB window, this is a big deal.
> MS>
> MS>That's not correct.  Non-SACK TCP doesn't drop any additional packets vs
> MS>SACK.  The difference is that SACK allows the transmitter to transmit the
> MS>packet which fills the "hole" and then immediately start transmitting new
> MS>data (or fill other holes.)  Non-SACK senders have to wait to receive an
> MS>ACK after retransmitting the hole in order to find out if there are other
> MS>holes which must be filled or if new data can be transmitted.
> MS>
> MS>SACK itself really doesn't do much, it's all the new congestion control
> MS>schemes (FACK, Rate Halving, etc) that come shipped with most SACK
> MS>implementations that do the work and contain most of the complexity.
> 
> For satellite pipes with drops that are not the result of congestion, but
> of transmission errors SACK helps. With congestion control only you get no
> throughput no matter what you do (I did some tests with a simulated
> 50MBit/sec GEO link with errors). But this is a rather limited
> application.

For that matter, there are sufficent drops on 10GbE from data errors to
insure that two boxes connected back to back won't achieve line speed on
a single TCP session.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

Received on Wed Mar 10 2004 - 06:41:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:46 UTC