Re: Naive question on multiple TCP/IP channels

Phillip Hallam-Baker <phill@hallambaker.com> Thu, 05 February 2015 16:15 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C08FE1A8761 for <ietf@ietfa.amsl.com>; Thu, 5 Feb 2015 08:15:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.277
X-Spam-Level:
X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 29EyV41uI_aN for <ietf@ietfa.amsl.com>; Thu, 5 Feb 2015 08:15:57 -0800 (PST)
Received: from mail-lb0-x22d.google.com (mail-lb0-x22d.google.com [IPv6:2a00:1450:4010:c04::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7E8D71A89A6 for <ietf@ietf.org>; Thu, 5 Feb 2015 08:15:47 -0800 (PST)
Received: by mail-lb0-f173.google.com with SMTP id p9so8905219lbv.4 for <ietf@ietf.org>; Thu, 05 Feb 2015 08:15:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=cSYeCOv5MrAGwDmPfDg7fOxWr5FAdOltuH3EdqtB+tw=; b=NvbRCUjFVu6/lA0ExFyNLEhUmhRLDH4MWS2Km3BRYSgWvdj86HoT54rORgaX6CIMzO QiH71gjX1z8qT4Ipq6A8VA50AlcgpWpSExdczDIHFd/gbJsqoVhw2/z6ZTz0UN1f46/7 x2HvFgBdZOjD2HVTClroY9gRoZwHYCyyoc+qOTC0e93btZYROtUSHVLHhztIiJ+lo425 IWb3LZVPx/eYCRV9S5fCYn6GYCIsH8Hu/wTVy4p0w3DuUuhTw3c0Lmhx6U+yA4ZTZk+Y THKAV7oxKAhOJkswOuGDfXJY7gmZPISQBDnPE+tizjAsvGF5WEWNQ5rQ3tKacJ2gdr/F K6NA==
MIME-Version: 1.0
X-Received: by 10.112.147.66 with SMTP id ti2mr1001349lbb.124.1423152945926; Thu, 05 Feb 2015 08:15:45 -0800 (PST)
Sender: hallam@gmail.com
Received: by 10.112.147.193 with HTTP; Thu, 5 Feb 2015 08:15:45 -0800 (PST)
In-Reply-To: <20150205150919.447A81B15B@ld9781.wdf.sap.corp>
References: <CAMm+Lwgb9L9bUG6ommBDYJzQTCU1cC_zLSEf_5JPeJ+c=yrYmA@mail.gmail.com> <20150205150919.447A81B15B@ld9781.wdf.sap.corp>
Date: Thu, 05 Feb 2015 11:15:45 -0500
X-Google-Sender-Auth: D3RJpeKjjwWPONt_JCKxpdtKSFk
Message-ID: <CAMm+LwhooUC7-YohFucQjn+oU84mKCNhB_Bs-oZe7U7rUVwyeg@mail.gmail.com>
Subject: Re: Naive question on multiple TCP/IP channels
From: Phillip Hallam-Baker <phill@hallambaker.com>
To: Martin Rex <mrex@sap.com>
Content-Type: multipart/alternative; boundary="047d7b3a8690cd9ac0050e599d09"
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/Wo_Yo4_-GZHxfBTv-z8C9OX8dNk>
Cc: IETF Discussion Mailing List <ietf@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Feb 2015 16:15:58 -0000

On Thu, Feb 5, 2015 at 10:09 AM, Martin Rex <mrex@sap.com> wrote:

> Phillip Hallam-Baker wrote:
> > Today most Web browsers attempt to optimize download of images etc. by
> > opening multiple TCP/IP streams at the same time. This is actually done
> for
> > two reasons, first to reduce load times and second to allow the browser
> to
> > optimize page layout by getting image sizes etc up front.
> >
> > This approach first appeared round about 1994. I am not sure whether
> anyone
> > actually did a study to see if multiple TCP/IP streams are faster than
> one
> > but the approach has certainly stuck.
> >
> > But looking at the problem from the perspective of the network it is
> really
> > hard to see why setting up five TCP/IP streams between the same endpoints
> > should provide any more bandwidth than one. If the narrow waist is
> > observed, then the only parts of the Internet that are taking note of the
> > TCP part of the packet are the end points. So having five streams should
> > not provide any more bandwidth than one unless the bandwidth bottleneck
> was
> > at one or other endpoint.
>
>
> Your picture is completely missing a _very_ common usage scenario.
> Bandwidth is often irrelevant.  It is often the "time-to-use" that counts.
> And with Web Browsers, it is extremely common that users navigate to a
> different page before the current page has completed loading.
>

No, actually I am fully aware of that requirement, it is what prompted my
question. There is no question that we need a multiplexing capability. The
question is whether this should be at the Transport level by opening
multiple TCP streams or at a higher level.

I suspect that what is actually holding us back here is the lack of a good
API for any sort of multiplexed setup. Virtually all of our APIs are still
following the BSD sockets approach which in turn was developed before
threads existed.


Working at the transport level means being limited to a fairly small
number of multiplex streams. If we kicked the interaction up to the
application
level then we could make it easier for a browser to regulate the
information
flow and prioritize the information it needed.