Re: Fwd: Re: [tcpm] FW: Call for Adoption: TCP Tuning for HTTP

Willy Tarreau <w@1wt.eu> Sat, 05 March 2016 18:13 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 977661B352A for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 5 Mar 2016 10:13:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.903
X-Spam-Level:
X-Spam-Status: No, score=-6.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2vOG4-nlzDIM for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 5 Mar 2016 10:13:21 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 400671B3525 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sat, 5 Mar 2016 10:13:21 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1acGcz-0003da-Ea for ietf-http-wg-dist@listhub.w3.org; Sat, 05 Mar 2016 18:08:33 +0000
Resent-Date: Sat, 05 Mar 2016 18:08:33 +0000
Resent-Message-Id: <E1acGcz-0003da-Ea@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <w@1wt.eu>) id 1acGcu-0003ct-C8 for ietf-http-wg@listhub.w3.org; Sat, 05 Mar 2016 18:08:28 +0000
Received: from wtarreau.pck.nerim.net ([62.212.114.60] helo=1wt.eu) by lisa.w3.org with esmtp (Exim 4.80) (envelope-from <w@1wt.eu>) id 1acGcs-0001GJ-Ip for ietf-http-wg@w3.org; Sat, 05 Mar 2016 18:08:28 +0000
Received: (from willy@localhost) by pcw.home.local (8.14.3/8.14.3/Submit) id u25I7i9T031235; Sat, 5 Mar 2016 19:07:44 +0100
Date: Sat, 05 Mar 2016 19:07:44 +0100
From: Willy Tarreau <w@1wt.eu>
To: Yoshifumi Nishida <nishida@sfc.wide.ad.jp>
Cc: Joe Touch <touch@isi.edu>, ietf-http-wg@w3.org
Message-ID: <20160305180744.GB31228@1wt.eu>
References: <56D74C23.5010705@isi.edu> <56D76A7E.7090507@isi.edu> <20160302232125.GA18275@1wt.eu> <56D77892.2000308@isi.edu> <20160303065545.GA18412@1wt.eu> <56D87BAC.4060204@isi.edu> <20160303184418.GA18774@1wt.eu> <56D88D58.5060406@isi.edu> <20160303211105.GA23875@1wt.eu> <CAO249ye6U29cxBbrP21_J5P=yaCOW9uNEfqJqyM-WBCUDmToNg@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAO249ye6U29cxBbrP21_J5P=yaCOW9uNEfqJqyM-WBCUDmToNg@mail.gmail.com>
User-Agent: Mutt/1.4.2.3i
Received-SPF: pass client-ip=62.212.114.60; envelope-from=w@1wt.eu; helo=1wt.eu
X-W3C-Hub-Spam-Status: No, score=-7.0
X-W3C-Hub-Spam-Report: AWL=0.924, BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1acGcs-0001GJ-Ip 581d85f7636f09a2cefc2fd535bf9fd5
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Fwd: Re: [tcpm] FW: Call for Adoption: TCP Tuning for HTTP
Archived-At: <http://www.w3.org/mid/20160305180744.GB31228@1wt.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/31197
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On Sat, Mar 05, 2016 at 05:27:34AM -0800, Yoshifumi Nishida wrote:
> Hi Willy,
> 
> On Thu, Mar 3, 2016 at 1:11 PM, Willy Tarreau <w@1wt.eu> wrote:
> 
> >
> >
> > Let me restate it :
> >   - the client cannot bypass the TW state because it has no way to know
> >     whether or not the server has closed after seeing the last ACK or
> >     is still waiting for it.
> >
> >   - the server when it sees a SYN with an ISN larger than the end of the
> >     previous window, *knows* that the client has closed, otherwise the
> >     client would be in LAST_ACK and couldn't send a SYN in this state.
> >     This is why servers recycle connections, and only in this case.
> >
> 
> Hmm, If there are multiple clients behind a NAT, the server cannot know if
> it´s coming from the same one or difference one.
> Also each client uses its own ISN (also timestamp). So, in this case, it is
> possible that the server will see a SYN from different client with an ISN
> smaller than the previous window or staled timestamp.

Yes except that as long as the load is not too high, the firewall will
pick a different port. And if the load is high enough to make the firewall
reuse existing ports, then the TW issue on the client side (here the
firewall being the client) persists.

> In this case, I guess server will send back old FIN ACK or reset, which
> causes the termination of the connection anyway.

Yes.

> If clients go into TIME_STATE, I think we can avoid this.

That's why I said in this thread that tuning is a matter of tradeoffs
depending on the side you're looking at. Server people often want to
move the burden to the client to have an infinite scale, client people
prefer to move the burden to the server to enable even smaller clients
to work, and intermediaries people have to compose with the best of both
worlds since they're both clients and servers, and see aggregated traffic
that often reaches protocol limits much earlier.

Regards,
Willy