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

"Kartik Chandrayana (karchand)" <karchand@cisco.com> Thu, 20 November 2008 20:38 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 A769F3A6A09; Thu, 20 Nov 2008 12:38:04 -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 AED1B3A6A09 for <ledbat@core3.amsl.com>; Thu, 20 Nov 2008 12:38:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 EdUYwKrSHWY1 for <ledbat@core3.amsl.com>; Thu, 20 Nov 2008 12:38:02 -0800 (PST)
Received: from sj-iport-6.cisco.com (sj-iport-6.cisco.com [171.71.176.117]) by core3.amsl.com (Postfix) with ESMTP id 1A9073A677D for <ledbat@ietf.org>; Thu, 20 Nov 2008 12:38:02 -0800 (PST)
X-IronPort-AV: E=Sophos;i="4.33,639,1220227200"; d="scan'208";a="198565011"
Received: from sj-dkim-4.cisco.com ([171.71.179.196]) by sj-iport-6.cisco.com with ESMTP; 20 Nov 2008 20:38:01 +0000
Received: from sj-core-2.cisco.com (sj-core-2.cisco.com [171.71.177.254]) by sj-dkim-4.cisco.com (8.12.11/8.12.11) with ESMTP id mAKKc0Ne016005; Thu, 20 Nov 2008 12:38:00 -0800
Received: from xbh-sjc-231.amer.cisco.com (xbh-sjc-231.cisco.com [128.107.191.100]) by sj-core-2.cisco.com (8.13.8/8.13.8) with ESMTP id mAKKc0Io014752; Thu, 20 Nov 2008 20:38:00 GMT
Received: from xmb-sjc-231.amer.cisco.com ([128.107.191.73]) by xbh-sjc-231.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 20 Nov 2008 12:38:00 -0800
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Date: Thu, 20 Nov 2008 12:37:25 -0800
Message-ID: <A0988C2F192F124FAFE3D70264C04587077A12EC@xmb-sjc-231.amer.cisco.com>
In-Reply-To: <8c99930d0811201206yb0ef259v28c361438cb14773@mail.gmail.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [ledbat] list of reasons for needing multiple TCP connections
Thread-Index: AclLS3j/SumzUogCQa+SMw3VnZFokQAA5jFQ
References: <4925BDEE.6090101@isi.edu> <8c99930d0811201206yb0ef259v28c361438cb14773@mail.gmail.com>
From: "Kartik Chandrayana (karchand)" <karchand@cisco.com>
To: "Andrew G. Malis" <agmalis@gmail.com>, Joe Touch <touch@isi.edu>
X-OriginalArrivalTime: 20 Nov 2008 20:38:00.0888 (UTC) FILETIME=[E129C380:01C94B4F]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=3685; t=1227213481; x=1228077481; c=relaxed/simple; s=sjdkim4002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=karchand@cisco.com; z=From:=20=22Kartik=20Chandrayana=20(karchand)=22=20<karchan d@cisco.com> |Subject:=20RE=3A=20[ledbat]=20list=20of=20reasons=20for=20 needing=20multiple=20TCP=20connections |Sender:=20; bh=HL6A1SpMbM2bm4wioE8DXuEMGHf+HZldRE/5AtoluE8=; b=Cezi46Pu/rHwfXQiVBZObK5QBQ03KA6P1z+0H4XI/qYJklQEkxKnHlFwW9 TKRy5rEqii2E75G6NRuPriprSil0SXr2mhRAN+7PIo+7UOQCQS5rtfs3aepD WwElcBWbNe;
Authentication-Results: sj-dkim-4; header.From=karchand@cisco.com; dkim=pass ( sig from cisco.com/sjdkim4002 verified; );
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

Andy, Joe:

One reason I can think of using multiple TCP connections is to overcome
the non-negotiation of window-scale parameter on most boxes. With
default window scale parameters, i.e 0, the congestion window is limited
to 64KB only and thus for any pipe with bandwidth-delay-product greater
than 64KB, a single TCP connection cannot keep the pipe full. In such a
case, it would be beneficial to have multiple TCP connections. 

Also, since TCP design was mostly with single cpu in mind, I think
multiple TCP connections can harness the multi-cpu architectures better
than a single lean fast TCP.

Thanks,
-Kartik

-----Original Message-----
From: ledbat-bounces@ietf.org [mailto:ledbat-bounces@ietf.org] On Behalf
Of Andrew G. Malis
Sent: Thursday, November 20, 2008 2:06 PM
To: Joe Touch
Cc: ledbat@ietf.org
Subject: Re: [ledbat] list of reasons for needing multiple TCP
connections

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:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> 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
>
> - ----------------------------------------------
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAkklve4ACgkQE5f5cImnZru0gQCfaxwMKa8BPYliwCay9hFGLcD3
> HUQAn1zIlOBJRu1u0qbtpNX8ryuur8ZF
> =YmcT
> -----END PGP SIGNATURE-----
> _______________________________________________
> ledbat mailing list
> ledbat@ietf.org
> https://www.ietf.org/mailman/listinfo/ledbat
>
_______________________________________________
ledbat mailing list
ledbat@ietf.org
https://www.ietf.org/mailman/listinfo/ledbat
_______________________________________________
ledbat mailing list
ledbat@ietf.org
https://www.ietf.org/mailman/listinfo/ledbat