Re: [hybi] Frame size

Mike Belshe <mike@belshe.com> Mon, 19 April 2010 15:48 UTC

Return-Path: <mike@belshe.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 C59823A6B18 for <hybi@core3.amsl.com>; Mon, 19 Apr 2010 08:48:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.671
X-Spam-Level:
X-Spam-Status: No, score=-0.671 tagged_above=-999 required=5 tests=[AWL=1.305, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
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 ff5W3hheJJs3 for <hybi@core3.amsl.com>; Mon, 19 Apr 2010 08:48:17 -0700 (PDT)
Received: from mail-pz0-f195.google.com (mail-pz0-f195.google.com [209.85.222.195]) by core3.amsl.com (Postfix) with ESMTP id 4DBE128C33C for <hybi@ietf.org>; Mon, 19 Apr 2010 08:25:28 -0700 (PDT)
Received: by pzk33 with SMTP id 33so3375301pzk.17 for <hybi@ietf.org>; Mon, 19 Apr 2010 08:25:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.143.44.3 with HTTP; Mon, 19 Apr 2010 08:25:17 -0700 (PDT)
In-Reply-To: <4BCC10E2.2070002@webtide.com>
References: <8B0A9FCBB9832F43971E38010638454F03E3F313ED@SISPE7MB1.commscope.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> <4BCC10E2.2070002@webtide.com>
Date: Mon, 19 Apr 2010 08:25:17 -0700
Received: by 10.142.55.20 with SMTP id d20mr2063730wfa.331.1271690717248; Mon, 19 Apr 2010 08:25:17 -0700 (PDT)
Message-ID: <g2n2a10ed241004190825t7167baden8c40b24200c8063e@mail.gmail.com>
From: Mike Belshe <mike@belshe.com>
To: Greg Wilkins <gregw@webtide.com>
Content-Type: multipart/alternative; boundary="005045029625773e1c04849891bf"
Cc: Hybi <hybi@ietf.org>
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 15:48:18 -0000

On Mon, Apr 19, 2010 at 1:14 AM, Greg Wilkins <gregw@webtide.com> wrote:

> 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.
>

OK - this approach seems like the simplest one; each side sends a
"max-frame-size" in its headers during the upgrade.  These values do not
need to be the same - each side declares the maximum size it is willing to
receive.

If this is the only use case which requires a complex frame header, then
this seems simpler than fragmentation/reassembly/chunking approaches, no?

Mike


>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi
>