Re: [hybi] Multiplexing extension spec draft 03

Takeshi Yoshino <tyoshino@google.com> Fri, 23 March 2012 09:45 UTC

Return-Path: <tyoshino@google.com>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DAD0E21F8541 for <hybi@ietfa.amsl.com>; Fri, 23 Mar 2012 02:45:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.961
X-Spam-Level:
X-Spam-Status: No, score=-102.961 tagged_above=-999 required=5 tests=[AWL=0.015, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ByifZWZCpWAi for <hybi@ietfa.amsl.com>; Fri, 23 Mar 2012 02:45:37 -0700 (PDT)
Received: from mail-yx0-f172.google.com (mail-yx0-f172.google.com [209.85.213.172]) by ietfa.amsl.com (Postfix) with ESMTP id 82B3621F849B for <hybi@ietf.org>; Fri, 23 Mar 2012 02:45:37 -0700 (PDT)
Received: by yenm5 with SMTP id m5so2833601yen.31 for <hybi@ietf.org>; Fri, 23 Mar 2012 02:45:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record; bh=gHYGx7rz5lFm4TlxPjlOZGhSkyAxGK3oB5g4zgzoqFE=; b=kSFRneWm4VUoqv1h6++Two3+T0BfCyBMu19ffN0Ln5f0a4ilLIfaE1aKjjYIbHX+sy zvMLKDKe1+GuoR8v41QvalgA8KiZVMCteDM14Mbrek096zlTo8wC9rQr4X8k9d+AaVQn 26iBiQTlNWbigvZqPQ+KguNjdjHNm/T3hdaBzyU7g68FhPEBLqCJJC330Wd/shpt0VRd t2i5myrJYPj1GUz1OILzVIOJPZ2j5oIwpgaX/cj08d7ivfYuijo5YZh7tU+7OR9BTGC+ HdIcJRwPlrJifEV8+wYZEvBCJOdahzHb/Mpwzf/2tuL2jw6nX/gm13m0u1bWt3/ICR3z Ogrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record:x-gm-message-state; bh=gHYGx7rz5lFm4TlxPjlOZGhSkyAxGK3oB5g4zgzoqFE=; b=k5r7Llm+TPhN/yDOoClvj1bpPWkteN/2l2H58O+xecDvty4X+DCGEIHClTFJDtQ1By bDp4gmFjJ/hrUua5qopczuc534NiqFZ+v+wBPAQWjYsqJf5wRhq9iBAluvxYYVVzqL+l bV1eURGW9V6/bkB6I/5QyVFcl7BBMXNocbLimUVVCBDE+TQcpAj10g3SjisoS931HUzH snw8wT4Me6SPrutBo3YjjOPs+Y87TKjrfTmKn3mynW1ildiGwy3uthcmQZy/y3U84dvZ wt/D7WvC2vjRQHNMUcmYZlSBLyCWd+jQ5K55YvuZqB5/sfAl9LpO4bxe7c9yWSWNrKB1 lt9A==
Received: by 10.236.195.38 with SMTP id o26mr11413213yhn.100.1332495933938; Fri, 23 Mar 2012 02:45:33 -0700 (PDT)
Received: by 10.236.195.38 with SMTP id o26mr11413207yhn.100.1332495933856; Fri, 23 Mar 2012 02:45:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.101.155.5 with HTTP; Fri, 23 Mar 2012 02:45:13 -0700 (PDT)
In-Reply-To: <001b01cd08cc$fe9ac980$fbd05c80$@noemax.com>
References: <CAH9hSJb1ewPO3EBgD78anD+=4XouToGR4X7C1wvWqonc2nYB6g@mail.gmail.com> <000301cd05dd$c8f9fc70$5aedf550$@noemax.com> <CAH9hSJYni6BboWdjkLX9xsguph7wJwjAmTUD1genFzT0ja5Wdw@mail.gmail.com> <001b01cd08cc$fe9ac980$fbd05c80$@noemax.com>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Fri, 23 Mar 2012 18:45:13 +0900
Message-ID: <CAH9hSJZR7hC76KGwj4HCb+K=rf7SWB1UM5aHrZn_kuCufTUtiQ@mail.gmail.com>
To: Arman Djusupov <arman@noemax.com>
Content-Type: multipart/alternative; boundary="20cf305e2763cd59ed04bbe5e2d0"
X-System-Of-Record: true
X-Gm-Message-State: ALoCoQmmdtR28snWoSiRZvRs0sxMLhaHaAeWiaAd7Rht9F4K7NyxtCqoDLx8RNj3s4IT5urXk/ufh9s3UfNRBXmMKb50qrP57fb/NOSQdvfNuMKM0ZxTOOmEx8KcXAi9jn3zEJ2z4940
Cc: hybi@ietf.org
Subject: Re: [hybi] Multiplexing extension spec draft 03
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Fri, 23 Mar 2012 09:45:42 -0000

On Fri, Mar 23, 2012 at 17:14, Arman Djusupov <arman@noemax.com> wrote:

> Hello Takeshi,****
>
> ** **
>
> Using both a DropChannel and a close frame to close a logical channel
> seems like overkill.
>
The original aim of addition of DropChannel was only to provide a way to
terminate logical channel which is behaving abnormally by some command out
of that logical channel.

To make abstraction simple, I gave it a role to terminate a logical channel
normally, too. But I'm ok with getting normal close done by only one
command (one close frame, one DropChannel command, etc.)

> Exchanging DropChannel control messages should be enough for mutual
> shutdown of a logical channel. A more important issue is that if a close
> frame is sent through an intermediary that does not understand the mux
> extension, the intermediary may simply drop the physical channel /
> connection.
>
I understand your concern. Actually, IIRC it was one of the motivation to
introduce close frame that a close frame tells intermediaries the end of
session instead of unreliable TCP FIN so that they can release resource for
the session more quickly.

John's original proposal was adding a new framing onto WebSocket framing to
implement multiplexing. There was some discussion about this and some
suggested  reuse of opcode in base framing. See this thread for example
http://www.ietf.org/mail-archive/web/hybi/current/msg07240.html.

> It’s easy to imagine a frame compression intermediary that would simply
> stop reading from the network connection once it encounters a close frame
> (as per WS spec no data is expected to follow the close frame). So probably
> the sending of a close frame should be avoided (i.e. prohibited) for
> logical channels.
>
I'd like to disallow any control frame with channel ID != 0 and have
corresponding mux commands for each of them if we take this approach rather
than just converting close frame into DropChannel ad-hoc.

Also we need to give DropChannel some field to hold the information close
frame has (status and reason).