Re: [tcpm] Nagle Algorithm and Delayed ACKs

Michael Tüxen <Michael.Tuexen@lurchi.franken.de> Fri, 24 July 2009 20:47 UTC

Return-Path: <Michael.Tuexen@lurchi.franken.de>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9390C3A6925 for <tcpm@core3.amsl.com>; Fri, 24 Jul 2009 13:47:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.473
X-Spam-Level: **
X-Spam-Status: No, score=2.473 tagged_above=-999 required=5 tests=[AWL=0.435, BAYES_00=-2.599, HOST_EQ_DIP_TDIAL=2.144, HOST_MISMATCH_NET=0.311, MIME_8BIT_HEADER=0.3, RCVD_IN_PBL=0.905, RCVD_IN_SORBS_DUL=0.877, RDNS_DYNAMIC=0.1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DF0ub3cF5XAz for <tcpm@core3.amsl.com>; Fri, 24 Jul 2009 13:47:38 -0700 (PDT)
Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by core3.amsl.com (Postfix) with ESMTP id 61A263A680C for <tcpm@ietf.org>; Fri, 24 Jul 2009 13:47:38 -0700 (PDT)
Received: from [192.168.1.100] (p508FE657.dip.t-dialin.net [80.143.230.87]) by mail-n.franken.de (Postfix) with ESMTP id E43761C0C0BD8; Fri, 24 Jul 2009 22:47:34 +0200 (CEST)
Message-Id: <C80E2C43-7662-4A4F-8ED4-DA8163E19B16@lurchi.franken.de>
From: Michael Tüxen <Michael.Tuexen@lurchi.franken.de>
To: Thomas Narten <narten@us.ibm.com>
In-Reply-To: <200907241952.n6OJqMVZ006081@cichlid.raleigh.ibm.com>
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v935.3)
Date: Fri, 24 Jul 2009 22:47:33 +0200
References: <200907241952.n6OJqMVZ006081@cichlid.raleigh.ibm.com>
X-Mailer: Apple Mail (2.935.3)
Cc: tcpm@ietf.org
Subject: Re: [tcpm] Nagle Algorithm and Delayed ACKs
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Jul 2009 20:47:39 -0000

Hi Thomas,

interesting you bring this up...

For SCTP we have the same problem and we therefore submitted
draft-tuexen-tsvwg-sctp-sack-immediately-02.txt
which was presented at the last TSVWG session.

However, the result of the discussion was that the issue
is minor and there was not much interest in the WG to
adopt the ID.

Best regards
Michael

On Jul 24, 2009, at 9:52 PM, Thomas Narten wrote:

> It has been long known that the Nagle Algorithm and Delayed ACKs
> combine in ways that can be problematic. Googling around, I found
> Stewart Chesire's writeup
> (http://www.stuartcheshire.org/papers/NagleDelayedAck/) as well as an
> ancient (!) ID from Greg Minshall
> (http://lists.w3.org/Archives/Public/ietf-discuss/1998Dec/0025.html)
>
> The TCP_NODELAY socket option can be used to turn off the Nagle
> Algorithm, but applications have to know to enable it -- which they
> often don't know, until after they've run into problems and traced
> them down to the specific problem.  This can be a long and expensive
> process (e.g., involve help desk calls).
>
> What is the current thinking on this problem? Am I right in assuming
> that:
>
> - the Nagle Algorithm is still a SHOULD to implement
> - Delayed ACKs are also a SHOULD to implement?
> - Most everyone provides a TCP_NODELAY type socket option?
>
> Is that all there is to it? Is this considered good enough?
>
> Have there not been in any attempts over the last ten years to update
> the above recommendations to make them work together better without an
> application needing to set the TCP_NODELAY option, in those cases
> where it matters?
>
> Thomas
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm
>