- From: Greg Wilkins <gregw@intalio.com>
- Date: Wed, 25 Jun 2014 12:23:40 +0200
- To: "K.Morgan@iaea.org" <K.Morgan@iaea.org>
- Cc: Mark Nottingham <mnot@mnot.net>, Poul-Henning Kamp <phk@phk.freebsd.dk>, Willy Tarreau <w@1wt.eu>, HTTP Working Group <ietf-http-wg@w3.org>, Martin Dürst <duerst@it.aoyama.ac.jp>
- Message-ID: <CAH_y2NEWTUjdsLr-tDbF7fRLkNWsojCR7imKMc-9fBU3cT1g7Q@mail.gmail.com>
Jumbo frames could easily be achieve without and extension bit if we change the frame header to: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R| Stream Identifier (31) | +-+-+-----------+---------------+---+---------------------------+ | Type (8) | Flags (8) | R | Length (14+) | +-+-+-----------+---------------+---+---------------------------+ | Frame Payload (0...) ... +---------------------------------------------------------------+ Where the length (14+) is the same variable length integer encoding used by hpack. This would support truly infinite frame sizes if desired, does not burn any reserved bits and is not a hacked on extension, but just an specific length encoding. cheers On 25 June 2014 11:35, <K.Morgan@iaea.org> wrote: > On Wednesday,25 June 2014 06:11, mnot@mnot.net wrote: > > > > The simplest way to address this would be to un-reserve the first two > bits of the length > > <http://http2.github.io/http2-spec/#rfc.section.4.1>; that would get us > back up to 64k, > > letting Willy get to 35 Gbps. Given that 256k only got him to 40 Gbps, > that seems like a > > reasonable stopping point for HTTP/2. > > Bad idea IMO. That would really paint HTTP/2 into a corner. With no > reserved bits left, there would never be a chance to go above 64K frames. > i.e. you could never " back-port bigger frames onto an existing protocol" > > > > Doing more than 16 bits would take a lot more back-and-forth in the WG, > > and is likely to encounter a lot of resistance from implementers, from > what I've seen. > > We've been talking about jumbo frames for a week already and there hasn't > been any resistance from "implementers". > > I'll point out again that jumbo frames are optional. As Matthew points > out, the proposed setting can simply be ignored. > > > > WRT the "jumbo" frame (i.e., flagging that some prefix of the payload is > actually an extension length) > > -- this sort of hack is necessary to back-port bigger frames onto an > existing protocol. Let's not do it out of the gate. > > Then make the frame length 64 bits and be done with it. That's a lot of > wasted bits though for those who just want to use 16K frames. > > So barring a change to 64 bits, you need the CONTINUATION hack or the > "jumbo frame" hack. Which hack is better? > > So far I've heard the following arguments in favour of "jumbo frames": > - Willy: higher performance for large data sets > - PHK: higher efficiency due to fewer system calls > - Greg: easier to describe and understand (keith: less error prone) > - "unlimited" HEADERS (albeit capped at some crazy large number) > > So far I've heard the following arguments in favour of CONTINUATION: > - Greg: truly unlimited HEADERS > > This email message is intended only for the use of the named recipient. > Information contained in this email message and its attachments may be > privileged, confidential and protected from disclosure. If you are not the > intended recipient, please do not read, copy, use or disclose this > communication to others. Also please notify the sender by replying to this > message and then delete it from your system. > -- Greg Wilkins <gregw@intalio.com> http://eclipse.org/jetty HTTP, SPDY, Websocket server and client that scales http://www.webtide.com advice and support for jetty and cometd.
Received on Wednesday, 25 June 2014 10:24:13 UTC