Re: [hybi] frame length encoding
Salvatore Loreto <salvatore.loreto@ericsson.com> Sun, 22 August 2010 22:12 UTC
Return-Path: <salvatore.loreto@ericsson.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 D953E3A6881 for <hybi@core3.amsl.com>; Sun, 22 Aug 2010 15:12:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.379
X-Spam-Level:
X-Spam-Status: No, score=-103.379 tagged_above=-999 required=5 tests=[AWL=-1.665, BAYES_00=-2.599, HTML_FONT_FACE_BAD=0.884, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
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 aRDSwH2Z417F for <hybi@core3.amsl.com>; Sun, 22 Aug 2010 15:12:15 -0700 (PDT)
Received: from mailgw9.se.ericsson.net (mailgw9.se.ericsson.net [193.180.251.57]) by core3.amsl.com (Postfix) with ESMTP id 28FB33A68D0 for <hybi@ietf.org>; Sun, 22 Aug 2010 15:12:14 -0700 (PDT)
X-AuditID: c1b4fb39-b7b91ae000001aef-02-4c71a0dfd656
Received: from esealmw128.eemea.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw9.se.ericsson.net (Symantec Mail Security) with SMTP id 21.84.06895.FD0A17C4; Mon, 23 Aug 2010 00:12:47 +0200 (CEST)
Received: from esealmw128.eemea.ericsson.se ([153.88.254.176]) by esealmw128.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.3959); Mon, 23 Aug 2010 00:12:48 +0200
Received: from mail.lmf.ericsson.se ([131.160.11.50]) by esealmw128.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.3959); Mon, 23 Aug 2010 00:12:48 +0200
Received: from nomadiclab.lmf.ericsson.se (nomadiclab.lmf.ericsson.se [131.160.33.3]) by mail.lmf.ericsson.se (Postfix) with ESMTP id 3F0CF2574; Mon, 23 Aug 2010 01:12:47 +0300 (EEST)
Received: from nomadiclab.lmf.ericsson.se (localhost [127.0.0.1]) by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id 05BD64FD0B; Mon, 23 Aug 2010 01:12:47 +0300 (EEST)
Received: from Salvatore-Loretos-MacBook-Pro.local (localhost [127.0.0.1]) by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id 9CF7E4ECF5; Mon, 23 Aug 2010 01:12:45 +0300 (EEST)
Message-ID: <4C71A0DC.1090208@ericsson.com>
Date: Mon, 23 Aug 2010 00:12:44 +0200
From: Salvatore Loreto <salvatore.loreto@ericsson.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.11) Gecko/20100711 Thunderbird/3.0.6
MIME-Version: 1.0
To: John Tamplin <jat@google.com>
References: <AANLkTimKbmcpgx8k0uXUWvCO=8w9pPrtV=3y4qh6363k@mail.gmail.com> <20100820192927.GA32620@1wt.eu> <4C6EEA55.2050205@hs-weingarten.de> <AANLkTinHqxUOZaVANFpC52t8FfgNw2L5_A-s9Az3Fm7p@mail.gmail.com> <AANLkTinvkxMP8FYz9xjDu_Kt9FfzYotgsqXUDB4MZMEo@mail.gmail.com> <AANLkTim3KRq1arso7wN_b+1TH3sWabYW6uFu7AbYw6-P@mail.gmail.com> <AANLkTikhhajho895WyEoJMwMk9GJ98kA0Mjy5qr4apC8@mail.gmail.com> <AANLkTi=kdk6BRvza_7bpoLNTFzUkjcRRijGLMe_NGXZV@mail.gmail.com> <AANLkTi=VE298Tg+qyfufhzMswE5pBxtPZhA0t2k=sf2A@mail.gmail.com> <4C717048.5020309@ericsson.com> <4C717B28.4070009@caucho.com> <4C717E1A.5000404@ericsson.com> <AANLkTimtNN1oW2TB30cS1Ew9pSxWNNsY9FH7Eu4EpQMb@mail.gmail.com> <4C719640.6070808@caucho.com> <AANLkTiki7n2yu-6kATnntspEM1NYQ2uC0N3cDMWdKG+C@mail.gmail.com>
In-Reply-To: <AANLkTiki7n2yu-6kATnntspEM1NYQ2uC0N3cDMWdKG+C@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------010707080707040304030300"
X-Virus-Scanned: ClamAV using ClamSMTP
X-OriginalArrivalTime: 22 Aug 2010 22:12:48.0478 (UTC) FILETIME=[279B1FE0:01CB4247]
X-Brightmail-Tracker: AAAAAA==
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] frame length encoding
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: Sun, 22 Aug 2010 22:12:17 -0000
On 8/22/10 11:48 PM, John Tamplin wrote: > On Sun, Aug 22, 2010 at 5:27 PM, Scott Ferguson <ferg@caucho.com > <mailto:ferg@caucho.com>> wrote: > > I still think it is a mistake to increase the size of the > overwhelming majority of frames to make things easier for the > less-frequent (and larger, so that the extra overhead is > negligible) frames, but I am tired of arguing about it. If > this is what people want then let's go with it. > > > I think the compact frame (LEN 00 = 0 byte length) would give you > that efficiency because the compact frame only uses 2 bytes total > for the header and length: > > > 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 > +---+-+-+-------------+-+-------+ > |00 |T|F| length(7) |R|OPCODE | > | |M|I| |E| | > | |L|N| |S| | > +---+-+-+-------------+-+-------+ > > Where length(7) is the payload length and the payload immediately > follows the header. > > > The problem with this is we only have a single reserved bit, which is > highly unlikely to be sufficient when we get to extensions. That > means if those extensions are commonly used, we will be paying the > extra byte anyway and be doing it in a more awkward way. > > If we were willing to trade some extra complexity for extension > bits, we could even reuse the TML and FIN bits for the compact > header, because those bits aren't needed for small frames. So the > compact (2 byte) header might be: > > > If you are concerned about latency, you might well want to flush the > buffer with a small frame, with more fragments to follow when the > dynamic content is generated. > > 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 > +---+---------------+---+-------+ > |00 | length(8) |RES|OPCODE | > | | | | | > | | | | | > +---+---------------+---+-------+ > > I'm not sure if it's a good idea because it does make the compact > frame a special case, but it frees up some extra reserved bits. > > > I think it is a false economy, because you only have 3 reserved bits > in this form, while 8 in the others. If you assign a 4th reserved > bit, you now have to come up with a new way of representing it in the > short frame, so those extra reserved bits are less useful than the > others. Also, given the complaints about complexity for simpler > things, I can't imagine having MORE/CMLP bits be dependent on the > length-length bits would go over well. > > I still think option #2 is the best compromise, and a number of people > agreed (and a number disagreed). (as individual) Hi John, I know your preferences... but this is just an alternative/compromise if we can find a larger consensus > If that option isn't deemed acceptable and having 4 length steps is > preferred, (as individual) it could be just a possible compromise among who wants 32 and who 64. Then we do not need to use all 4 length steps, but also keep 1 step for future definition... > I would rather just eat the extra byte for small frames and go with > the suggestion above, having headers of 3, 4, 6, and 10 bytes with 8 > reserved bits between the defined flags and the opcode, as in: > > * More - 1 bit > * CMLP - 1 bit > * LenLen - 2 bits > * Reserved - 8 bits > * Opcode - 4 bits > * Length - 2^LenLen bytes > * CML - 8 bytes - present only if CMLP=1 > * Payload - Length bytes > (as individual) +1 I like this proposed order. cheers /Sal > Otherwise, as before. > > -- > John A. Tamplin > Software Engineer (GWT), Google -- Salvatore Loreto www.sloreto.com
- [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding gustav trede
- Re: [hybi] frame length encoding Willy Tarreau
- Re: [hybi] frame length encoding Scott Ferguson
- Re: [hybi] frame length encoding Roderick Baier
- Re: [hybi] frame length encoding Pieter Hintjens
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Pieter Hintjens
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Daniel Stenberg
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding gustav
- Re: [hybi] frame length encoding Pieter Hintjens
- Re: [hybi] frame length encoding Daniel Stenberg
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Pieter Hintjens
- Re: [hybi] frame length encoding Pieter Hintjens
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Pieter Hintjens
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Patrick McManus
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Pieter Hintjens
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Pieter Hintjens
- Re: [hybi] frame length encoding gustav
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Pieter Hintjens
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Patrick McManus
- Re: [hybi] frame length encoding Patrick McManus
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Brian
- Re: [hybi] frame length encoding Roberto Peon
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Roberto Peon
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding gustav
- [hybi] Fwd: frame length encoding Brian
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding gustav
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] Fwd: frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding gustav
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding John Tamplin
- [hybi] max frame size, was: frame length encoding Julian Reschke
- Re: [hybi] max frame size, was: frame length enco… John Tamplin
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] max frame size, was: frame length enco… gustav
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding gustav
- Re: [hybi] frame length encoding Salvatore Loreto
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Shelby Moore
- [hybi] frame length encoding Brian
- Re: [hybi] frame length encoding Scott Ferguson
- Re: [hybi] frame length encoding Salvatore Loreto
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding John Tamplin
- [hybi] Fwd: frame length encoding Brian
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Scott Ferguson
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] frame length encoding Salvatore Loreto
- Re: [hybi] max frame size, was: frame length enco… Pieter Hintjens
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding John Tamplin
- Re: [hybi] max frame size, was: frame length enco… Scott Ferguson
- Re: [hybi] frame length encoding Brian
- Re: [hybi] frame length encoding Pieter Hintjens
- Re: [hybi] max frame size, was: frame length enco… Brian
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding gustav
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] frame length encoding Shelby Moore
- Re: [hybi] max frame size, was: frame length enco… Shelby Moore