Re: [ledbat] list of reasons for needing multiple TCP connections
Stanislav Shalunov <shalunov@shlang.com> Tue, 25 November 2008 00:40 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 6CB023A6B74; Mon, 24 Nov 2008 16:40:34 -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 4675E3A6B74 for <ledbat@core3.amsl.com>; Mon, 24 Nov 2008 16:40:33 -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=[AWL=0.000, 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 mBmLDR47juVS for <ledbat@core3.amsl.com>; Mon, 24 Nov 2008 16:40:31 -0800 (PST)
Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.231]) by core3.amsl.com (Postfix) with ESMTP id B5D133A677E for <ledbat@ietf.org>; Mon, 24 Nov 2008 16:40:31 -0800 (PST)
Received: by rv-out-0506.google.com with SMTP id b25so2266404rvf.49 for <ledbat@ietf.org>; Mon, 24 Nov 2008 16:40:29 -0800 (PST)
Received: by 10.141.197.21 with SMTP id z21mr2140832rvp.107.1227573629318; Mon, 24 Nov 2008 16:40:29 -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 b8sm13670627rvf.3.2008.11.24.16.40.27 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 24 Nov 2008 16:40:28 -0800 (PST)
Message-Id: <B75B73E7-A976-4251-9757-49F2192402A1@shlang.com>
From: Stanislav Shalunov <shalunov@shlang.com>
To: Reinaldo Penno <rpenno@juniper.net>
In-Reply-To: <C5507EE5.16A89%rpenno@juniper.net>
Mime-Version: 1.0 (Apple Message framework v929.2)
Date: Mon, 24 Nov 2008 16:40:26 -0800
References: <C5507EE5.16A89%rpenno@juniper.net>
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
On Nov 24, 2008, at 3:55 PM, Reinaldo Penno wrote: >> 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. > > Why not? A middlebox that offers NAT/FW has to keep track of all > connections > irrespective if they are mostly idle. Exactly. The fact that BitTorrent connections are mostly idle doesn't matter for how much state is consumed on a NAT. >> 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. > > Interesting, but usually middleboxes age UDP entries very quickly > (specially > quickly if they have ALGs). So, TCP and UDP have the dealt > differently. > >> >> -- 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 > -- Stanislav Shalunov _______________________________________________ ledbat mailing list ledbat@ietf.org https://www.ietf.org/mailman/listinfo/ledbat
- [ledbat] list of reasons for needing multiple TCP… Joe Touch
- Re: [ledbat] list of reasons for needing multiple… Andrew G. Malis
- Re: [ledbat] list of reasons for needing multiple… Joe Touch
- Re: [ledbat] list of reasons for needing multiple… Kartik Chandrayana (karchand)
- Re: [ledbat] list of reasons for needing multiple… Joe Touch
- Re: [ledbat] list of reasons for needing multiple… Kartik Chandrayana (karchand)
- Re: [ledbat] list of reasons for needing multiple… Joe Touch
- Re: [ledbat] list of reasons for needing multiple… lars.eggert
- Re: [ledbat] list of reasons for needing multiple… Caitlin Bestler
- Re: [ledbat] list of reasons for needing multiple… Joe Touch
- Re: [ledbat] list of reasons for needing multiple… Robb Topolski
- Re: [ledbat] list of reasons for needing multiple… Joe Touch
- Re: [ledbat] list of reasons for needing multiple… Caitlin Bestler
- Re: [ledbat] list of reasons for needing multiple… Reinaldo Penno
- Re: [ledbat] list of reasons for needing multiple… Robb Topolski
- Re: [ledbat] list of reasons for needing multiple… Joe Touch
- Re: [ledbat] list of reasons for needing multiple… Bryan Ford
- Re: [ledbat] list of reasons for needing multiple… Michael Welzl
- Re: [ledbat] list of reasons for needing multiple… Stanislav Shalunov
- Re: [ledbat] list of reasons for needing multiple… Stanislav Shalunov
- Re: [ledbat] list of reasons for needing multiple… Stanislav Shalunov
- Re: [ledbat] list of reasons for needing multiple… Reinaldo Penno
- Re: [ledbat] list of reasons for needing multiple… Stanislav Shalunov
- Re: [ledbat] list of reasons for needing multiple… Murari Sridharan
- Re: [ledbat] list of reasons for needing multiple… Reinaldo Penno
- Re: [ledbat] list of reasons for needing multiple… Stanislav Shalunov
- Re: [ledbat] list of reasons for needing multiple… Murari Sridharan
- Re: [ledbat] list of reasons for needing multiple… Robb Topolski
- Re: [ledbat] list of reasons for needing multiple… Lars Eggert
- Re: [ledbat] list of reasons for needing multiple… Richard Bennett
- Re: [ledbat] list of reasons for needing multiple… Robb Topolski
- Re: [ledbat] list of reasons for needing multiple… Richard Bennett
- Re: [ledbat] list of reasons for needing multiple… Robb Topolski
- Re: [ledbat] list of reasons for needing multiple… Richard Bennett
- Re: [ledbat] list of reasons for needing multiple… Robb Topolski
- Re: [ledbat] list of reasons for needing multiple… Richard Bennett
- Re: [ledbat] list of reasons for needing multiple… Nicholas Weaver
- Re: [ledbat] list of reasons for needing multiple… Reinaldo Penno
- Re: [ledbat] list of reasons for needing multiple… Eric Spaeth
- Re: [ledbat] list of reasons for needing multiple… Robb Topolski
- Re: [ledbat] list of reasons for needing multiple… Robb Topolski