Re: [ledbat] list of reasons for needing multiple TCP connections

Joe Touch <touch@ISI.EDU> Thu, 20 November 2008 20:07 UTC

Return-Path: <ledbat-bounces@ietf.org>
X-Original-To: tana-archive@ietf.org
Delivered-To: ietfarch-tana-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CA8773A6992; Thu, 20 Nov 2008 12:07:55 -0800 (PST)
X-Original-To: ledbat@core3.amsl.com
Delivered-To: ledbat@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 562EE3A69A1 for <ledbat@core3.amsl.com>; Thu, 20 Nov 2008 12:07:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.562
X-Spam-Level:
X-Spam-Status: No, score=-2.562 tagged_above=-999 required=5 tests=[AWL=0.038, BAYES_00=-2.599]
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 Tm8t4xDdvsE7 for <ledbat@core3.amsl.com>; Thu, 20 Nov 2008 12:07:53 -0800 (PST)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by core3.amsl.com (Postfix) with ESMTP id 53A633A677D for <ledbat@ietf.org>; Thu, 20 Nov 2008 12:07:53 -0800 (PST)
Received: from [130.129.94.243] ([130.129.94.243]) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id mAKK7eLd002459 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 20 Nov 2008 12:07:43 -0800 (PST)
Message-ID: <4925C38D.7010800@isi.edu>
Date: Thu, 20 Nov 2008 12:07:41 -0800
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 2.0.0.18 (Windows/20081105)
MIME-Version: 1.0
To: "Andrew G. Malis" <agmalis@gmail.com>
References: <4925BDEE.6090101@isi.edu> <8c99930d0811201206yb0ef259v28c361438cb14773@mail.gmail.com>
In-Reply-To: <8c99930d0811201206yb0ef259v28c361438cb14773@mail.gmail.com>
X-Enigmail-Version: 0.95.7
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: ledbat@ietf.org
Subject: Re: [ledbat] list of reasons for needing multiple TCP connections
X-BeenThere: ledbat@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Mailing list of the LEDBAT WG <ledbat.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ledbat>, <mailto:ledbat-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/ledbat>
List-Post: <mailto:ledbat@ietf.org>
List-Help: <mailto:ledbat-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ledbat>, <mailto:ledbat-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: ledbat-bounces@ietf.org
Errors-To: ledbat-bounces@ietf.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Understood - it would be useful to collect additional items as to why
NOT to use multiple TCP connections. The list below is just the reasons
that apps DO use them.

Joe

Andrew G. Malis wrote:
> As was mentioned in the IAB plenary yesterday, a reason to not use
> multiple TCP connections is the possible exhaustion of middlebox (read
> NAT) resources, such as state memory or port numbers. So if you are
> going to use multiple connections in parallel, you may wish to include
> a method for the user to control that behavior, and a way to detect
> that you're behind a NAT and adapt appropriately.
> 
> Cheers,
> Andy
> 
> On Thu, Nov 20, 2008 at 1:43 PM, Joe Touch <touch@isi.edu> wrote:
> Responding to the issue of reasons to need multiple connections, here
> are a few of mine (extended from those listed at the mic). This is not
> intended to be a complete list, but a reasonable place to start. The
> general point is that this is NOT always about hogging bandwidth, either
> intentionally or not.
> 
> Joe
> 
> --------------------------------------
> Reasons to use multiple concurrent TCP connections:
> 
> - get around head-of-line blocking
>        this was an original reason for web browsers needing them
> 
> - demultiplexing
>        related to HOL blocking but not requiring it,
>        this uses TCP connections to demultiplex different
>        streams, because TCP doesn't provide that labeling itself
> 
>        this was a reason for using different connections for FTP
>        data and control, e.g.
> 
> - support different stream properties
>        i.e., a single app may want different streams with Nagle
>        enabled and disabled, or with different socket buffer
>        sizes (to limit delay)
> 
> - support "CLOSE means EOF" semantics
>        a reason for multiple connections in HTTP 1.0
> 
> - support larger socket buffer sizes
>        esp. without autotuning, but even with, more connections
>        means more socket buffering is available
> 
> -------
> 
> One I forgot to note:
> 
> - different interaction with errors
>        a single connection would keep restarting;
>        multiple connections increases the possibility that
>        one connection doesn't get hit with a short error burst
> 
> ----------------------------------------------
_______________________________________________
ledbat mailing list
ledbat@ietf.org
https://www.ietf.org/mailman/listinfo/ledbat
>>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkklw40ACgkQE5f5cImnZrs/AQCeMMMGWJNU1IPMRyztmyFWLnLg
TqcAoM1uZvnW3ckgM64l79Ei3gF65BI6
=xFon
-----END PGP SIGNATURE-----
_______________________________________________
ledbat mailing list
ledbat@ietf.org
https://www.ietf.org/mailman/listinfo/ledbat