Re: [hybi] Framing Take VI (a compromise proposal)

Greg Wilkins <gregw@webtide.com> Mon, 16 August 2010 14:31 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 1720E3A696E for <hybi@core3.amsl.com>; Mon, 16 Aug 2010 07:31:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.76
X-Spam-Level:
X-Spam-Status: No, score=-1.76 tagged_above=-999 required=5 tests=[AWL=0.217, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
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 ZxWGk7Gj+vTX for <hybi@core3.amsl.com>; Mon, 16 Aug 2010 07:31:36 -0700 (PDT)
Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by core3.amsl.com (Postfix) with ESMTP id E963A3A67FA for <hybi@ietf.org>; Mon, 16 Aug 2010 07:31:35 -0700 (PDT)
Received: by fxm18 with SMTP id 18so3410402fxm.31 for <hybi@ietf.org>; Mon, 16 Aug 2010 07:32:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.103.148 with SMTP id k20mr5206166fao.101.1281969131286; Mon, 16 Aug 2010 07:32:11 -0700 (PDT)
Received: by 10.223.57.12 with HTTP; Mon, 16 Aug 2010 07:32:11 -0700 (PDT)
In-Reply-To: <AANLkTindxmp_cPTZx+6FXsfMt2R0mJt_vNtDZsLRO8Ms@mail.gmail.com>
References: <AANLkTi=TBXO_Cbb+P+e2BVfx69shkf8E1-9ywDh_Y+Kz@mail.gmail.com> <AANLkTi=52ARa2v9oZ1tGosN7oL+kBBVH20XmtkXzPMM0@mail.gmail.com> <AANLkTimjt0YbXfLf83od5b2cSJaZUboBy3-03LFf=Kv8@mail.gmail.com> <AANLkTimV4Xvashf8SZAHS15FCLiX7pUnXcae20Ph73YY@mail.gmail.com> <AANLkTindxmp_cPTZx+6FXsfMt2R0mJt_vNtDZsLRO8Ms@mail.gmail.com>
Date: Tue, 17 Aug 2010 00:32:11 +1000
Message-ID: <AANLkTikRJGAbjv9apOC0W4td4h0fJoH75eZ+WkoRgKbm@mail.gmail.com>
From: Greg Wilkins <gregw@webtide.com>
To: John Tamplin <jat@google.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Cc: hybi@ietf.org
Subject: Re: [hybi] Framing Take VI (a compromise proposal)
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, 16 Aug 2010 14:31:37 -0000

John,

I'm just going to cherry pick your words to respond to... because I
don't particularly disagree with most of what you say... but...


On 16 August 2010 23:21, John Tamplin <jat@google.com> wrote:

> Finally, it seems better for intermediaries if the opcodes are generally
> unchanging.  Imagine an intermediary that scans for viruses, important
> intellectual property, etc.  If the frame type remains TEXT/BINARY and any
> mux data is in an extension header, it can completely ignore the extension
> and simply look at the payload data for content it wants to block.

But I don't think we can generally do that.  If the extension changes
the data in anyway (add's headers, compresses it, encodes it etc.)
then the intermediary is probably going to fail in it's attempt to
scan the data.

Also if a text frame is being sent, but a compression extension is
applied, then the contents of the frame would not even be text.
Should the opcode be changed to binary to reflect the content, or left
at text to reflect that it is destined for the text API?

I think if an intermediary does not understand an extension, then it
must ignore all data in an extended frame, so there is no harm sending
it as a extension-data op-coded frame.


> If
> instead a MUX opcode was added and buried inside the MUX payload as a new
> frame type, the intermediary would have to understand the MUX extension in
> order to do anything useful with the message.

It could still forward the message along the connection.

I think that an intermediary that is doing anything with muxed data
has to be MUX aware otherwise it will risk contaminating one channel
with state obtained from another.


> In particular, I would think that per-frame extension data would be a good
> fit for multiplexing, as you would want to be able to attach a channel id to
> each frame.

An extension-data op-code would allow a channel id to be associated
with every extension-data frame, so messages would just have to be
sent using that frame type.  I'm not sure that is a bad restriction
given that I think intermediaries that do not understand MUX should do
nothing with the data other than forward it.

cheers