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

Stanislav Shalunov <shalunov@shlang.com> Mon, 24 November 2008 23:28 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 4A5733A6B88; Mon, 24 Nov 2008 15:28:38 -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 1D6D13A6B88 for <ledbat@core3.amsl.com>; Mon, 24 Nov 2008 15:28:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[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 dyKCIESeyxUN for <ledbat@core3.amsl.com>; Mon, 24 Nov 2008 15:28:36 -0800 (PST)
Received: from qb-out-0506.google.com (qb-out-0506.google.com [72.14.204.234]) by core3.amsl.com (Postfix) with ESMTP id E71023A68DC for <ledbat@ietf.org>; Mon, 24 Nov 2008 15:28:35 -0800 (PST)
Received: by qb-out-0506.google.com with SMTP id f17so2327943qba.41 for <ledbat@ietf.org>; Mon, 24 Nov 2008 15:28:33 -0800 (PST)
Received: by 10.140.203.9 with SMTP id a9mr2118426rvg.64.1227569312578; Mon, 24 Nov 2008 15:28:32 -0800 (PST)
Received: from ?10.0.1.234? (ip-208-72-192-23.bittorrent.com [208.72.192.23]) by mx.google.com with ESMTPS id l31sm13708275rvb.2.2008.11.24.15.28.18 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 24 Nov 2008 15:28:31 -0800 (PST)
Message-Id: <DC2CEB0C-4C70-42CD-8ADE-AFF4E45B1915@shlang.com>
From: Stanislav Shalunov <shalunov@shlang.com>
To: "Andrew G. Malis" <agmalis@gmail.com>
In-Reply-To: <8c99930d0811201206yb0ef259v28c361438cb14773@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v929.2)
Date: Mon, 24 Nov 2008 15:28:17 -0800
References: <4925BDEE.6090101@isi.edu> <8c99930d0811201206yb0ef259v28c361438cb14773@mail.gmail.com>
X-Mailer: Apple Mail (2.929.2)
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-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"; DelSp="yes"
Sender: ledbat-bounces@ietf.org
Errors-To: ledbat-bounces@ietf.org

We do need to cover the impact on middleboxes in the document -- it's  
in the charter.

Popular applications are made to work with existing middleboxes.   
Middleboxes are made to work with existing popular apps which do open  
couple hundred of (mostly idle) TCP connections.  Home NATs  
("routers") don't generally crash when you run BitTorrent.  The  
"mostly idle" part doesn't matter for state consumption, naturally.

Thousands and tens of thousands of connections (UDP state counts) is  
another matter.  Making one DNS request per every swarm member you  
learn about will overwhelm a few common devices for large enough  
swarms.  (There are client behavior extensions that use DNS requests  
to learn about locations of peers.)  In general, scanning-type  
behavior is problematic.

-- Stas


On Nov 20, 2008, at 12:06 PM, 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:
>> -----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

--
Stanislav Shalunov



_______________________________________________
ledbat mailing list
ledbat@ietf.org
https://www.ietf.org/mailman/listinfo/ledbat