Re: [hybi] Frame size

Greg Wilkins <gregw@webtide.com> Mon, 19 April 2010 08:14 UTC

Return-Path: <gregw@webtide.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 90F4D3A6868 for <hybi@core3.amsl.com>; Mon, 19 Apr 2010 01:14:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.782
X-Spam-Level:
X-Spam-Status: No, score=-1.782 tagged_above=-999 required=5 tests=[AWL=0.817, 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 8m8P7Aw0GuxV for <hybi@core3.amsl.com>; Mon, 19 Apr 2010 01:14:42 -0700 (PDT)
Received: from mail-bw0-f225.google.com (mail-bw0-f225.google.com [209.85.218.225]) by core3.amsl.com (Postfix) with ESMTP id 829663A6837 for <hybi@ietf.org>; Mon, 19 Apr 2010 01:14:42 -0700 (PDT)
Received: by bwz25 with SMTP id 25so5154660bwz.28 for <hybi@ietf.org>; Mon, 19 Apr 2010 01:14:29 -0700 (PDT)
Received: by 10.204.21.17 with SMTP id h17mr4394859bkb.197.1271664868865; Mon, 19 Apr 2010 01:14:28 -0700 (PDT)
Received: from [192.168.0.100] (host116-234-static.43-88-b.business.telecomitalia.it [88.43.234.116]) by mx.google.com with ESMTPS id 16sm3012327bwz.13.2010.04.19.01.14.27 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 19 Apr 2010 01:14:28 -0700 (PDT)
Message-ID: <4BCC10E2.2070002@webtide.com>
Date: Mon, 19 Apr 2010 10:14:26 +0200
From: Greg Wilkins <gregw@webtide.com>
User-Agent: Thunderbird 2.0.0.24 (X11/20100411)
MIME-Version: 1.0
To: Hybi <hybi@ietf.org>
References: <8B0A9FCBB9832F43971E38010638454F03E3F313ED@SISPE7MB1.commscope.com> <s2qad99d8ce1004160053w436a29b1idae0c66737b3760a@mail.gmail.com> <4BC85A31.6060605@webtide.com> <t2iad99d8ce1004160949yb1ba9582l3b626c19dacf8d9@mail.gmail.com> <4BC96DA1.3000706@webtide.com> <u2m2a10ed241004181635qd0554193v36da94ecd7284d31@mail.gmail.com> <l2o2a10ed241004181637hdfab97d5r68f6845be49e8ad8@mail.gmail.com> <20100419005102.GC18876@shareable.org> <g2n2a10ed241004182005n9d8a5f02o29702620ae6205f4@mail.gmail.com> <4BCBD6B6.7010802@caucho.com> <x2i2a10ed241004182127oaee6eaf2j8c56d967a55353ad@mail.gmail.com>
In-Reply-To: <x2i2a10ed241004182127oaee6eaf2j8c56d967a55353ad@mail.gmail.com>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Subject: Re: [hybi] Frame size
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 08:14:43 -0000

Mike Belshe wrote:
> Sorry - we're thinking of two different things for chunking.  I was
> thinking of chunking in terms of enabling multiplexing; but maybe I was
> off from the original poster.  Sorry if that is the case.

Mike,

I was not proposing Fragmentation for multiplexing.   I was
suggesting it for error handling (which I guess can be considered
multiplexing control frames).

The scenario that I'm concerned about is that we need
a way to handle too-large-handle messages.

Currently the specification says that the endpoint simply
closes the connection.  But that is unsatisfactory as the
reason for the close is not known and the too-large message
will just be resent.

So we need some way of sending an error status back, saying
that the message being sent is too-large.
But if our framing allows arbitrary large frames, then
we conditions in which there is no way of sending any error
state.

If both endpoints start sending a too-large-to-handle
message at the same time, then both endpoints will
want to send a too-large error frame.   But neither
will be able to because they are in the process of
sending a large frame.

This is not an insurmountable problem, and I'm sure
might be able to invent ways to abort frames and send
error state etc.  However, I believe that such error
handling in an unlimited frame-size environment will
be significantly more complex that a fragmentation
mechanism.

Fragmentation does not avoid the need for error
handling for too-large-to-handle messages.  But
by removing the possibility of too-large-to-handle
frames, it means we are more likely to be able to
simply send the error messages.


regards.

PS> Another alternative is to mandate a negotiation
of maximum message size in the handshake.
Or somebody can come up with a good simple design for
error handling with large (or unlimited) frames.