From owner-freebsd-net@FreeBSD.ORG Thu Mar 11 20:30:27 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DEF7116A4CE; Thu, 11 Mar 2004 20:30:27 -0800 (PST) Received: from slb-smtpout-01.boeing.com (slb-smtpout-01.boeing.com [130.76.64.48]) by mx1.FreeBSD.org (Postfix) with ESMTP id A9B1F43D54; Thu, 11 Mar 2004 20:30:27 -0800 (PST) (envelope-from thomas.r.henderson@boeing.com) Received: from slb-av-02.boeing.com ([129.172.13.7])id UAA18242; Thu, 11 Mar 2004 20:30:26 -0800 (PST) Received: from slb-hub-01.boeing.com (localhost [127.0.0.1])UAA17102; Thu, 11 Mar 2004 20:30:26 -0800 (PST) Received: from XCH-NWBH-01.nw.nos.boeing.com (xch-nwbh-01.nw.nos.boeing.com [192.33.62.231])i2C4T8E04469; Thu, 11 Mar 2004 20:29:08 -0800 (PST) Received: from XCH-NW-27.nw.nos.boeing.com ([192.48.4.101]) by XCH-NWBH-01.nw.nos.boeing.com with Microsoft SMTPSVC(5.0.2195.6662); Thu, 11 Mar 2004 20:29:08 -0800 X-MimeOLE: Produced By Microsoft Exchange V6.0.6521.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Date: Thu, 11 Mar 2004 20:29:07 -0800 Message-ID: <6938661A6EDA8A4EA8D1419BCE46F24C040604EF@xch-nw-27.nw.nos.boeing.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Who wants SACK? (Re: was My planned work on networking stack) Thread-Index: AcQGI8WG23sACpizT6mVSTsOiKvaRQBwnCPQ From: "Henderson, Thomas R" To: "Mike Silbersack" , "Kevin Oberman" X-OriginalArrivalTime: 12 Mar 2004 04:29:08.0449 (UTC) FILETIME=[8F800510:01C407EA] cc: Brad Knowles cc: freebsd-current@freebsd.org cc: freebsd-net@freebsd.org Subject: RE: Who wants SACK? (Re: was My planned work on networking stack) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Mar 2004 04:30:28 -0000 > -----Original Message----- > From: Mike Silbersack [mailto:silby@silby.com] > Sent: Tuesday, March 09, 2004 2:12 PM > To: Kevin Oberman > Cc: Brad Knowles; freebsd-current@freebsd.org; freebsd-net@freebsd.org > Subject: Re: Who wants SACK? (Re: was My planned work on networking > stack)=20 >=20 >=20 > SACK itself really doesn't do much, it's all the new=20 > congestion control > schemes (FACK, Rate Halving, etc) that come shipped with most SACK > implementations that do the work and contain most of the complexity. >=20 That's not quite true. Basic SACK by itself can be very helpful,=20 especially if NewReno is the non-SACK fallback, in long delay = environments=20 characterized by bursty losses (multiple packets in one window). =20 With NewReno, you end up only recovering one packet per RTT, which=20 can in some cases be much worse than just taking a timeout and=20 starting over. See below paper for some experimental traces=20 of this: http://citeseer.ist.psu.edu/henderson99transport.html (not that I don't think that the more recent RFCs are an improvement on basic SACK) As for who/when to do this, I and perhaps others have been discouraged=20 from taking a stab at a SACK patch in the past, because of a sentiment that it should be undertaken as part of a bigger rewrite of TCP. =20 Tom p.s. Niels Provos ported our Berkeley BSDi-based SACK extension to OpenBSD several years ago-- that might be something to look at as a starting point.