Re: Naive question on multiple TCP/IP channels

mrex@sap.com (Martin Rex) Thu, 05 February 2015 15:09 UTC

Return-Path: <mrex@sap.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 DCF5C1A8904 for <ietf@ietfa.amsl.com>; Thu, 5 Feb 2015 07:09:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.851
X-Spam-Level:
X-Spam-Status: No, score=-3.851 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 PQEIBuh8pB8O for <ietf@ietfa.amsl.com>; Thu, 5 Feb 2015 07:09:21 -0800 (PST)
Received: from smtpde01.smtp.sap-ag.de (smtpde01.smtp.sap-ag.de [155.56.68.170]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AAA0E1A88B1 for <ietf@ietf.org>; Thu, 5 Feb 2015 07:09:21 -0800 (PST)
Received: from mail05.wdf.sap.corp (mail05.sap.corp [194.39.131.55]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtpde01.smtp.sap-ag.de (Postfix) with ESMTPS id 60AAF2ABBC; Thu, 5 Feb 2015 16:09:19 +0100 (CET)
X-purgate-ID: 152705::1423148959-0000765A-9A2D49FD/0/0
X-purgate-size: 2315
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate-type: clean
Received: from ld9781.wdf.sap.corp (ld9781.wdf.sap.corp [10.21.82.193]) by mail05.wdf.sap.corp (Postfix) with ESMTP id 4E04943120; Thu, 5 Feb 2015 16:09:19 +0100 (CET)
Received: by ld9781.wdf.sap.corp (Postfix, from userid 10159) id 447A81B15B; Thu, 5 Feb 2015 16:09:19 +0100 (CET)
Subject: Re: Naive question on multiple TCP/IP channels
In-Reply-To: <CAMm+Lwgb9L9bUG6ommBDYJzQTCU1cC_zLSEf_5JPeJ+c=yrYmA@mail.gmail.com>
To: Phillip Hallam-Baker <phill@hallambaker.com>
Date: Thu, 05 Feb 2015 16:09:19 +0100
X-Mailer: ELM [version 2.4ME+ PL125 (25)]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20150205150919.447A81B15B@ld9781.wdf.sap.corp>
From: mrex@sap.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/Amimm4QczJex1irr62n0rPDSUVU>
Cc: IETF Discussion Mailing List <ietf@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: mrex@sap.com
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 15:09:24 -0000

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.

Just onle single HTTP/1.0 or HTTP/1.1 pipe requires total serialization
of all objects that comprise a web page.  And it starts with the
main page.

Think of a "huge" main page (200 KByte+) that contains a long list of
things (like a catalog of an online shop or auction site), with
graphical navigation buttons at the top of the page and for every list
item and preview pictures.

When the huge main page and the embedded elements are loaded in parallel,
i.e. the browser establishes parallel connections to download embedded
small images & icons after just 10% of the main page have been loaded,
the browser can start rendering and making available to the user the
top of the page *LONG* before the page has completed loading, and the
user may actually navigate away from the page long before the loading
of the page completes.  And this is where serialized loading through
just a single pipe would result in significantly higher waiting times
for the interactive user of a browser.


-Martin