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

Bryan Ford <baford@mpi-sws.org> Fri, 21 November 2008 13:33 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 6A87A3A6935; Fri, 21 Nov 2008 05:33: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 DF7E93A6935 for <ledbat@core3.amsl.com>; Fri, 21 Nov 2008 05:33:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.249
X-Spam-Level:
X-Spam-Status: No, score=-6.249 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_DE=0.35, 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 qIF-m9CaflmC for <ledbat@core3.amsl.com>; Fri, 21 Nov 2008 05:33:31 -0800 (PST)
Received: from hera.mpi-sb.mpg.de (hera.mpi-sb.mpg.de [139.19.1.49]) by core3.amsl.com (Postfix) with ESMTP id 9EEB43A6919 for <ledbat@ietf.org>; Fri, 21 Nov 2008 05:33:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mpi-sb.mpg.de; s=mail200803; h=Cc:Message-Id:From:To: In-Reply-To:Content-Type:Content-Transfer-Encoding:Mime-Version: Subject:Date:References; bh=E4TGdGoVCyWjt261EseRxmUBZRs5OaZWlNJq o5Zr4lc=; b=T1uQFwlqw8B2YL2qio9ZD+nfVP27MCYRWrWIsDi/ntuOE+Y1L2oe 7kuBsju7L8ShKIDhE0P4k5hxENnL2ppKusQ9Rd4IxujG1rCBV9romsnmvBb0416Q r31+uzICmXe4XrjR4QkR9HaITE9hQBCaenDq7564l9HnUIt5fQGp+ZU=
Received: from newzak.mpi-sb.mpg.de ([139.19.1.28]:44215) by hera.mpi-sb.mpg.de (envelope-from <baford@mpi-sws.org>) with esmtp (Exim 4.69) id 1L3W8Q-0003jS-W8; Fri, 21 Nov 2008 14:33:27 +0100
Received: from [75.146.152.44] (port=62192 helo=[10.71.0.213]) by newzak.mpi-sb.mpg.de with esmtpsa (TLS-1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.63) (envelope-from <baford@mpi-sws.org>) id 1L3W8Q-0007jF-8P; Fri, 21 Nov 2008 14:33:22 +0100
Message-Id: <615CAD34-0761-4266-9CA9-4BDD98C6DC60@mpi-sws.org>
From: Bryan Ford <baford@mpi-sws.org>
To: Joe Touch <touch@ISI.EDU>
In-Reply-To: <4925DC9F.6090403@isi.edu>
Mime-Version: 1.0 (Apple Message framework v929.2)
Date: Fri, 21 Nov 2008 07:33:19 -0600
References: <4925BDEE.6090101@isi.edu> <8c99930d0811201206yb0ef259v28c361438cb14773@mail.gmail.com> <4925DBB3.80509@asomi.com> <4925DC9F.6090403@isi.edu>
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 20, 2008, at 3:54 PM, Joe Touch wrote:
> Caitlin Bestler wrote:
>> 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.
>>>
>>
>> The gotcha here is that every item in the list Joe supplied is
>> already solved by SCTP, and about the only legitimate reason
>> for not using SCTP is the presence of middleboxes that do
>> not support it.
>
> SCTP doesn't address the need for different applications to have
> different connections (one variant of the demultiplexing issue).  
> I.e., a
> single socket used by more than one application.
>
> SCTP also doesn't address the need to support endpoints that don't  
> speak
> SCTP yet, or services that aren't defined over SCTP yet.

Just to fill this out, a third issue is that the multiple logical  
streams sharing an SCTP connection have no independent flow control:  
SCTP provides flow control only for the connection as a whole.  Thus,  
the receive side of any connection has to accept data on all the  
streams at whatever (relative) rates the sending side is sending data  
on those streams, and can't "push back" on one stream while allowing  
another to flow, unless the application implements some additional  
higher-level windowing and flow control mechanism.

If a web browser is downloading two HTTP objects at once using two  
SCTP streams sharing one connection, for example, and one is a file  
downloading to a fast disk but the other is an mp3 or avi file that  
the browser is streaming to a constant-rate audio/video frame, then  
the browser has no direct way to limit the download rate of the a/v  
stream to the output rate without also holding back the file  
download.  (Granted, this particular example doesn't typically happen  
with current browsers, since browser plug-ins typically handle media  
streams, using completely separate connections to the server.)

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