Re: [hybi] Frame size

"Thomson, Martin" <Martin.Thomson@andrew.com> Mon, 19 April 2010 02:10 UTC

Return-Path: <Martin.Thomson@andrew.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 88B4E28C0EB for <hybi@core3.amsl.com>; Sun, 18 Apr 2010 19:10:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.866
X-Spam-Level:
X-Spam-Status: No, score=-1.866 tagged_above=-999 required=5 tests=[AWL=0.733, 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 6SzhjGZ4Rf3d for <hybi@core3.amsl.com>; Sun, 18 Apr 2010 19:10:18 -0700 (PDT)
Received: from csmailgw1.commscope.com (csmailgw1.commscope.com [198.135.207.244]) by core3.amsl.com (Postfix) with ESMTP id E98AA3A6805 for <hybi@ietf.org>; Sun, 18 Apr 2010 19:10:17 -0700 (PDT)
Received: from [10.86.20.103] ([10.86.20.103]:15188 "EHLO ACDCE7HC2.commscope.com") by csmailgw1.commscope.com with ESMTP id S18323028Ab0DSCKJ (ORCPT <rfc822; hybi@ietf.org>); Sun, 18 Apr 2010 21:10:09 -0500
Received: from SISPE7HC2.commscope.com (10.97.4.13) by ACDCE7HC2.commscope.com (10.86.20.103) with Microsoft SMTP Server (TLS) id 8.1.436.0; Sun, 18 Apr 2010 21:10:09 -0500
Received: from SISPE7MB1.commscope.com ([fe80::9d82:a492:85e3:a293]) by SISPE7HC2.commscope.com ([fe80::58c3:2447:f977:57c3%10]) with mapi; Mon, 19 Apr 2010 10:10:06 +0800
From: "Thomson, Martin" <Martin.Thomson@andrew.com>
To: Jamie Lokier <jamie@shareable.org>
Date: Mon, 19 Apr 2010 10:11:35 +0800
Thread-Topic: [hybi] Frame size
Thread-Index: AcrfZD2mgVFk9IOBQSyr9ktB9iQ4WAAAL5Rw
Message-ID: <8B0A9FCBB9832F43971E38010638454F03E7D067ED@SISPE7MB1.commscope.com>
References: <8B0A9FCBB9832F43971E38010638454F03E3F313ED@SISPE7MB1.commscope.com> <v2m5c902b9e1004160043i7b5ccc79y2346e1b2b2c55cf5@mail.gmail.com> <8B0A9FCBB9832F43971E38010638454F03E7D06790@SISPE7MB1.commscope.com> <20100419005215.GD18876@shareable.org> <8B0A9FCBB9832F43971E38010638454F03E7D067BC@SISPE7MB1.commscope.com> <20100419020127.GH18876@shareable.org>
In-Reply-To: <20100419020127.GH18876@shareable.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-BCN: Meridius 1000 Version 3.4 on csmailgw1.commscope.com
X-BCN-Sender: Martin.Thomson@andrew.com
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 02:10:19 -0000

You make a good case... for SCTP :p

--Martin

> -----Original Message-----
> From: Jamie Lokier [mailto:jamie@shareable.org]
> Sent: Monday, 19 April 2010 12:01 PM
> To: Thomson, Martin
> Cc: Justin Erenkrantz; Hybi
> Subject: Re: [hybi] Frame size
> 
> Thomson, Martin wrote:
> > Jamie writes:
> > > Alas, there are very good reasons to send non-final frames that
> aren't
> > > the full length.
> >
> > From my perspective, the only very good reason you stop sending one
> thing is because you want to send something else (i.e. multiplexing).
> >
> [...]
> >
> > Addressing shortcomings in the abstraction (graceful close, etc...)
> > is another thing.  It's reasonable to say that the TCP abstraction
> > does not provide graceful close, so providing it at a higher layer is
> > OK.
> 
> If you want to send a graceful close response when you have only sent
> half a message, you cannot do it unless the half message was sent as
> a non-final, non-full-length frame.
> 
> That's why it's useful.
> 
> It's not because you want to send something else _now_, it's so you
> have the _possibility_ to send something else later.  Because you
> can't abort a half-sent frame later.  (You would need TCP urgent data
> or something, and that's not feasible to use.)
> 
> > Aligning with segments isn't a good argument for me.  How the WS
> > layer is aware of layers below it and the way that it interacts with
> > those is orthogonal to frame size.  TCP provides an abstraction of a
> > stream.  If a particular implementation wants to optimize, it can,
> > but that shouldn't affect layers above those key abstraction points.
> 
> Feel free to ignore segment alignment.  It's just an implementation
> tunable, not a requirement and doesn't need to appear in any
> specification.
> 
> The frame size is part of the WS transport layer, and is closely
> related to buffering and forwarding decisions.  (Note that eager
> sending is sub-optimal for latency, in case you're curious.)
> 
> Those decisions have little or nothing to do with TCP segments, but
> the timing of forwarding decisions cause certain kinds of alignment
> anyway.  The same outcome occurs with other types of pipe abstraction.
> 
> You said "it shouldn't affect layers above those key abstraction
> points".  Note that frame size is *not* present in the layer above WS
> buffering and forwarding decisions.  (If it is, it is misdesigned.)
> 
> You might be thinking of the message size, which is.
> 
> -- Jamie